- From: Pierre-Antoine CHAMPIN <champin@cpe.fr>
- Date: Tue, 28 Dec 1999 09:37:41 +0100
- To: Sean Luke <seanl@cs.umd.edu>
- CC: Stefan Decker <stefan@DB.Stanford.EDU>, www-rdf-interest@w3.org
Hi Sean,
some of my views on your remarks,
Sean Luke wrote:
> Let's say that the Library of Congress's super-popular schema defined
> husbandOf(hus,wife) but not wifeOf(wife,hus). Now, in RDF Bill Clinton
> can say that he is Madonna's husband:
> <rdf:description about="Bill" s:husbandOf="Madonna" />
> ...but, amazingly, Madonna cannot say that Bill is her husband.
> <rdf:description about="Madonna" .... oops!
there is no real problem with that !
Even Madonna can write a statement like
<rdf:Descritpion about="Bill" s:husbandOf="Madonna"/>
The syntactic "subject" of a description is not bound to be the "stater" !
> SHOE's <instance> tag is roughly the equivalent of RDF's <description>
> tag.
No it isn't.
If I undesrtand your example, SHOE's instance tag refers to the "stater"of subseqent statements, not necessarily to the subject of those statements.
rdf:Description is only the subject of a statement.
> That is, every statement in SHOE is automatically considered only
> "claimed" by a clearly-defined claimant, where as everything in RDF
> appears to be automatically considered a "fact" (even if it's a reified
> statement!).
Again, no :)
Though the issue of the confidence in statements is not explicitely addressed in RDF specifications, there are two natural ways of handling it :
* for a signle statement, by reifying it
* for a complete RDF document, by expressing confidence-related meta-data about it,
using (guess what) RDF itself :)
> Not what I had meant. You don't need 1000 arguments in a relational table
> to do ordered collection classes. You only need an integer data type.
> As in Contains(x,y,1), Contains(x,foo,2), etc. And of course, you need
> n-ary relations. :-) I still think container classes are one of those
> things that RDF needed to smooth out deficiencies due to the insistance on
> a binary-relation, typeless model.
On that point I do agree with you.
Container classes are too high-level in my opinion,
an _n properties are problematic :
I encountered some problem, with a statement like
<Description aboutEachPrefix="http:" type="webPage"/>
which, in very special conditions, enumerated infinitely rdf:_n properties :(
Further more, the only Container class really used by RDF syntax is the bag,
so it might be healthily replaced by simple canonical 'rdf:contains' property.
> However, all reified binary relations can be so referenced.
> Under RDF's scheme, the pseudo-n-ary relations are not first-class
> citizens of the model. It's a hack. (The traditional hack for binary
> models. But a hack).
I would rather say that n-ary relations look more like reifications !
See a binary relation
<rdf:Description about="Bill" s:husbandOf="Madonna"/>
reified in
<rdf:Description type="Statement
subject="Bill"
object="Madonna"
predicate="husbadOf"/>
Now see a n-ary relation
<rdf:Description type="rendez-vous"
rv:him="Bill"
rv:her="Madonna"
rv:place="Madonna's house"
rv:date="12/25/99 21:00" />
You can refer them as resources by adding an rdf:ID attribute to the descriptions,
but the real problem is, IMO, that you can only state OR reify a n-ary relation
- depends on what semantic you give to the statement just above,
and consiedering it as a fact rather than a reification is not quite consistent
with binary relation syntax...
Pierre-Antoine
Received on Tuesday, 28 December 1999 04:07:59 UTC