Select Git revision
dbpedia_groundtruth.sparql
-
Marc Feger authoredMarc Feger authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
dbpedia_groundtruth.sparql 2.82 KiB
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dbc: <http://dbpedia.org/resource/Category:>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dbp: <http://dbpedia.org/property/>
SELECT DISTINCT (?movie AS ?Movie)
(GROUP_CONCAT(DISTINCT ?name;separator="|") AS ?Title)
(GROUP_CONCAT(DISTINCT ?director;separator="|") AS ?Director)
(GROUP_CONCAT(DISTINCT ?author;separator="|") AS ?Author)
(GROUP_CONCAT(DISTINCT ?cast_member;separator="|") AS ?Cast)
(GROUP_CONCAT(DISTINCT ?releaseDate;separator="|") AS ?Published)
(GROUP_CONCAT(DISTINCT ?subject;separator="|") AS ?Subject)
(GROUP_CONCAT(DISTINCT ?genre;separator="|") AS ?Genre)
(GROUP_CONCAT(DISTINCT ?duration/60;separator="|") AS ?Duration)
(GROUP_CONCAT(DISTINCT ?abstract;separator="|") AS ?Description)
(GROUP_CONCAT(DISTINCT ?distributor;separator="|") AS ?Distributor)
(GROUP_CONCAT(DISTINCT ?productionCompanies;separator="|") AS ?ProductionCompanies)
WHERE {
{
SELECT DISTINCT ?movie
WHERE {
SELECT DISTINCT ?movie ?min_year ?max_year
WHERE {
SELECT DISTINCT ?movie ?director (MIN(?year) AS ?min_year) (MAX(?year) AS ?max_year)
WHERE{
# X type Film
{?movie rdf:type dbo:Film.}
# Imagine a inner join
# X subject Comedy
{?movie dct:subject dbc:Comedy}
UNION
# X subject Y; Y like "Comedy".
{?movie dct:subject ?y FILTER CONTAINS(lcase(str(?y)), "comedy").}
UNION
# X genre Y; Y like "Comedy".
{?movie dbo:genre ?y FILTER CONTAINS (lcase(str(?y)), "comedy").}
# X director Person; Person birth date year
{?movie dbo:director ?director.
?director dbo:birthDate ?dob.
BIND(xsd:integer(substr(xsd:string(?dob), 0, 4)) as ?year) .
}
} GROUP BY ?movie ?director
}GROUP BY ?movie HAVING (?min_year = ?max_year)
}GROUP BY ?movie HAVING (?min_year >= 1970)
}
OPTIONAL{?movie foaf:name ?name FILTER(LANG(?name)="en").}
OPTIONAL{?movie dbo:director ?director.}
OPTIONAL{?movie dbo:author ?author.}
OPTIONAL{?movie dbo:starring ?cast_member.}
OPTIONAL{?movie dbo:releaseDate ?releaseDate.}
OPTIONAL{?movie dct:subject ?subject FILTER CONTAINS(lcase(str(?subject)), "comedy").}
OPTIONAL{?movie dbo:genre ?genre FILTER CONTAINS(lcase(str(?genre)), "comedy").}
OPTIONAL{?movie dbo:runtime ?duration.}
OPTIONAL{?movie dbo:abstract ?abstract FILTER(LANG(?abstract)="en").}
OPTIONAL{?movie dbo:distributor ?distributor.}
OPTIONAL{?movie dbp:productionCompanies ?productionCompanies FILTER CONTAINS (lcase(str(?productionCompanies)), "http").}
}GROUP BY ?movie