2009-12-07 15 views
6

Im exécute une requête SPARQL sur un fichier qui contientComment pouvez-vous supprimer le type de données de schéma XML de la requête sparql?

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

Je veux retourner seulement le nom-à-dire « RJ », mais quand je rentre ma requête

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

où assign est l'espace de noms correct i retourner ceci:

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

quelqu'un at-il des conseils sur la façon de supprimer le type de schéma XML pour un noob sparql?

merci à l'avance

Répondre

8

Que vous pouvez faire cela dépend de la mise en œuvre SPARQL que vous utilisez. Sous SPARQL 1.0 cela est impossible, mais avec SPARQL 1.1 qui est maintenant largement soutenu par la plupart des implémentations devenu une recommandation W3C en Mars 2013, vous pouvez utiliser Project Expressions comme suit:

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

Fondamentalement, une expression de projet vous permet d'utiliser toute expression SPARQL valide que vous pourriez utiliser ailleurs pour calculer une nouvelle valeur basée sur les variables précédemment liées.