2009-12-07 72 views
6

进出口运行在包含如何从sparql查询中删除XML模式数据类型?

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

我只想返回名称即“RJ”文件中的SPARQL查询,但是当我进入我的查询

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

,其中分配是正确的命名空间我返回这个:

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

没有人有任何建议如何删除sparql noob的XML模式类型?

在此先感谢

回答

8

无论你能做到这一点取决于你所使用的SPARQL实现。在SPARQL 1.0这是不可能的,但是与SPARQL 1.1这是目前广受大多数实现支持已成为2013年3月W3C推荐你可以使用Project Expressions如下:

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

基本上是一个项目表达式允许您使用任何有效的SPARQL表达式,您可以在其他位置根据先前绑定的变量计算新值。