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.

+3


source to share


1 answer


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
+5


source







All Articles