Skip to content


Switch branches/tags

Latest commit



Failed to load latest commit information.
Latest commit message
Commit time

Build Status Deploy

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

  • JDK 11
  • Simple Build Tool (sbt)
  • Yarn for React/JavaScript build pipeline (e.g. ^1.22.0)
  • Node (e.g. ^14.17.0)

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 or pull the latest docker image:
    • Build the docker image with:
      sbt universal:packageZipTarball
      docker build -t silkframework/silk-workbench:latest .
      (This maybe take some minutes)
    • Pull the docker image via: docker pull silkframework/silk-workbench
  • 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