Re: What is the most common type of collection or container?

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