From e9efc4c898c93c4d2f8e6d3de5cbeb8f7d5ee085 Mon Sep 17 00:00:00 2001 From: esikkala <esko.ikkala@aalto.fi> Date: Tue, 27 Aug 2019 12:41:05 +0300 Subject: [PATCH] Places: remove related manuscripts from facet results --- src/server/sparql/FacetResults.js | 7 ++++--- src/server/sparql/SparqlQueriesPlaces.js | 26 +++++++++++++++++++++++- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/server/sparql/FacetResults.js b/src/server/sparql/FacetResults.js index cbbf54c7..38abe4db 100644 --- a/src/server/sparql/FacetResults.js +++ b/src/server/sparql/FacetResults.js @@ -21,7 +21,8 @@ import { placesActorsQuery, } from './SparqlQueriesActors'; import { - placeProperties, + placePropertiesInstancePage, + placePropertiesFacetResults, placePropertiesInfoWindow, manuscriptsProducedAt, actorsAt, @@ -189,7 +190,7 @@ const getPaginatedData = ({ resultSetProperties = eventProperties; break; case 'places': - resultSetProperties = placeProperties; + resultSetProperties = placePropertiesFacetResults; break; case 'actors': resultSetProperties = actorProperties; @@ -243,7 +244,7 @@ export const getByURI = ({ break; case 'places': q = instanceQuery; - q = q.replace('<PROPERTIES>', placeProperties); + q = q.replace('<PROPERTIES>', placePropertiesInstancePage); q = q.replace('<RELATED_INSTANCES>', ''); break; case 'placesAll': diff --git a/src/server/sparql/SparqlQueriesPlaces.js b/src/server/sparql/SparqlQueriesPlaces.js index b45f019f..cc52a652 100644 --- a/src/server/sparql/SparqlQueriesPlaces.js +++ b/src/server/sparql/SparqlQueriesPlaces.js @@ -1,4 +1,4 @@ -export const placeProperties = ` +export const placePropertiesInstancePage = ` { ?id skos:prefLabel ?prefLabel__id . BIND(?prefLabel__id AS ?prefLabel__prefLabel) @@ -38,6 +38,30 @@ export const placeProperties = ` } `; +export const placePropertiesFacetResults = ` + { + ?id skos:prefLabel ?prefLabel__id . + BIND(?prefLabel__id AS ?prefLabel__prefLabel) + BIND(CONCAT("/places/page/", REPLACE(STR(?id), "^.*\\\\/(.+)", "$1")) AS ?prefLabel__dataProviderUrl) + } + UNION + { + ?id owl:sameAs + |mmm-schema:data_provider_url + |mmm-schema:geonames_uri + ?source__id . + OPTIONAL { ?source__id skos:prefLabel ?source__prefLabel_} + BIND(?source__id AS ?source__dataProviderUrl) + BIND(COALESCE(?source__prefLabel_, ?source__id) AS ?source__prefLabel) + } + UNION { ?id gvp:placeTypePreferred ?placeType } + UNION { + ?id gvp:broaderPreferred ?area__id . + ?area__id skos:prefLabel ?area__prefLabel . + BIND(CONCAT("/places/page/", REPLACE(STR(?area__id), "^.*\\\\/(.+)", "$1")) AS ?area__dataProviderUrl) + } +`; + export const placePropertiesInfoWindow = ` ?id skos:prefLabel ?prefLabel__id . BIND(?prefLabel__id AS ?prefLabel__prefLabel) -- GitLab