- From: Panzer,Michael <panzerm@oclc.org>
- Date: Tue, 12 Oct 2010 12:27:02 -0400
- To: "Mark van Assem" <mark@cs.vu.nl>, "Mikael Nilsson" <mikael@nilsson.name>
- Cc: "Antoine Isaac" <aisaac@few.vu.nl>, "public-lld" <public-lld@w3.org>, "Young,Jeff (OR)" <jyoung@oclc.org>, "Emmanuelle Bermes" <manue.fig@gmail.com>
Hi Mark and Mikael, this might be slightly off-topic, and I hope I am not beating a dead horse here, but I have major problems with talking about OWL as if it where a language allowing schema-like validation of data. It is not. I am not saying that this type of use cannot be achieved with OWL, but it is not trivial. Statements in OWL are interpreted as facts that are used to infer new pieces of knowledge. Axioms in OWL support that goal as they are treated as "inference rules," not necessarily as constraints aimed at triggering inconsistencies. A trivial example would be the following. 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 16:27:35 UTC