私は次のようなRDFトリプルのコレクションを持っています。SPARQLでの星サブグラフパターンの発見
id#7289587 ex:getInfectedBy id#7748320
id#7694711 ex:getInfectedBy id#7748320
id#7748322 ex:getInfectedBy id#7748320
id#7748887 ex:getInfectedBy id#7748320
id#7746679 ex:getInfectedBy id#7748510
id#6434108 ex:getInfectedBy id#7748510
id#7458397 ex:getInfectedBy id#7748510
私の目標は、さまざまなノードの長さ(4,5,6、...、20)の星の部分グラフパターンを数えることです。たとえば、次のクエリを書いて、ノード長4の星形部分グラフパターン(?s1?s2?s3?o)を見つけました。両方のノードid#7748320
とid#7748510
ため
SELECT ?o count(distinct ?o)
WHERE
{
?s1 ?p ?o.
?s2 ?p ?o.
?s3 ?p ?o.FILTER((?s1!=?s2) && (?s1!=?s3) && (?s2!=?s3))
} group by ?o
ノード4の上記クエリーカウントスターパターン長。しかし、ノードid#7748510
だけの結果を私に与えると仮定します。 5ノードスターパターンでクエリを変更すると、ノードid#7748320
も同様に表示されます。それを修正するために私を助けてもらえますか?
さまざまなノード長(4,5,6、...、20)のスターサブグラフパターンを1つのクエリでカウントすることはできますか?私にお知らせください。私はあなたの助けに感謝します。私のコメントに加えて
単に* WHERE 'SELECT'使用しますSPARQLでなぜこれが正しいのかを確認するためにクエリを実行してください。ノード 'id#7748320'のデータもSPARQLクエリのパターンと一致していることは明らかです。クエリの要件を"少なくとも満たす "ことを求めているだけです。 – AKSW