Search Mailing List Archives
[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