- 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