- From: Sandro Hawke <sandro@w3.org>
- Date: Mon, 10 Nov 2003 14:45:51 -0500
- To: Patrick Stickler <patrick.stickler@nokia.com>
- Cc: ext Graham Klyne <GK@ninebynine.org>, jimbobbs@hotmail.com, www-rdf-interest@w3.org
> > I tend to use the collection syntax, because they're "closed" > > This is actually a claim that has been bugging me for some time. From what > I can see, unless you manage the source of every statement, such that you > can differentiate between one assertion and another based on their source > (and thereby, authority, trustworthiness, etc.), the best you can do is > identify a conflict in the definition of a collection, but you'd not be able > to resolve it. You'd e.g. have multiple assertions for rdf:first or rdf:next > and even though you know they can't all be right, you wouldn't know *which* > was right. > > RDF Lists aren't really "closed" (i.e. immutable). I think you're misunderstanding the intended semantics of lists, which are that rdf:first and rdf:rest are owl:FunctionalProperties. That means if two different true sources say the third item in a list is <a> and <b> respectively, you can conclude that <a> owl:sameAs <b>. Unfortunately, its not stated anywhere in the specs that rdf:first and rdf:rest *are* owl:FunctionalProperties (as far as I know) -- I think it kind of fell through the layering cracks between RDF Core and WebOnt. (RDF Core didnt want to get into talking about things like FunctionalProperty, and WebOnt didn't want to be redefining RDF Core's terms [much].) But I fully expect systems to assume it. I also expect systems to assume that two things with the same rdf:first and rdf:rest as each other are the same thing. (I don't know how to express this fact in OWL, or if it's possible.) From a programming perspective, this makes RDF Lists like interned constants lists, not like arrays or mutable lists. -- sandro
Received on Monday, 10 November 2003 14:46:20 UTC