[Pellet-users] question about query language
Swanson, Tim
tim.swanson at semanticarts.com
Mon Oct 29 16:12:24 UTC 2007
Bijan,
I think we're talking at cross purposes here, especially with respect to
our use cases for querying OWL. I've only provided brief responses
inline. When I have a bit more time (hopefully later today, possibly
tomorrow), I will work up a more substantive example and re-post on
public-owl-dev.
Thanks,
Tim Swanson
Semantic Arts Inc.
Fort Collins, Colorado
> -----Original Message-----
> From: Bijan Parsia [mailto:bijan at clarkparsia.com]
>
> On Oct 26, 2007, at 4:34 PM, Swanson, Tim wrote:
>
> >>
> >> To expand a bit more on Kendall's already comprehensive post. I'm
> the
> >> point person on the SPARQL/OWL Task Force and will be writing the
> >> spec
> >> (soon I hope) (I was on the DAWG).
> >>
> >
> > Bijan,
> >
> > I don't want to start an off-topic thread here, but I was wondering
> if
> > you would be willing to answer a few questions about SPARQL/OWL. (If
> > you'd like to move the discussion elsewhere, please do.)
>
> I'll do a round here. If we get more involved, I'd prefer we'd move
> to public-owl-dev with the subject tag [TF:SPARQL].
>
> > I was wondering if SPARQL/OWL is expected to support "open-world"
> > queries. That is, the ability to query for the satisfiability of a
> > given
> > fact.
>
> Hmm. Well, I don't see the latter is a synonym for the former. SPARQL/
> OWL queries OWL kbs and does so with a fair bit of open worldness.
>
I agree, that's why I wrote the second sentence (and put the first
phrase in quotes). Here I'm specifically talking about querying for what
is satisfiable.
We call such things "open-world queries" around here, but I realize that
that's neither universal, descriptive, nor terribly precise.
To my knowledge, the only language that allowed these types of queries
was Cerebra XQuery (which was loosely based on XQuery), a proprietary
language developed for the Cerebra Server inference engine.
>
> > I am writing a set of applications now where we often have to know
> the
> > satisfiable extension of a class,
>
> What do you mean by "satisfiable extension"?
>
Perhaps my DL vocabulary is off here. What I mean is an ABox query for
all of the individuals in an ontology that are satisfiably members of a
given class.
>
> > or the satisfiable objects for a given
> > subject and property.
> [snip]
>
> Hmm. Well,
> foo bar ?x.
>
> Will give you all the individuals that can be *proven* to be barred
> by foo. that is, that are barred by foo in every model. Mere
> satisfiability generally only requires at least one model. That is
> going to be a pretty unselective query as, I would bet, most of the
> time most of the individuals would be answered.
>
Not if the ontology were written with the OWA in mind. For example,
things like domains, ranges, and class disjointness can reduce the
number of individuals to those that are truly satisfiable. One of the
modeling disciplines that we preach is that TBox modeling needs to be
done in such a way that "nonsense" does not make it into the open world.
The aim is to make "mere satisfiability" less than meaningless. So that
all of the things that are actually not true are represented in the
reasoner, and what is satisfiable is truly unknown. These are the only
circumstances, I believe, under which the OWA is actually a powerful
tool rather than just an annoyance to be worked around.
I may be doing a presentation on this at the next SemTech Conference.
>
> So perhaps I don't
> understand what you're after? Perhaps an example with sample kb and
> answers desired?
>
I'll try to work one up that's as simple as possible while still getting
the point across. I'll post it on public-owl-dev when I do.
>
> foo bar a.
> foo bar b.
> a bar c.
> c bar e.
>
> Now, I can ask whether the following class is satisfiable:
> hasValue bar a
>
> It is. In fact, "foo" satisfies it in every model. but I can
> consistently construct a model wherein b, c, and e all satisfy it,
> since I can consistently extend the above KB with the corresponding
> assertions.
>
> Is this what you're after?
>
No. In the above ontology, in the absence of a TBox, every combination
of ([foo|a|b|c|e] bar [foo|a|b|c|e]) is satisfiable (assuming that 'bar'
is a property and the rest are Things). 'bar' has no domain or range,
and there is no way to restrict what may be the subject and object of
it. In a real-world example, this would probably not represent the
knowledge that the ontology designer was trying to model.
The answer I would have been looking for would be the answer to "which
individuals are members of 'hasValue bar a'." In the absence of a
meaningful TBox, of course, the answer is all of them.
I will try to work up an example that is both (reasonably) simple and
(reasonably) compelling.
>
> Cheers,
> Bijan.
More information about the Pellet-users
mailing list