- From: Yuzhong Qu <yzqu@seu.edu.cn>
- Date: Wed, 17 Sep 2003 09:53:31 +0800
- To: "Benja Fallenstein" <b.fallenstein@gmx.de>
- Cc: "RDF-Interest" <www-rdf-interest@w3.org>
See below.
>
> Garret Wilson wrote:
> >
> >
> > Dan Brickley wrote:
> >
> >> * Art.Barstow@nokia.com <Art.Barstow@nokia.com> [2003-09-15 11:49-0400]
> >>
> >>> Do the latest RDF specs define a way to do enumeration
> >>> (e.g. a Bag may contain only 4 strings)? If so, please
> >>> send me the pointer.
> >>
> >>
> >>
> >> http://www.w3.org/TR/rdf-schema/#ch_collectionvocab
> >> The rdf:List collections mechanism allows the members of a list to be
> >> enumeated in a way that makes it clear the whole list has been
> >> represented.
> >
> >
> > But as one can always add an infinite number of rdf:first properties to
> > any rdf:List resource (see your citation about), does this really help
> > ensure that nothing more is added to a list---or even, as you put it,
> > "makes it clear the whole list has been represented?"
>
> While the RDF semantics do not define this (because they don't deal in
> cardinalities), it is sensible to interpret rdf:first and rdf:rest to
> have a cardinality of one. (I don't know whether OWL actually specifies
> this.)
Good idea!
We can define owl:List, owl:first and owl:rest such that:
owl:List rdfs:subClassOf rdf:List
owl:first rdfs:subPropertyOf rdf:first
owl:rest rdfs:subPropertyOf rdf:rest
owl:first rdfs:domain owl:List
owl:rest rdfs:domain owl:List
(The cardinality constraints can be represented as follows:)
<owl:Class rdf:about="&owl;List">
<rdfs:comment>....</rdfs:comment>
<owl:subClassOf rdf:resource="&rdf;List" />
<rdfs:subClassOf>
<owl:Restriction owl:maxCardinality="1">
<owl:onProperty rdf:resource="&owl;first" />
</owl:Restriction>
</rdfs:subClassOf>
<rdfs:subClassOf>
<owl:Restriction owl:maxCardinality="1">
<owl:onProperty rdf:resource="&owl;rest" />
</owl:Restriction>
</rdfs:subClassOf>
</owl:Class>
Any missing?
Yuzhong Qu
> If you assume this, then given two triples,
>
> foo:xxx rdf:first foo:abc
> foo:xxx rdf:first foo:def
>
> you can conclude that foo:abc and foo:def are the same thing, because a
> list can have only one first element.
>
> If you *know* that foo:abc and foo:def aren't the same (e.g. through
> owl:differentIndividualFrom, or what it was), then you have arrived at a
> contradiction.
>
> I.e., with rdf:List, you know that there cannot be additional rdf:first
> or rdf:rest triples "somewhere out there" that change the elements of
> the list. If there are additional rdf:first triples, then either there
> are two different nodes for the same resource, or someone has stated a
> contradiction.
>
> Cheers,
> - Benja
>
>
>
Received on Tuesday, 16 September 2003 21:54:30 UTC