Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sparql Query Results without Namespace

I want to get results from sparql query and the results contain no namespace. ex: there is result in triple format like:

"http://www.xyz.com#Raxit"  "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"  "http://www.xyz.com#Name"

So i want to get only following:

Raxit type Name

I want to get this results directly from sparql query. I am using virtuoso.

Is it possible to get this from sparql?

Please share your thoughts regarding this.

Thanks in Advance.

like image 592
Raxit Avatar asked Jun 27 '12 20:06

Raxit


1 Answers

If your data is regular, and you know that the sub-string you want always occurs after a # character, then you can use the strafter function from SPARQL 1.1. I do not know whether this is available in Virtuoso's implementation or not.

However this is, in general, a very risky strategy. Not all URI's are formatted with a local name part after a # character. In fact, in general, a URI may not have a legal or useful localname at all. So you should ask yourself: why do you think you need this? Generally speaking, a semantic web application uses the whole URI as an indivisible identifier. If your need is actually for something human-friendly to display in a UI, have your query also look for rdfs:label or skos:label properties. Worst case, try to abbreviate the URI to q-name form (i.e. prefix:name), using the prefixes from the model or a service like prefix.cc

like image 166
Ian Dickinson Avatar answered Sep 18 '22 20:09

Ian Dickinson