From 86134ad09f131317bc44e437168eccff85a5a64b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Sat, 13 Jun 2026 22:14:09 +0200 Subject: [PATCH] queries: add federalPopularInitiative.sparql --- queries/federalPopularInitiatives.sparql | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 queries/federalPopularInitiatives.sparql diff --git a/queries/federalPopularInitiatives.sparql b/queries/federalPopularInitiatives.sparql new file mode 100644 index 0000000..58fa48e --- /dev/null +++ b/queries/federalPopularInitiatives.sparql @@ -0,0 +1,45 @@ +PREFIX schema: + +SELECT + ?id + ?date + + (GROUP_CONCAT(DISTINCT IF(LANG(?title)="fr", STR(?title), ""); separator=" || ") AS ?title_fr) + (GROUP_CONCAT(DISTINCT IF(LANG(?title)="de", STR(?title), ""); separator=" || ") AS ?title_de) + (GROUP_CONCAT(DISTINCT IF(LANG(?title)="it", STR(?title), ""); separator=" || ") AS ?title_it) + + (GROUP_CONCAT(DISTINCT IF(LANG(?status)="fr", STR(?status), ""); separator=" || ") AS ?status_fr) + (GROUP_CONCAT(DISTINCT IF(LANG(?status)="de", STR(?status), ""); separator=" || ") AS ?status_de) + (GROUP_CONCAT(DISTINCT IF(LANG(?status)="it", STR(?status), ""); separator=" || ") AS ?status_it) + + (GROUP_CONCAT(DISTINCT IF(LANG(?initiativtext)="fr", STR(?initiativtext), ""); separator=" || ") AS ?text_fr) + (GROUP_CONCAT(DISTINCT IF(LANG(?initiativtext)="de", STR(?initiativtext), ""); separator=" || ") AS ?text_de) + (GROUP_CONCAT(DISTINCT IF(LANG(?initiativtext)="it", STR(?initiativtext), ""); separator=" || ") AS ?text_it) + + (GROUP_CONCAT(DISTINCT IF(LANG(?artikel)="fr", STR(?artikel), ""); separator=" || ") AS ?artikel_fr) + (GROUP_CONCAT(DISTINCT IF(LANG(?artikel)="de", STR(?artikel), ""); separator=" || ") AS ?artikel_de) + (GROUP_CONCAT(DISTINCT IF(LANG(?artikel)="it", STR(?artikel), ""); separator=" || ") AS ?artikel_it) + +WHERE { + + ?obsSet . + + ?obsSet ?source . + + ?source + ?id ; + ?date ; + ?titleUri ; + ?statusUri ; + ?textUri ; + ?articleUri . + + ?titleUri schema:name ?title . + ?statusUri schema:name ?status . + + OPTIONAL { ?textUri schema:name ?initiativtext . } + OPTIONAL { ?articleUri schema:name ?artikel . } +} +GROUP BY ?id ?date +ORDER BY DESC(?date) +LIMIT 100