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: Pavel Klinov <pklinov@cs.man.ac.uk>
Date: Thu, 2 Sep 2010 10:28:28 +0100
Message-ID: <AANLkTin7B3U28XYhtB4AOE8pX+wAmyFS5t3ZdeiJHM6Z@mail.gmail.com>
To: Yoshio FUKUSHIGE <paatje@cam.hi-ho.ne.jp>
Cc: public-owl-dev@w3.org
Hi Yoshio,

Yes, looking from that perspective these properties/instance seem to
serve a similar role to those old familiar auxiliary tables in
relational databases used to implement "many-to-many" relationships.
If you had BD-Recorder and BD-R tables, and you wanted to say that a
single recorder can record to multiple disks and vice versa, you would
also have some third table to specify the relationship.

I've tried to look for the previous discussions but couldn't find the
one which gives 100% the same trick (I'm sure Uli Sattler suggested it
in some thread but not sure if it was on public-owl-dev or elsewhere).
I kind of implied it here [1] but the discussion was a bit different.

Cheers,
Pavel

[1] http://lists.w3.org/Archives/Public/public-owl-dev/2009AprJun/0067.html

On Wed, Sep 1, 2010 at 3:08 PM, Yoshio FUKUSHIGE <paatje@cam.hi-ho.ne.jp> wrote:
>
> I think the following interpretations/namings might be interesting:
>
> x as my:RecordingToBD-R
> R as my:isRecordingInstrumentOf
> S as my:isRecordingDestinationOf
>
> the statements being now
> --------------
> my:BDRecorder rdfs:subClassOf
>    [a owl:Restriction;
>     owl:onProperty my:isRecordingInstrumentOf;
>     owl:hasValue my:RecordingToBD-R]
> .
>
> my:BD-R rdfs:subClassOf
>    [a owl:Restriction;
>     owl:onProperty my:isRecordingDestinationOf;
>     owl:hasValue my:RecordingToBD-R]
> .
>
> my:recodingDestination owl:inverseOf my:isRecordingDestinationOf.
>
> my:recordableTo owl:propertyChainAxiom
>    ( my:isRecordingInstrumentOf my:rcordingDestination )
> .
> --------------
>
> Now user can reuse the properties above to state
> my:BDRecorder can record to my:BD-RE,
> by replacing my:BD-R with my:BD-RE and my:RecordingToBD-R with
> my:RecordingToBD-RE.
>
> Further, by introducing a reflexive property my:detailedTaskOf  and changing
>
> my:recordableTo owl:propertyChainAxiom
>    ( my:isRecordingInstrumentOf my:rcordingDestination )
> .
>
> to
>
> my:recordableTo owl:propertyChainAxiom
>    ( my:isRecordingInstrumentOf my:detailedTaskOf my:rcordingDestination )
> .
>
> and if the following  rough statement holds,
>
> my:RecordingToBD-R my:detailedTaskOf my:RecordingToDVD-R.
>
> then with
>
> my:DVD-R rdfs:subClassOf
>    [a owl:Restriction;
>     owl:onProperty my:isRecordingDestinationOf;
>     owl:hasValue my:RecordingToDVD-R]
> .
>
> one can get any instance of my:BDRecorder is my:recordableTo any instance of
> my:DVD-R.
>
> So, the "x", "R". "S" don't seem to me to be  just nonce bridges, but could
> carry meanings
> and be reusable in the ontology.
>>
>> No-no, I simply hit the wrong button :)
>> And it's not my solution, btw, I've seen it suggested/discussed in
>> some forms a number of times.
>
> Could you show any pointers to such discussions?
> That should help me a lot.
>
> Best,
> Yoshio
>



-- 
cheers,
--pavel
http://www.cs.man.ac.uk/~klinovp
Received on Thursday, 2 September 2010 09:34:42 GMT

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