Re: Expressing mathematical relationships in an ontology?

I have been using OWL in this way  for all my work related to 
Ontologies. However one point where I got stuck up was when a class has 
two properties P1 and P2 and P2 = P1-1. I did not really know how to 
represent this with the OWL constructs available. Although for my 
purpose now, I am using a very crude form, however I would be interested 
in more expressive representative

Cheers

Monika

Francesco Cannistrà wrote:

>I think that OWL can be leveraged to express mathematical functions as well.
>Consider the folowing example [that tries to assert: Y=MyFunction(X1,X2)]
>
><FunctionData rdf:about="#Y">
>    <isFunctionValueOf>
>          <Function rdf:about="MyFunction">
>                <argument>
>                     <FunctionData  rdf:about="#X1">
>                         <value>x1</value>
>                </argument>
>                <argument>
>                     <FunctionData  rdf:about="#X2">
>                         <value>x2</value>
>                </argument>
>          </Function>
>    </isFunctionValueOf>
></FunctionData>
>
>The ontology is the following:
>
><owl:Class rdf:ID="FunctionData " />
>
><owl:DatatypeProperty rdf:ID="value">
>   <rdfs:domain rdf:resource="#FunctionData "/>
></owl:DatatypeProperty>
>
><owl:Class rdf:ID="Function"/>
>
><owl:ObjectProperty rdf:ID="isFunctionValueOf">
>   <rdfs:domain rdf:resource="#FunctionData" />
>   <rdfs:range rdf:resource="#Function" />
></owl:ObjectProperty>
>
><owl:ObjectProperty rdf:ID="argument">
>   <rdfs:domain rdf:resource="#Function" />
>   <rdfs:range rdf:resource="#FunctionData " />
></owl:ObjectProperty>
>
><owl:Class rdf:ID="MyFunctionClass">
>    <owl:IntersectionOf rdf:parseType="Collection">
>          <owl:Class rdf:about="#Function"/>
>            <owl:Restriction>
>                  <owl:onProperty rdf:resource="#argument"/>
>                  <owl:allValuesFrom rdf:resource="#X-Domain"/>
>                  <owl:cardinality
>rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>
>            </owl:Restriction>
>    </owl:IntersectionOf >
></owl:Class>
>
><MyFunctionClass rdf:ID="MyFunction"/>
>
><owl:Class rdf:ID="X-Domain">
>    <owl:IntersectionOf rdf:parseType="Collection">
>            <owl:Class rdf:about="#FunctionData "/>
>            <owl:Restriction>
>                  <owl:onProperty rdf:resource="#value"/>
>                  <owl:allValuesFrom rdf:resource="#X-Datatype"/>
>            </owl:Restriction>
>    </owl:IntersectionOf >
></owl:Class>
>
><owl:Class rdf:ID="Y-Domain">
>    <owl:IntersectionOf rdf:parseType="Collection">
>            <owl:Class rdf:about="#FunctionData "/>
>            <owl:Restriction>
>                  <owl:onProperty rdf:resource="#value"/>
>                  <owl:allValuesFrom rdf:resource="#Y-Datatype"/>
>            </owl:Restriction>
>    </owl:IntersectionOf >
></owl:Class>
>
>Note that you can also specialize the argument property so that no any
>confusion can arise with the order of arguments when these are of the same
>type.
>
>Francesco
>

-- 
 >**<>**<>**<>**<>**<>**<>**<>**<>**<>**<
Monika Solanki
De Montfort University
Software Technology Research Laboratory
Hawthorn building, H00.18
The Gateway.
Leicester LE1 9BH, UK

phone: +44 (0)116 250 6170 intern: 6170
email: monika@dmu.ac.uk <mailto:monika@dmu.ac.uk>
web: http://www.cse.dmu.ac.uk/~monika/ 
<http://www.cse.dmu.ac.uk/%7Emonika/>
 >**<>**<>**<>**<>**<>**<>**<>**<>**<>**<
"NOTE: The information transmitted is intended only for the person or 
entity to which it is addressed and may contain confidential and/or 
privileged material. Any review, retransmission, dissemination or other 
use of, or taking of any action in reliance upon this information by 
persons or entities other than the intended recipient is prohibited. If 
you received this in error, please contact the sender and delete the 
material from any computer"

Received on Tuesday, 17 June 2003 08:29:01 UTC