- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Tue, 27 Jul 2004 00:58:25 -0400
- To: public-rdf-dawg@w3.org
- Message-ID: <20040727045825.GA4076@w3.org>
Joe wants to see what top 10 movies of also had top-ten soundtracks. IMDB has information about movies and CDDB has info about music. Joe writes a query that gets the titles of all the top 10 movies. These are boudn to the variable ?t. He uses those bindings for ?t to then query IMDB to filter out the ones that did not have top 10 soundtracks. from CDDB: CONSTRUCT (?t foo bar) WHERE (?m tt:rank ?rc) (?m cddb:soundtrack ?s) (?s dc:title ?t) AND ?rc <= 10 from IMDB: SELECT ?t WHERE (?r tt:rank ?ri) (?r dc:title ?t) AND ?ri <= 10 This needs the ability to use variables bound in an earlier query to constrain later queries. It also requires some sort of query targeting. In algae, this looks like: ns tt=<...> ns cddb=<...> ns dc=<...> attach <http://www.w3.org/...#remoteQuery> ?cddb ( server=<http://cddb.com/rq>) ask ?cddb ( ?m tt:rank ?rc {?rc <= 10} . ?m cddb:soundtrack ?s . ?s dc:title ?t ) attach <http://www.w3.org/...#remoteQuery> ?imdb ( server=<http://imdb.com/querySrvc>) ask ?cddb ( ?r tt:rank ?ri {?ri <= 10} . ?r dc:title ?t ) collect (?t) This is very different from (more rigorous and expensive than) our current definition of aggregate query [1]. Such a query would, if the data is divided as the above queries suggest, return zero results. [1] http://www.w3.org/2001/sw/DataAccess/UseCases#d4.5 -- -eric office: +81.466.49.1170 W3C, Keio Research Institute at SFC, Shonan Fujisawa Campus, Keio University, 5322 Endo, Fujisawa, Kanagawa 252-8520 JAPAN +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA cell: +1.857.222.5741 (does not work in Asia) (eric@w3.org) Feel free to forward this message to any list for any purpose other than email address distribution.
Received on Tuesday, 27 July 2004 00:58:25 UTC