-1

前もって感謝します。一部の作業をマージすると、トリプルストアで 1 つのサブジェクトに対して 2 つの GUID が生成されるという問題があります。これらの GUID を正規化できるように、これらのインスタンスをすべて分離する方法が必要です。私はSPARQLが初めてです。これらを COUNT と FILTER で返そうとしましたが、今のところ失敗しています。これが私たちが見ているものです。

<http://example.com/#bar> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<http://example.com/#choo> .
<http://example.com/#bar> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<http://example.com/#terms> .
<http://example.com/#bar> <http://www.w3.org/2008/05/skos-xl#prefLabel> 
<http://example.com/#bar/bar_en> .
<http://example.com/#bar> <http://www.foo.com/#guid> "17bda3bb-7db9-4afa- 
bb95-29da6464f137" .
<http://example.com/#bar> <http://www.foo.com/#guid> "1fa33bad-a98d-4a7e- 
8679-d8777e690c0c" .

申し訳ありませんが、折り返されたテキストにより読みにくくなっています。ただし、2 つの GUID を持つ件名http://example.com/#barがあることがわかります。同じグラフにこのような多くのケースがあり、それらをすべて識別する方法が必要です。再度、感謝します。

4

1 に答える 1

2

@AKSWのコメントで示唆されているように、HAVINGこれを達成するために、サブジェクトによるグループ化と組み合わせた集計をフィルタリングするために使用できるはずです:

SELECT ?subject (COUNT(?guid) AS ?numGuids)
WHERE
{
  ?subject <http://www.foo.com/#guid> ?guid .
}
GROUP BY ?subject
HAVING (?numGuids > 1)
于 2018-06-19T12:54:25.900 に答える