From 5e333a252654a7956e81c095c301dc52b7d80827 Mon Sep 17 00:00:00 2001 From: esikkala <esko.ikkala@aalto.fi> Date: Tue, 13 Aug 2019 12:16:28 +0300 Subject: [PATCH] Internal links for events and places --- src/server/sparql/SparqlQueriesEvents.js | 24 +++++++++++++++++++----- src/server/sparql/SparqlQueriesPlaces.js | 1 + 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/server/sparql/SparqlQueriesEvents.js b/src/server/sparql/SparqlQueriesEvents.js index b510d1d9..7358aba2 100644 --- a/src/server/sparql/SparqlQueriesEvents.js +++ b/src/server/sparql/SparqlQueriesEvents.js @@ -2,13 +2,13 @@ export const eventProperties = ` { ?id a ?type__id . ?type__id skos:prefLabel|rdfs:label ?type__prefLabel . - BIND(?id AS ?type__dataProviderUrl) + BIND(CONCAT("/events/page/", REPLACE(STR(?id), "^.*\\\\/(.+)", "$1")) AS ?type__dataProviderUrl) } UNION { ?id crm:P7_took_place_at ?place__id . ?place__id skos:prefLabel ?place__prefLabel . - ?place__id owl:sameAs ?place__dataProviderUrl . + BIND(CONCAT("/places/page/", REPLACE(STR(?place__id), "^.*\\\\/(.+)", "$1")) AS ?place__dataProviderUrl) } UNION { @@ -21,18 +21,32 @@ export const eventProperties = ` { ?id crm:P30_transferred_custody_of ?manuscript__id . ?manuscript__id skos:prefLabel ?manuscript__prefLabel . - BIND(?manuscript__id AS ?manuscript__dataProviderUrl) + OPTIONAL { + ?manuscript__id a frbroo:F4_Manifestation_Singleton . + BIND(CONCAT("/manuscripts/page/", REPLACE(STR(?manuscript__id), "^.*\\\\/(.+)", "$1")) AS ?manuscript__dataProviderUrl) + } + OPTIONAL { + ?manuscript__id a crm:E78_Collection . + BIND(CONCAT("/collections/page/", REPLACE(STR(?manuscript__id), "^.*\\\\/(.+)", "$1")) AS ?manuscript__dataProviderUrl) + } } UNION { ?id mmm-schema:observed_manuscript ?manuscript__id . ?manuscript__id skos:prefLabel ?manuscript__prefLabel . - BIND(?manuscript__id AS ?manuscript__dataProviderUrl) + OPTIONAL { + ?manuscript__id a frbroo:F4_Manifestation_Singleton . + BIND(CONCAT("/manuscripts/page/", REPLACE(STR(?manuscript__id), "^.*\\\\/(.+)", "$1")) AS ?manuscript__dataProviderUrl) + } + OPTIONAL { + ?manuscript__id a crm:E78_Collection . + BIND(CONCAT("/collections/page/", REPLACE(STR(?manuscript__id), "^.*\\\\/(.+)", "$1")) AS ?manuscript__dataProviderUrl) + } } UNION { ?id crm:P108_has_produced ?manuscript__id . ?manuscript__id skos:prefLabel ?manuscript__prefLabel . - BIND(?manuscript__id AS ?manuscript__dataProviderUrl) + BIND(CONCAT("/manuscripts/page/", REPLACE(STR(?manuscript__id), "^.*\\\\/(.+)", "$1")) AS ?manuscript__dataProviderUrl) } `; diff --git a/src/server/sparql/SparqlQueriesPlaces.js b/src/server/sparql/SparqlQueriesPlaces.js index 28284b36..ed87cbef 100644 --- a/src/server/sparql/SparqlQueriesPlaces.js +++ b/src/server/sparql/SparqlQueriesPlaces.js @@ -18,6 +18,7 @@ export const placeProperties = ` UNION { ?id gvp:broaderPreferred ?area__id . ?area__id skos:prefLabel ?area__prefLabel . + BIND(CONCAT("/places/page/", REPLACE(STR(?area__id), "^.*\\\\/(.+)", "$1")) AS ?area__dataProviderUrl) } UNION { ?id ^mmm-schema:person_place ?actor__id . -- GitLab