This document describes the steps to build the Linked Data Theatre. You could follow two approaches:
- Deploying the Linked Data Theatre using Docker. This is described in: DOCKER.md.
- Deploying the Linked Data Theatre from scratch.
A step-by-step guide for a clean install of the Linked Data Theatre and a Virtuoso triple-store on a Linux environment is described in LINUX_SETUP.md.
You should have a working version of the Java Runtime Environment.
The configuration of the LDT is stored in a triple store. The LDT uses a SPARQL endpoint to query for the configuration. And, naturally, the LDT uses one or more triple stores to fetch the data that is presented by the LDT. The LDT can use any SPARQL 1.1 endpoint, but is optimized for use with Virtuoso.
You can download Virtuoso from this location: http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main. Prebuild versions are available, you can also try to build virtuoso yourself.
(This step is only necessary if you use Virtuoso as a backend.
Execute \stored-procs\install.bat
, located in your git repository. If you have only downloaded the war from the release, follow these steps:
- Download the file create_procedures.sql;
- Open your browser at http://localhost:8890/conductor, login as dba and navigate to the interactive SQL module;
- Paste the content of the create_procedures.sql file into the interactive SQL editor;
- Click on the
Execute
button.
You need an installation of Tomcat to run Orbeon, and within Orbeon the Linked Data Theatre. Orbeon is included within the LDT.war file, but you need to install Tomcat.
You can download Tomcat from this location: https://tomcat.apache.org/.
Stop your Tomcat service. Delete all files in the \webapps\ROOT directory and unpack the LDT.war into the \webapps\ROOT directory. Restart your Tomcat service.
If you want to use an existing tomcat installation, just unpack the war in the \webapps\ldt directory. Make sure you change the configuration file (section 4.1).
Most system configurations are stored in \webapps\ROOT\WEB-INF\resources\apps\ldt\config.xml
. The default configuration works OK for development purposes: installation on your localhost with a virtuoso endpoint on the same machine. Change it if you have a different configuration. (See the wiki for more information).
If you have performed step 3.1, please add a docroot
statement to the configuration file:
<site domain="localhost" icon="favicon.ico" docroot="/ldt">
<stage/>
</site>
Without the docroot statement, the LDT won't be able to find the right stylesheets or javascript libraries.
You should change the domain of your site to the correct port number:
<site domain="localhost:8080" icon="favicon.ico">
<stage/>
</site>
Do NOT add the protocol ("http://") to the domainname.
The standard operation of the Linked Data Theatre uses the default settings of a Virtuoso endpoint. In case you have changed these setting (for example the password of the dba user), you should make some changes to the configuration file located at WEB-INF/resources/config/properties-local.xml
Please update the following settings to your situation:
<property as="xs:string" name="oxf.rdf.repository.database" value="virtuoso"/>
<property as="xs:string" name="oxf.rdf.repository.connectString" value="jdbc:virtuoso://localhost:1111/log_enable=0"/>
<property as="xs:string" name="oxf.rdf.repository.username" value="dba"/>
<property as="xs:string" name="oxf.rdf.repository.password" value="dba"/>
The config file assumes that you have a SPARQL endpoint available at http://127.0.0.1:8890/sparql
. Some triplestores use a different port, or use a different path to the SPARQL endpoint. Please change your config accordingly.
Sesame triplestores (like GraphDB) support multiple repositories per triplestore, so you should specifiy the respository you are using, and you should configure these repositories in your triplestore. For example, your config.xml
for GraphDB might start with:
<theatre env="dev" configuration-endpoint="http://127.0.0.1:7200/repositories/ldt" local-endpoint="http://127.0.0.1:7200/repositories/data" sparql="yes">
This assumes that you have a repository named "ldt" for your LDT configuration, and a repository named "data" for your Linked Data.
If you want to use the functionality of containers and productions, and you use another triplestore than Virtuoso, you should change the settings of WEB-INF/resources/config/properties-local.xml
. First comment-out (or remove) all the setting relevant for Virtuoso. Next, remove the comments for the RDF4J-type stores, and change the config to your situation:
<property as="xs:string" name="oxf.rdf.repository.database" value="rdf4j"/>
<property as="xs:string" name="oxf.rdf.repository.connectString" value="http://127.0.0.1:7200/repositories/data"/>
In this particular configuration, all updates will be performed against a repository named "data".
Go to http://localhost/info
and check if the Linked Data Theatre runs correctly. You should receive something that looks like this:
The most important line is the one that starts with Config:
. You should have the value VALID
. If your config is INVALID
, some extra lines will be present, telling you which problem you should fix.
Version number: 1.8.0
Version timestamp: 2016-06-15 21:18:08
Environment: dev
Stage: http://localhost/stage
Docroot: /
Public SPARQL endpoint: yes
Public backstage: yes
Config: VALID
After you have installed the LDT, the main page of the theatre will be a empty page. Just like a new theatre, the stage will be empty. You can use the default configuration that comes with the LDT to get you started.
Upload the file basic-configuration.ttl to the named graph of your stage (as shown in the previous step, for example: http://localhost/stage
), using your triple store upload facility.
From version 1.7.1, you can also use the import facility of the LDT backstage. To use this facility, go to your backstage (for example: http://localhost/backage
), navigate to the import menuitem and upload the file basic-configuration.ttl.