Re: Query Language Issues (realization, rules->descriptions)

From: Dan Connolly (
Date: 11/15/01

Ian Horrocks wrote:
> this of course makes the query language much less
> expressive - in a certain sense, it then just becomes a fancy "user
> interface" for our old friend realisation (tell me the members of
> class C).

I find that pretty appealing, really.

I'm most interested in general-purpose RDF query and rules stuff;
I've been wondering what a "DAML+OIL query language" would look
like if it weren't a general-purpose RDF query langauge.
The above is a pretty satisfying bumper-sticker description
for a DAML+OIL query language.

> The additional point regarding cycles can be summarised as
> follows. When there are no cycles in the non-distinguished variables,
> queries can easily be "collapsed" into a single class and answered
> using our standard reasoning services, e.g., a query of the form:
> (x) <- Q(x,y) ^ R(y,z) ^ S(z,w)
> can be reduced to:
> (x) <- C(x)
> where C is the class (hasClass Q (hasClass R (hasClass S
> Thing))). Note that (an extended version of) the technique can still
> be used when there are n distinguished variables.

That sorta appeals to me, but after scratching my head
for a few minutes, I don't quite get it.

I would very much appreciate a tutorial on rewriting horn
clauses as DAML+OIL descriptions.

The tools I use ( are pretty
much rules-based, but I'm making an effort, lately, to replace
application-specific rules ala:

  { :n1 a rm:external} log:implies
     { :n1 dot:color "grey5"; dot:shape "plaintext"}.

with rules to capture DAML+OIL:

  # hasValue
  { :s a [ ont:onProperty :p; ont:hasValue :o ] }
    log:implies { :s :p :o }.

and facts written in the DAML+OIL vocabulary:

  _:doesAnnoProto ont:onProperty rm:prototypes; ont:hasValue
  psum:AnnoteaClient u:subClassOf _:doesAnnoProto.
  psum:AnnoteaService u:subClassOf _:doesAnnoProto.

but it takes significant mental energy to think this way,
and I'm only able to do it in simple cases.

Dan Connolly, W3C

This archive was generated by hypermail 2.1.4 : 04/02/02 EST