Sparql: Steven Spielberg movie list on dbpedia.org

Sample output, use http://dbpedia.org/page/Steven_Spielberg as an example

format: film_name, screen_player (from zero to more, separated by the symbol "|"), manufacturer (from zero to more, divided by "|")

Exit Example 1: Hook_ (movie), Frank Marshall | Kathleen Kennedy | Gerald R. Molen, James W. Hart | Malia Scotch Marmo

Output Example 2: Jaws (film), Richard D. Zanuck | David Brown, Peter Benchley | Karl Gottlieb

enter image description here

Endpoint http://dbpedia.org/sparql

My request so far, which is far from example 1 and example 2.

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
PREFIX dbres: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
select
?filmName,
(GROUP_CONCAT(?producerName ; SEPARATOR = "|") AS ?producerNames),
(GROUP_CONCAT(?screenPlayerName ; SEPARATOR = "|") AS ?screenPlayerNames)
where {
?film dbpedia-owl:director dbres:Steven_Spielberg .
?film rdfs:label ?filmName .

optional {        
?film dbpprop:screenplay ?screenPlayer .
?screenPlayer foaf:name ?screenPlayerName .         
}

optional {
?film dbpedia-owl:producer ?producer .
?producer foaf:name ?producerName .
}
}
order by
?filmName

My question is : basically, I need to show all the films of Stephen Spielberg, like the two examples above.

+4
1

Try:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
PREFIX dbres: <http://dbpedia.org/resource/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT
( CONCAT ( SAMPLE(?filmName) , " , ", 
           GROUP_CONCAT(DISTINCT ?producerName ; SEPARATOR = "|"), " , ",
           GROUP_CONCAT(DISTINCT ?screenPlayerName ; SEPARATOR = "|")
         ) AS ?formatted )
WHERE
{
    ?film dbpedia-owl:director dbres:Steven_Spielberg .
    ?film rdfs:label ?filmName .

    optional {        
        ?film dbpprop:screenplay ?screenPlayer .
        ?screenPlayer foaf:name ?screenPlayerName .         
    }

    optional {
        ?film dbpedia-owl:producer ?producer .
        ?producer foaf:name ?producerName .
    }

    FILTER (lang(?filmName) = 'en')
}
GROUP BY ?film

SELECT, CONCAT .

GROUP BY ?film, , . - SAMPLE(?filmName): . ( - , )

+6

All Articles