- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Tue, 11 Nov 2003 12:35:34 +0200
- To: ext Sandro Hawke <sandro@w3.org>
- Cc: ext Graham Klyne <GK@ninebynine.org>, <jimbobbs@hotmail.com>, <www-rdf-interest@w3.org>
On 2003-11-10 21:45, "ext Sandro Hawke" <sandro@w3.org> wrote: > >>> 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. Well....err.. if it's not in the specs, then I'm not *misunderstanding* anything. I'm simply ignorant of implicit presumptions in the minds of others. And your "(as far as I know)" qualification suggests that the minds of others are not fully transparent regarding this issue... I would also argue that if the assertions that rdf:first and rdf:rest are owl:FunctionalProperties are not made in any RDF or OWL standards document, that I can challenge any application that employs such assertions as making unfounded presumptions about the nature of RDF lists and "misbehaving". If it's not licensed by the formally defined and standards based semantics of RDF or OWL, it's non-conformant behavior. I appreciate the sensitivity to "camping on someone elses lawn" and why the OWL WG might hesitate to make such assertions, but I don't recall there being any technical problem with OWL restraining the semantics of RDF terms in such a fashion. > 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. Well, the reality is that even if rdf:first and rdf:rest are treated as owl:FunctionalProperties that still does not preclude a single rdf:List blank node from having multiple rdf:rest or rdf:first property values defined -- and even if an OWL reasoner equates the list nodes, if there are elsewhere assertions which assert inequality, such as through differentFrom assertions or class disjunction, you can still end up with contradictions in your graph, which cannot be resolved without going back to the sources of the assertions and deciding which mutually exlusive sources you want to chose, to avoid those contradictions. Oh well, time and practice will tell if RDF lists are the right way to model collections... I didn't intend, nor want to get into a long drawn out debate about RDF lists... I simply felt the need to point out that things do not appear to me to be as cut and dry as many seem to think. Patrick
Received on Tuesday, 11 November 2003 05:37:57 UTC