Friday, April 14, 2017

Documenting Sesame and RDF4j

 Sesame 4.1.2 became RDF4J 2.0. Documentation for rdf4j is here: http://docs.rdf4j.org/rdf-tutorial/ .
An older version of Sesame, 2.7, is documented here:
http://graphdb.ontotext.com/sesame/users/ch01.html

Sesame also provided a JDBC like interface:
https://docs.oracle.com/javase/tutorial/jdbc/basics/

In PowerAquaOpenSource there is a jar:

openrdf-sesame-2.3-pr1-onejar in ./PowerAquaOpenSource/myLib/sesame2/

In PowerAquaLinked there is a jar:

a-openrdf-sesame-2.3-pr1-onejar.jar in ./poweraqualinked/WEB-INF/lib/

The jar files in PowerAqua contain all of the relevant Sesame libraries for programming applications.

On source-forge I was able to download: openrdf-sesame-4.1.2-sdk.tar.gz. This contains complete binaries in jar files.

--------------------

Now I can play with the downloaded binaries for sesame-4.1.2:

Looking at:
http://graphdb.ontotext.com/sesame/users/ch06.html

I note that I can store the repositories on the file system, or on a sesame server.



When I chose ./openrdf-sesame-4.1.2/bin/".sh I get SYSTEM for the command "show repositories."

I get no server for "connect http://localhost:8080/openrdf-sesame."

Either I have no server, or it is not running on port 8080. port 8080 is the default.
(Documentation on setting up a server:
https://webthreeoh.wordpress.com/2012/06/18/installing-sesame-on-a-mac-mini/ ,
http://graphdb.ontotext.com/sesame/users/ch05.html)
A server is not needed if sesame is strictly used a library to program against.
However.

I look at the code for the Sesame2Plugin:
https://github.com/bshambaugh/PowerAqua-decompiled/tree/master/aquaplugins/Sesame2Plugin

and I notice that for ./Sesame2Plugin/Sesame2URLDatabaseTransformer.java there is:

import org.openrdf.repository.Repository;
import org.openrdf.repository.RepositoryConnection;
import org.openrdf.repository.http.HTTPRepository;

and

public static void createDBFromURI(String sesameServerPath, String repositoryName, String filePath, String format)

try
{
System.out.println("Uploading into repository " + sesameServerPath + repositoryName);
Repository myRepository = new HTTPRepository(sesameServerPath, repositoryName);
myRepository.initialize();
RepositoryConnection con = myRepository.getConnection();


Comparing this to  "8.2.1.4. Accessing a remote repository" in  http://graphdb.ontotext.com/sesame/users/ch08.html tells me that Sesame2URLDatabaseTransformer.java connects to an existing sesame repository.

In the other file in ./Sesame2Plugin/

looks like it is accessing a preexisting sesame server...

Thus for PowerAqua-decompiled/createSesame2Repository.sh

No comments:

Post a Comment