Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 ${REPO_HOME} has been defined as an environment variable.

...

  1. 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}.  

    named sparqlerFor example, if

    the repository home

    your eagle-i home directory is /opt/eaglei

    /repo, then the sparqler home would be

    , you should be creating /opt/eaglei/sparqler.

    Code Block
    languagebash
    titlecreate sparqler home directory
    hms-mbp:eaglei user$ mkdir /sparqler
  2. Create an environment variable for the sparqler home directory, ${SPARQLER_HOME}. For example:

    Code Block
    languagebash
    titledefine environment variable for sparqler home directory
    SPARQLER_HOME=/opt/eaglei/sparqler
    .
  3. Copy the

    file

    file ${REPO_HOME}/webapps/sparqler.war

    to

     to Tomcat's webapps directory

    Code Block
    languagebash
    titlecopy sparqler.war
    hms-mbp:eaglei user$ cp ${REPO_HOME}/webapps/sparqler.war /opt/tomcat7/webapps
  4. Add an additional system property

    to

    to catalina.properties:

...

  1. Code Block
    languagebash
    titlecatalina.properties
  1. org.eaglei.sparqler.home=/opt/eaglei/sparqler

...

  1. Run the

    script

    script ${REPO_HOME}/etc/prepare-install.sh

    with

     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
    languagebash
    titlerun prepare-install.sh
    hms-mbp:eaglei user$ bash ${REPO_HOME}/etc/prepare-install.sh SPARQLER_USERNAME SPARQLER_PASSWORD ${REPO_HOME} sparqler-users.derby
  2. Copy the repository configuration file to ${SPARQLER_HOME}.

    Code Block
    languagebash
    titlecopy configuration file
    hms-mbp:eaglei user$ cp ${REPO_HOME}/configuration.properties 
    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:
  3. Edit the newly created SPARQLER configuration file by changing the following two properties:

    Code Block
    languagebash
    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
  4. Add two properties to your eagle-i-apps.properties file to define the source and target repositories: 

    Code Block
    languagebash
    title$\{EAGLEI_HOME\}/conf/eagle-i-apps.properties
    eaglei.sparqler.source.URL=https://localhost:8443/
    eaglei.sparqler.target.URL=https://localhost:8443/sparqler/
  5. Start up Tomcat
  6. Add credentials to the eagle-i-apps-credentials.properties file for access to the source and target repositories: 

    Code Block
    languagebash
    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
  7. Start up tomcat
  8. Run the script

    Run the script 

    ${REPO_HOME}/etc/finish-install.sh, using the same sparqler-admin username and password that you

    want for administering the sparqler (this should be different from the main repository's superuser).

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").  

...

  1. set up in step 5, above, when you ran the "prepare-install.sh": 

    Code Block
    languagebash
    titlerun finish-install.sh
    hms-mbp:eaglei user$ bash ${REPO_HOME}/etc/finish-install.sh SPARQLER_USERNAME SPARQLER_PASSWORD https://localhost:8443/sparqler