Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Are class properties only passed down to individuals or also to subclasses?

Timothy Redmond tredmond at stanford.edu
Wed Oct 29 09:54:07 PDT 2008


On Oct 29, 2008, at 2:28 PM, mccrae at informatik.uni-hamburg.de wrote:

> Excellent explanation, Timothy, thank you! Your explanation and  
> patience are greatly appreciated.
>
> One, maybe somewhat philosophical, question does remain, however:  
> All your paraphrases define a class as being the set of all  
> individuals with certain properties. Why do you exclude the defined  
> class's subclasses from the definition?

The "meaning" of a class is a collection of individuals.

>
> Strictly, the subclasses inherit their superclass's properties, too,  
> don't they?

Two things.  First, when you talk about inheritance in this way you  
are talking about inference.  Thus for example if you know that

	CheeseyPizza SubClassOf hasTopping some CheeseTopping

and

         ChildrensPizza SubClassOf CheeseyPizza

then you can deduce that

	ChildrensPizza SubClassOf hasTopping some CheeseTopping.

This is a sort of inheritance relation and the word "deduce" suggests  
that we are talking about inference.

Second, it is not clear what you mean by a class's properties.  People  
often want such a thing but it isn't well defined.  Given this  
problem, I am not sure how to proceed with the rest of the questions.

-Timothy


