如何从sparql查询中删除XML模式数据类型?

时间:2009-12-07 19:19:23

标签: xsd rdf semantic-web sparql owl

我在包含

的文件上运行sparql查询
<User rdf:about="#RJ">
<hasName rdf:datatype="http://www.w3.org/2001/XMLSchema#string">RJ</hasName>
</User>

我想只返回名称,即'RJ',但是当我输入我的查询时

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

其中assign是正确的命名空间我返回:

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

有没有人对如何删除sparql noob的xml架构类型有任何建议?

提前致谢

1 个答案:

答案 0 :(得分: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表达式,您可以在其他地方使用它来根据先前绑定的变量计算新值。