RE: How to put "universal" restrictions to members of two classes?

Hi Yoshio!

>-----Original Message-----
>From: Yoshio FUKUSHIGE [mailto:paatje@cam.hi-ho.ne.jp]
>Sent: Wednesday, September 01, 2010 4:33 PM
>To: Michael Schneider; public-owl-dev@w3.org
>Subject: Re: How to put "universal" restrictions to members of two
>classes?
>
>
> Thanks Michael,
>
>(2010/08/31 19:51), Michael Schneider wrote:
>> Hi Yoshio!
>>
>> Your example below is, in the given form, only valid in OWL 2 Full
>[1]. But
>> you don't need a complete OWL 2 Full reasoner for making it work. Any
>> reasoner implementing the OWL 2 RL/RDF rules [2] will give you the
>result
>> you expect (the OWL 2 RL/RDF rules define a sub-semantics of the
>semantics
>> of OWL 2 Full).
>>
>Oh, I almost forgot OWL 2 Full, 

Many do, no worries! :)

>for I've been trying to use only OWL2 DL
>with Pellet.
>
>And I was kind of surprised to see my initial statements are valid (in
>OWL 2 Full),
>for I almost got the idea that property chain only allows
>ObjectProperties as its
>constructing blocks, which was wrong, right?

No, it was correct that sub property chain axioms only take object
properties. It is just that in OWL (2) Full all (RDF) properties happen to
be object properties. Even "rdf:type", as you use it in the property chain
axiom of your proposed solution, is an object property in OWL Full. 

In OWL DL, however, rdf:type is not an object property. Rather, if being
used in the "normal" way, e.g. in a triple of the form "ex:w rdf:type ex:c",
then it is just some fraction of the RDF encoding of the OWL 2 construct for
class assertions without any own semantic meaning. You will not even find it
being mentioned in the corresponding construct of the OWL 2 Structural
Specification (the OWL 2 syntax). 

Of course, you can still use the term "rdf:type" in property chain axioms
directly in the OWL 2 syntax, and the OWL 2 Direct Semantics will even
interpret it, since the OWL 2 Direct Semantics allows for interpreting the
whole OWL 2 syntax, not only the particular fraction called "OWL 2 DL" (that
is, the OWL 2 syntax with the OWL 2 DL constraints being applied; see the
beginning of Chap. 3 of the OWL 2 Structural Specification). But this will
still not give you the expected reasoning result, since that "rdf:type"
property is then only some ordinary object property without any connection
to class assertion axioms.
 
>> For example, you can use Ivan Herman's OWL 2 RL reasoner for checking,
>which
>> is available as an online service at [3]. For your convenience, here
>is your
>> complete example in a form that can be directly be inserted into
>Ivan's
>> reasoner. Press "Go" and check for the expected triple
>>
>>   my:MyRecorder my:recordableTo my:MyDisc .
>>
>> in the result set.
>>
>I tested the coding with Ivan's OWL 2 RL reasoner and the triple above
>was
>in the result set.
>
>But does that mean my statements were valid in OWL2 RL??

If by "valid in OWL 2 RL" you mean that it was a valid OWL 2 RL ontology,
then the answer is no. The OWL 2 RL (syntactic!) profile is a sub-syntax of
the OWL 2 DL syntax. Hence, since your input has not been a valid OWL 2 DL
ontology, it cannot be a valid OWL 2 RL ontology.

That you can apply the OWL 2 RL/RDF rules does not mean that you are
restricted to the OWL 2 RL syntax. The OWL 2 RL/RDF rules define a semantics
(defined by the set of first-order logic axioms the rule set consists of)
and can formally be applied to arbitrary RDF, even to "generalized" RDF
(e.g. allowing for literals in subject position).

Of course, you /may/ restrict the rules' use to the OWL 2 RL syntax, if you
like or have to, or to any other fragment of RDF. That's not different from
any other semantics. For example, as said above, the OWL 2 Direct Semantics
is also not restricted to the OWL 2 DL fragment, although one usually uses
it in connection with the OWL 2 DL constraints applied to the OWL 2 Syntax,
or with the even more restricted OWL 2 RL syntactic profile.

>Given that I'm now using Joseki + Pellet to process SPARQL queries with
>dataset with an ontology,
>what is your suggestion. please?
>
>Using some OWL 2 Full/RL? reasoner which can be used with Joseki (then
>what are my options?)
>or remaining in OWL 2 DL using kind of tricks as Pavel showed me in his
>response?

>From looking at it, Pavel's solution seems to work well in OWL 2 DL. So go
with this solution if you need to use Pellet or some other OWL 2 DL
reasoner, or if you want/need to stay in OWL 2 DL. However, I remember that
you asked whether there can be a specific property between two classes which
indicates - and allows for inferring - a certain relationship between all
pairs of instances of these classes. Your own OWL 2 Full solution was pretty
obvious (from an OWL 2 Full perspective, at least) and really worked. So
it's now kind of a close-modeling-vs-constraining-technology tradeoff, and
you have to decide for yourself what has priority for you. In any way, you
are in the lucky position that there are working solutions for both
approaches.

>Best,
>Yoshio

Cheers,
Michael

--
Dipl.-Inform. Michael Schneider
Research Scientist, Information Process Engineering (IPE)
Tel  : +49-721-9654-726
Fax  : +49-721-9654-727
Email: michael.schneider@fzi.de
WWW  : http://www.fzi.de/michael.schneider
=======================================================================
FZI Forschungszentrum Informatik an der Universitat Karlsruhe
Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
Tel.: +49-721-9654-0, Fax: +49-721-9654-959
Stiftung des burgerlichen Rechts, Az 14-0563.1, RP Karlsruhe
Vorstand: Prof. Dr.-Ing. Rudiger Dillmann, Dipl. Wi.-Ing. Michael Flor,
Prof. Dr. Dr. h.c. Wolffried Stucky, Prof. Dr. Rudi Studer
Vorsitzender des Kuratoriums: Ministerialdirigent Gunther Lesnerkraus
=======================================================================

Received on Wednesday, 1 September 2010 18:25:42 UTC