On 19/01/13 12:42, Andy Seaborne wrote:

On 19/01/13 01:59, Thomsen, Mark wrote:
We have an application server on each of several computer systems,
and wish to have a TDB/Fuseki server on another computer system, all
on a common LAN.  Some of the application servers will execute
transactions that involve loading new named graphs (RDF/XML files
local to the application servers) onto the TDB.  TDB files are local
to the TDB/Fuseki server's computer system (and remote from the
application servers).  The application is written in Java.

If all of the moving parts are on a single, common computer system
there are multiple options found in the documentation, from the
tdbloader scripts to (Java program executes it as a command) to
something like Model.read( ... ).

In our case the moving parts are distributed.  Model.read( ... ) is
preferable, but it does not appear to work remotely.

What are the options for loading the RDF/XML file's data onto a
remote TDB?

Can someone point to an example or tutorial for this case.  I've
looked and have not found an online resource.


(The users list is users AT jena.apache.org )

This is what the SPARQL Graph Store HTTP Protocol is for.  You can add
graphs into a Fuseki/TDB server.

http://www.w3.org/TR/sparql11-http-rdf-update/

PUT http://server/dataset?graph=http://example/MyName
Content-type: application/rdf+xml
...

There is a class to help DatasetAccessor (which is in the wrong package
- org.apache.jena.fuseki.http for historical reasons) but the app would
need to read in the data.

By using directly, you can setup the HTTP operation and just read/write
the file to the HTTP connection.

You can also use SPARQL Update but that requires translating the input
data into a INSERT DATA statement.

There is "LOAD" but it read URLs, not (remote) files.

     Andy

PS There are some scripts for the Graph Store Protocol (GSP) for REST-ish operations: s-put, s-get, s-post, s-delete

http://jena.apache.org/documentation/serving_data/soh.html

and a Fuseki server does support regular HTML/HTTP file upload (see the HTML UI - you can drive this programmatically quite easily).

        Andy

Reply via email to