【发布时间】:2015-02-27 14:45:30
【问题描述】:
我想创建一个包含两个计数的 Sparql 查询。
查询应该获得 A 的“邻居的邻居”(A → B → C,其中 A 是起始节点),并且应该报告每个 C,从 A 到 C 有多少条路径,以及从任何地方到 C 有多少“链接”。结果集应该如下:
C | #C | C_INLINKS
--------------------------
A | 2 | 123
B | 3 | 234
其中 #C 是从起始节点 A 到 C 的路径数。
我可以单独创建计数,但我不知道如何组合这些:
Count neighbours of neighbours:
select ?c count(?c) as ?countc WHERE {
<http://dbpedia.org/resource/AFC_Ajax> ?p1 ?b.
?b ?p2 ?c.
FILTER (regex(str(?c), '^http://dbpedia.org/resource/'))
}
GROUP BY ?c
ORDER BY DESC(?countc)
LIMIT 100
Count inlinks to neighbours of neigbours
select ?c count(?inlink) as ?inlinks WHERE {
<http://dbpedia.org/resource/AFC_Ajax> ?p1 ?b.
?b ?p2 ?c.
?inlink ?p3 ?c
FILTER (regex(str(?c), '^http://dbpedia.org/resource/'))
}
GROUP BY ?c
ORDER BY DESC(?inlinks)
LIMIT 100
是否可以将这两个查询结合起来?谢谢!
【问题讨论】:
标签: rdf sparql semantic-web dbpedia linked-data