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 12:10:54 -0500 (EST)
Message-Id: <20030326.121054.50022780.pfps@research.bell-labs.com>
To: yzqu@seu.edu.cn
Cc: costello@mitre.org, www-rdf-logic@w3.org

Both versions have the same domain for serial, so there is no difference
here.

I agree that serial needs to be a DatatypeProperty.

peter


From: "Yuzhong Qu" <yzqu@seu.edu.cn>
Subject: Re: Difference between cardinality=1 and FunctionalProperty?
Date: Wed, 26 Mar 2003 23:04:41 +0800

> 
> 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 12:11:10 GMT

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