- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Thu, 2 Jun 2005 01:48:58 -0400
- To: Yoshio FUKUSHIGE <fuku@w3.org>
- Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>
- Message-ID: <20050602054858.GB4845@w3.org>
On Wed, Jun 01, 2005 at 08:27:32PM +0900, Yoshio FUKUSHIGE wrote:
>
>
> Hi,
>
> Dan:
>
> >For each of these options, and any other designs anybody wants
> >the WG to consider, would you please send a test case that
> >distinguishes it from the design in the editor's draft?
> >Bonus points for suggesting textual changes.
>
> > (3) ala Yoshio, no implicit dataset; all data to be queried
> > is specified in the query
>
> >For (3), we one degenerate test case that distinguishes it
> >from rq23 is the 1st example in the spec:
> >
> >SELECT ?title
> >WHERE { <http://example.org/book/book1>
> ><http://purl.org/dc/elements/1.1/title> ?title }
> >
> >that becomes illegal. Some specification of the data
> >to query is required; so the "hello world" example
> >would change to semething like:
> >
> >SELECT ?title FROM <books.rdf> WHERE { ?book dc:title ?title }.
> >
> >That seems like a significant change in direction, so
> >I'd like to see explicit support from several WG members
> >before we explore it further.
> >
> >Other things that become illegal in this design are answers
> >that come from beyond the graphs given in the query. I doubt
> >that can be expressed in our current test harness, but I suppose
> >we could figure out some way to do it.
>
> Hmm, I don't see it significant change.
> It's a design preference (EricP showed me in personal communication
> that using (1) or (2), we can still do the same thing as (3),
> but the query gets quite complicated).
> It's a simplification.
> (putting aside (0), it's the simliest one, I admit, but weaker)
Recording Yoshio and my whiteboard discussion here:
Given this data:
<c>:
<A> knows <B>
<d>:
<B> mbox <mailto:b>
It seems the following 4 expressions are all equivilent:
(1) (Named Graphs (arbitrary pre-existing data)):
FROM <c> <d>
WHERE {
GRAPH ?g { ?who knows ?whom } .
GRAPH ?g { ?whom mbox ?mbox } .
FILTER ?g = <c> || ?g = <d>
(2) (Source (arbitrary pre-existing data)):
FROM <c> <d>
WHERE {
SOURCE ?g { ?who knows ?whom } .
SOURCE ?g { ?whom mbox ?mbox } .
FILTER ?g = <c> || ?g = <d>
(3) (No Default Graph):
FROM <c> <d>
WHERE {
?who knows ?whom .
?whom mbox ?mbox } }
(?) (Source + CLEAR (arbitrary pre-existing data)):
CLEAR
FROM <c> <d>
WHERE {
?who knows ?whom .
?whom mbox ?mbox } }
It is also possible to compile (3) into (1) or (2).
> Well, you don't have to be precise/complete when you don't care
> what data the service use.
>
> You can put the URI of the endpoint there in those cases, like
> ---
> FROM <http://sparql.example.org/> # meant to have single <>'s
> SELECT ...
> WHERE {...}
> ---
> where the URI of the endpoint of the service is http://sparql.example.org/
>
> And the service may well use any inference or consulting any databases
> (it's delegated)
>
> This design is also useful especially when queries are handled by an
> intermediate
> server, as Pat mentioned yesterday.
>
> Query issuer (=end user) doesn't have to care about the protocol, he/she
> can let the system care.
> Intermediator can delegate to some other service(s) safely, while keeping
> the query unchanged.
>
>
> OK, test case, anyway
>
> PREFIX foaf: <http://xmlns.com/foaf/0.1/>
> FROM <http://db1.example.org/>
> SELECT ?m
> WHERE {<http://example.org/People/Yoshio> foaf:mbox ?m}
>
> Suppose this query is handled to SPARQL service A, whose endpoint URL is
> http://sparql.example.org/,
> and A has access to some RDF databases identified by
> http://db1.example.org/ (db1), and http://db2.example.org (db2).
>
> Suppose further that db1 has
> <http://example.org/People/Yoshio> foaf:mbox <mailto:yoshio@example.org>.
>
> and db2 has
> <http://example.org/People/Yoshio> foaf:mbox <mailto:tonto@example.org>.
>
>
> With option (3), only <mailto:yoshio@example.org> will be bound,
> while in (1) or (2), when db2 is already in the default database,
> <mailtp:tonto@example.org> will also be bound to ?m.
>
> # And I don't want to be known my secret, i.e. being "tonto" : )
>
> I hope it will do as a test case.
>
> Best,
> Yoshio
> fukushige.yoshio@jp.panasonic.com
> fuku@w3.org
>
--
-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: +81.90.6533.3882
(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Thursday, 2 June 2005 05:49:02 UTC