Re: reified statements in Turtle

I got an action item last week to send a reply to a CR comment asking
for statements identifiers in Turtle. I wrote up the reply below but
I'd like to check with the WG to see if my understanding of RDF/XML
is correct:

RDF/XML parsing rules like resourcePropertyElt say that a statement
*is* reified.
[[
If the rdf:ID attribute a is given, the above statement is reified
with i := uri(identifier := resolve(e, concat("#", a.string-value)))
using the reification rules in section 7.3 and e.subject := i
]] — <http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#resourcePropertyElt>
Section 7.3 says to "add the following statements to the graph".
<http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#section-Reification>
, (the entailment of which is only the reified triples).

So parsing
[[
<Foo rdf:ID="bar"><baz ID="r1">bip</baz></Foo>
]]
yields
[[
<#bar> a <Foo> ; <baz> "bip" .
<r1> a rdf:Statement ;
  rdf:subject <#bar> ;
  rdf:predicate <baz> ;
  rdf:object "bip" .
]], right?

It appears that IDs can appear on all types of propertyElt
<http://www.w3.org/2013/10/rdfxml.rnc#rnc_propertyElt> (my annocated
copy of the rnc 'cause why not have hyperlinks? feel free to add to
re-publication of RDF/XML.) and on nodeElement, where they don't have
a reification implication. So RDF/XML provides a convenient syntax to
auto-reify every arc except:

  list arcs, i.e. rdf:first, rdf:rest.
  type arcs from non-rdf:Description tags in a nodeElement.
  arcs from the bnode implied by parseType="Resource".
  arcs from the bnode implied by non-RDF attributes in a nodeElement.

(I note that parseTypeCollectionPropertyElt doesn't mention idAttr
<http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/#parseTypeCollectionPropertyElt>
so presumably the reification is on the arc to the head of the list.)


To: "Dr. A. Joseph Rockmore" <rockmore@cyladian.com>
Cc: public-rdf-comments@w3.org
Subject: Re: reified statements in Turtle
In-Reply-To: <FD3A070D-522D-4B3F-80F5-32057C58FB52@cyladian.com>
Date: ideally last month

* Dr. A. Joseph Rockmore <rockmore@cyladian.com> [2013-09-17 14:34-0700]
> i don't know if the period for comments on the turtle recommendation are closed (the w3.org web site is a bit inconsistent), but in case its not, i'd like to offer the following.
> 
> i would like to strongly suggest that the turtle recommendation include statement identifiers for reification.  in the work i am doing it is imperative to maintain provenance on all statements, and the only way i have been able to do this in turtle is via explicit reification, such as:
> 
> foo:statement1 a rdf:Statement ;
>  rdf:subject thingID1 ;
>  rdf:predicate propertyID1 ;
>  rdf:object value1 ;
>  foo:source value 2 ;
>  foo:dateAsserted value 3 ;
>  etc.
> 
> this is ugly and overly verbose.  we would like a mechanism like in RDF/XML that supports expressing the statementID explicitly so that reified statements can be made about the statement, without having to express the statements regarding the subject, predicate, and object separately.
> 
> thank you for considering this addition.

Dear Joe,

Thank you for your comment. I'm sorry to say that for the reasons
below, the RDF WG has decided not to develop a shorthand syntax for
reified statements in Turtle:

  There are no existing proposals. The Turtle REC will reflect current
  practice in existing Turtle parsers/serializers, except where the
  language is evolving to towards compatibility with SPARQL.

  The community is mostly using named graphs to address the use cases
  for which reification was intended.

  The RDF WG is almost at the end of its charter. Any changes at all
  would make if difficult to publish a Recommendation before the WG
  closes. A re-design of the language to enable reification would
  likely take a long time.

-- 
-ericP, on behalf of the RDF Working Group


office: +1.617.599.3509
mobile: +33.6.80.80.35.59

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

There are subtle nuances encoded in font variation and clever layout
which can only be seen by printing this message on high-clay paper.

Received on Tuesday, 15 October 2013 12:32:17 UTC