Dear all,

I wanted to elaborate a bit on the topic of consistency checking because I have 
a strong opinion on this. And maybe it helps to give understanding why I 
consider it only mildly interesting in practical applications ... ;-)

I wrote:

> 
> schema validation
> ----------------- 
> 
> This is what you call "check" and this is the typical reasoning applied in 
> the Semantic Web domain. I always found its usefulness very limited and 
> therefore this is only mildly interesting to me. How often will you really 
> need to check whether a model is consistent? Usually only during development, 
> if at all. Even worse: when operating on the World Wide Web you will 
> *inevitably* have inconsistencies, so it is better to simply live with them 
> and not care too much about consistent schemas, it will only drive you crazy. 
> ;-)


Ok, this was my statement. Back to consistency checking ... :)

1. Why do logics people care about consistency?

The whole topic of consistency checking is rooted in classical logics. It is 
founded in the "ex falsum quodlibet" rule of first order predicate logic, which 
basically says "if you have an inconsistency in your model, you can derive 
everything". Maybe you still know the rule from your logics lectures ;-)

"false => A" is equivalent to "not false or A" is equivalent to "true", 
regardless of A.

For example, in a strictly classical model sense, if you have a knowledge base 
saying "the car is red" and "the car is green" and "green is not red", then you 
could derive that "the moon is made of green cheese and inhabited by small fur 
balls constantly discussing about how to best cook spaghetti". Which is of 
course completey stupid, but completely valid in classical logic.

In a model in classical logics, this is a severe problem, because it means that 
you cannot derive anything useful at all even if you have just a small 
inconsistency.



2. Why is inconsistency irrelevant in many cases?

Inconsistency is only a problem in the ideal world of classical logics. 
Real-world implementations will never have the same kind of problems described 
above, how should they get the idea that the moon is made of green cheese based 
on the facts that the car is green and red at the same time? Software 
implementations are maybe constructive, but based on existing facts and not 
making up facts out of the blue sky. 

The worst case that can happen is that the software will show some error 
behaviour. Instead of trying to enforce consistency (which in many cases you 
cannot), one challenge is to isolate the error as much as possible and keep it 
from spreading. Another challenge is to explain to the user why some unexpected 
behaviour takes place and how she can prevent it from happening.

The rule-based reasoner implemented in the LMF is completely ignorant to 
inconsistencies. It does not care at all about them. If you say the car is red 
and the car is green, then it will maybe derive that it should be tagged with 
"green" and with "red". The error spreads maybe a bit, but the reasoner will 
never claim that the moon is made of green cheese. But maybe you were even 
right that the car is red and green at the same time (striped car)?

The rule-based reasoner implemented in the LMF will also display you 
explanations why it has inferred certain knowledge. If the car is tagged with 
red and tagged with green and you as the user wonder how this could be, you can 
hover the mouse over the tag and the reasoner will explain you that this is 
because someone said the car is green and someone said the car is red.


3. Why is dealing with inconsistency even desirable?

The world is full of inconsistencies. And the Web in particular. Neglecting 
this is the number one problem of the Semantic Web DL community. Accepting this 
is the number one success factor of the Linked Data initiative. Why is the Web 
so full of inconsistencies?
- people can have differing opinions about the world: you say "it is cold", I 
say "it is warm", and we are both right
- different cultural conceptions: Spanish has one word for "snow", Icelandic 
has 16 different words for "snow"
- uncertainties: most circumstances do not fit into the ideal world of logics 
because of unknown or uncertain knowledge; a document might be concerned with a 
topic only to 30%, or the Stanbol entity recognition might only have a 
confidence of "15%" that "San Juan" is a person, "30%" that it is a city, ... ; 
if you say "all ravens are black", this is entirely based on observation and 
not on fact, there might be a white raven somewhere, you just don't know it




Sebastian
-- 
| Dr. Sebastian Schaffert          [email protected]
| Salzburg Research Forschungsgesellschaft  http://www.salzburgresearch.at
| Head of Knowledge and Media Technologies Group          +43 662 2288 423
| Jakob-Haringer Strasse 5/II
| A-5020 Salzburg

Reply via email to