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 


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/

Reply via email to