rdf - SPARQL 查询传递

标签 rdf sparql jena owl inference

我是 SPARQL 的初学者,想知道是否有一个查询可以帮助我返回传递关系。例如下面的 n3 文件,我想要一个返回“a 与 c 相同”或类似内容的查询。谢谢

@prefix : <http://websitename.com/links/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

:a owl:sameas :b.
:b owl:sameas :c.

最佳答案

如果您使用适当启用的 SPARQL 1.1 引擎,则可以使用属性路径,并且您已标记您的问题 Jena,因此我假设您正在使用支持此功能的 ARQ 引擎。

因此您可以编写如下查询:

PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT *
WHERE
{
  ?x owl:sameAs+ ?y
}

注意谓词后面的+,用于指示它应该查找由一个/多个步骤组成的关系。

属性路径的语法可以在here中找到。并且非常像正则表达式。使用此查询的唯一缺点是您无法获得有关路径有多长或中间节点是什么的任何信息。

关于rdf - SPARQL 查询传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8569810/

相关文章:

java - 使用 APACHE JENA 自动检测文件扩展名

docker - 如何使用命令行向 Apache Fuseki 添加新数据集?

java - ARQ 是否支持 SPARQL 1.1 日期和时间函数?

rdf - DBpedia 数据集中的哪个 .nt 文件包含有关 DBpedia 类的三元组?

java - 从 SPARQL 查询中仅获取 "#"之后的名称

sparql - 维基数据:如何通过 SPARQL 查询 "language"(P1448) 的 "official name"?

sql - 翻译 SPARQL-TO-SQL 查询

java - 如何将修改(OWL文件的创建、更新)保存到fuseki服务器中

rdf - 本体/语义/OWL/RDF 有什么 killer 级应用吗?

java - 我无法删除耶拿中的数据类型属性值