A perfect brother [WAS: Defining cross products in OWL-1.1]

[Also cc'ed to Tim Swanson, Ian Horrocks and Evren Sirin, because this mail
can be regarded as a follow up to the thread "Inferring Properties based on
Types"]

Hi again, Ulrike!

>-----Original Message-----
>From: public-owl-dev-request@w3.org 
>[mailto:public-owl-dev-request@w3.org] On Behalf Of Ulrike Sattler
>Sent: Friday, October 12, 2007 3:00 PM
>To: Owl Dev
>Subject: Re: Defining cross products in OWL-1.1
>
>
>On 12 Oct 2007, at 12:14, Michael Schneider wrote:
>
>
>
>	[CC'ed Peter Patel-Schneider, because I cite him in this mail] 
>
>	Hi list!
>
>	I have started to stroll around a little through the 
>OWL-1.1 issues list
>	this week, and I found this interesting one (issue 30) 
>yesterday evening:
>
>	  "Need a role descrption based on the "cross product" 
>of two concepts"
>	  http://code.google.com/p/owl1-1/issues/detail?id=30
>
>	  (Sorry, I cannot find out who the original author 
>"kashyap.vipul" was.)
>
>	After reading this I was not really sure if this issue 
>is about specifying
>	cross products in general, or just about realizing a 
>specific scenario, with
>	or without the use of a cross product. But IMHO it /is/ 
>certainly a
>	noteworthy question if cross products can be specified 
>in OWL or not. 

After reconsidering both the original discussion in the issues list and your
last mail, I am now pretty convinced that the focus of this discussion was
*not* the question of defining cross products A X B. It seems that I was
misled by the subject of this issue entry, so I misunderstood the real
issue. In this case, finding out that cross products can be specified in
OWL-1.1 is, of course, not the interesting part anymore. :-/ 

Never mind, because I claim that even the real issue is solvable in OWL-1.1!

Ulrike Sattler wrote: 

>Peter Patel-Schneider wrote:
>
>	  "You are asking for the ability to define roles.
>
>	  A similar definition would be
>	     brother = sibling INTERSECTION range(Male)
>	  using range(x) as a shorthand for crossProduct(owl:Thing,x)
>
>this is a confusing shorthand:

If we forget about the "confusing shorthand" (this problem has been resolved
now, I believe), the core question here seems to be: Can the 'brother' role
be /fully/ defined in OWL to be a 'Male' 'sibling'? This question can be
restated into the following task: Find a set of OWL-1.1 axioms which is
equivalent to the two statements

    (1) FORALL x,y: brother(x,y) ==> sibling(x,y) AND Male(y)
    (2) FORALL x,y: sibling(x,y) AND Male(y) ==> brother(x,y)

Ok, (1) is easy to translate:

    (A1) SubObjectPropertyOf(brother sibling)
    (A2) ObjectPropertyRange(brother Male)

Because given a tuple (a,b) for which brother(a,b) is true. From (A1) we
receive that sibling(a,b) is true. AND from (A2) we receive that Male(b) is
also true, because:

Ulrike Sattler wrote:

>- if a property p has range X, say Male, then, whenever we 
>find a tuple (a,b) in p, we know that b must be an instance of 
>X. Eg, whenever a has a brother b, then b must be Male. 

Now to (2). I have already shown previously that a translation for this is
possible:

 
<http://lists.w3.org/Archives/Public/public-owl-dev/2007JulSep/0212.html>

And by applying Ian Horrock's simplified version of such a translation, as
given in 

 
<http://lists.w3.org/Archives/Public/public-owl-dev/2007OctDec/0065.html>

we can translate (1) and (2) into the following set of OWL-1.1 axioms:

    (A1) SubObjectPropertyOf(brother sibling)
    (A2) ObjectPropertyRange(brother Male)
    (A3) SubClassOf(Male ObjectSomeValuesFrom(_r owl:Thing))
    (A4) SubObjectPropertyOf(
           SubObjectPropertyChain(sibling _r InverseObjectProperty(_r)) 
           brother)

where '_r' has to be some "fresh" role symbol, which isn't used anywhere
else in the surrounding ontology (such is always available).

The only thing to check is if these four axioms are allowed regarding the
"nonstructural restrictions" chapter in the OWL-1.1 draft:

    <http://www.webont.org/owl/1.1/owl_specification.html#7>

The role 'brother' is a "non-complex" role, because it is the super role of
the sub property chain in (A4), so it is not allowed to occur in certain
kinds of axioms. But 'brother' only occurs in an additional 'range' axiom
and a sub property axiom, so there seems to be no danger here.

>	  This expands expressive power (I'm pretty sure).  
>	  I don't know whether there is a reasoning algorithm 
>	  for this construct."
>
>no, there isn't. 

Well, there actually /is/, because by giving a translation into a set of
OWL-1.1 axioms, any OWL-1.1 reasoner will do the job. Maybe you meant that
there is no reasoning algorithm for /intersections/ of roles. But this isn't
really needed here, because it is possible to encode the whole thing without
using any kind of complex role operators, except sub property chains.

So it turns out that the 'brother' relationship is even /exactly/ definable
in OWL-1.1.

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 Monday, 15 October 2007 08:19:51 UTC