W3C home > Mailing lists > Public > www-rdf-logic@w3.org > March 2003

Re: Difference between cardinality=1 and FunctionalProperty?

From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
Date: Wed, 26 Mar 2003 06:52:07 -0500 (EST)
Message-Id: <20030326.065207.125096487.pfps@research.bell-labs.com>
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:43 GMT