- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Wed, 1 Jun 2005 07:22:29 -0400
- To: Dan Connolly <connolly@w3.org>
- Cc: RDF Data Access Working Group <public-rdf-dawg@w3.org>
- Message-ID: <20050601112228.GI1967@w3.org>
On Tue, May 31, 2005 at 12:07:46PM -0500, Dan Connolly wrote:
>
> So I was almost prepared to put the question ala:
>
> address fromUnionQuery ala http://www.w3.org/2001/sw/DataAccess/rq23/
> 1.367 plus multiple FROMs allowed
>
> but I didn't put the question because discussion of other designs
> didn't seem to be done. We ran out of time in the teleconference,
> but now that I think about it, this design seems quite mature and
> I wonder how we would get the other designs to be as mature; I haven't
> seen proposed text for other designs; the 12 Oct spec didn't have
> formal definitions; I didn't realize that people thought of it
> as sharply different until today. It's understandable that other
> people are counting on Andy to work out the details, since we're
> all busy... but I think it's fair to ask for test cases.
>
> 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.
>
>
> POLL OPTIONS:
> (0) take out GRAPH; query against one RDF graph punt SOURCE and
> fromUnionQuery issues
>
> (1) address fromUnionQuery ala
> http://www.w3.org/2001/sw/DataAccess/rq23/ 1.367 plus multiple
> FROMs allowed
>
> (1b) ala 1 but with no FROM/FROM NAMED in the QL, only in the protocol
>
> (2) use 12 Oct design
> (2b) ala PatH: bg graph always contains (vs is) the (er... something)
>
> (3) ala Yoshio, no implicit dataset; all data to be queried
> is specified in the query
>
> I'll give a few:
>
> for (0), take out section "7 RDF Dataset" and "8 Querying the Dataset"
> and "9 Specifying RDF Datasets" and cauterize dangling references;
> similarly for the protocol spec. As for a test case, take all the SOURCE
> tests and mark them as illegal syntax.
>
> For (1), here's a test case that clarifies how multiple
> FROMs work:
>
> SELECT ?who FROM <u1> FROM <u2> FROM <u3>
> WHERE { ?who foaf:knows :fred, :wilma, :barney }.
>
> <u1> has { :bambam foaf:knows :fred }
> <u2> has { :bambam foaf:knows :wilma }
> <u3> has { :bambam foaf:knows :barney }
>
> I don't think (1b) has much/any support.
>
> For option (2), I'm starting to understand how it's interestingly
> different, but I'm not sure I have my finger on it. Would EricP
> or SteveH or somebody please sketch a test case that makes the
> difference crisp?
>
> Also, Andy, can you take TimBL's comment
> http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2004Nov/0020.html
>
> and extract a test case that shows how the difference
> between the 12 Oct design and what TimBL is asking for?
I took at stab at this with the predjudice that they were not different:
Tim's example 0, source of inferred graphs (note the 'J'):
document foo.rdf :
mary foaf:phone 1234 .
+
document bar.rdf :
mary owl:sameAs maryJ .
+
OWL
=
graph _:x :
maryJ foaf:phone 1234 .
named graph query:
GRAPH ?s { maryJ foaf:phone ?y } .
?s inferredFromRule ?r
source (12 -Oct) query:
SOURCE ?s { maryJ foaf:phone ?y } .
?s inferredFromRule ?r
Tim's example 2 is, I think, getting at trust chains. I couldn't quite
work out what he was saying SPARQL should be able to do, so I'm
re-expressing examples from
http://lists.w3.org/Archives/Public/public-rdf-dawg/2005JanMar/0067
in the hopes that they are at least nearby:
DEFAULT TRUST
-------------
named graph and source queries are the same:
SELECT ?payee ?amount ?refStr
LOAD d:bobsBills
WHERE {
?check f:payTo ?payee .
?check f:amount ?amount .
?check f:reference ?refStr }
SINGLE TRUST DOMAIN
-------------------
named graph:
SELECT ?payee ?amount ?refStr
LOAD INTO d:bobsBills
WHERE { GRAPH d:bobsBills {
?check f:payTo ?payee .
?check f:amount ?amount .
?check f:reference ?refStr } }
source:
SELECT ?payee ?amount ?refStr
LOAD d:bobsBills
WHERE { SOURCE d:bobsBills {
?check f:payTo ?payee .
?check f:amount ?amount .
?check f:reference ?refStr } }
PREDICATED TRUST
----------------
named graph:
SELECT ?payee ?amount ?refStr
LOAD INTO a:bobsBills h:Bob
WHERE { GRAPH d:bobsBills {
?check f:payTo ?payee .
?check f:amount ?amount } .
GRAPH j:Bob {
?check f:reference ?refStr } }
source:
SELECT ?payee ?amount ?refStr
LOAD a:bobsBills h:Bob
WHERE { SOURCE d:bobsBills {
?check f:payTo ?payee .
?check f:amount ?amount } .
SOURCE j:Bob {
?check f:reference ?refStr } }
Both have the capacity to have more complex trust chains:
named graph:
SELECT ?payee ?amount ?refStr ?venue
LOAD INTO my:trusts a:bobsBills h:Bob z:events
LOAD z:events
WHERE { GRAPH <my:trusts> {
<I> my:trustWriter ?checkWriters .
<I> my:trustCounter ?beanCounter } .
GRAPH ?checkWriters {
?check f:payTo ?payee .
?check f:amount ?amount } .
GRAPH ?beanCounters {
?check f:reference ?refStr } .
GRAPH <z:events> {
?event z:happenedAt ?refStr } .
?event venue ?venue } # venue data not secure
source:
SELECT ?payee ?amount ?refStr ?venue
LOAD my:trusts a:bobsBills h:Bob z:events
WHERE { SOURCE <my:trusts> {
<I> my:trustWriter ?checkWriters .
<I> my:trustCounter ?beanCounter } .
SOURCE ?checkWriters {
?check f:payTo ?payee .
?check f:amount ?amount } .
SOURCE ?beanCounters {
?check f:reference ?refStr } .
SOURCE <z:events> {
?event z:happenedAt ?refStr } .
?event venue ?venue } # venue data not secure
> 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.
>
>
--
-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 Wednesday, 1 June 2005 11:22:31 UTC