afs/rdf-delta

Upstream Jena vs rdf-delta: webapp and query UI

Closed this issue · 2 comments

I've got the project set up and working well here. Thanks for this.

Not sure if an issue is the best place for discussion so happy to move this elsewhere.

The broad question I have is about how the changes in here are synchronised with upstream jena/fuseki. It looks so far that jena/fuseki itself is a dependency and the pieces here import functionality from jena and add the delta handling and communication with the patch server.

Practically, we find the fuseki UI quite useful (endpoint: /$/server). It's not available through the fuseki in this project and I'm just having a look at whether it can be made available. Is there a known path to doing this sort of thing? Is doing this even a good idea? Seems like it could be a pain to maintain.

Or perhaps there's a much better interface available for visually toying around with fuseki. yasgui is OK, but a bit more basic.

A simpler example than the webapp would be the /$/status endpoint.

Still being new to the codebase (and not at all familiar with Jetty), I'm guessing here. Would it look something like:

  • Add jena-fuseki-webapp as a dependency
  • Import the webapp package
  • Register the servlet in some way or other and make the endpoint fire over to it.
afs commented

It looks so far that jena/fuseki itself is a dependency and the pieces here import functionality from jena and add the delta handling and communication with the patch server.

Yes - in a little more detail, it is the dataset that has the synchronization across the cluster. The Fuseki here is a packaging of Fuseki with that dataset code, its assembler and has a patch service added. All standard mechanisms for extending Fuseki.

The core Fuseki engine is oblivious to RDF Delta; the synchronization is on the dataset.
The packaging is with Fuseki main - not the webapp API version.

Which aspects of the UI are you using? Some parts, like the query interface and data update are detachable. There is work going on to modernise the Fuseki UI codebase and that could be a discussion on componentization.

The change of server configuration isn't replicated in RDF Delta I'm afraid. That works with on-disk state, not RDF recorded state, so it would not be replicated. It's not impossible, it just does not work that way. Also - even it it were in a database, the other servers aren't going to react to the and create/delete datasets so it is a change in Fuseki to make the configuration cluster-aware.

One more point - use I know of to date has been using automation of configuration through rather than having a manual-like admin UI/API to manage the datasets.

afs commented

See discussion #122. Now the GH discussion forum is available it is better place, leaving issues for bug reports and work happening.