Re: [jena-dev] Re: Use cases for Reification in RDF Triplestores

Well, I'm taking an earlier suggestion by Dave Reynolds and
posting to rdf-comments as well as rdf-interest (but not to Jena
since this isn't a Jena issue at this point).

At 10:28 AM 1/9/2003 -0800, Seth Russell wrote:
>Yes, the WG has decided, nodes of rdf:type rdf:Statement *are* statings, I 
>think you guys should accept that and move on.

I apologize for my ignorance on WG decisions; I missed this particular 
one.  I would appreciate someone mailing me a pointer to the published 
decision.

What Seth's comment above says is that the RDF provides for a means for 
referring to
statings, but does not provide a means for refering to statements.  This is
an unfortunate blunder on the part of the WG, since between the two, its more
common to want to say things about statements than about statings.  However,
allowing for both would have been much preferable than excluding statements 
about
statements.

>Of course if you want to discuss a node that represents a Platonic triple, 
>then there is nothing preventing you from describing such a thing as ( 
>_:tHASHofTRIPLE, rdf:type, jena:Triple ).   But I really don't know any 
>practical case where we would want to say something about a 
>jena:Triple.   Do you?

While underneath (at the implementation level)
there are many kinds of reasons for saying something about a Jena:Triple, 
Seth may
be right in that we don't want to say anything about it at the RDF 
level.  However, many
of us DO want to be able to refer to a "Statement" at the RDF level.  In 
this case, its
convenient to let the Java statement instance denote the "mathematical" 
statement
(that's what the Jena shortcut does), which is the thing we want to be able 
to reference.

Summarizing:

(1) Statements and statings are not the same thing.

(2) If you want to explicitly refer to a stating in RDF, use a reified 
statement (apologies
for the bastardization of the phrase 'reified statement' to refer to 
something else).

(3) If you want to explicity refer to a statement in RDF (which many KR systems
do on a routine basis), you are out of luck.

(4) Seth says "just move on".  The WB has blundered (my opinion but not 
his) and
there is nothing we can do but accept it (his opinion but not mine).  Since 
the Jena
folks are committed to compliance with RDF, I guess that's what they must do.

(5) Faced with a choice of compliance with RDF or building a robust capability
for reasoning about statements, I will personally choose the latter.  This is
unfortunate, since it means that our tools will not be RDF-compliant.

(6) Jena and other RDF-compliant triple stores will likely not give us direct
support for reasoning about statements in the future.  That means that we will
have to work harder to get the preferred semantics from a triple store, and
will have to work harder to achieve good performance.

(7) The more advanced KR systems routinely nest statements within statements
(e.g., for expression disjunction, rules, beliefs, etc).  Among other 
things, this
ability to nest frequently eliminates the need to reify a statement -- a 
good thing,
since reified statements (in the true sense of the phrase, not the RDF sense)
are inherently clumsy, and should be avoided when possible.
The WG group's decision appears to have legislated out this possibility for 
RDF,
thus widening the gap between what RDF provides and what a KR system needs.

Cheers, Bob

Received on Thursday, 9 January 2003 16:48:39 UTC