Why do we need Fuseki Server?
I am developing an application that uses a triple store (Jena TDB ). Purely said TDB Supports SPARQL update and query. Also, I realized that Fuseki is a SPARQL server that also supports Update and Query. I do not answer the following questions:
- If TDB supports SPARQL query and update, then why do we need Fuseki?
- Can I store my data in TDB and then access it in my application without using Fuseki?
Any response from your side will be appreciated.
source to share
To expand on the comments received,
TDB is an in-memory database backed by persistent disk storage that runs in a JVM and is only available within that JVM. TDB repositories can only have one JVM available at a time (and TDB will enforce this limitation), so you won't be able to use TDB yourself if you need to communicate between multiple JVMs
Fuseki is a web server that implements the SPARQL protocol , which is the standard way to provide an RDF database for query / update over HTTP. TDB is the default database under Fuseki, although Fuseki can be configured on top of other RDF databases if needed.
Since Fuseki runs in a single JVM, it can be used to share a TDB database with multiple applications, since these applications access Fuseki over HTTP and Fuseki handles all TDB database access in its JVM. In addition, since the SPARQL protocol is a standard, you can use Fuseki to allow non-JVM-aware applications to access your TDB database, as they simply interact with Fuseki over the protocol and don't need to know how to interact with TDB directly.
Summarizing:
- If you only need one application to access TDB database, you can use TDB directly
- If you need multiple applications (or non-JVMs) to access the TDB database, use Fuseki via TDB
source to share