From cd220d7000b20324d69b80b8c477d99564285654 Mon Sep 17 00:00:00 2001
From: Esko Ikkala <esko.ikkala@aalto.fi>
Date: Tue, 9 Oct 2018 07:22:37 +0300
Subject: [PATCH] Update facet query

---
 src/server/sparql/Manuscripts.js | 59 ++++++++++++++------------------
 1 file changed, 25 insertions(+), 34 deletions(-)

diff --git a/src/server/sparql/Manuscripts.js b/src/server/sparql/Manuscripts.js
index 7a778b4b..134ce8ea 100644
--- a/src/server/sparql/Manuscripts.js
+++ b/src/server/sparql/Manuscripts.js
@@ -49,42 +49,33 @@ const facetQuery = `
   PREFIX mmm-schema: <http://ldf.fi/mmm/schema/>
   SELECT DISTINCT ?cnt ?facet_text ?value ?parent
   WHERE {
-    {
-      { SELECT DISTINCT (count(DISTINCT ?id) as ?cnt) {
+    SELECT DISTINCT ?cnt ?value ?facet_text ?parent {
+      { SELECT DISTINCT (count(DISTINCT ?id) as ?cnt) ?value ?parent
+        {
           ?id a frbroo:F4_Manifestation_Singleton .
           ?id skos:prefLabel ?name .
+          ?id ^frbroo:R18_created/crm:P7_took_place_at ?value .
+          OPTIONAL { ?value mmm-schema:parent ?parent }
         }
-      } BIND("-- Ei valintaa --" AS ?facet_text) }
-    UNION
-    {
-      SELECT DISTINCT ?cnt ?value ?facet_text ?parent {
-        { SELECT DISTINCT (count(DISTINCT ?id) as ?cnt) ?value ?parent
-          {
-            ?id a frbroo:F4_Manifestation_Singleton .
-            ?id skos:prefLabel ?name .
-            ?id ^frbroo:R18_created/crm:P7_took_place_at ?value .
-            OPTIONAL { ?value mmm-schema:parent ?parent }
-          }
-          GROUP BY ?value ?parent
-        }
-        FILTER(BOUND(?value)) BIND(COALESCE(?value, <http://ldf.fi/NONEXISTENT_URI>) AS ?labelValue)
-        OPTIONAL { ?labelValue skos:prefLabel ?lbl .
-          FILTER(langMatches(lang(?lbl), "fi")) . }
-        OPTIONAL { ?labelValue rdfs:label ?lbl .
-          FILTER(langMatches(lang(?lbl), "fi")) . }
-        OPTIONAL { ?labelValue skos:prefLabel ?lbl .
-          FILTER(langMatches(lang(?lbl), "en")) . }
-        OPTIONAL { ?labelValue rdfs:label ?lbl .
-          FILTER(langMatches(lang(?lbl), "en")) . }
-        OPTIONAL { ?labelValue skos:prefLabel ?lbl .
-          FILTER(langMatches(lang(?lbl), "sv")) . }
-        OPTIONAL { ?labelValue rdfs:label ?lbl .
-          FILTER(langMatches(lang(?lbl), "sv")) . }
-        OPTIONAL { ?labelValue skos:prefLabel ?lbl .
-          FILTER(langMatches(lang(?lbl), "")) . }
-        OPTIONAL { ?labelValue rdfs:label ?lbl .
-          FILTER(langMatches(lang(?lbl), "")) . }
-        BIND(COALESCE(?lbl, IF(!ISURI(?value), ?value, "")) AS ?facet_text) }
-    }
+        GROUP BY ?value ?parent
+      }
+      FILTER(BOUND(?value)) BIND(COALESCE(?value, <http://ldf.fi/NONEXISTENT_URI>) AS ?labelValue)
+      OPTIONAL { ?labelValue skos:prefLabel ?lbl .
+        FILTER(langMatches(lang(?lbl), "fi")) . }
+      OPTIONAL { ?labelValue rdfs:label ?lbl .
+        FILTER(langMatches(lang(?lbl), "fi")) . }
+      OPTIONAL { ?labelValue skos:prefLabel ?lbl .
+        FILTER(langMatches(lang(?lbl), "en")) . }
+      OPTIONAL { ?labelValue rdfs:label ?lbl .
+        FILTER(langMatches(lang(?lbl), "en")) . }
+      OPTIONAL { ?labelValue skos:prefLabel ?lbl .
+        FILTER(langMatches(lang(?lbl), "sv")) . }
+      OPTIONAL { ?labelValue rdfs:label ?lbl .
+        FILTER(langMatches(lang(?lbl), "sv")) . }
+      OPTIONAL { ?labelValue skos:prefLabel ?lbl .
+        FILTER(langMatches(lang(?lbl), "")) . }
+      OPTIONAL { ?labelValue rdfs:label ?lbl .
+        FILTER(langMatches(lang(?lbl), "")) . }
+      BIND(COALESCE(?lbl, IF(!ISURI(?value), ?value, "")) AS ?facet_text) }
   }
 `;
-- 
GitLab