- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 26 Mar 2003 06:52:07 -0500 (EST)
- To: costello@mitre.org
- Cc: www-rdf-logic@w3.org
From: "Roger L. Costello" <costello@mitre.org> Subject: Difference between cardinality=1 and FunctionalProperty? Date: Wed, 26 Mar 2003 06:39:07 -0500 > > Hi Folks, > > Aren't the below two forms essentially stating the same thing: > > <owl:Class rdf:ID="Gun"> > <rdfs:subClassOf> > <owl:Restriction> > <owl:onProperty rdf:resource="#serial"/> > <owl:cardinality>1</owl:cardinality> > </owl:Restriction> > </rdfs:subClassOf> > </owl:Class> > > <owl:ObjectProperty rdf:ID="serial"> > <rdfs:domain rdf:resource="#Gun"/> > <rdfs:range rdf:resource="&rdfs;#Literal"/> > </owl:ObjectProperty> > > VERSUS > > <owl:Class rdf:ID="Gun"/> > > <owl:FunctionalProperty rdf:ID="serial"> > <rdfs:domain rdf:resource="Gun" /> > <rdfs:range rdf:resource="&rdfs;#Literal"/> > </owl:FunctionalProperty> > > Both forms state that an instance of Gun must have exactly one value for > the serial property; e.g., > > <Gun rdf:ID="SmithWesson"> > <serial>ABCD</serial> > </Gun> > > Correct? /Roger > Not correct. Functional properties are only partial functional. Making functional properties be total functional would cause extreme problems. However, replacing cardinality with maxCardinality above would do the trick. Peter F. Patel-Schneider Bell Labs Research Lucent Technologies PS: It would be better to make the range of serial be xsd:string.
Received on Wednesday, 26 March 2003 06:52:16 UTC