On 15/08/13 16:02, David Jordan wrote:
A TDB dataset only allows a single JVM to access/manage it at a time.
It is my understanding that Fuseki is primarily simply a SPARQL
endpoint server to issue queries to for one or more TDB datasets.

Yes - TDB and any other datasets.

Fuseki is the protocol engine.

One
can also write their own TDB application, creating their own TDB
access server, using the TDB libraries. While it is possible to
support SPARQL queries through the TDB libraries, it “may” be the
case that the multi-client serviceability mechanisms that are built
into Fuseki are not directly available in the TDB libraries if one is
wanting to also add their own non-SPARQL access code.

The key is that there must be only one database engine per set of files on disk. The same is true for any SQL database as well. ODBC or JDBC are protocols for accessing a shared, single database engine.

I believe it is
the case that TDB would not allow both a Fuseki server as well as
one’s own server accessing the same TDB instance.

If there are in the same JVM, that can be done.

Is there any means
to enable a hybrid approach, where you can have a server that
includes all the capabilities provided by Fuseki, but also allow for
extending that server to support access to code that one would write
directly against the TDB and Jena libraries?

Fuseki is set of servlets. It is wrapped in a Jetty instance to give the standalone server.

You could choose to use the servlets inside a large web application thereby sharing the TDB engine.

        Andy




Reply via email to