[Pellet-Users] Monotonicity and consistency of reasoning
Hugo Ferreira
hmf at inescporto.pt
Mon Nov 27 03:35:52 EST 2006
Hi,
Evren Sirin wrote:
> On 11/21/2006 11:11 AM, Hugo Ferreira wrote:
>> Hello,
>>
>> I don't know if this is the correct forum ask such questions.
> Well, not really. It is possible that you might not get any responses to
> questions not directly related to Pellet. A W3C mailing list (maybe
> rdf-logic?) could be a better place. Having said that my answers inline :)
Great. With a quick search I did not find the mailing list but will look
again. As for the feedback I appreciate it. I have added my responses below.
>> If not I would appreciate a pointer were such issues are better
>> directed to. I have two very _basic_ questions:
>> a) I would like to know what influence the UNA has the monotonicity of
>> the reasoner.
>>
> It has no influence. UNA is equivalent to asserting AllDifferent for all
> the named individuals in the ontology. It is completely monotonic.
Ok. Someone else was kind enough to elucidate me on this.
>> b) I would like to now if using instances as classes may generate
>> inconsistencies in the KB.
>>
> It depends on the semantics you are considering. If you are using
> DL-friendly semantics of punning as adopted in OWL 1.1 then even though
> you use the same URI to denote both a class and an individual they have
> no semantic connection. You might still get inconsistencies as you can
> get inconsistencies in a regular ontology.
Yes I am using OWL-DL. "Punning" is new to me I will have to look this
up. I was actually referring to the use of "Representing Classes As
Property Values on the Semantic Web" [1]. Not as complicates as
"punning" I guess.
>If you are using
> RDF-compatible OWL-Full semantics then the interaction between the class
> definition and individual definition is quite different. Boris Motik's
> paper in last year's ISWC about OWL meta-modeling is a good resource to
> look at on this subject.
Ok, I found the link. I will read this to see if I can learn something.
> What you ask below seems to be a little
> different...
>> In regards to (a) I was testing one example I came across in a
>> tutorial: definition of a happy uncle. A happy uncle is an uncle with
>> 3 or more nephews. The instance "Donald Duck" was created with 3
>> nephews "Huey", "Dewey" and "Louie". Now with Pellet this gave me the
>> correct solution because it does not use UNA. My doubt is: by not
>> adhering to the UNA is reasoning monotonicity in any way compromised?
> Nope.
Ok.
>> Can someone give me an example where this does occur i.e: add another
>> fact makes the the KB contradict a previous result?
>>
> No. Only strange thing that might happen is the overall ontology becomes
> inconsistent but then every statement is a logical consequence of the
> ontology so it does not contradict previous entailments (Note that
> Pellet would simply throw an InconsistentOntologyException in such cases)
Hmm... in so it is possible to mess-up the ontology.
>> In regards to (b) the issue is basically the same, I would like to
>> know if it is possible for a user to add instances to a KB
>> inconsistent and make it inconsistent.
> Hmm, there is a typo here and I don't know which one of "inconsistent"s
> in the above sentence you intended to be "consistent".
"add instances to a consistent KB and make it inconsistent"
Apologies for the confusion.
> So the generic
> answer is if you have a consistent ontology then adding a new instance
> could possibly make it inconsistent (e.g. an instance of an
> unsatisfiable concept).
Ok. This is the real issue. So I have to check that all new input is
satisfiable.
> On the other hand, you cannot make an
> inconsistent ontology consistent (e.g. "repair" the ontology) by adding
> new instances. You need to remove/modify existing instances/classes.
Not what I intended.
>> Specifically I have used instances as classes and would like to know
>> what problems this may cause. For example I have a concept "tap" with
>> a property "has tap spout". Now I cannot foresee what type of spouts
>> may eventually crop up so I made this an instance of "tap spout". The
>> user can add tap spouts of any kind to describe a new tap. Queries (in
>> SPARQL) can now find taps with a certain "type" of spout via the value
>> of the property "has tap spout". I don't think it is possible but
>> would like to be sure.
>>
> Sorry, I don't understand how this relates to the
> consistent/inconsistent discussion.
>
It is an example of the user input that can occur. I now realize a user
can assert instance "a" of type "A" and later also assert "a" is type of
"B". If "A" and "B" are disjoint for example, I am in trouble. The
problem here is how to avoid this:
a) check first and disallow this assertion,
b) allow the assertion and use Pellet's error to remove the erroneous input.
Right now I think the only practical choice is (b). Any suggestions on
how to check for inconsistent (ABox) assertions with Pellet?
Thank you,
Hugo Ferreira.
> Regards,
> Evren
>>
>> Appreciate any feedback and/or pointers.
>>
>> TIA,
>> Hugo Ferreira.
[1] Representing Classes As Property Values on the Semantic Web at
http://www.w3.org/TR/swbp-classes-as-values/
>> _______________________________________________
>> Pellet-Users mailing list
>> Pellet-Users at lists.mindswap.org
>> http://lists.mindswap.org/mailman/listinfo/pellet-users
>>
>>
>
>
More information about the Pellet-Users
mailing list