On 17 May 2007, at 05:13, Chris Mungall wrote:
[snip]
I've never understood why RDF-reification is so loathed. So the
syntax is ugly - but I think there may be other reasons RDF/XML
hasn't won any beauty contests.
They are fairly ugly at the model level as well. And there are
problems with nesting, see:
http://cs-www.cs.yale.edu/homes/ddj/papers/ISWC02.pdf
RDF reification was sort of intended to handle both syntactic and
semantic extension (i.e., quoting), but never specified which and
didn't really consider lots of situations. (For example, it's not a
syntactic error to be missing a predicate triple in a
reification....what does this mean? Some systems, I believe, treat
the presence of a reified triple as implying the asserted triple, but
not everyone. RDF/XML has special syntax for asserted+reifiction, but
not reification alone.)
The lack of semantics seem fine to me (although more could be done
to clear up some misunderstandings in the documentation) - all I
want is a way to attach provenance to a statement.
This lack of semantics is the main issue, IMHO.
The only support I'd want would be some behind-the-scenes
optimising away of the fact I have 4n triples when a single 3-ary
predicate would do (but hey, again, as it's RDF anyway, I need at
least 4 triples for each type-level statement).
Jena, to my recent surprise, does this. You can even get some syntax
joy by using an id on the property element so long as you are ok with
the triple *also* being asserted.
Though support in other syntaxes like SPARQL would be nice, and
presumably easy to layer on, perhaps in some intermediate
representation.
I think it would be a good and wise thing at this juncture to step
back and consider viable alternatives that are well designed for one'
problem space. I think it's still possible to make a switch, but
every project that falls back on reification because it's "standard"
enshrines it a bit more.
Cheers,
Bijan.