/silk

Silk Linked Data Integration Framework

Primary LanguageScalaOtherNOASSERTION

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.

Documentation

Community documentation is maintained in the doc folder.

Requirements

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 or pull the latest docker image:
    • Build the docker image with: 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.

Example

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