W3C home > Mailing lists > Public > sw99@w3.org > July to September 2000

Expressing the reification of a statement in RDF/XML

From: Ralph R. Swick <swick@w3.org>
Date: Thu, 06 Jul 2000 11:49:29 -0400
Message-Id: <200007061549.LAA05324@tux.w3.org>
To: sw99@w3.org
Expressing the reification of a statement in RDF/XML

We're following the design path of expressing inference rules in RDF
by modelling the antecedents and consequent of a rule as RDF Statement
resources.  I.e. the clause "mother(a, b)" in the rule "if b is the
mother of a and gender of a is female then a is the daughter of b"
would be modeled as the set of triples

  {clause1, rdf:subject, a}
  {clause1, rdf:predicate, mother}
  {clause1, rdf:object, b}
  {clause1, rdf:type, rdf:Statement}
  {clause1, rdf:type, Clause}

(ignoring for the moment the issue of identifying variables)

The question I've been pondering is how to encode this conveniently
in RDF/XML such that we don't add the statement to the graph, just
the reification.  It would be nice to do this in a way that an
RDF 1.0 parser doesn't confuse the expression as making more
assertions than it is intended to do.

DanC suggested adding a value to rdf:parseType to mark statements
as "quoted" (i.e. reified only).  For example:

 <r:Description about="#someRule">
  <l:antecedents r:parseType="parseQuoted">
   <mother r:about="#a" r:resource="#b" />
  </l:antecedant>
 </r:Description>

The subject property is convenient to express the way I've shown
as multiple clauses may in general have different subjects.

This syntax works fine when the reified Statements are themselves
the object of other statements (as in l:antecedents above).  The
rdf:parseType attribute is defined in the grammar only in
property elements and in <li> (for collections).  So if we want
to make some "stand-alone" quoted statements we need some other
mechanism.  One way to do this is to permit parseType="parseQuoted"
on Description elements.  But it seems simpler in that case just
to use something other than Description; e.g.

 <Quote about="#someResource">
  <dc:author>Dan</dc:author>
 </Quote>

which does what <Description> does but without creating the
{#someResource, dc:author, "Dan"} triple.

Thoughts and comments?
Received on Thursday, 6 July 2000 11:49:48 GMT

This archive was generated by hypermail 2.2.0 + w3c-0.30 : Friday, 19 August 2005 11:10:28 GMT