From 915a52f1e6a44eb56aa9903b8af8e3d69d3b68e8 Mon Sep 17 00:00:00 2001 From: esikkala <esko.ikkala@aalto.fi> Date: Tue, 11 Dec 2018 08:42:49 +0200 Subject: [PATCH] Manuscripts: separate production, expression creation and work conception events --- src/server/sparql/Datasets.js | 56 +++++++++----------------------- src/server/sparql/Manuscripts.js | 6 ++-- 2 files changed, 17 insertions(+), 45 deletions(-) diff --git a/src/server/sparql/Datasets.js b/src/server/sparql/Datasets.js index b373af42..bb6f9b0f 100644 --- a/src/server/sparql/Datasets.js +++ b/src/server/sparql/Datasets.js @@ -1,14 +1,3 @@ -// # (GROUP_CONCAT(DISTINCT ?owner_; SEPARATOR=" | ") AS ?owner) -// # OPTIONAL { -// # ?id crm:P51_has_former_or_current_owner ?ownerId . -// # ?ownerId skos:prefLabel ?ownerLabel . -// # ?ownerRei rdf:subject ?id ; -// # rdf:predicate crm:P51_has_former_or_current_owner ; -// # rdf:object ?ownerId ; -// # mmm-schema:order ?ownerOrder ; -// # mmm-schema:entry ?ownerEntry . -// # BIND(CONCAT(STR(?ownerLabel), ";", STR(?ownerId), ";", STR(?ownerOrder), ";", STR(?ownerEntry)) AS ?owner_) -// # } module.exports = { 'mmm': { 'title': 'MMM', @@ -32,8 +21,6 @@ module.exports = { WHERE { <FILTER> ?id a frbroo:F4_Manifestation_Singleton . - # ?id dct:source mmm-schema:Bodley . - # ?id dct:source mmm-schema:SDBM . } `, 'manuscriptQuery': ` @@ -57,11 +44,11 @@ module.exports = { ?id a frbroo:F4_Manifestation_Singleton . # ?id dct:source mmm-schema:Bodley . # ?id dct:source mmm-schema:SDBM . + # ?id dct:source mmm-schema:Bibale . # ?id (^frbroo:R18_created|^crm:P108_has_produced)/crm:P7_took_place_at/skos:prefLabel ?orderBy . } #ORDER BY (!BOUND(?orderBy)) ?orderBy ORDER BY ?id - <PAGE> } FILTER(BOUND(?id)) @@ -73,23 +60,23 @@ module.exports = { } UNION { - ?production frbroo:R18_created|crm:P108_has_produced ?id . - ?production mmm-schema:carried_out_by_as_author ?author__id . + ?id crm:P128_carries/^frbroo:R17_created/frbroo:R19_created_a_realisation_of/^frbroo:R16_initiated ?workConception . + ?workConception mmm-schema:carried_out_by_as_author ?author__id . ?author__id skos:prefLabel ?author__prefLabel . - ?author__id mmm-schema:data_provider_url ?author__dataProviderUrl . + OPTIONAL { ?author__id mmm-schema:data_provider_url ?author__dataProviderUrl } } UNION { - ?production frbroo:R18_created|crm:P108_has_produced ?id . + ?production crm:P108_has_produced ?id . ?production crm:P4_has_time-span ?timespan . ?timespan skos:prefLabel ?timespan__id . - ?timespan crm:P79_beginning_is_qualified_by ?timespan__start . - ?timespan crm:P80_end_is_qualified_by ?timespan__end . + OPTIONAL { ?timespan crm:P79_beginning_is_qualified_by ?timespan__start } + OPTIONAL { ?timespan crm:P80_end_is_qualified_by ?timespan__end } BIND (?timespan__id AS ?timespan__prefLabel) } UNION { - ?production frbroo:R18_created|crm:P108_has_produced ?id . + ?production crm:P108_has_produced ?id . ?production crm:P7_took_place_at ?productionPlace__id . ?productionPlace__id skos:prefLabel ?productionPlace__prefLabel . OPTIONAL { ?productionPlace__id mmm-schema:data_provider_url ?productionPlace__dataProviderUrl } @@ -102,7 +89,7 @@ module.exports = { { ?id crm:P51_has_former_or_current_owner ?owner__id . ?owner__id skos:prefLabel ?owner__prefLabel . - ?owner__id mmm-schema:data_provider_url ?owner__dataProviderUrl . + OPTIONAL { ?owner__id mmm-schema:data_provider_url ?owner__dataProviderUrl } OPTIONAL { [] rdf:subject ?id ; rdf:predicate crm:P51_has_former_or_current_owner ; @@ -125,7 +112,6 @@ module.exports = { OPTIONAL { ?event__id crm:P7_took_place_at|mmm-schema:observed_location ?event__place. } OPTIONAL { ?event__id mmm-schema:data_provider_url ?event__dataProviderUrl } } - } `, 'productionPlacesQuery': ` @@ -139,24 +125,12 @@ module.exports = { SELECT ?id ?lat ?long ?prefLabel ?dataProviderUrl (COUNT(DISTINCT ?manuscript) as ?manuscriptCount) WHERE { - { - ?manuscript ^frbroo:R18_created/crm:P7_took_place_at ?id . - ?id skos:prefLabel ?prefLabel . - OPTIONAL { ?id mmm-schema:data_provider_url ?dataProviderUrl } - OPTIONAL { - ?id wgs84:lat ?lat ; - wgs84:long ?long . - } - } - UNION - { - ?manuscript ^crm:P108_has_produced/crm:P7_took_place_at ?id . - ?id skos:prefLabel ?prefLabel . - OPTIONAL { ?id mmm-schema:data_provider_url ?dataProviderUrl } - OPTIONAL { - ?id wgs84:lat ?lat ; - wgs84:long ?long . - } + ?manuscript ^crm:P108_has_produced/crm:P7_took_place_at ?id . + ?id skos:prefLabel ?prefLabel . + OPTIONAL { ?id mmm-schema:data_provider_url ?dataProviderUrl } + OPTIONAL { + ?id wgs84:lat ?lat ; + wgs84:long ?long . } } GROUP BY ?id ?lat ?long ?prefLabel ?dataProviderUrl diff --git a/src/server/sparql/Manuscripts.js b/src/server/sparql/Manuscripts.js index b5fdf716..f52a03fa 100644 --- a/src/server/sparql/Manuscripts.js +++ b/src/server/sparql/Manuscripts.js @@ -12,15 +12,13 @@ const facetConfigs = { productionPlace: { id: 'productionPlace', label: 'Production place', - // predicate: '(^frbroo:R18_created|^crm:P108_has_produced)/crm:P7_took_place_at', - predicate: '^frbroo:R18_created/crm:P7_took_place_at', + predicate: '^crm:P108_has_produced/crm:P7_took_place_at', hierarchical: true, }, author: { id: 'author', label: 'Author', - // predicate: '(^frbroo:R18_created|^crm:P108_has_produced)/mmm-schema:carried_out_by_as_author', - predicate: '^frbroo:R18_created/mmm-schema:carried_out_by_as_author', + predicate: 'crm:P128_carries/^frbroo:R17_created/frbroo:R19_created_a_realisation_of/^frbroo:R16_initiated/mmm-schema:carried_out_by_as_author', hierarchical: false } }; -- GitLab