On Apr 17, 2007, at 10:08 AM, [EMAIL PROTECTED] wrote:
Hi Alan,
I am quite interested in your approach of making OWL property
restrictions accessible to Sparql queries.
In general, our demo contains several ontologies that are mainly
based on classes and OWL property restrictions. To query the
information held in these ontologies directly with Sparql would be
quite complicated, as the OWL property restrictions produce RDF
graphs that are quite convoluted and hard to query.
They are not that hard to query as asserted - the page is a proof by
demonstration - they are just verbose and have detail that is better
managed by a computer program than a person. A reasonable macro
system within SPARQL could encapsulate these patterns and make them
easier to write. What is hard is doing queries that return sound and
complete answers. But this is not a function of the expression of the
restrictions, rather finding the implications of what the
restrictions and class definitions say.
One way of 'querying' such ontologies would be to define a new
'query class' with necessary & sufficient conditions that are the
parameters of the query, run a reasoner, and see which classes are
classified as subclasses of the 'query class'.
Certainly, for our demo, where there are nontrivial subsumptions that
can be computed by a reasoner, we should attempt to augment the store
with these subsumptions (a set of x subclassof y triples). I'm
working towards making it easy to add additions like this. For the
moment we will only be able to do our best to make sure that these
will lead to sound query results. They certainly won't be complete.
For example, our current demo script contains the research question
"How might beta amyloid alter LTP in CA1 neurons?". This can be
answered by using the BrainPharm dataset and setting up a class
that has CA1 neurons and beta amyloid as parts and/or participants.
I did with Protege and Pellet, and it works.
Could you put up instructions on how to reproduce this on a page on
the wiki and link it to mine? I'll then look at replicating it in our
store.
However, I do not know how this approach could be implemented in a
real web environment with the current tools that we have. How would
the ‘query class’ be produced? How would it be added to the RDF
store? How should this be implemented with decent scalability?
These are all questions that should be obvious, but yet they have
been ignored by many influental ontology / OWL developers so far. I
think that we will not have a practical answer to these questions
in the immediate future.
In general, I think we are aiming towards a time where we will have
stores which are capable of doing full inference. That is why I have
emphasized using the full expressivity of OWL in trying best express
our intentions rather than adjusting, at the encoding level, our
statements to match our currently lower expectations of what the
tools can do.
There are promising developments in the direction of increased levels
of inference - Instance Store II, DL-Lite, A-Box summarization,
ideas based on the new reasoner Hermit etc. Many of these approaches
are based, in one way or another, on adding various kinds of
precomputed information and data structures to the store in order
that less reasoning need be done at query time. The naive approach to
this - adding entailed triples - is reasonably successful and is
demonstrated in systems such as Oracle's RDF store, Sesame, OWLIM,
and to a currently lesser extent, in Virtuoso (more about that will
be put on the aforementioned page, hopefully later today).
So the general idea of adding triples such as I have done is not
particularly novel, and one would expect it to scale reasonably,
based on the existing systems that I cite.
Therefore, I think that Alan’s proposal of adding direct relations
between class entities is the best solution we have at the moment.
Of course, it would be nice to find a solution that would make it
possible to keep the resulting ontologies valid OWL DL. Maybe we
should set up annotation properties that are derived from the
original properties (e.g. by concatenating ‘_class_property’ to the
end of the URIs of the original properties) and use these?
There are different ways to think about this. As I note, what I have
done is considered valid OWL 1.1 because of punning. In a more
polished system we could also consider the added triples to be
internal information known to the query compiler, which could rewrite
more complicated queries to uses these added triples. If we wanted to
keep the full set OWL-DL, then your approach of using shadow
annotation properties for these relations would lead to correct OWL-
DL, though we would still need to be careful, as we will be now, to
be cognizant of what to expect as the answers to each kind of query,
since although they are OWL-DL they don't have their real semantics
encoded.
So to summarize - our approach now is to try to not compromise at the
representation end, but to compromise at the query side, by using
various tricks to enable a set of queries which we know in advance we
want to support, aware that other reasonable queries will not be able
to be answered. I've proposed this approach for a number of reasons,
but importantly because
- the representation side has been neglected, IMO,
- it necessarily requires skills which are unique to our community
within the SW, e.g. understanding science,
- if we express what we mean, we can leave the query optimization
to other people who don't need to know the science, expecting that
answers produced by new generations of query engines will return more
and more interesting, meaningful, and scientifically sound answers.
Regards,
Alan
cheers,
Matthias Samwald
-------- Original-Nachricht --------
Datum: Tue, 17 Apr 2007 01:31:35 -0400
Von: Alan Ruttenberg <[EMAIL PROTECTED]>
An: public-semweb-lifesci@w3.org
Betreff: Demo SPARQL notes
I've started a page where I and others can document some of the
SPARQL queries and techniques that are being explored as we progress
towards the demo.
The intention is to have a place to record things that are learned
for later reference.
http://esw.w3.org/topic/HCLS/HCLSIG_Demo_QueryScratch
Regards,
Alan
--
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail