我正在尝试查询我的数据集,以便我可以找到由不同文本部分引用的所有引用不止一次,但我的查询无法正常工作。
我在考虑这样的事情,但我不确定我做得对不对。非常感谢帮助。
SELECT ?s
WHERE {
?s a <http://scta.info/quotation> .
?s scta-rel:quotedBy ?section .
FILTER (?section > 1) .
}
LIMIT 1000
以下是不止一次引用的每种报价类型的信息类型的示例。请注意,此条目由3个不同的文本引用。
Property Value
dc:title Omnia per ipsum facta sunt, et sine ipso factum est nihil, quod factum est;
scta-rel:quotedBy http://scta.info/items/lectio131
scta-rel:quotedBy http://scta.info/items/lectio109
scta-rel:quotedBy http://scta.info/items/lectio133
scta-terms:fromBiblicalBook http://scta.info/works/io
scta-terms:citation io1_3
scta-terms:fromBiblicalChapter 1
scta-terms:fromBiblicalVerse 3
scta-terms:quotation Omnia per ipsum facta sunt, et sine ipso factum est nihil, quod factum est;
scta-terms:quotetype http://scta.info/quotetypes/biblical
http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://scta.info/quotation
答案 0 :(得分:1)
您需要计算?section
:
SELECT ?s
WHERE {
?s a <http://scta.info/quotation> .
?s scta-rel:quotedBy ?section .
}
GROUP BY ?s
HAVING (count(?section) > 1)
这可以通过计算每个?s
的部分来实现。每个?section
?s
必须是唯一的,因为RDF图是三元组的集合,没有重复项。
因此,?s scta-rel:quotedBy ?section .
和GROUP BY ?s
仅为每个?section
提供一次?s
。