If we take this to the Java environment for a moment, you can read/write
directly to the jena database using the java classes.  I suppose you could
set this up to call it from PHP/Python.

HOWEVER, and it is a big however, there are synchronization (read/write)
issues with doing this.  Fuseki has the code to ensure that the
synchronization is handled correctly.

In addition, I have found recently that the RDFConnection class makes it
much easier to write code that will run against both a local and a remote

My suggestion is that if you are going to do this, explore the Fuseki code
and understand how it does locking etc.  It has been awhile since I was
down in that code and what I remember may have changed.  YMMV.


On Tue, Mar 13, 2018 at 7:35 AM, Laura Morales <laure...@mail.com> wrote:

> I forgot to mention that I'm not looking at this from the perspective of a
> user who wants to use a public endpoint. I'm looking at this from the
> perspective of a developer making a website and using Jena/Fuseki as a
> non-public backend database.
> Sent: Tuesday, March 13, 2018 at 8:29 AM
> From: "Laura Morales" <laure...@mail.com>
> To: users@jena.apache.org
> Cc: users@jena.apache.org
> Subject: Re: client/server communication protocol
> Am not saying one is better or worse than the other, I'm merely trying to
> understand. If I understand correctly Fuseki is responsible for handling
> connections, after then it passes my query to Jena which essentially will
> parse my query and retrieve the data from a memory mapped file (TDB).
> Since MySQL/Postgres use a custom binary protocol, I'm simply asking
> myself if HTTP adds too much overhead and latency (and therefore is
> significantly slower when dealing with a lot of requests) compared to a
> custom protocol programmed on a lower level socket.
> Sent: Tuesday, March 13, 2018 at 8:11 AM
> From: "Lorenz Buehmann" <buehm...@informatik.uni-leipzig.de>
> To: users@jena.apache.org
> Subject: Re: client/server communication protocol
> Well, Fuseki is exactly the HTTP layer on top of Jena. Without Fuseki,
> which protocol do you want to use to communicate with Jena? The SPARQL
> protocol [1] perfectly standardizes the communication via HTTP. Without
> Fuseki, who should do the HTTP handling? Clearly, you could setup your
> own Java server and do all the communication by yourself, e.g. using low
> level sockets etc. - whether this makes sense, I don't know. I'd always
> prefer standards, especially if you already have something like Fuseki
> which does all the connection handling.
> [1] https://www.w3.org/TR/sparql11-http-rdf-update/

I like: Like Like - The likeliest place on the web
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to