W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > October 2001

Re: use case challenge (was: Re: Issue rdfms-not-id-and-resource-attr)

From: Pat Hayes <phayes@ai.uwf.edu>
Date: Tue, 23 Oct 2001 20:23:56 -0500
Message-Id: <p0510104bb7fbc5066847@[]>
To: Sergey Melnik <melnik@db.stanford.edu>
Cc: w3c-rdfcore-wg@w3.org
>Pat Hayes wrote:
>>  [..]
>>  I would appreciate any remarks from anyone on what the intended uses
>>  of reification were. What would it be to 'use reification
>>  effectively' ? Use it for what? Part of my problem with reification
>>  has always been that I am unable to see a single effective use for in
>>  it RDF; every suggested use I have seen has seemed to involve a
>>  logical or conceptual error of some kind.
>>  Pat
>Here is a challenge ;) What is an adequate way of representing
>aggregation and order in RDF?

OK, though I reserve the right to conclude that there isn't one. :-)

>Aggregation: I want to be able to identify a set of statements as
>"belonging together", e.g. describing a certain self-contained thing.
>For example, consider several sets of statements gathered from different
>RDF/XML pages. How do I "mark" the statements within a single graph?

Well, if you want to identify a set of *statements* then indeed you 
need some way to refer to statements, which I guess could be called 
'reification'. But you just need a way to *refer* to the statements, 
not to *describe* them.  With RDF reification you have the ability to 
describe the subject, object and property of each triple in the set 
of statements you wish to describe. That doesn't help you do such 
aggregation. On the other hand, you do need a way to identify the 
particular statements that are also being asserted. What part of the 
RDF reification machinery establishes a connection between an 
asserted triple and the entity which is called its reification? Note, 
it is not sufficient simply to *describe* the triples in a reified 
language. That only establishes that some such triple exists; it does 
not establish that the particular triple in your set is the one being 

>Order: I want to establish an order between the authors of a book:
>isbn001 dc:creator author1
>isbn001 dc:creator author2
>How to add ordering without destroying the semantics of dc:creator? You
>won't tell me that the solution is to use a container like rdf:Bag,
>right? ;)

This example actually illustrates one of the fundamental problems 
with RDF, ie its limitation to binary relations. The ordering of two 
authors of a book is a nice example of an essentially three-way 
relation that is not reducible to a simple conjunction of binaries. 
There is of course a uniform reduction to the binary case that is 
available in RDF, but that wouldn't use the relation dc:creator 
between book and author, but would have to 'split' that meaning 
between two auxiliary relations. So by insisting on the use of 
dc:creator you have neatly provided an example that cannot in fact be 
represented in RDF without some kind of hackery.

I would use rdf:Seq, myself; but I will also claim that reification 
does not provide ANY way to do this ordering. How could it? 
Reification isn't about authors or books, it is about triples. The 
ordering of triples says nothing about any kind of ordering of the 
things named by the terms used in the triples.

IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
Received on Tuesday, 23 October 2001 21:24:00 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:24:05 UTC