Michael Wechner wrote:
Stefano Mazzocchi wrote:
Michael Wechner wrote:
Maybe it's something for a future verision of JSR-170 ...
What you want is called RDF :-)
I guess so ;-)
Has anyone here done anything into this direction yet, I mean RDF and JCR
interwingled somehow?
I had a brief IM with David about this a few weeks ago, but no, nothing
has been done or planned. AFAIK, I'm the only one in the JSR-170 working
group that knows anything about RDF :-)
It's fairly trivial to tranform the system view of a JCR repository into
some sort of RDF, but allowing you to define that sort of graph-like
structures will be hard. I don't know myself how that could work.
JCR is, at the end, an API for a graph repository, but it's shaped in
such a way that this graph is believed to be 'mostly a tree', in the
sense that most nodes indegree will be one (read: has one parent only)
and few will have an indegree higher than one (read: few symlinks
between nodes).
When you start making relationships between nodes, the topological
complexity of the graph grows very fast. Sure, nothing prevents you from
using JCR node linking capabilities to draw relationships between nodes,
but the problem is that these links are not named, therefore they don't
allow you to specify the 'nature' of the relationship.
In a sense, links in JCR have a fixed semantic (inclusion and relation)
while RDF is meant to allow you to name the relationships between your
stuff.
Note: just like it's possible to write an RDF model in an XML tree (see
RDF/XML), it would be possible to encode an RDF model in a JCR tree
(using special nodetypes and properties, just like RDF/XML does)
But just like RDF/XML feels ugly to the eyes of XML people, RDF/JCR
would feel ugly to the eyes of JCR people.
Would JCR allow relationships between nodes to be named, encoding RDF
statements in JCR would feel more natural.
I still can't decide if this would be a good thing or a bad thing.
--
Stefano.