Search code examples
sparqlsemantic-webdbpedia

Group By not working in DBPedia


I am working in DBPedia. I am having a problem when using group by in Sparql.

I have this code:

SELECT ?res ?titulo
        WHERE {
            ?res rdf:type <http://dbpedia.org/class/yago/JaguaresDeChiapasFootballers> .
            ?res rdfs:label ?titulo .
        }       
GROUP BY (?res)
LIMIT 15

I want to return a list of all in this type. But I only want to return one for each URI, I put the group by and it doesn’t work and I really don’t know why?

Can someone help me?


Solution

  • Your original query isn't legal SPARQL. If you paste it into the SPARQL query validator at sparql.org, you'll get the following message:

    Non-group key variable in SELECT: ?titulo

    If you group by ?res, then you can't select the non-group variable ?titulo. If you just want one ?titulo value per ?res, then you can use …

    select ?res (sample(?titulo) as ?title)
    …
    

    SPARQL results

    If you want a list of the titles, then you can use group_concat to concatenate the titles:

    select ?res (group_concat(?titulo;separator=', ') as ?title)
    …
    

    SPARQL results