【问题标题】:Counting number of individuals in SPARQL在 SPARQL 中计算个人数量
【发布时间】:2014-06-11 11:23:00
【问题描述】:

我对 SPARQL 完全陌生。

我想计算这个本体中的参与者数量: http://data.linkedmdb.org/directory/actor

我尝试了以下方法:

SELECT ?s (COUNT(*) AS ?count)
WHERE
   {
       ?a <http://data.linkedmdb.org/directory/actor> ?s}
 GROUP BY ?s

但我认为这不是正确的语法,因为它给了我 0 个结果。我知道该数据源中有多个结果!会不会是链接不对?

【问题讨论】:

  • 你的问题有点不完整,你的最后一句话暗示你的查询没有给你想要的答案,但你没有解释为什么? SPARQL 端点是否给出错误(如果有,是什么错误)或者您没有得到结果(如果有,您会得到什么以及您期望什么)。编辑您的问题以添加这些额外的详细信息将帮助您获得准确的答案
  • 一目了然,您的查询看起来完全有效且正确。如果没有其他详细信息,我建议您添加很难回答您的问题,因为不清楚您在问什么
  • 现在您正在计算每部电影中的演员人数,正如 RobV 所说,看起来您做得正确。你在哪里运行这个查询?结果有什么问题?
  • 我在 Protege 软件中运行此查询。 SPARQL 端点显示 0 个结果。不是错误
  • @RobV 我已经编辑了帖子。谢谢!

标签: rdf sparql linkedmdb


【解决方案1】:

计算每部电影的演员人数

在问题的原始表述中,您似乎试图计算每部电影的演员人数。查询实际上非常接近,但我不确定您从哪里获得属性 URI,但它是不正确的。例如,如果您查看http://data.linkedmdb.org/page/film/1 并右键单击movie:actor 属性,您可以看到它的URI 是http://data.linkedmdb.org/resource/movie/actor。因此,您的查询可能是:

SELECT ?film (count(*) as ?nActors) WHERE {
  ?film <http://data.linkedmdb.org/resource/movie/actor> ?actor .
}
group by ?film
limit 10

统计演员

现在,您可以通过运行相同的三元组模式修改此查询以计算演员,但不是按电影分组并计算演员,而是只计算所有电影中不同的演员:

select(count(distinct ?actor) as ?nActors) where {
  [] <http://data.linkedmdb.org/resource/movie/actor> ?actor .
}

现在,这似乎提供了 162 的答案,这似乎相当低,但在其他问题中,我们已经看到 LinkedMDB 的端点有一些奇怪的限制。可能是因为这些,但这也不是我们计算演员的唯一方法。你可以通过查看演员的页面,例如http://data.linkedmdb.org/page/actor/10,注意到每个演员都有 rdf:type http://data.linkedmdb.org/resource/movie/actor,这意味着你可以只询问和计算该类型的东西:

select(count(distinct ?actor) as ?nActors) where {
  ?actor a <http://data.linkedmdb.org/resource/movie/actor> .
}

该查询返回 2500,这似乎更合适(因为它可能在端点中达到了 2500 的限制)。

【讨论】:

  • 感谢 Joshua,但这似乎可以得到每部电影的演员人数?我不需要关心电影,我只想要整个本体中的演员数量,真的是一个数字,而不是一个列表。这可能吗?
  • 当然,但是不清楚你为什么首先要做group by(或者为什么在我在 cmets 中指出你正在计算每个演员电影)。我会更新我的答案。
  • 有什么方法可以告诉我查询中的“a”是什么意思吗?
  • 是非常常用的 rdf:type 的缩写。乌龟也有。 'x has type foo' 就像'x is a foo',所以缩写是'a'。
猜你喜欢
  • 2011-08-23
  • 2022-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多