- From: Paul Gearon <gearon@ieee.org>
- Date: Thu, 29 Jul 2010 13:13:18 -0400
- To: Mischa Tuffield <mischa.tuffield@garlik.com>
- Cc: Damian Steer <pldms@mac.com>, Semantic Web <semantic-web@w3.org>
On Thu, Jul 29, 2010 at 12:38 PM, Mischa Tuffield <mischa.tuffield@garlik.com> wrote: >> As for being queried in SPARQL, that's a relative concept. Yes, you >> can't match it directly, as you've pointed out, but it can still be >> returned in results (unless an implementation specifically tries to >> put the data into an internal IRI and a validation error occurs, but >> that's implementation specific). It's always possible to bind it to a >> variable and return the data. Alternatively, if you really did want to >> search for it, you could bind to a variable, and FILTER on its string >> representation. Yes, it will be slow, but my point is that the >> language isn't *completely* deficient (complain to Steve if it is). >> ;-) > > I understand that I can query the RDF using sparql and I can bind it to a > variable to get the URI returned. I stumbled upon this because I was doing a > "insert data {graph <http://example.com/graph> { , > <http://example.com/foo'bar> foo:Property "something" . }" as per the sparql > update work, which I can't really do the bind trick with, but I didn't want > to use that as an example as the sparql people are not finished with their > work. Officially, you're right, it's not finished. However, that's not going to change, so it's probably worth mentioning. In a hack similar to the one I mentioned with FILTER, but you can always say: insert { graph <http://example.com/graph> { ?u foo:Property "something" } } { { select IRI("http://example.com/mylamefoafdocument`uri") as ?u {} } } But then I realized that this uses a non-standard constructor for IRIs! I should raise this as a possible function for SPARQL 1.1. > But yes point taken, I have already moaned about this with Steve (and trust > me I do bug him the whole time), I guess I will probably end up poking the > sparql wg about this. I don't think of this as a SPARQL issue so much as an RDF issue. SPARQL was trying to be forward compatible when it selected IRIs, and accepting URIRefs would seem to be a backward step. Instead, the RDF 2 WG (if one goes ahead) should look to move to IRIs, and indeed this is on the table. Regards, Paul Gearon
Received on Thursday, 29 July 2010 17:13:46 UTC