dbpediasparql-获取其他艺术家的图像和资源链接?

dbpediasparql-获取其他艺术家的图像和资源链接?,sparql,dbpedia,Sparql,Dbpedia,作为一名音乐艺术家,我试图找到其他与某位艺术家有着最常见的“关联行为”的音乐艺术家。我对Eminem有以下查询,它运行良好 SELECT ?c (COUNT(*) AS ?count) WHERE { { ?b <http://dbpedia.org/property/associatedActs> <http://dbpedia.org/resource/Eminem>. ?b <http://dbpedia.org/property/associatedActs

作为一名音乐艺术家,我试图找到其他与某位艺术家有着最常见的“关联行为”的音乐艺术家。我对Eminem有以下查询,它运行良好

SELECT ?c (COUNT(*) AS ?count) WHERE {
{
?b <http://dbpedia.org/property/associatedActs> <http://dbpedia.org/resource/Eminem>.
?b <http://dbpedia.org/property/associatedActs> ?
}
}group by ?c order by desc(?count) LIMIT 10
选择?c(计数(*)作为?计数),其中{
{
B
B
}
}按?c顺序分组按描述(?计数)限制10
但我想找回这位艺术家的照片以及他们的dbpedia资源链接(?c)。试试这个

SELECT ?c (COUNT(*) AS ?count) WHERE {
{
?b <http://dbpedia.org/property/associatedActs> <http://dbpedia.org/resource/Eminem>.
?b <http://dbpedia.org/property/associatedActs> ?c.
?c <http://dbpedia.org/ontology/thumbnail> ?i
}
}group by ?c order by desc(?count) LIMIT 10
选择?c(计数(*)作为?计数),其中{
{
B
b?c。
c?i
}
}按?c顺序分组按描述(?计数)限制10
给我一个错误“变量?我在聚合之外的结果集中使用,在GROUP BY子句中未提及”。如果我按groupby,它可以正常工作,但我无法恢复?c

那么,我如何获得图片和资源链接其他匹配的艺术家?

使用子查询:

SELECT ?c ?i ?count WHERE { {SELECT ?c (COUNT(*) AS ?count) WHERE {
{
?b <http://dbpedia.org/property/associatedActs> <http://dbpedia.org/resource/Eminem>.
?b <http://dbpedia.org/property/associatedActs> ?c .

}
} group by ?c order by desc(?count) LIMIT 10} . ?c <http://dbpedia.org/ontology/thumbnail> ?i }
SELECT?c?i?count WHERE{{{SELECT?c(count(*)AS?count)WHERE{
{
B
b?c。
}
}按?c顺序按描述(?计数)限制10}.?c?i}

您可以找到结果。

就像在SQL中一样,您可以将GROUP BY与多个变量一起使用

这似乎有效:

SELECT ?c (COUNT(*) AS ?count) ?i WHERE {

?b <http://dbpedia.org/property/associatedActs> <http://dbpedia.org/resource/Eminem>.
?b <http://dbpedia.org/property/associatedActs> ?c.
?c <http://dbpedia.org/ontology/thumbnail> ?i

} GROUP BY ?c ?i ORDER BY desc(?count) LIMIT 10
选择?c(COUNT(*)作为?COUNT)?i其中{
B
b?c。
c?i
}按?c?i顺序分组按描述(?计数)限制10
看看结果