diff --git a/src/server/sparql/SparqlQueriesEvents.js b/src/server/sparql/SparqlQueriesEvents.js index 5889517770c2b9e95dba651a37986e8ba05f7aa7..7a7b0eb699d5985d3fe2eca4d94dc9be5d7e257e 100644 --- a/src/server/sparql/SparqlQueriesEvents.js +++ b/src/server/sparql/SparqlQueriesEvents.js @@ -86,3 +86,30 @@ export const eventPlacesQuery = ` } GROUP BY ?id ?lat ?long `; + +export const eventsByDecadeQuery = ` + SELECT ?decade ?type + (COUNT(DISTINCT ?event) as ?instanceCount) + WHERE { + ?event crm:P4_has_time-span ?timespan . + ?event a ?type . + ?timespan crm:P82a_begin_of_the_begin ?begin . + ?timespan crm:P82b_end_of_the_end ?end . + OPTIONAL { + BIND("1600" as ?decade) + FILTER(?begin >= "1600-01-01"^^xsd:date) + FILTER(?end <= "1609-12-31"^^xsd:date) + } + OPTIONAL { + BIND("1610" as ?decade) + FILTER(?begin >= "1610-01-01"^^xsd:date) + FILTER(?end <= "1619-12-31"^^xsd:date) + } + OPTIONAL { + BIND("1620" as ?decade) + FILTER(?begin >= "1620-01-01"^^xsd:date) + FILTER(?end <= "1629-12-31"^^xsd:date) + } + } + GROUP BY ?decade ?instanceCount ?type +`;