【问题标题】:make a SPARQL query to get all the individuals with a specific property进行 SPARQL 查询以获取具有特定属性的所有个人
【发布时间】:2022-11-24 04:04:31
【问题描述】:

我有一个有两种关系的本体,“amigo_de”和“amigo_de_amigo_de”,这种关系的域和范围是相同的“pessoa”,包含这个本体的文件是一个 .nt 文件,我需要的是一个查询以获取对象具有“amigo_de_amigo_de”谓词的所有行。 我是 SPARQL 的新手,我在学习它时遇到了麻烦。 有用的信息:

  • “amigo_de_amigo_de”uri:文件://ontologiaTeste.ntriples#amigo_de_amigo_de
  • “pessoa”uri:文件://ontologiaTeste.ntriples#pessoa
  • 文件名:ontologiaTeste.ntriples

我知道文件扩展名是错误的,稍后我会更正它。

我没有尝试太多东西,但我正在研究 SPARQL 来尝试解决这个问题。

【问题讨论】:

  • 你有没有遇到什么问题?您要求的似乎是一个非常基本的查询。 SPARQL 规范中的第一个示例展示了这样一个查询的样子:Making Simple Queries

标签: sparql ontology n-triples


【解决方案1】:

你需要的是这样的:

SELECT ?obj
WHERE {
  _:a <file://ontologiaTeste.ntriples#amigo_de_amigo_de> ?obj
}

在这里,我们陈述了一个图模式,三元组必须满足该图模式才能作为查询结果的一部分返回。

因此,所有具有谓词 amigo_de_amigo_de 的对象 ?obj,以及主题的空白节点 _:a,因为您对该信息不感兴趣。

如果您还需要一个主题,那么您可以使用以下查询:

SELECT ?sub ?obj
WHERE {
  ?sub <file://ontologiaTeste.ntriples#amigo_de_amigo_de> ?obj
}

正如 Stefan 所指出的,这些是一些基本的查询。您可以在定义它们的 W3C 文档中找到每个语义 Web 概念的有用示例。在这里随意提问,但首先要通过例子来提高你的学习曲线! :))

【讨论】:

    猜你喜欢
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    相关资源
    最近更新 更多