2009-12-07 6 views
6

Im einen SPARQL-Abfrage auf einer Datei ausgeführt wird, dieWie können Sie den XML-Schema-Datentyp aus der Sparql-Abfrage entfernen?

<User rdf:about="#RJ"> 
<hasName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">RJ</hasName> 
</User> 

I enthält wollen nur den Namen dh ‚RJ‘ zurückzukehren, aber wenn ich meine Abfrage eingeben

SELECT ?name 
FROM <example.com> 
WHERE { 
     assign:RJ assign:hasName ?name . 
} 

wo assign ist der richtige Namensraum i dies zurück:

"RJ" ^^<http://www.w3.org/2001/XMLSchema#string> 

hat jemand einen Rat, wie der xML-Schema-Typen für einen sparql Noob entfernen?

Dank im Voraus

Antwort

8

Ob Sie dies tun können, hängt von der SPARQL Implementierung Sie verwenden. Unter 1,0 SPARQL ist dies nicht möglich, jedoch mit SPARQL 1.1, die jetzt von den meisten Implementierungen unterstützt eine W3C-Empfehlung März 2013 geworden Sie Project Expressions wie folgt verwendet werden:

SELECT (STR(?name) AS ?StringName) 
FROM <example.com> 
WHERE { 
    assign:RJ assign:hasName ?name 
} 

Im Grunde ein Projekt Ausdruck können Sie verwenden Jeder gültige SPARQL-Ausdruck, den Sie anderweitig verwenden können, um einen neuen Wert basierend auf den zuvor gebundenen Variablen zu berechnen.