Re: Proposed extensions to OWL?

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