Silk Linked Data Integration Framework
Scala JavaScript HTML CSS Shell Batchfile Other
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc Removed outdated RestInterface doc (now documented with RAML). Added … May 25, 2018
project Add retry mechanism to yarn dependency resolution Aug 17, 2018
silk-core/src Re-added Link.apply Aug 20, 2018
silk-learning/src Feature/path improvements (#183) Jun 11, 2018
silk-plugins Merge branches 'develop' and 'feature/EntityMetadata' of https://gith… Aug 13, 2018
silk-react-components Merged develop into feature/EntityMetadata Aug 9, 2018
silk-rules/src Merge branch 'develop' into bugfix/RepairingTaskPropagation Aug 14, 2018
silk-tools Finalizing Uri unification Jul 18, 2018
silk-workbench Merge remote-tracking branch 'origin/feature/scriptEditorImprovements… Aug 20, 2018
silk-workspace/src Fixed progress status updating for SparkWorkflowExecutor. Did show wr… Aug 17, 2018
.gitignore Update git ignore to ignore generated JavaScript files Jun 19, 2018
.mailmap Added mailmap file Feb 9, 2016
.travis.yml Updating travis.yml May 31, 2018
Dockerfile cleanup readme and dockerfile Apr 3, 2018
LICENSE Moved everything in silk2-directory to the root Mar 10, 2015
NOTICE Moved everything in silk2-directory to the root Mar 10, 2015 Execute React components build pipeline only once on first execution,… Jun 13, 2018
build.sbt Need to include react components in sbt module aggregation. Otherwise… Aug 13, 2018
sbt updating SparkConfigTest May 28, 2018
sbt-launch-lib.bash Updated sbt Mar 23, 2018
sbt-launch.jar Updated sbt-launch.jar Jul 23, 2018
sbt.bat Updated sbt Mar 23, 2018

Build Status

Silk Link Discovery Framework

Silk is an open source framework for integrating heterogeneous data sources. The primary uses cases of Silk include:

  • Generating links between related data items within different Linked Data sources.
  • Linked Data publishers can use Silk to set RDF links from their data sources to other data sources on the Web.
  • Applying data transformations to structured data sources.

General information about Silk can be found on the official website.


Community documentation is maintained in the doc folder.


Local build

Downloading and installing sbt is not necessary as it is available from this directory. Depending on the operating system you may need to adapt the commands below to run it from the local directory, i.e., by using ./sbt instead of sbt

docker based build

  • docker (version >=17.05-xx)

Running the Silk Workbench

Running the Silk Workbench as docker container

  • Build the docker image with: docker build -t silkframework/silk-workbench:latest . (This maybe take some minutes)
  • Run the docker container with: docker run -d --name silk-workbench -p 80:80 silkframework/silk-workbench:latest
  • In your browser, navigate to 'http://DOCKER_HOST:80'
  • To make the userdata available from outside the docker container you can add a volume mount, therefore add -v $PWD:/opt/silk/workspace to the docker run command.


docker run -d --name silk-workbench -v $PWD:/opt/silk/workspace -p 80:80 silkframework/silk-workbench:latest

This will start a silk-workbench with a docker container and can be accessed via http port 80.

Packaging the Silk Workbench as archive

  • Execute: sbt "project workbench" universal:package-zip-tarball
  • The package should be available in the folder silk-workbench/target/universal

Packaging the Silk Workbench as WAR

  • Execute: sbt "project workbench" war
  • The package should be available in the folder silk-workbench/target/

Building a Silk Single Machine Jar

  • Execute: sbt "project singlemachine" assembly
  • The package should be available in the folder silk-tools/silk-singlemachine/target/scala-{version}.
  • The generated jar can be executed with: java -DconfigFile=<Silk-LSL file> [-DlinkSpec=<Interlink ID>] [-Dthreads=<threads>] [-DlogQueries=(true/false)] [-Dreload=(true/false)] -jar silk.jar