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

Alternatively, one could also think "why do I bother about "can" if all i need to ensure that, if (sorry for simplifying the example) somebody has a driving licence for vehicle types X and Y, and then, whatever they drive is of kind X or Y...

Also, Pavel's suggestion is, I think, from a paper by Rudolph, Kroetzsch and Hitzler "all ephants are bigger than all mice"





On 2 Sep 2010, at 10:28, Pavel Klinov <pklinov@cs.man.ac.uk> wrote:

> 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 18:03:11 UTC