Re: Expressing mathematical relationships in an ontology?

If you do not consider P1 and P2 as properties but as functions and
distinguish functions from functions' values, then you could use my ontology
as follows:

<P-Domain  rdf:about="#Y">
    <isFunctionValueOf>
          <Function rdf:about="Sum">
                <argument>
                     <P-Domain  rdf:about="#P1"/>
                </argument>
                <argument>
                     <P-Domain  rdf:about="#P2"/>
                </argument>
          </Function>
    </isFunctionValueOf>
</P-Domain>

and you could define #P2 as the value of a single argument function (e.g.
"ChangeSign").
Your ontology would be:

<owl:Class rdf:ID="SumFunctionClass">
    <owl:IntersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#Function"/>
            <owl:Restriction>
                  <owl:onProperty rdf:resource="#argument"/>
                  <owl:allValuesFrom rdf:resource="#P-Domain"/>
                  <owl:cardinality
rdf:datatype="&xsd;nonNegativeInteger">2</owl:cardinality>
            </owl:Restriction>
    </owl:IntersectionOf >
</owl:Class>

<MyFunctionClass rdf:ID="Sum"/>

<owl:Class rdf:ID="P-Domain">
    <owl:IntersectionOf rdf:parseType="Collection">
            <owl:Class rdf:about="#FunctionData "/>
            <owl:Restriction>
                  <owl:onProperty rdf:resource="#value"/>
                  <owl:allValuesFrom rdf:resource="#P-Datatype"/>
            </owl:Restriction>
    </owl:IntersectionOf >
</owl:Class>




----- Original Message -----
From: Monika Solanki
To: www-rdf-interest@w3.org
Cc: Francesco Cannistrà
Sent: Tuesday, June 17, 2003 2:34 PM
Subject: 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:Datatyp
eProperty><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:cardinalityrdf: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 al
so specialize the argument property so that no anyconfusion can arise with
the order of arguments when these are of the sametype.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
web: http://www.cse.dmu.ac.uk/~monika/
>**<>**<>**<>**<>**<>**<>**<>**<>**<>**<
"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:46:40 UTC