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

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

From: Yoshio FUKUSHIGE <paatje@cam.hi-ho.ne.jp>
Date: Tue, 31 Aug 2010 16:24:50 +0900
Message-ID: <4C7CAE42.2070108@cam.hi-ho.ne.jp>
To: public-owl-dev@w3.org
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

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
nor rdf:type nor my:hasInstance.

Could someone help?

Thanks in advance,

Yoshio Fukushige,
Panasonic Corporation.
Received on Tuesday, 31 August 2010 07:38:45 UTC

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