我在DBPedia工作。我在Sparql中使用group by时遇到问题。
我有这段代码:
SELECT ?res ?titulo
WHERE {
?res rdf:type <http://dbpedia.org/class/yago/JaguaresDeChiapasFootballers> .
?res rdfs:label ?titulo .
}
GROUP BY (?res)
LIMIT 15
我想返回此类型的所有列表。但是我只想为每个URI返回一个,我把它放在一边,它不起作用,我真的不知道为什么?
有人可以帮助我吗?
答案 0 :(得分:5)
您的原始查询不合法SPARQL。如果将其粘贴到sparql.org的SPARQL查询验证程序中,您将收到以下消息:
SELECT中的非组键变量:?titulo
如果你分组?res,那么你就不能选择非组变量?titulo。如果您只需要一个?每个标准值的titulo值,那么您可以使用...
select ?res (sample(?titulo) as ?title)
…
如果您需要标题列表,则可以使用 group_concat 来连接标题:
select ?res (group_concat(?titulo;separator=', ') as ?title)
…