Hi Valentina, nice to hear from you in this context also ;-)
Am 31.08.2011 um 17:46 schrieb valentina presutti: > Dear Sebastian, all, > > I fully agree on your statement :) and thanks for the further elaboration, I > find it useful. > However, this is true when you deal with the Semantic Web Scale: personally I > find useless trying "to clean" data based on consistency checking > even because this would mean to promote one universal foundational model as > the "right" one, which is ridiculous (imo). +1 ;-) It is more than ridiculous, it is also impossible. > > In the context of IKS, and more in general in the context of application that > reuse Web data in a local context > consistency checking might be useful as a feature, for example for checking > if the data you would want to reuse can run well with your domain-ontology. And - in a practical sense - what do you do if the answer is "no"? ;-) I of course understand that there are scenarios for consistency checking, especially in ontology alignment and reuse. The question is how they are relevant in the context of IKS and especially in the context of Apache Stanbol. Depending on the answer we have to find the right way to deal with reasoning in Stanbol. > > I think that also in this last case there is something that can be debated: > how can we use consistency checking in a clever way? For example, > a reasoner that is able to identify what's the problem and show it to you by > explaining it is already something useful. > It would be even better the reasoner is also able to suggest possible changes > in the data you want to reuse (possibly based on some configuration) while > keeping the link with the original sources. The LMF reasoner, if extended slightly, can provide some useful functionalities here. The extension that would be needed are "consistency rules" that derive inconsistency, e.g.: (X rdf:type C), (X rdf:type D), (C owl:disjointWith D) -> false. The reason maintenance component contained in the reasoner could then show you the reasons for all inconsistencies that are contained in the model. > > I mean, consistency checking can be a useful feature if it is tailored to > specific use cases, while I agree it is almost non-sense as a web scale > problem. Ok, so let me reformulate my "goals" question a bit: How would a user of Stanbol benefit from a consistency checking reasoner BEYOND what he can already get by developing in Protegé (where he would develop the model anyways) and using one of the DL reasoners there. Should Stanbol aim at being a tool for developing ontologies and data models? Greetings, Sebastian > > Val > > On Aug 31, 2011, at 5:18 PM, Sebastian Schaffert wrote: > >> 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 >> > 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
