- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Thu, 6 May 2004 11:30:55 +0100
- To: Pat Hayes <phayes@ihmc.us>, RDF Data Access Working Group <public-rdf-dawg@w3.org>
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