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] Difference between 'annotation property' and 'class definition restriction'?

Timothy Redmond tredmond at stanford.edu
Wed Oct 29 02:20:33 PDT 2008


On Oct 29, 2008, at 9:37 AM, Patrick McCrae wrote:

> Thanks, Thomas for this excellent and detailed response!
>
> I apologise for not having indicated in my post that in the meantime  
> I have migrated on to Protege 4 and have therefore now started using  
> the generic OWL API V2.2.0 rather than the Protege OWL API. Since I  
> have worked extensively with the latter interface before, your  
> answer is still a helpful clarification in the Protege 3.x framework  
> to me.

Sorry to bump you around the lists, but this would  suggest that the  
p4 mailing list [1] is the best place  to post.

>
>
> As I am not familiar with the distinction between 'annotation  
> property' and 'class definition restriction', could you please  
> briefly expand on the difference between the two concepts?

This is probably best answered by through an owl tutorial.  But I went  
looking for one of these before and had some trouble finding a good  
owl tutorial.  [2] is excellent for many things.

Annotations  are a mechanism to attach meta-data to owl entities  
(classes, properties and individuals).  This data is ignored by  
reasoners.  An example of an annotation - from the Pizza ontology - is

	CheeseyPizza rdfs:comment "Any pizza that has at least 1 cheese  
topping."

This information is ignored by reasoners.

A class definition restriction refers to a particular type of axiom  
(e.g. assertion or statement) about a class.  Again CheeseyPizza  is a  
common example.  There is an axiom defining cheesey pizza as follows:

	CheeseyPizza = Pizza that hasTopping some CheeseTopping

Another related type of example from the same ontology is

	American SubClassOf hasTopping some MozzarellaTopping.

These axioms say something about the individuals that can be a member  
of these classes.  For example the first one says that an individual  
is a member of the CheeseyPizza class exactly when that individual is  
a pizza that has a topping which is a cheesey topping.  These types of  
statements are analyzed by a reasoner.

>
> To clarify the use of the property 'has_Lexicalisation' in my  
> ontology: I have included restrictions such as 'has_Lexicalisation  
> value Lex_Mann' as a necessary property in the definition of a  
> class, i. e.: I have used the property to define a superclass of the  
> class. Would this make it a 'class definition restriction'?
>

I don't have a formal definition of "class definition restriction" but  
I would have guessed that the answer is no.  In any case, this  
question really bounces back to you.  You were asking about how to  
retrieve some data about an ontology.  Thomas made very reasonable  
guesses as to what you meant.  So the question is do you want the  
routines that you are writing to return
     Lex_Mann
when given the inputs

	Class: X,
	Property: has_Lexicalisation

?

My answer for how you would implement this case does not change too  
much as you would still be looking at the superclasses  of X and  
looking at the type of restriction that appears there.

-Timothy


[1] https://mailman.stanford.edu/mailman/listinfo/p4-feedback
[2] http://www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdf

> Thanks again -
>
> 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
>
>
> Thomas Russ wrote:
>>
>> Unfortunately I only have time right now to sketch a solution  
>> without showing code, but since it's mission critical to you, I  
>> hope it is enough.
>>
>> There are two possibilities for what you mean with your description.
>>
>> 1.  has_Lexicalisation is an AnnotationProperty and associates the  
>> value directly with the class object.
>>
>>    In that case, you want to use the standard getPropertyValue on  
>> the class, and the method that finds matching values, perhaps  
>> OWLModel.getMatchingResources ?
>>
>> 2.  has_Lexicalisation is part of a class definition restriction on  
>> the class.
>>
>>     What you need to do is get the appropriate hasValueRestriction  
>> that is associated with the class object and use getHasValue on  
>> it.  Not quite sure how to get those restrictions.  Maybe  
>> RDFSClass.getSuperclasses and then filter for type OWLHasValue ?
>>
>>     For your second question you might find  
>> OWLModel.getOWLRestrictionsOnProperty useful.
>>
>>
>> On Oct 27, 2008, at 1:00 PM, Patrick McCrae wrote:
>>
>>> Hi, List -
>>>
>>> I have already posted this question on the OWL Developer List but  
>>> did not receive any replies so I am hoping to be more lucky on  
>>> this list. Your help with this query would be much appreciated  
>>> since it relates to a mission critical aspect of my current project.
>>>
>>> In my ontology I have asserted that some classes have the property  
>>> 'has_Lexicalisation' whose value is an individual of another class  
>>> 'Lexicalisation'.
>>>
>>> Example:    (Class) 'Baker.m'  ---has_Lexicalisation--->  
>>> (Individual of Class Lexicalisation) 'baker'
>>>
>>> I am now wondering which methods in the OWL API I need to use to  
>>> obtain the following information:
>>>     • What value does (Class) 'Baker.m' have for (Property)  
>>> 'has_Lexicalisation'?
>>> Expected answer: (Individual) 'baker'
>>>
>>>     • Which class has value (Individual) 'baker' for (Property)  
>>> 'has_Lexicalisation'?
>>> Expected answer: (Class) 'Baker.m'
>>> I would have expected to find the desired methods in the  
>>> OWLReasoner class ... but somehow I seem not to have found the  
>>> right ones. This may be related to querying for the subject and  
>>> object of the relation 'has_Lexicalisation' in the RDF-way of  
>>> looking at things.
>>>
>>> Could anybody please advise?
>>>
>>> Thanks in advance and kind 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
>>>
>>> -- 
>>> _______________________
>>>
>>> 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
>>> _______________________________________________
>>> 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
>>
> _______________________________________________
> 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




More information about the protege-owl mailing list