- From: Panzer,Michael <panzerm@oclc.org>
- Date: Tue, 12 Oct 2010 17:23:30 -0400
- To: "Antoine Isaac" <aisaac@few.vu.nl>
- Cc: "Mark van Assem" <mark@cs.vu.nl>, "Mikael Nilsson" <mikael@nilsson.name>, "public-lld" <public-lld@w3.org>, "Young,Jeff (OR)" <jyoung@oclc.org>, "Emmanuelle Bermes" <manue.fig@gmail.com>
Hi Antoine, > > Statements in OWL are interpreted as facts that are used to infer new > > pieces of knowledge. [...] > > Well, your example is right, but this is just an example, and the first > sentence of this paragraph is wrong [...] Please don't use a closed-world assumption to validate my statement! ;-) Only because I tried to show (cum grano salis) one function of statements in OWL doesn't mean that there aren't many others. > I can also exhibit OWL examples that > are not meant at inferring new RDF facts but at checking the consistency > of existing facts. The axioms about maximum cardinality, disjointness of > classes, properties and individual are about that [1,2]. I would still say (somewhat stubbornly) that the crux is not so much in checking the consistency *of* existing facts, but checking the consistency of new facts *with* existing facts, thus still about inferring further information. (Unless either one of the original sets of statements was already inconsistent, of course.) You are of course right about the types of assertions you mention. Looking back at my previous example, if the ontology had contained information like: N1: "<Publisher1> is a European publisher." N2: "<Publisher2> is an Australian publisher." N3: "No publisher can be a European and an Australian publisher at the same time." (Disjointness) Then the inference by the reasoner would have been: "Sorry. The information you have provided is inconsistent with what I already know. I would have needed to assume that <Publisher1> is <Publisher2> and that this publisher is both European and Australian. I cannot do that." But, and that was my point, (1) this requires the (careful) addition and control of new assertions "higher up" in the ontology, and (2) the outcome "inconsistent" here carries information. It doesn't necessarily mean only "clean up your data." The OWL 2 primer alludes to this can of worms very eloquently: "In particular, there is no way to enforce that a certain piece of information (like the social security number of a person) has to be syntactically present. This should be kept in mind as OWL has some features that a user might misinterpret this way."[1] That doesn't mean it can't be done, I think it means it can't be done superficially or "syntactically." > Granted, these axioms may fail at capturing all constraints you want to > have in APs, and you may need some more close-world stuff like what > Kendall is proposing. But that's another issue :-) Agreed. :-) The issue "OWL Full" vs. "OWL DL" comes to mind. For example, some integrity conditions of SKOS (S27: "skos:related is disjoint with the property skos:broaderTransitive."[2]) cannot be expressed in OWL 2 DL, as disjointness on transitive properties is not allowed (to avoid undecidability.) Stuff like this is clearly needed for APs in some form, and, again, I still think most of it can be done with tools from the SW stack (OWL + assorted others). Cheers Michael [1] http://www.w3.org/TR/owl2-primer/#What_is_OWL_2.3F [2] http://www.w3.org/TR/skos-reference/#L2422 > > Cheers, > > Antoine > > [1] http://www.w3.org/TR/2009/REC-owl2-primer- > 20091027/#Property_Cardinality_Restrictions > [2] http://www.w3.org/TR/2009/REC-owl2-primer-20091027/#Class_Disjointness > > > > > > My OWL AP says: > > > > "Every published book has at least one author and exactly one > > publisher." > > > > My data says: > > > > 1. "<MyBook> is a published book." > > 2. "<MyBook> was published by<Publisher1>." > > 3. "<MyBook> was published by<Publisher2>." > > > > A possible reaction of a schema validation language would be: > > > > "This data is not compliant to the AP. You state that<MyBook> is a > > published book, yet there is no author information, and it has two > > publishers! Your data is rejected because it is either bad or you lied > > about it." > > > > This would be the reaction of an OWL reasoner: > > > > "Thank you so much for this new information. I can now conclude that > > <Publisher1> and<Publisher2> refer to the same individual (no Unique > > Name Assumption, combined with a functional property) and that<MyBook> > > is connected to some individuals that are authors, but I don't know > > about them yet (Open World Assumption). I'll add the following facts to > > my knowledge base: > > > > 4.<Publisher1> is the same as<Publisher2>. > > 5.<MyBook> has some authors. > > > > Please visit again soon." > > > >> An alternative is to just accept OWL as a "syntax" for the AP > >> constraints, and implement your own checker on top of that. This > > removes > >> the need to develop your own language (and parser) which will contain > >> almost the same syntactical elements anyway. > > > > Again, I don't say it can't be done. As suggested by Mark, one viable > > approach would be to interpret OWL axioms with integrity constraint > > semantics. You wouldn't have to implement your own checker, however. > > Pellet ICV {1] sounds really promising in that regard, as it generates > > SPARQL ASK queries to validate your RDF against OWL axioms. > > > > SPIN [2,3] sounds like something similar to be explored as well. > > > >> From a slightly different perspective, I think RIF [4] is what could > > fill the gap in a more conformant way. RIF has a defined path to OWL and > > is an integral part of the Semantic Web stack, but I haven't figured out > > how to use it efficiently yet (I have had little exposure to rules > > languages in the past, so I need more time to get up to speed there.) > > > > Cheers > > Michael > > > > [1] http://clarkparsia.com/pellet/icv/ > > [2] > > http://www.proxml.be/users/paul/weblog/aaad2/Integrity_constraints_in_SK > > OS_part_1_.html > > [3] http://www.spinrdf.org/ > > [4] www.w3.org/2005/rules/ > > > > > > > > >
Received on Tuesday, 12 October 2010 21:24:06 UTC