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

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). 

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.

"""
@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 Tuesday, 31 August 2010 10:51:52 UTC