Hi Josh, Apologies for late reply, I almost forgot this one.
I am not exactly familiar with the PropertyGraphSail and GraphSail implementations at the moment. Let me get back to you on this once I have a more concrete idea. > How does your content-preserving RDF <--> PG interface compare with the > GraphSail mapping, the PropertyGraphSail mapping(s), or with Hartig's > "RDF*" Thanks for pointing out Olaf Hartig's work in this area. I am currently collaborating with him on the proposed "RDF <-> PG" converter. Olaf laid a foundation with his paper on the perception of PGs from an RDF perspective. This is good, however, has some challenges such as it is not able to handle RDF reification at this point. I am working on this with him, to extend his work and create a (pretty much) seamless bi-directional conversion mechanism. I hope that answers your question to somewhat extent. :) Cheers! On 2017-12-15 02:38, Joshua Shinavier <[email protected]> wrote: > Hi Harsh, > > Thanks for the detailed reply. I can't say with confidence that the TP2 > suite could be re-implemented on top of Jena in that time frame (as I am a > long-time Sesame fan without much Jena experience), although a TP2 --> TP3 > port could be done, keeping the Sesame (RDF4j) dependency. GraphSail has > already been ported, and just needs some docs and more tests. I wonder if > it would be too crazy to support both, i.e. rdf4j-gremlin and jena-gremlin. > > At any rate, it has been really good to see the recent upsurge of interest > in RDF and SPARQL support in the graph DB space. At Data Day Seattle, I > made the point that although Property Graphs came to prominence as a simple > and lightweight alternative to the Semantic Web standards, SemWeb-like > features -- such as schemas/ontologies and rules/reasoning -- keep finding > their way in. > > How does your content-preserving RDF <--> PG interface compare with the > GraphSail mapping, the PropertyGraphSail mapping(s), or with Hartig's > "RDF*" [1]? > > > [1] https://arxiv.org/pdf/1409.3288.pdf > > > On Thu, Dec 14, 2017 at 8:43 AM, Harsh Thakkar <[email protected]> wrote: > > > > > Hi Josh, > > > > I already wrote an elaborate reply to your comment. I think it went > > somewhere but didn't show up :( > > > > I will summarize my reply here now.. > > > > Yes, I am of the same opinion of having a continuous SPARQL implementation > > on top of Gremlin. Also, I am working on a custom interface, (as we speak) > > in my current research, on proposing an information preserving RDF <-> PG > > converter. This will allow interoperability between the semantic web and > > graph database communities to leverage the advantages of one another. i.e. > > the earlier can traverse and the later can have a more diverse access > > portfolio to rich datasets. > > > > My Ph.D. thesis is more or less focused on this. It started from proposing > > a robust open and extensible benchmarking platform "LITMUS" [], which > > eventually led me to address all these issues and thus my keen interest :) > > > > If I am not getting it wrong, the other interfaces you mentioned, about > > that, do you wish to see them eventually integrated into tinkerpop? or are > > you implying that this should be already done before the next release? > > > > Thanks for your pointers! > > Cheers! > > > > On 2017-12-13 16:46, Joshua Shinavier <[email protected]> wrote: > > > Hi Harsh, > > > > > > Glad you are taking Daniel's work forward. In porting the code to the > > > TinkerPop code base, might I suggest we allow for not only > > SPARQL-Gremlin, > > > but a whole suite of RDF tools as in TP2. Perhaps call the module > > > rdf-gremlin. Then we could have all of: > > > > > > * SPARQL-Gremlin: executes standard SPARQL queries over a Property Graph > > > database > > > * GraphSail [1,2]: stores RDF quads in the database, explicitly, and > > > enables SPARQL and triple pattern queries over the quads > > > * PropertyGraphSail [3]: exposes a Property Graph with of two mappings to > > > the RDF data model > > > * SailGraph [4]: takes an RDF triple store (not natively supporting > > > Gremlin) and enables Gremlin queries > > > * others? I have often thought that a continuous SPARQL implementation > > > built on Gremlin would be powerful > > > > > > The biggest mismatch between the TP2 suite and what might be built for > > > Apache TinkerPop is that the previous suite was implemented using > > (Eclipse) > > > RDF4j, whereas things seem to be leaning towards (Apache) Jena now. > > > However, the same principles could be applied. > > > > > > Josh > > > > > > > > > [1] https://github.com/tinkerpop/blueprints/wiki/Sail-Ouplementation > > > [2] https://github.com/joshsh/graphsail > > > [3] > > > https://github.com/tinkerpop/blueprints/wiki/PropertyGraphSail- > > Ouplementation > > > [4] https://github.com/tinkerpop/blueprints/wiki/Sail-Implementation > > > > > [snip] >
