RDF-Star - Which datastores are supported? #4247
Replies: 2 comments 1 reply
-
I believe that the MemoryStore is the only store that supports RDF-Star. You can enable persistence on the MemoryStore, though keep in mind that this is best effort. There shouldn't be any inherent issues with stacking other sails like the LuceneSail or the ShaclSail on top of the MemoryStore, though I haven't tested these personally with RDF-Star. I can mention that GraphDB from Ontotext supports RDF-Star. They build on RDF4J and contributed our current RDF-Star implementation. As for your other question. Here is some documentation on how you can add statements directly: https://rdf4j.org/documentation/programming/repository/#creating-retrieving-removing-individual-statements |
Beta Was this translation helpful? Give feedback.
-
Starting from the facts you two mentioned (I din't realize before that only memory store currently explicitly supports RDFstar), I wonder if there might be a workaround? For example the class util.Models has some methods that can be useful to convert RDFstar in RDF reification and viceversa. I suppose the performance would be not so good, but it should be scalable at least as the underline repository, and should be something easy in terms of persistency support, as they will be standard triples. Ideally, one could imagine to configure a parser or even an inferencer producing the conversions, but supposing to do the latter I suppose the performances will degrade a lor. What do you think about? |
Beta Was this translation helpful? Give feedback.
-
I would like to store metadata on statements using the RDF-Star method as outlined here. However, I need a scalable and persistent store so a memory store is out of the question.
The mentioned document only states no all stores are supported but it only mentions the memory store as possibility. What are the other choices I have? Are all native datastores with their various additions unsupported?
Also, how do I add a meta statement programmatically? The documentation only mentions reading it in via a turtle file. Do I really have to programmatically build a turtle file everytime I want to add such a statement? (Sorry for the separate question...)
Beta Was this translation helpful? Give feedback.
All reactions