joshsh / ripple

Semantic Web scripting language
Other
102 stars 9 forks source link

Where is LinkedDataSailGraph? #64

Open dazza-codes opened 7 years ago

dazza-codes commented 7 years ago

Is there any updates to this documentation that work? This page refers to LinkedDataSailGraph: https://github.com/tinkerpop/gremlin/wiki/LinkedData-Sail#the-mechanics-of-linkeddatasail

I'm very new to sail and haven't got a grip on the concepts involved, so I need to RTFM about all that. Jumping ahead a bit, I've tried a few things, but fail to get it working, e.g.

$ ./apache-tinkerpop-gremlin-console-3.2.4/bin/gremlin.sh

         \,,,/
         (o o)
-----oOOo-(3)-oOOo-----
plugin activated: tinkerpop.server
plugin activated: tinkerpop.utilities
plugin activated: tinkerpop.tinkergraph

gremlin> :install com.github.jsonld-java jsonld-java 0.10.0
==>Loaded: [com.github.jsonld-java, jsonld-java, 0.10.0]
gremlin> :install net.fortytwo linked-data-sail 1.4
==>Loaded: [net.fortytwo, linked-data-sail, 1.4]
gremlin> :install org.openrdf.sesame sesame-sail-memory 4.1.2
==>Loaded: [org.openrdf.sesame, sesame-sail-memory, 4.1.2]
gremlin> :install org.openrdf.sesame sesame-repository-sail 4.1.2
==>Loaded: [org.openrdf.sesame, sesame-repository-sail, 4.1.2]
gremlin> :install org.openrdf.sesame sesame-rio-jsonld 4.1.2
==>Loaded: [org.openrdf.sesame, sesame-rio-jsonld, 4.1.2]
gremlin> sailMemoryStore = new org.openrdf.sail.memory.MemoryStore()
==>org.openrdf.sail.memory.MemoryStore@4317850d
gremlin> sailRepo = new org.openrdf.repository.sail.SailRepository( sailMemoryStore )
==>org.openrdf.sail.memory.MemoryStore@4317850d
gremlin> sailRepo.initialize()
==>null
gremlin> sail = new net.fortytwo.linkeddata.sail.LinkedDataSail( sailRepo )
Could not find matching constructor for: net.fortytwo.linkeddata.sail.LinkedDataSail(org.openrdf.repository.sail.SailRepository)
gremlin> sail = new net.fortytwo.linkeddata.sail.LinkedDataSail( sailMemoryStore )
==>net.fortytwo.linkeddata.sail.LinkedDataSail@5232e3f1
gremlin> sail.initialize()
==>null
joshsh commented 7 years ago

Hi Darren. As @twilmes noted, LinkedDataSailGraph was part of TinkerPop 2, and there is currently no equivalent in Apache TinkerPop. I have to eat my own words about getting such a thing ready by the end of (last) year, but it is still obviously something the community wants. You can consider it a planned set of features.

danbri commented 3 years ago

Is there anything like LinkedDataSailGraph in 2021? I miss it!

joshsh commented 3 years ago

Hi @danbri! No there is not, but on the bright side, RDF <--> PG interoperability is a major objective of TinkerPop 4, and there are already important pieces I would like to make use of in TinkerPop 3. See TinkerPop 2020 and, more recently, the How to Build a Dragon series of presentations. Tonight at 6pm PDT (or 4am in London, if you are an early riser), I will be showing how to ETL Uber's metadata catalog into an RDF triple store. For a 2021 version of SailGraph, we would use a very similar transformation. Unlike TinkerPop 2 SailGraph, we would also have the option of enforcing a schema.

If you would like to make things like the above happen sooner rather than later, fill out this form and ask others to do the same. Right now, it is not clear whether we will be able to use Dragon (the mapping framework) in TinkerPop; if not, we will create a brand new API, but of course that will take a bit longer.

LinkedDataSail itself just needs to be updated to a recent version of RDF4j.