3

2 つのカウントを含む Sparql クエリを作成したいと考えています。

クエリは、A の「近隣の近隣」 (A → B → C、A は開始ノード) を取得し、C ごとに、A から C へのパスの数、および「インリンク」の数を報告する必要があります。どこからでも C があります。結果セットは次のようになります。

C | #C |  C_INLINKS
--------------------------
A | 2  | 123
B | 3  | 234

#C は、開始ノード A から C へのパスの数です。

カウントを個別に作成できますが、これらを組み合わせる方法がわかりません。

隣人の隣人を数える:

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

隣人の隣人へのリンクをカウントする

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

これら 2 つのクエリを組み合わせることは可能ですか? ありがとうございました!

4

1 に答える 1