没有命名空间的 Sparql 查询结果

标签 sparql semantic-web jena virtuoso

我想从 sparql 查询中获取结果并且结果不包含命名空间。
例如:有三重格式的结果,如:

"http://www.xyz.com#Raxit"  "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"  "http://www.xyz.com#Name"

所以我只想得到以下内容:
Raxit type Name

我想直接从 sparql 查询中得到这个结果。我正在使用艺术大师。

是否有可能从 sparql 得到这个?

请分享您对此的看法。

提前致谢。

最佳答案

如果您的数据是常规数据,并且您知道您想要的子字符串总是出现在 # 之后字符,那么您可以使用 strafter SPARQL 1.1 中的函数。我不知道这在 Virtuoso 的实现中是否可用。

然而,总的来说,这是一个非常冒险的策略。并非所有 URI 的格式都在 # 之后带有本地名称部分。特点。事实上,一般来说,URI 可能根本没有合法或有用的本地名称。所以你应该问问自己:为什么你认为你需要这个?一般而言,语义 Web 应用程序使用整个 URI 作为不可分割的标识符。如果您实际上需要在 UI 中显示人性化的内容,请让您的查询也查找 rdfs:labelskos:label特性。最坏的情况是,尝试将 URI 缩写为 q-name 形式(即 prefix:name ),使用来自模型或服务的前缀 prefix.cc

关于没有命名空间的 Sparql 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11234371/

相关文章:

sparql - RDF - 一个主题属性的多个对象

python - 在Sparql中查询字母mu

git - 如何在三重存储之上设置版本控制

rdf - 使用变量与 IRI 的奇怪 SPARQL 行为

rdf - 如何构建正确的 SPARQL 查询

java - 如何使用 Jena 创建特定类别的个体?

带圆括号的 sparql 查询抛出异常

sparql - 将 OWL 类表达式重写为 SPARQL 查询?

sparql - 耶拿/阿克 : Query Processing get stuck

java - 从 SPARQL 更新查询获取受影响的三元组