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: firstname.lastname@example.org Cc: email@example.com 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: firstname.lastname@example.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  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.  https://www.w3.org/TR/sparql11-http-rdf-update/