- 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