Draft
Conversation
This is a backend interface for the Comunica SPARQL server and should provide SPARQL access to ConfigDB information. Currently all we expose is the class membership information as `rdf:type` triples.
An LDF interface cannot accept writes. The only long-term strategy here is to run Comunica using an RDF/JS Source/Store interface. This means using RDF quad Streams, which are mostly going to be irritating as I will always have all the data in hand already.
My Readable implementation had a bug: it never closed the stream. It's going to be easier I think to use the builtin functions.
It's not going to be possible to use QPF for SPARQL updates, so I need to use an RDF/JS source instead. This means integrating Comunica into the ConfigDB, unless I split it out into a separate service accessing the same database. Rename LDF→QPF throughout; all these acronyms are confusing, but I think this endpoint is specifically a Quad Pattern Fragment query endpoint, while Linked Data Fragment describes the form of the result. Although Comunica provides a SPARQL server there doesn't seem to be any documented way to invoke it using a customised query engine. So just parse SPARQL out of HTTP ourselves and hand the query off to the engine. This means we still accept and require the normal auth; I don't know how many SPARQL client libraries will like that.
I don't know how clients will react to this, but if we are to apply access control here we need to be able to give sensible responses.
The rdf:JSON type is, annoyingly, canonicalised.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a WIP created as part of the Data Access project (25/26).
Implement a basic SPARQL interface to the existing JSON ConfigDB. Expose the class structure and expose Applications as properties to
rdf:JSONvalues.