@import org.silkframework.dataset.DatasetSpec.GenericDatasetSpec @import org.silkframework.rule.{LinkSpec, TransformSpec} @import org.silkframework.workspace.WorkspaceFactory @import org.silkframework.runtime.activity.UserContext @(project: String, task: String, createDialog: Boolean)(implicit userContext: UserContext) @datasets = @{ WorkspaceFactory().workspace.project(project).tasks[GenericDatasetSpec] } @transformTasks = @{ WorkspaceFactory().workspace.project(project).tasks[TransformSpec] } @linkingTask = @{ WorkspaceFactory().workspace.project(project).tasks[LinkSpec].find(_.id == task) } @currentInputs = @{ linkingTask.map(_.data.dataSelections) } @currentOutput = @{ linkingTask.flatMap(_.data.output) } @prefixes = @{ WorkspaceFactory().workspace.project(project).config.prefixes } @tooltip = @{ """Additional restrictions on the enumerated entities. |If this is an RDF source, use SPARQL patterns that include the variable ?a to identify the enumerated entities, e.g., |?a foaf:knows """.stripMargin } @widgets.dialog(title = "Linking Task", createDialog = createDialog) {
@if(task.isEmpty) {
} @if(currentInputs.isDefined) { @widgets.datasetSelect(project, "source", Some(currentInputs.get.source.inputId)) } else { @widgets.datasetSelect(project, "source", None) }
The type of entities to be retrieved from the source dataset.
@widgets.multilineParameter("source", currentInputs.map(_.source.restriction.serialize).getOrElse(""), label = "Source Restriction", tooltip = tooltip) @if(currentInputs.isDefined) { @widgets.datasetSelect(project, "target", Some(currentInputs.get.target.inputId)) } else { @widgets.datasetSelect(project, "target", None) }
The type of entities to be retrieved from the target dataset.
@widgets.multilineParameter("target", currentInputs.map(_.target.restriction.serialize).getOrElse(""), label = "Target Restriction", tooltip = tooltip)
The generated links are written to this dataset. If not specified, the links are only cached locally.
The maximum number of links generated by a linking task execution. This should not be higher than the configured absolute maximum of @{java.text.NumberFormat.getIntegerInstance.format(LinkSpec.MAX_LINK_LIMIT)}. The absolute maximum link limit can be configured via the linking.execution.linkLimit.max config parameter.
The maximum amount of time in seconds the matching step of a linking execution is allowed to take before being cancelled. The entity loading step or any other step of the linking execution is not affected by this timeout.
}