我在包含
的文件上运行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架构类型有任何建议?
提前致谢
答案 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表达式,您可以在其他地方使用它来根据先前绑定的变量计算新值。