-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High level RDF Store api #42
Comments
I remember from conversation with @bergos in rdf-ext-archive/discussions#21
I need to look up definitions for those methods, but it seems that they can get implemented just as convenience layer using low lever |
Started today to implement the new interface for rdf-store-sparql. I think it can be done like this:
Will update the examples when I finished the implementation. |
@bergos Beautiful! |
You can have a look at the SPARQL Store implementation now. I need to update the doc, but the tests show already how to distinguish between add and merge. |
I find Stage 3 async iteration statement: If someone else finds such interface attractive, I wonder where in the RDFJS specs ecosystem it could fit? |
I agree with @elf-pavlik as I find async iteration quite nice from a development experience standpoint. However, I also find it deceptively trick (i.e. it requires good knowledge of promises to deal with the effect of high numbers of iterations on memory usage) and @RubenVerborgh mentioned performance penalties when compared against approaches like |
In general I'm not against the For a feature where there is a high chance, that it's implemented in different ways I would have a different opinion, but I don't fear we will have a problem with Anyway if |
It looks that WHATWG RedeableStream will also end up async iterable: whatwg/streams#778 (comment) |
I recommend against for-await-of until we have performance tests showing them to be of equal or better performance. Triples are very small data objects, we are often dealing with millions. You do not want the performance penalty I've seen with async iteration so far. I'm sure it will get better, but we should only switch at that point. |
I've been working on an implementation of an RDF store LDP backend for Solid (something like
rdf-store-ldp
).rdf-store-ldp
follows the older Store API (specifically, the https://github.com/rdf-ext/rdf-store-abstract api, which had the add/remove etc) methods.I see that the current low-level spec Store API has been simplified, and only has the following methods:
remove
removeMatches
deleteGraph
match
from Sourceimport
from SinkSo, couple of questions:
rdf-store-ldp
(which would serve as an interface to an actual RDF quad store, etc).add()
,merge()
andgraph()
? (that the high level store api had, but not the low level)?Is there any interest in standardizing (as a High Level api), or at least discussing, to what an rdf store api would look like (similar to the Dataset)?
The text was updated successfully, but these errors were encountered: