SPARQL:返回包含多个特定类型对象的主题

SPARQL:返回包含多个特定类型对象的主题,sparql,triplestore,triples,n-triples,Sparql,Triplestore,Triples,N Triples,提前谢谢。我有一个问题,合并一些工作会在我的triplestore中为一个主题生成两个GUI。我需要一种隔离所有这些实例的方法,以便能够规范化这些guid。我是SPARQL的新手。我尝试过按计数和筛选返回这些,但到目前为止都失败了。这是我们正在看的 <http://example.com/#bar> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/#choo> . &

提前谢谢。我有一个问题,合并一些工作会在我的triplestore中为一个主题生成两个GUI。我需要一种隔离所有这些实例的方法,以便能够规范化这些guid。我是SPARQL的新手。我尝试过按计数和筛选返回这些,但到目前为止都失败了。这是我们正在看的

<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" .

.
.
.
“17bda3bb-7db9-4afa-
bb95-29da6464f137”。
“1FA33 BAD-a98d-4a7e-
8679-d8777e690c0c”。

抱歉,包装文本使此内容更难阅读。但是,您可以在这里看到我有一个主题,它有两个guid。我在同一张图中有很多这样的案例,我需要一种方法来识别它们。再次感谢。

正如@AKSW评论中提到的,您应该能够使用
have
对聚合进行过滤,并根据主题进行分组,以实现以下目的:

SELECT ?subject (COUNT(?guid) AS ?numGuids)
WHERE
{
  ?subject <http://www.foo.com/#guid> ?guid .
}
GROUP BY ?subject
HAVING (?numGuids > 1)
选择主题(计数(?guid)为numGuids)
哪里
{
?主题?guid。
}
按主题分组
有(?numGuids>1)

untested:
通过(count(?type)>1))选择{s a type}组
@AKSW:Perfect!谢谢这需要一些调整,但这确实奏效了。