Rdf Sparql查询中的多重计数

Rdf Sparql查询中的多重计数,rdf,sparql,semantic-web,dbpedia,linked-data,Rdf,Sparql,Semantic Web,Dbpedia,Linked Data,我想创建一个包含两个计数的Sparql查询 查询应该获取A的“邻居的邻居”(A→B→C,其中A是起始节点),并且应该报告每个C,从A到C有多少条路径,以及从任何地方到C有多少条“InLink”。结果集应如下所示: C |#C | C|u链接 -------------------------- A | 2 | 123 B | 3 | 234 其中#C是从起始节点A到C的路径数 我可以单独创建计数,但我不知道如何组合这些: 选择?c count(?c

我想创建一个包含两个计数的Sparql查询

查询应该获取A的“邻居的邻居”(A→B→C,其中A是起始节点),并且应该报告每个C,从A到C有多少条路径,以及从任何地方到C有多少条“InLink”。结果集应如下所示:

C |#C | C|u链接
--------------------------
A | 2 | 123
B | 3 | 234
其中#C是从起始节点A到C的路径数

我可以单独创建计数,但我不知道如何组合这些:

选择?c count(?c)作为?countc,其中{
?p1?b。
?b?p2?c。
过滤器(正则表达式(str(?c),'^http://dbpedia.org/resource/'))
}
B组?c
按描述排序(?countc)
限制100

选择?c count(?inlink)作为?inlinks,其中{
?p1?b。
?b?p2?c。
?inlink?p3?c
过滤器(正则表达式(str(?c),'^http://dbpedia.org/resource/'))
}
B组?c
按描述订购(?inlinks)
限制100

是否可以合并这两个查询?谢谢大家!

您试图提取的计数要求您按不同的事物分组分组依据可用于指定要计算的对象。例如,当你说,选择(count(?x)as?xn){…}groupby?y时,你说的是“每个?y值出现多少?x”。你要寻找的计数是:“每个A有多少个C”然后是“每个C有多少个inlinks”"? 这意味着,在一种情况下,您需要按a分组,而在另一种情况下,您需要按c分组。然而,在这种情况下,由于您有一个固定的?a,这可能会容易一些。计算不同路径(?p1,?p2)有点棘手,因为当您进行计数(不同…时,只能有一个表达式。然而,通过计算distinctconcat(str(?p1),str(?p2))可以很狡猾,这是一个单一的表达式,并且对于每个?p1?p2对都应该是唯一的。那么我想你应该在寻找这样一个问题:

select?c
(将(不同的concat(str(?p1)、str(?b)、str(?p2))计数为?n_路径)
(将(不同的?inlink)计数为?n_inlink)
在哪里{
dbpedia:AFC_Ajax?p1?b.?b?p2?c。
?内部链接?p?c
过滤器strstarts(str(?c),str(dbpedia:)
}
B组?c


嗨,我感觉它仍然没有返回正确的值。例如,使用selectdistinct?p1,?b,?p2,其中{dbpedia:AFC_Ajax?p1?b。?b?p2}我发现AFC_Ajax和Category:AFC_Ajax_播放器之间有57条路径。但你的查询结果是17。我不明白为什么这些数字不同。你知道这里出了什么问题吗?谢谢大家!@用户1255553嗯。。。我将研究一下,如果我删除一个“count()”,其他count()值也会改变,但这没有意义,对吗?因为这些值在?c上分组。
c                                                           n_paths n_inlink
----------------------------------------------------------------------------
http://dbpedia.org/resource/AFC_Ajax                        32      540
http://dbpedia.org/resource/Category:AFC_Ajax_players       17      484
http://dbpedia.org/resource/Category:Living_people          17      659447
http://dbpedia.org/resource/Category:Eredivisie_players     13      2232
http://dbpedia.org/resource/Category:Dutch_footballers      12      2141
http://dbpedia.org/resource/Category:1994_births             6      3605
…