- From: Mischa Tuffield <mmt04r@ecs.soton.ac.uk>
- Date: Mon, 21 Mar 2011 12:40:19 +0000
- To: Hugh Glaser <hg@ecs.soton.ac.uk>
- Cc: "<nathan@webr3.org>" <nathan@webr3.org>, Linked Data community <public-lod@w3.org>
- Message-ID: <EMEW3|b4a3c61fa386983eaa59b7db487c0cd3n2KCea06mmt04r|ecs.soton.ac.uk|FCC8D2EE-D>
Hi Hugh,
<snip/>
On 21 Mar 2011, at 11:08, Hugh Glaser wrote:
> Thanks guys.
> Sigh - not that one again.
> The problem was I hadn't noticed I was getting back the yago URI, not the dbpedia resource.
> It's just so hard :-)
>
> Right - now I am officially pissed off.
:(
> The number of times I have wasted time trying to SPARQL for exact strings, only to find I have missed the @en or the ^^<http://www.w3.org/2001/XMLSchema#string>)
> And then had to start messing about scrubbing around in xml or rdf to find out what I had missed.
> All because the html version of SPARQL results decides I don't need to be bothered with trivia like that.
>
> Just who was it that decided that this information was surplus to requirements when returning html from a SPARQL query?
> It isn't. The primary reason anyone would be looking at the results of a SPARQL query is to work out exactly what is in the store.
> So they can start querying.
> And essentially the html is lying to me.
> (Not just the dbpedia endpoint, but it seems pretty universal.)
>
> This just isn't joined up:
> When I do
> select * where {<http://dbpedia.org/resource/World_Wide_Web_Consortium> ?p ?o}
> I get back stuff that includes lines such as:
> http://www.w3.org/2000/01/rdf-schema#label World Wide Web Consortium
> But if I now put back in essentially what I got out:
> select * where {?s <http://www.w3.org/2000/01/rdf-schema#label> "World Wide Web Consortium"}
> I get back
> http://dbpedia.org/class/yago/WorldWideWebConsortium
>
> The HTML, spreadsheet, Javascript and CSV give no hint of the lang.
> So it is not just about a person having a problem - if I wrote an agent to process output and chose CSV I would have the same problem.
>
> Time to improve the html output at the least?
>
> Best
> Hugh
>
> PS While we are in SPARQL for dummies mode ( :-) ) what is the best way of doing a query for an exact string where I don't care about the language or the datatype?
> I'm sure this is easy in SPARQL 1.1, as there have been so many users who would have needed it. I am hoping that the answer is not regex for such a common thing.
You can do it in SPARQL 1.0, no need for SPARQL 1.1. You can use the str() function, it strips off all of the language tags and datatypes:
SELECT ?s
WHERE { ?s rdfs:label ?label .
FILTER (str(?label) = "World Wide Web Consortium") }
I would point out that this is a super inefficient query, and will have to walk the entirety of the graph. I have tried to run the query on dbpedia's sparql-endpoint and it doesn't seem to want to answer it, but saying that it is a horrible query to issue to a sparql store.
Regards,
Mischa
>
> On 21 Mar 2011, at 01:05, Nathan wrote:
>
>> select distinct ?s where {?s ?p "Arts and Humanities Research Council"@en}
>>
>> :)
>>
>> Hugh Glaser wrote:
>>> dbpedia sparql endpoint is not doing what I expect.
>>> select distinct ?s where {?s ?p "World Wide Web Consortium"}
>>> gives an answer
>>> select distinct ?s where {?s ?p "Arts and Humanities Research Council"}
>>> doesn't.
>>> But both
>>> http://dbpedia.org/resource/World_Wide_Web_Consortium
>>> and
>>> http://dbpedia.org/resource/Arts_and_Humanities_Research_Council
>>> are there with dbpprop:name and rdfs:label and the string.
>>> What am I doing wrong?
>>> The two queries as the actual URLs:
>>> http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+distinct+%3Fs+where+%7B%3Fs+%3Fp+%22World+Wide+Web+Consortium%22%7D&debug=on&timeout=&format=text%2Fhtml&save=display&fname=
>>> http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+distinct+%3Fs+where+%7B%3Fs+%3Fp+%22Arts+and+Humanities+Research+Council%22%7D&debug=on&timeout=&format=text%2Fhtml&save=display&fname=
>>> Hope this is not a senior moment, but suspect it is :-)
>>
>
> --
> Hugh Glaser,
> Intelligence, Agents, Multimedia
> School of Electronics and Computer Science,
> University of Southampton,
> Southampton SO17 1BJ
> Work: +44 23 8059 3670, Fax: +44 23 8059 3045
> Mobile: +44 78 9422 3822, Home: +44 23 8061 5652
> http://www.ecs.soton.ac.uk/~hg/
>
>
>
Received on Monday, 21 March 2011 12:41:10 UTC