RE: Returning to OWL and application profiles

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