Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SPARQL Query: How I get only a literal or string as result?

Tags:

rdf

sparql

Data:

<untitled-ontology-5:OperationName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">
  Adhesive Curing
</untitled-ontology-5:OperationName>

SPARQL Query:

PREFIX rdf:<http://wwww.semanticweb.org/ontologies/2012/7/9/untitled-ontology-5#>
SELECT ?object
WHERE { ?subject  rdf:OperationName ?object .       
}

Result:

Adhesive Curing^^http://www.w3.org/2001/XMLSchema#string 

My Question:

The result of the SPARQL Query is not the result what I wanted. The right result should contain only the Literal/String without the URI-part. I'd like to create the following result:

Proper Result:

Adhesive Curing
like image 773
user2228191 Avatar asked Mar 30 '13 23:03

user2228191


People also ask

What is a prefix in SPARQL query?

"PREFIX", however (without the "@"), is the SPARQL instruction for a declaration of a namespace prefix. It allows you to write prefixed names in queries instead of having to use full URIs everywhere. So it's a syntax convenience mechanism for shorter, easier to read (and write) queries.

What is bind in SPARQL?

BIND. SPARQL's BIND function allows us to assign a value to a variable.

Which clauses in SPARQL can be used to match partial information in an RDF graph?

The query consists of two parts: the SELECT clause identifies the variables to appear in the query results, and the WHERE clause provides the basic graph pattern to match against the data graph.


1 Answers

You need to use the STR() function to retrieve the lexical label of your literal:

Query:

SELECT (str(?object) as ?label) 
WHERE { ?subject rdf:OperationName ?object . }
like image 50
Jeen Broekstra Avatar answered Nov 16 '22 02:11

Jeen Broekstra