Page History
...
A publicly-accessible SPARQL endpoint may needs to 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.
...
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 additional details are are the same as for the main repository.
Info |
---|
These instructions assume that a repository has already been installed and that |
...
In the existing eagle-i
home directory (the parent of the repositoryhome
-directory,
${REPO_HOME})create a directory
"sparqler", and set an environmental variable ${SPARQLER_HOME}.named
the repository homesparqler
. For example, ifyour eagle-i home directory is /
/repo, then the sparqler home would beopt/eaglei
, you should be creating
/opt/eaglei/sparqler
.Code Block language bash title create sparqler home directory hms-mbp:eaglei user$ mkdir /sparqler
Create an environment variable for the sparqler home directory,
${SPARQLER_HOME}
. For example:
.Code Block language bash title define environment variable for sparqler home directory SPARQLER_HOME=/opt/eaglei/sparqler
Copy the
filefile
to${REPO_HOME}/webapps/sparqler.war
to Tomcat's webapps directory.
Code Block language bash title copy sparqler.war hms-mbp:eaglei user$ cp ${REPO_HOME}/webapps/sparqler.war /opt/tomcat7/webapps
Add an additional system property
toto
catalina.properties
:
...
Code Block language bash title catalina.properties
org.eaglei.sparqler.home=/opt/eaglei/sparqler
...
Run the
scriptscript
with${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):
Code Block language bash title run prepare-install.sh hms-mbp:eaglei user$ bash ${REPO_HOME}/etc/prepare-install.sh SPARQLER_USERNAME SPARQLER_PASSWORD ${REPO_HOME} sparqler-users.derby
Copy the repository configuration file to
${SPARQLER_HOME}
.
Create and edit the repository configuration file (Code Block language bash title copy configuration file hms-mbp:eaglei user$ cp ${REPO_HOME}/configuration.properties
) - it should be identical to the main repository's config-file, with the following two exceptions - we set:${SPARQLER_HOME}/configuration.properties
Edit the newly created SPARQLER configuration file by changing the following two properties:
Code Block language bash title $\{SPARQLER_HOME\}/configuration.properties No Format eaglei.repository.sesame.dir=${sys:org.eaglei.sparqler.home}/sesame eaglei.repository.log.dir=${sys:org.eaglei.sparqler.home}/logs
Add two properties to your
eagle-i-apps.properties
file to define the source and target repositories:Code Block language bash title $\{EAGLEI_HOME\}/conf/eagle-i-apps.properties eaglei.sparqler.source.URL=https://localhost:8443/ eaglei.sparqler.target.URL=https://localhost:8443/sparqler/
- Start up Tomcat
Add credentials to the
eagle-i-apps-credentials.properties
file for access to the source and target repositories:Code Block language bash title $\{EAGLEI_HOME\}/.config/eagle-i-apps-credentials.properties # The credentials for the source repository eaglei.sparqler.source.user=myRepositoryUser eaglei.sparqler.source.password=myRepositoryPassword # The credentials used by the prepare-install.sh above eaglei.sparqler.target.user=mySparqlerUser eaglei.sparqler.target.password=mySparqlerPassword
- Start up tomcat
- Run the script
Run the script
want for administering the sparqler (this should be different from the main repository's superuser).${REPO_HOME}/etc/finish-install.sh
, using the same sparqler-admin username and password that you
Synchronization
The sparqler has a synchronization program, synchronize-sparqler.sh, that should be run (as the same user as runs tomcat) every night. On a Unix-like system (this would include OS X and later on a Mac), the system administrator should set a line in a crontab file to accomplish this (something like the following):
No Format |
---|
13 2 * * * tomcat cd /opt/eaglei && bash repo/etc/synchronize-sparqler.sh
|
(this would run daily at 02:13am as the user "tomcat").
...
set up in step 5, above, when you ran the "
prepare-install.sh
":Code Block language bash title run finish-install.sh hms-mbp:eaglei user$ bash ${REPO_HOME}/etc/finish-install.sh SPARQLER_USERNAME SPARQLER_PASSWORD https://localhost:8443/sparqler