On 19/08/15 16:14, Bart van Leeuwen wrote:
Hi,
Would it be possible to use Apache Tinkerpop [1] as a Jena backend ?
[1] http://tinkerpop.incubator.apache.org/
Met Vriendelijke Groet / With Kind Regards
Bart van Leeuwen
Short answer : there isn't code to do it that I recall anyone talking about.
Long answer: [*]
Property Graphs (PG) and RDF have a lot in common (obviously!). Using
one with the other would open some interesting possibilities. A
Gremlin+RDF-like traversal language would be great.
In the direction "Jena over Tinkerpop" using a PG storage to put in RDF
looks OK if the fact that in PG values and links are separate c.f.
owl:DatatypeProperty and owl:ObjectProperty.
If you have a schema, (and data that promised faithfully to follow the
schema:-)), then by knowing if a RDF property is a datatypeProperty or
an objectProperty, it looks quite easy to look in the right way to use
RDF on PG. Otherwise there is a risk of needing to look in two places,
which might work for many cases but the scale implications don't look good.
This gets to one key point - PG is not so much about data integration
later, whereas RDF is. Practically, to use PG, there is a data model
design step when setting up the database and it's done for the task,
leaving work later for integration conversion.
Viewing an existing PG graph as RDF looks like more conversion is needed
- one PG edge or value might not be one RDF triple. if edge attributes
are being used or if multiple edges of the same name occur.
(not that edge attributes are necessarily good modelling in PG in
general - some useful cases, but the "email message sent" link is an
example of bad modelling).
Its all about the details - using one with the other for a constrained
application where some compromises can be knowing made is very different
to having a complete implementation of one data model on the other.
There is a related question of whether some of the tinkerpop technology
can be used to make a Jena backend and also whether TDB technology
(index code, transaction framework) would make a good substrate for
tinkerpop storage, or even the clustered version (Lizard).
Andy
[*] http://sched.co/3ztL
"A tale of two graphs: Property Graphs and RDF"
An ApacheCon BigData talk
with Paolo Castagna.
Budapest, Monday, September 28 • 15:00 - 16:00