- From: Francesco Cannistrà <fracan@inwind.it>
- Date: Tue, 17 Jun 2003 14:46:08 +0200
- To: "Monika Solanki" <monika@dmu.ac.uk>, <www-rdf-interest@w3.org>
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