RE: Inferring Properties based on Types

Hi, Tim!

>-----Original Message-----
>From: public-owl-dev-request@w3.org 
>[mailto:public-owl-dev-request@w3.org] On Behalf Of Swanson, Tim
>Sent: Saturday, September 15, 2007 12:18 AM
>To: public-owl-dev@w3.org
>Subject: Inferring Properties based on Types
>
>
>Is there any way in OWL (or in any of the proposed extensions) to
>express an inference rule like the following:
>
>(?x :P ?y)
>:A(?y)
>=>
>(?x :R ?y)
>
>
>For a more concrete example:
>
>(?x :hasSibling ?y)
>:Male(?y)
>=>
>(?x :hasBrother ?y)

I think, you can at least do the following:

First, use the inverses of the roles 'hasSibling(.,.)' and
'hasBrother(.,.)', called 'isSiblingOf(.,.)' and isBrotherOf(.,.)',
respectively. 

With this, the following rule is equivalent to yours:

 (1) isSiblingOf(y,x), Man(y) => isBrotherOf(y,x)

This can be transformed into:

 (2) y IN {z|isSiblingOf(z,x)} AND Man(y) => y IN {z|isBrotherOf(z,x)}  

And this translates (and generalizes) into the following OWL/DL (1.0) axiom:

 (3) SubClassOf(
        intersectionOf(
            restriction( isSiblingOf value(x) )  
            Class(Man)
        )  
        Restriction( isBrotherOf value(x) )
     )

Problem with this approach: You need one such axiom for each individual x
(the variable 'x' appears free in (2)).

Cheers,
Michael


--
Dipl.-Inform. Michael Schneider
FZI Forschungszentrum Informatik Karlsruhe
Abtl. Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: Michael.Schneider@fzi.de
Web  : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555

FZI Forschungszentrum Informatik an der Universität Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des bürgerlichen Rechts
Az: 14-0563.1 Regierungspräsidium Karlsruhe
Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus

Received on Saturday, 15 September 2007 22:18:17 UTC