W3C home > Mailing lists > Public > public-owl-dev@w3.org > July to September 2010

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

From: Yoshio FUKUSHIGE <paatje@cam.hi-ho.ne.jp>
Date: Wed, 01 Sep 2010 23:33:10 +0900
Message-ID: <4C7E6426.8010503@cam.hi-ho.ne.jp>
To: Michael Schneider <schneid@fzi.de>, public-owl-dev@w3.org
 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, 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?
> 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??

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?

Best,
Yoshio

> """
> @prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
> @prefix owl:  <http://www.w3.org/2002/07/owl#> .
> @prefix xsd:  <http://www.w3.org/2001/XMLSchema#> .
> @prefix my:   <http://www.example.org/> .
>
> my:hasInstance owl:inverseOf rdf:type . 
> my:BDRecorder my:classRecordableToInstanceOf my:BD-R .
> my:recordableTo owl:propertyChainAxiom ( rdf:type
> my:classRecordableToInstanceOf my:hasInstance ).
> my:MyRecorder a my:BDRecorder .
> my:MyDisc a my:BD-R .
> """
>
> Cheers,
> Michael
>
> [1]
> <http://www.w3.org/TR/2009/REC-owl2-rdf-based-semantics-20091027/#topic-ont-
> owl2full>
> [2]
> <http://www.w3.org/TR/2009/REC-owl2-profiles-20091027/#Reasoning_in_OWL_2_RL
> _and_RDF_Graphs_using_Rules>
> [3] <http://www.ivan-herman.net/Misc/2008/owlrl/>
>
>> -----Original Message-----
>> From: public-owl-dev-request@w3.org [mailto:public-owl-dev-
>> request@w3.org] On Behalf Of Yoshio FUKUSHIGE
>> Sent: Tuesday, August 31, 2010 9:25 AM
>> To: public-owl-dev@w3.org
>> Subject: How to put "universal" restrictions to members of two classes?
>>
>> I'm building an ontology for Audio Visual devices, and wondering how to
>> put
>> "universal" restrictions to members of two classes.
>> (I'm not sure if this wording is appropriate though...)
>>
>> What I want to do is to make every pair of members of two classes to
>> have
>> designated relations.
>>
>> For example, suppose we have my:BDRecorder Class representing all
>> instance of Blu-ray recorders
>> and my:BD-R Class representing all instance of BD-R Discs.
>>
>> Now I want to force force every instance of my:BDRecorder able to record
>> to any instance of my:BD-R.
>>
>> In n3, I think I can write:
>>
>> { ?rec a my:BDRecorder. ?disc a my:BD-R } => { ?rec my:recordableTo
>> ?disc }.
>>
>> but how can I do in OWL 2 (if possible)?
>>
>> If possible, I'd like to do so by stating some "Class level" relation
>> between the two Classes,
>> and make a statement entailing the corresponding "Instance level"
>> relation between the instances of the Classes.
>>
>> I first tried to do so by introducing my:classRecordableToInstanceOf and
>> my:hasInstance (as owl:inverseOf rdf:type) and then
>> stating:
>>
>> my:BDRecorder my:classRecordableToInstanceOf my:BD-R.
>>
>> my:recordableTo owl:propertyChainAxiom
>> ( rdf:type my:classRecordableToInstanceOf my:hasInstance).
>>
>> hoping to entail, if my:MyRecorder a my:BDRecorder and my:MyDisc a
>> my:BD-R,
>>
>> my:MyRecorder my:recordableTo my:MyDisc.
>>
>> but failed.
>>
>> I think the reason was owl:propertyChainAxiom can be used only to list
>> of
>> owl:ObjectProperty's which is not the case with
>> my:classRecordableToInstanceOf
>> nor rdf:type nor my:hasInstance.
>>
>> Could someone help?
>>
>> Thanks in advance,
>>
>> Yoshio Fukushige,
>> Panasonic Corporation.
> --
> 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 14:33:49 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:58 GMT