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-discussion] Programming with Protege-OWL generated code.

Samson Tu swt at stanford.edu
Sun May 4 14:37:18 PDT 2008


In the future, please send OWL-related questions to 
protege-owl at lists.stanford.edu.

See in-line comments.


Trudy Cool wrote:
> Dear Protege Group
> 
> I've been evaluating Protege as part of an
> institutional architecture.
> 
> I had expected certain functionality from the
> generated Protege-OWL java code that does not
> seem to be there.
> 
> Here's my test code (my questions follow) ...
> ...
> Observations:
> 1) A MargueritaPizza only exists if there is a
> pizza with Mozzarella and Tomato toppings, but
> this MargueritaPizza has no toppings.
> 2) Clearly, I should not be able to put
> HamTopping on a Vegetarian Pizza.
> 
> So I'd like to ask, if I may:
> 1)  Am I doing something wrong?

You need to call a DL Reasoner (e.g., pellet) explicitly first before 
you can query for inferred statements. So MargueritaPizza has no 
*asserted* toppings.

Similarly, when you asserted that a vegetarian pizza has "Hamster" 
topping, you need to call the Reasoner explicitly to inferred that such 
toppings leads to an inconsistent ontology.

> 2)  Am I expecting functionality that ought to be
> there, but isn't yet?

The functionality is there.

> 3)  Am I expecting functionality that ought NOT
> to be there, for some reason I haven't
> understood?

Calling the Reasoner is an expensive operation. Protege shouldn't call 
it every time the ontology is changed.

> 4)  What must I do to get Java classes that
> consistently obey the ontological rules?
> 

It's not trivial to identify, when you have an inconsistent ontology, 
the assertion that need to be retracted.

With best regard,
Samson Tu




More information about the protege-discussion mailing list