Overview
A publicly-accessible SPARQL endpoint may be installed. It takes the form of an additional repository which contains everything in the main repository which is public (i.e. not email-addresses, phone-numbers, etc.; not un-published resources). It is affectionately known as the "sparqler" associated with this main repository. It is synchronized with its main repository on a regular basis - typically every night.
Installation
The installation of a sparqler follows very much the same procedure as for the main repository, with one or two changes because it doesn't live at the same location. The quick-start installation procedure is as follows - additional details are the same as for the main repository.
- In the existing eagle-i home directory (the parent of the repository home-directory, ${REPO_HOME}) create a directory "sparqler", and set an environmental variable ${SPARQLER_HOME}. For example, if the repository home is /opt/eaglei/repo, then the sparqler home would be /opt/eaglei/sparqler.
- Copy the file
${REPO_HOME}/webapps/sparqler.war
to Tomcat's webapps directory. - Add an additional system property to
catalina.properties
:org.eaglei.sparqler.home=/opt/eaglei/sparqler
- Run the script
${REPO_HOME}/etc/prepare-install.sh
with an additional argument: "sparqler-users.derby" (note that the username and password for the user you create here - who administers the sparqler - these should be different from the main repository's admin-user credentials):bash ${REPO_HOME}/etc/prepare-install.sh SPARQLER_USERNAME SPARQLER_PASSWORD ${REPO_HOME} sparqler-users.derby
- Create and edit the repository configuration file (
${SPARQLER_HOME}/configuration.properties)
- it should be identical to the main repository's config-file, with the following two exceptions - we set:eaglei.repository.sesame.dir=${sys:org.eaglei.sparqler.home}/sesame eaglei.repository.log.dir=${sys:org.eaglei.sparqler.home}/logs
- Add some properties to the files eagle-i-apps.properties, eagle-i-apps-credentials.properties (found in directories
${EAGLE_I_HOME}/conf
and possibly${EAGLE_I_HOME}/.config
):eaglei.sparqler.source.URL=https://eagle-i.myInstitution.edu/ eaglei.sparqler.target.URL=https://eagle-i.myInstitution.edu/sparqler/ eaglei.sparqler.lastSynchronizedDateFile=/eagle-i/home/sparqlerSyncDate.properties # credentials to enable the Synchronizer to access the source and target: eaglei.sparqler.source.user=myRepositoryUser eaglei.sparqler.source.password=myRepositoryPassword eaglei.sparqler.target.user=mySparqlerUser eaglei.sparqler.target.password=mySparqlerPassword
- Start up Tomcat
- Run the script
${REPO_HOME}/etc/finish-install.sh
, using the same sparqler-admin username and password that you set up in step 1, above, when you ran the "prepare-install.sh":bash ${REPO_HOME}/etc/finish-install.sh SPARQLER_USERNAME SPARQLER_PASSWORD https://localhost:8443/sparqler
Synchronization
The sparqler repository keeps itself up-to-date with its source-repository by running a periodic synchronization process. This is run automatically so long as the sparlqer and its source-repository are running - no intervention is required.
However, if for some reason the synchronization fails (look in sparqler/logs/repository.log), you can run the synchronizer manually by invoking the script ${REPO_HOME}/etc/synchronize-sparqler.sh as follows:
cd /opt/eaglei bash repo/etc/synchronize-sparqler.sh
If you run on Windows (warning: this is explicitly unsupported), you should set up a Unix-like environment (e.g. Cygwin) in which to perform the installation and run the shell-scripts.