- From: Roger L. Costello <costello@mitre.org>
- Date: Sun, 15 Jun 2003 07:24:24 -0400
- To: Monika Solanki <monika@dmu.ac.uk>, www-rdf-interest@w3.org
- CC: robin.berjon@expway.fr, "Costello,Roger L." <costello@mitre.org>
Monika Solanki wrote: > > Hi Roger, > > I am facing a similar problem to yours. I have a class A, which has > two properties P1 and P2. I want to state that P2= P1-1. Incidentally > I could not find anyways in OWL to express this. Is there some > cnstruct in OWL to state this? The problem you state is identical to the problem that I am raising. Hopefully with some discussion we can come to a good solution. /Roger > > Roger L. Costello wrote: > > > Hi Folks, > > Yesterday I sent out a message asking about technologies to express > > mathematical relationships. Robin Berjon responded with a very > > interesting idea. I would like to get your thoughts on it, and see > > if > > collectively we can come up with something cool. > > First I will show you a slightly modified version of Robin's > > proposal, > > then I will show Robin's original proposal. > > Robin's Idea Slightly Modified > > The idea is to extend OWL and base the solution on xPath. > > Suppose that I would like to state that these two properties are > > equivalent via a conversion factor: > > length-in, length-cm > > i.e., length in inches, and length in centimeters > > The conversion factor is: > > length-in = length-cm / 2.54 > > length-cm = length-in * 2.54 > > With today's OWL here is how you would define these properties: > > <owl:DatatypeProperty rdf:ID="length-in"> > > <rdfs:range rdf: > > resourse="&xsd;decimal"/> > > </owl:DatatypeProperty> > > <owl:DatatypeProperty rdf:ID="length-cm"> > > <rdfs:range rdf:resourse="&xsd;decimal"/> > > </owl:DatatypeProperty> > > The proposal is to extend OWL to allow you to assert that these two > > properties are equivalent by the above conversion factor. Here's > > how it > > might look: > > <owl:DatatypeProperty rdf:ID="length-in"> > > <owl:equivalentProperty rdf:resource="#length-cm" > > owl-x:conversionFactor="current() * 2.54"/> > > <rdfs:range rdf:resourse="&xsd;decimal"/> > > </owl:DatatypeProperty> > > <owl:DatatypeProperty rdf:ID="length-cm"> > > <owl:equivalentProperty rdf:resource="#length-in" > > owl-x:conversionFactor="current() / 2.54"/> > > <rdfs:range rdf:resourse="&xsd;decimal"/> > > </owl:DatatypeProperty> > > where: > > > > owl-x is an OWL eXtension namespace, > > current() is the xPath function referring to the current node. > > Now let me show you Robin's idea: > > Robin's idea is also to base the solution on xPath. Here's what > > Robin > > said: > > "For instance: > > <foo:PropertyEquivalence from='measure:inch' > > to='measure:cm' > > convert='$in_1 * 2.54'/> > > <foo:PropertyEquivalence from='measure:cm' > > to='measure:in' > > convert='$in_1 div 2.54'/> > > would allow you to declare that the following are equivalent: > > <geo:Distance> > > <measure:inch>2</measure:inch> > > </geo:Distance> > > <geo:Distance> > > <measure:cm>5.08</measure:cm> > > </geo:Distance> > > You could allow for multiple inputs to your binding: > > <foo:PropertyEquivalence > > from='size:width/measure:meter< > > br>size:length/measure:meter' > > to='size:surface/measure:squareMeter' > > convert='$in_1 * $in_2'/> > > and perhaps equivalentize, depending on whether it makes sense in > > that > > context: > > <flat:Bedroom> > > <size:width><measure:meter>4</measure:meter></size:width> > > <size:length><measure:meter>5</measure:meter></size:length> > > </flat:Bedroom> > > <flat:Bedroom> > > <size:surface> > > <measure:squareMeter>20</measure:squareMeter> > > </size:surface> > > </flat:Bedroom> > > so that given the first you could still query for flat:Bedrooms that > > are larger than 20sqm. > > You may need to throw in stuff from EXSLT Math if you want more than > > XPath provides." > > .... > > Okay, those are the two ideas thus far. What do you think? Feel > > free > > to add your own ideas. If this whole approach is bad, feel free > > to say > > so. The intent here is to brainstorm. If these conversion rules are > > better stated using another technology (e.g., RuleML) please say so. > > /Roger > > > > -- > >**<>**<>**<>**<>**<>**<>**<>**<>**<>**< > 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 Sunday, 15 June 2003 07:26:05 UTC