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

Re: Expressing the reification of a statement in RDF/XML

From: Dan Connolly <connolly@w3.org>
Date: Thu, 06 Jul 2000 11:20:05 -0500
Message-ID: <3964B1B5.AC479269@w3.org>
To: "Ralph R. Swick" <swick@w3.org>
CC: sw99@w3.org
"Ralph R. Swick" wrote:
> 
> Expressing the reification of a statement in RDF/XML
[...]
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?

Assuming you're writing this in response to a request I made
to you a few days ago, I was most interested in your thoughts
on how quoting interacted with RDF 1.0 syntax. It's pretty
clear to me that if you feed the above to an RDF 1.0 consumer,
it'll treat Quote as a typedNode.

So while the above is a perfectly reasonable-looking syntax,
it's a new language, not RDF 1.0.

> 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}

I don't see the purpose of Clause, by the way.

> (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.

I'm not sure I can tell, from the RDF spec, what RDF 1.0 consumers
are expected to do with that.

>  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?

-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Thursday, 6 July 2000 12:20:27 GMT

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