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: Michael Schneider <schneid@fzi.de>
Date: Tue, 31 Aug 2010 12:51:16 +0200
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A00205462A@judith.fzi.de>
To: "Yoshio FUKUSHIGE" <paatje@cam.hi-ho.ne.jp>
Cc: <public-owl-dev@w3.org>
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 .


[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
>"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
>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
>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:MyRecorder my:recordableTo my:MyDisc.
>but failed.
>I think the reason was owl:propertyChainAxiom can be used only to list
>owl:ObjectProperty's which is not the case with
>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

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:58:19 UTC