- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Fri, 1 Jul 2005 07:31:35 -0400
- To: Dan Connolly <connolly@w3.org>
- Cc: Andy <andy.seaborne@hp.com>, Seaborne@w3.org, Ron Alford <ronwalf@umd.edu>, public-rdf-dawg-comments@w3.org, Arjohn Kampman <arjohn.kampman@aduna.biz>
- Message-ID: <20050701113135.GG15269@w3.org>
On Thu, Jun 30, 2005 at 05:38:56PM -0500, Dan Connolly wrote:
>
> Ron writes...
> http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2005Jun/0045.html
> > There is a difference between extending the protocol in a compatible
> > way, and extending it in a conflicting manner.
>
> yeah... I'm trying to figure out which you're asking for. I wonder
> if a test case clarifies.
>
> I gather the relevant text is...
>
> [[
> Blank nodes in queries are distinct from all blank nodes in the data. A
> blank node in a graph pattern does not match a blank node in the data by blank
> node label. A blank node in a query pattern may match any RDF term.
> ]]
> -- 2.7 Blank Nodes
> http://www.w3.org/2001/sw/DataAccess/rq23/#BlankNodes
>
> cwm has a mode where it makes up blank nodes based on line/column
> numbers so you can see where they came from and so they're repeatable.
> So we might have data a la...
>
> _:l23c14 foaf:mbox <mailto:connolly@w3.org>.
>
> and we might make a query like...
>
> SELECT ?MBOX
> WHERE { _:l23c14 foaf:mbox ?MBOX. }.
>
> Now in fact, the bnode in the query *does* match the bnode
> in the data in that case. So it's pretty clear that
>
> "A blank node in a graph pattern does not match a blank node in the
> data by blank node label."
>
> is misleading. In fact, I think
>
> "A blank node in a query pattern may match any RDF term."
>
> should just be
>
> "A blank node in a query pattern matches every RDF term."
>
> but every is sorta confusing in a way... so maybe
>
> "In a query pattern, a blank node is parsed as a variable
> that is distinct from all other variables in the query."
>
> so that in the abstract form, query patterns never
> have bnodes at all. Andy, how does that strike you?
>
>
> Meanwhile, if you really mean to use bnodes in
> some session context, I'm not sure you can do that
> in a compatible way. If you use different bnode
> identifiers, they still have to match. i.e.
>
> SELECT ?MBOX
> WHERE { _:l55c33 foaf:mbox ?MBOX. }.
>
> still has (?MBOX, <mailto:connolly@w3.org>) as a solution,
> even thought the bnode identifiers are different.
> Any piece of software that says that's not a solution
> is not implementing the semantics of SPARQL.
To figure this out, I'd like to see a use case where you extend SPARQL
to use session-persistent bNodes. Then I'd like to see if a client
that doesn't know of this extension will get different answers than it
expects.
--
-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 Friday, 1 July 2005 11:31:38 UTC