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

Re: Difference between cardinality=1 and FunctionalProperty?

From: Yuzhong Qu <yzqu@seu.edu.cn>
Date: Wed, 26 Mar 2003 23:04:41 +0800
Message-ID: <005901c2f3a9$0748f680$9c0b77ca@xobjects>
To: "Roger L. Costello" <costello@mitre.org>
Cc: <www-rdf-logic@w3.org>

I think they are different. 
In the second one, the property "serial" can be applied to the objects other than the gun. 

One more suggestion: The property "serial" should be a DatatypeProperty.

Yuzhong Qu

> 
> Thanks Peter.  So you are saying that if I defined the Gun class like this:
> 
>      <owl:Class rdf:ID="Gun">
>           <rdfs:subClassOf>
>                 <owl:Restriction>
>                         <owl:onProperty rdf:resource="#serial"/>
>                         <owl:maxCardinality>1</owl:maxCardinality>
>                 </owl:Restriction>
>           </rdfs:subClassOf>
>      </owl:Class>
> 
> then the two forms would be equivalent?  /Roger
> 
> 
> "Peter F. Patel-Schneider" wrote:
> 
> > 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 10:03:49 GMT

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