RE: Returning to OWL and application profiles

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