> Or would one say that the subclasses do not directly inherit their  
> superclass's properties but simply reflect the properties inherited  
> by the individuals they contain (which, ultimately, of course,  
> amounts to the same thing). The question then is: Do classes inherit  
> properties from their superclasses or do they only reflect the  
> inheritance of properties that their contained individuals experience?
>
> I would argue that if the latter holds true, classes would be more  
> of an abstract node description in a hierarchy of individuals that  
> results from the properties of the individuals contained rather than  
> autonomous entities in a hierarchy of classes and individuals (which  
> is what, so far, I considered to be an integral part of an ontology).
>
> Again, the difference may be philosophical in nature - but  
> understanding it would greatly improve my conceptualisation of what  
> an ontology actually is.
>
> Thanks again for your outstanding support!
>
> Best regards from Hamburg -
>
> Pat
>
>
> Zitat von Timothy Redmond <tredmond at stanford.edu>:
>
>>
>> On Oct 29, 2008, at 10:25 AM, Patrick McCrae wrote:
>>
>>> Thanks for your in depth explanation, Timothy.
>>>
>>> I am not sure, however, I know how to interpret the notation you   
>>> use correctly. To disambiguate, I have added natural language   
>>> paraphrases below each formula. Could you please indicate briefly   
>>> which of my paraphrases are correct?
>>>
>>>>> Please let me know why you say it is generally not a good idea to
>>>>> define a class via a propery as in 'A = (p has x)'.
>>>>
>>> Paraphrase 1.1:
>>> 'A' is the set of all classes that have one or more property   
>>> relations 'p' of which at least one takes value 'x'.
>>
>> Should be: 'A' is the set of all individuals that have one or more
>> property relations 'p' of which at least one takes value 'x'.
>>
>> Or simpler: A is the set of all individuals with a 'p' value of 'x'.
>>
>> There is a bit of inprecision here.  As one of our famous presidents
>> said "it depends what the definition of 'is' is" ;).  But probably
>> better to ignore this for now...
>>
>>>
>>>
>>> (Or is it Paraphrase 1.2: 'A' is the set of all classes that, if   
>>> they have one or more property relations 'p', then at least on of   
>>> them takes value 'x'. ?)
>>
>>
>> No - existential quantification doesn't give you this type of thing.
>> But you could have
>>
>>    A = (not (p some Thing)) or (p has x)
>>
>> which says that A is the set of individuals that either don't have a
>> 'p' value or have a 'p' value of 'x' (and possibly others).
>>
>>>
>>>> This always comes down to a question of meaning.  If 'A = (p has  
>>>> x)'
>>>> is exactly what you mean then this is how the definition should be
>>>> written.  The trouble is that sometimes such statements are too  
>>>> strong
>>>> - they need to be bounded.  So it may be that an assertion like
>>>>
>>>> 	A = B that (p has x)
>>>>
>>> Paraphrase 2.1:
>>> 'A' is the set of all subclasses of 'B' that also have one or  
>>> more  property relations 'p' of which at least one takes value 'x'.
>>
>> Should be, A is the set of individuals that are in B and that also  
>> have
>> a p property value of x (and possibly others).
>>
>>>
>>>
>>> (Or is it Paraphrase 2.2: 'A' is the set of all subclasses of 'B.   
>>> If that class also has one or more property relations 'p', at  
>>> least  one of them takes value 'x'. ?)
>>>
>>
>> no
>>
>>>> is what you really wanted.  This is less extreme for the  
>>>> existential
>>>> restrictions than for the universal restrictions.  Thus
>>>>
>>>> 	A = p all C
>>>>
>>> Paraphrase 3.1:
>>> 'A' is the set of all classes that have at least one property  
>>> 'p'.  All values of 'p' are from class 'C'.
>>
>> no.  It is not true that a universal quantification implies an
>> existential quantification.
>>
>>
>>>
>>>
>>> (Or is it Paraphrase 3.2: 'A' is the set of all classes. If the   
>>> class also has one or more property relations 'p' then all values   
>>> of 'p' must be from class 'C'. ?)
>>
>>
>> Should be A is the set of all individuals that have a p value of x  
>> (and
>> possibly others).
>>
>>>
>>>> is almost always an incorrect definition.   It means in particular
>>>> that if an individual has no p property value then that  
>>>> individual is
>>>> in A.
>>>>
>>> If I understand correctly, this conclusion can only be arrived at   
>>> with Paraphrase 3.2.
>>
>> yes.
>>
>> Cheers,
>>
>> -Timothy
>>
>>
>>>
>>>
>>> Thanks for your clarification!
>>>
>>> Regards -
>>>
>>> Pat
>>>> -Timothy
>>>>
>>>>
>>>> On Oct 23, 2008, at 1:19 PM, Patrick McCrae wrote:
>>>>
>>>>> Thanks for your response, Timothy.
>>>>>
>>>>> Please let me know why you say it is generally not a good idea to
>>>>> define a class via a propery as in 'A = (p has x)'.
>>>>>
>>>>> I am asking because in my ontology I have defined several helper
>>>>> classes in this way and am accessing their inferred contents via  
>>>>> the
>>>>> OWL API.
>>>>>
>>>>> Thanks and regards -
>>>>>
>>>>> Pat
>>>>> _______________________
>>>>>
>>>>> Patrick McCrae
>>>>>
>>>>> CINACS Graduate Research Group
>>>>> Department of Informatics
>>>>> Hamburg University
>>>>> Vogt-Kölln-Straße 30
>>>>> 22527 Hamburg, Germany
>>>>>
>>>>> patrick.mccrae at informatik.uni-hamburg.de
>>>>> fon: +49 . 40 . 428 83 - 23 60
>>>>> fax: +49 . 40 . 42883 - 2515
>>>>>
>>>>>
>>>>> Timothy Redmond wrote:
>>>>>>
>>>>>>
>>>>>>> I was now hoping that when I create an instance of the above
>>>>>>> class, that instance would have the very same property. This,
>>>>>>> however, turned out not to be the case. It seems that such class
>>>>>>> properties are not propagated by inheritance.
>>>>>>
>>>>>> How did you conclude this?  I may have misunderstood but this is
>>>>>> something that a reasoner can deduce.
>>>>>>
>>>>>> To make sure that I am understanding, let me give an example.  I
>>>>>> can do this example in Protege 4.  Let's say that I have a  
>>>>>> class A,
>>>>>> an object property p and an individual, x.  I make a definition
>>>>>>
>>>>>>    A = (p has x).
>>>>>>
>>>>>> (This is not generally a very good definition but that is another
>>>>>> story).  Now I add an individual y in the class A.  I select a
>>>>>> reasoner (pellet, say) and select classify.  In the individuals
>>>>>> tab, I select the individual y and then under Object Property
>>>>>> Assertions, I will see a highlighted item " p x ".  This
>>>>>> highlighted item says that x is a p-value of y.  The fact that it
>>>>>> is highlighted means that this was one of the things that the
>>>>>> reasoner inferred.
>>>>>>
>>>>>> -Timothy
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Oct 1, 2008, at 1:54 PM, Patrick McCrae wrote:
>>>>>>
>>>>>>> Dear Protege List -
>>>>>>>
>>>>>>> Can anyone please help me with the following modelling question
>>>>>>> today:
>>>>>>>
>>>>>>> In Protege 4 I have created a class which is defined by the  
>>>>>>> property
>>>>>>> has_Lexicalisation value Lex_word.
>>>>>>> This is analogous to
>>>>>>> has_Lexicalisation has Lex_word
>>>>>>> in the Protege 3.x world.
>>>>>>>
>>>>>>> I was now hoping that when I create an instance of the above
>>>>>>> class, that instance would have the very same property. This,
>>>>>>> however, turned out not to be the case. It seems that such class
>>>>>>> properties are not propagated by inheritance.
>>>>>>>
>>>>>>> I am hence wondering how I can inherit properties of the above
>>>>>>> kind from the class to its individuals.
>>>>>>>
>>>>>>> Thanks in advance for your help!
>>>>>>>
>>>>>>> Best regards -
>>>>>>>
>>>>>>> Pat
>>>>>>> _______________________
>>>>>>>
>>>>>>> Patrick McCrae
>>>>>>>
>>>>>>> CINACS Graduate Research Group
>>>>>>> Department of Informatics
>>>>>>> Hamburg University
>>>>>>> Vogt-Kölln-Straße 30
>>>>>>> 22527 Hamburg, Germany
>>>>>>> _______________________________________________
>>>>>>> protege-owl mailing list
>>>>>>> protege-owl at lists.stanford.edu
>>>>>>> https://mailman.stanford.edu/mailman/listinfo/protege-owl
>>>>>>>
>>>>>>> Instructions for unsubscribing:
>>>> http://protege.stanford.edu/doc/faq.html#01a.03
>>>>>>
>>>>
>>>>
>>>>
>>>> -- 
>>>> _______________________
>>>>
>>>> Patrick McCrae
>>>>
>>>> CINACS Graduate Research Group
>>>> Department of Informatics
>>>> Hamburg University
>>>> Vogt-Kölln-Straße 30
>>>> 22527 Hamburg, Germany
>>>>
>>>> patrick.mccrae at informatik.uni-hamburg.de
>>>> fon: +49 . 40 . 428 83 - 23 60
>>>> fax: +49 . 40 . 42883 - 2515
>>>
>
>
>




More information about the protege-owl mailing list