RE: summary of OWL-QL experiences

Sorry missed something on the expectations from SQL people.

	Andy

-------- Original Message --------
> From: public-rdf-dawg-request@w3.org <>
> Date: 5 May 2004 01:37
> 

<snip/>

> 
> Many of our potential users complained that there was no way
> to do SQL-type stuff in a query language like this.

It would be interesting to hear what SQL-type stuff, specifically.  I have
had requests for subqueries and also for ORDER BY (inc. on bNodes!)/GROUP
BY, also SUM(), COUNT and DISTINCT etc.  Sometimes its for consistent order,
rather than exactly sorting. 

On subqueries: the common form of this request is to write "NOT IN
(subquery)" that is negation and set-based operations.  Its SQL thinking
from experienced SQL programmers (and providing an RDF query language that
starts with the word "SELECT"). ("IN" can be done without a subquery).

> One can
> do some of this using OWL and by tweaking the answer pattern,
> as the paper mentions; but basically they are right, and I
> don't know what we can do about it, since many RDF graphs
> aren't database-like. However, many are, so it seems that
> there ought to be something constructive to be done here.
> Over to y'all :-)  FWIW, I have come to think that allowing
> some SQL-style operations on RDF based on namespaces would be
> generally useful, eg allowing a query to be applied to a
> subset of a graph defined by a 'select'  based on parts of a
> triple being in a particular set of namespaces. This isn't
> handled by the DQL model very well but seems useful.

Agreed.

> 
> Another piece of feedback was that people wanted to be able
> to ask things like, how many answers are there? before asking
> to see the actual answers.

Again, I had this requested - not necessary before asking the question.

> This makes sense for tabular
> databases but makes no sense for most 'logical' KBs, and in
> general breaks our 'query as proving a theorem' model since
> this is a query about the entire set of answers. Still, we
> gave in to pressure and allowed it. (This particular one is a
> little hairy in OWL since OWL itself reasons about
> cardinalities of sets.) In general, our default response to
> requests like these was to allow a query to ask them, but to
> keep them simple and allow an answering service to refuse to
> answer them without being nonconformant.
> 
> That is all I can think of right now.
> 
> Pat
> 
> PS. In case its not obvious, things like 'yes/no' answers can
> be encoded as patterns without any answer variables, by
> distinguishing between an empty set of answers (= no) and a
> single answer which is empty (= yes), or more directly by
> giving "yes" as the answer pattern.

Received on Thursday, 6 May 2004 06:43:38 UTC