- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Wed, 2 Jun 2004 16:24:26 +0100
- To: Phil Dawes <pdawes@users.sourceforge.net>
- Cc: Chris Bizer <chris@bizer.de>, www-rdf-interest@w3.org
Phil, I have considered it and multiple queries per request can be useful. However, the need for it is lessened because HTTP request can be issued one after another on the same connection without first getting a reply. This is not the same as merging at the server but does mean many queries can be issued at a time and independent queries don't an accumulate the round-trip-time (RTT). The language APIs to HTTP I have used don't make this easy but HTTP does allow it. More below ... -------- Original Message -------- > From: Phil Dawes <> > Date: 2 June 2004 15:45 > > Hi Andy, > > Have you considered allowing multiple queries in a single > request for joseki? > > For example, in order to render a veudas resource view (like a fetch, > but with rdfs:labels used to render the statements), veudas does the > following: > > 1) a query to retrieve the resource information > 'select ?p, ?o where (foo:bah, ?p, ?o)' > 2) a query to retrieve the labels for the properties > 'select ?p, ?o ?l where (foo:bah, ?p, ?o) (?p rdfs:label ?l)' > 3) a query to retrieve the labels for the objects > 'select ?p, ?o ?l where (foo:bah, ?p, ?o) (?o rdfs:label ?l)' I would do this as a "fetch" with a custom handler for the fetch operation. If you think of "fetch" as "describe" then you are defining one such operation that gets (foo:bah, ?p, ?o) and any labels for ?p and ?o. "fetch" isn't supposed to be a fixed operation, it is defined by the server. I have also done this with a client-side label cache. More so for properties, the same ones keep getting used so the cache quickly gets to a high hit rate. > > These queries don't depend on each other and so could be done in a > single request. > > With multiple source stores, the number of requests grows rapidly as > veudas attempts to iterate around terms it doesnt have labels for, > firing off a query request for each one. I suspect that multiple > queries in a single dispatch would improve performance massively. It > would also mitigate some of the performance lost to not having > optional query parameters in RDQL. It seems that what you want to avoid is the accumulated RTT of doing things request-response. And, yes, optional triples in RDQL would help! > > Could this be as simple as allowing multiple query parameters to the > GET request and merging the resulting graphs? > > Many thanks, > > Phil
Received on Wednesday, 2 June 2004 11:25:21 UTC