diff --git a/package-lock.json b/package-lock.json index 57fba845a9cec7c3f6cf16750a2b39b331e6b93d..920e9c0f0f65507dce4ba2f11e1b68457dce5bd4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16637,6 +16637,11 @@ "vt-pbf": "^3.1.1" } }, + "mapbox-gl-leaflet": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/mapbox-gl-leaflet/-/mapbox-gl-leaflet-0.0.15.tgz", + "integrity": "sha512-dyuJLubdr/lBkf7ssqGrJCc4OCv6iZlYd/eqVzjKJOv0caPi69SLefm/Y3mfE5BMD6FiqtaZqIRDL0U5zWPlRg==" + }, "markdown-escapes": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", diff --git a/package.json b/package.json index 0647bd9d32771093ce890d4b2d289785fb86a34f..e0b4b21e099918e14a6df1377493508844e7fe34 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "leaflet.markercluster": "^1.4.1", "leaflet.zoominfo": "git+https://github.com/SemanticComputing/Leaflet.zoominfo.git", "lodash": "^4.17.21", + "mapbox-gl-leaflet": "0.0.15", "moment": "^2.24.0", "moment-range": "^4.0.2", "react": "^16.13.0", diff --git a/src/client/components/facet_results/LeafletMap.js b/src/client/components/facet_results/LeafletMap.js index 8f000e3999fdb02a898d1703053ca25c88594fcd..511323dd63799893ffe3fe0fac96c12b291a0ee1 100644 --- a/src/client/components/facet_results/LeafletMap.js +++ b/src/client/components/facet_results/LeafletMap.js @@ -30,6 +30,7 @@ import 'leaflet.zoominfo/dist/L.Control.Zoominfo.css' import 'leaflet-usermarker/src/leaflet.usermarker.js' import 'leaflet-usermarker/src/leaflet.usermarker.css' // import 'leaflet.gridlayer.googlemutant/Leaflet.GoogleMutant.js' +// import 'mapbox-gl-leaflet/leaflet-mapbox-gl.js' import markerShadowIcon from '../../img/markers/marker-shadow.png' import markerIconViolet from '../../img/markers/marker-icon-violet.png' @@ -314,10 +315,17 @@ class LeafletMap extends React.Component { // attribution: 'National Land Survey of Finland', // maxZoom: 18 // }) + // const googleRoadmap = L.gridLayer.googleMutant({ // type: 'roadmap' // }) + // https://github.com/mapbox/mapbox-gl-leaflet + // const nlsVectortilesBackgroundmap = L.mapboxGL({ + // accessToken: this.props.mapBoxAccessToken, + // style: `${process.env.API_URL}/nls-vectortiles` + // }) + // layer for markers this.resultMarkerLayer = L.layerGroup() @@ -361,7 +369,7 @@ class LeafletMap extends React.Component { if (this.props.showExternalLayers) { const basemaps = { [intl.get(`leafletMap.basemaps.mapbox.${this.props.mapBoxStyle}`)]: mapboxBaseLayer - // [intl.get('leafletMap.basemaps.backgroundMapNLS')]: backgroundMapNLS, + // [intl.get('leafletMap.basemaps.backgroundMapNLS')]: nlsVectortilesBackgroundmap // [intl.get('leafletMap.basemaps.topographicalMapNLS')]: topographicalMapNLS, // [intl.get('leafletMap.basemaps.airMapNLS')]: airMapNLS // [intl.get('leafletMap.basemaps.googleRoadmap')]: googleRoadmap, diff --git a/src/client/translations/sampo/localeEN.json b/src/client/translations/sampo/localeEN.json index 25b8fe77d86aedb0954580c190b60904a1baf283..bfa588965ee965d4ef5196f9fec509d5c60edcd0 100644 --- a/src/client/translations/sampo/localeEN.json +++ b/src/client/translations/sampo/localeEN.json @@ -127,7 +127,7 @@ "leafletMap": { "basemaps": { "mapbox": { - "light-v10": "Mapbox Light" + "light-v10": "Mapbox Light (OpenStreetMap)" }, "googleRoadmap": "Google Maps", "topographicalMapNLS": "Topographical map (National Land Survey of Finland)", diff --git a/src/client/translations/sampo/localeEN_old.js b/src/client/translations/sampo/localeEN_old.js deleted file mode 100644 index 020799eeb348768428aa5c5d9b5c9c1026a2e0dc..0000000000000000000000000000000000000000 --- a/src/client/translations/sampo/localeEN_old.js +++ /dev/null @@ -1,2324 +0,0 @@ -export default { - languageLabel: 'English', - html: { - title: 'Sampo-UI – A framework for building user interfaces for semantic portals', - description: `The Sampo-UI framework makes it possible to create highly customizable, - user-friendly, and responsive user interfaces using current state-of-the-art JavaScript - libraries and data from SPARQL endpoints.` - }, - appTitle: { - short: 'Sampo-UI', - long: ' Sampo-UI ', - subheading: ` - "Here to forge for us the Sampo, Hammer us the lid in colors" - ` - }, - appDescription: ` - - `, - appDescription1: ` - Sampo is a web service for searching and studying place names. The search results - can be viewed as a table, on maps, and as statistical distributions. - Historical and current background maps are provided. - `, - appDescription2: ` - Start by choosing source dataset(s) and input a place name on the search field. - Alternatively you can search by area. - `, - appDescription3: ` - - `, - appDescription4: ` - - `, - selectPerspective: 'Select a perspective to search and browse the knowledge graph:', - mainPageImageLicence: 'Images used under license from Shutterstock.com', - backendErrorText: 'One of the backend services is not available at the moment. Please try again later.', - topBar: { - feedback: 'feedback', - info: { - info: 'Info', - blog: 'Project blog', - blogUrl: 'https://seco.cs.aalto.fi', - aboutThePortal: 'About the Portal' - }, - searchBarPlaceHolder: 'Search all content', - searchBarPlaceHolderShort: 'Search', - instructions: 'instructions' - }, - facetBar: { - results: 'Results', - activeFilters: 'Active filters:', - removeAllFilters: 'Remove all', - narrowDownBy: 'Narrow down by', - filterOptions: 'Filter options', - filterByName: 'Filter by name', - filterByBoundingBox: 'Filter by bounding box', - selectionOptions: 'Selection options', - selectAlsoSubconcepts: 'Automatically select all subconcepts', - doNotSelectSubconcepts: 'Do not select subconcepts', - sortingOptions: 'Sorting options', - sortAlphabetically: 'Sort alphabetically', - sortByNumberOfSearchResults: 'Sort by number of search results', - useDisjunction: 'Use logical OR between selections', - useConjuction: 'Use logical AND between selections', - minYear: 'Min year', - maxYear: 'Max year', - min: 'Min', - max: 'Max', - facetSearchFieldPlaceholder: 'Search...', - applyFacetSelection: 'apply', - pieChart: { - tooltip: 'Pie chart' - }, - barChart: { - tooltip: 'Bar chart', - language: { - title: 'Language', - xaxisTitle: 'Language', - yaxisTitle: 'Manuscript count', - seriesTitle: 'Manuscript count' - } - }, - lineChart: { - tooltip: 'Line chart', - productionTimespan: { - title: 'Manuscript production by decade', - xaxisTitle: 'Decade', - yaxisTitle: 'Manuscript count', - seriesTitle: 'Manuscript count' - } - } - }, - tabs: { - table: 'table', - map: 'map', - production_places: 'production places', - production_places_heatmap: 'production heatmap', - last_known_locations: 'last known locations', - migrations: 'migrations', - network: 'network', - export: 'export', - production_dates: 'production dates', - event_dates: 'event dates', - map_clusters: 'clustered map', - map_markers: 'map', - heatmap: 'heatmap', - statistics: 'statistics', - emloLetterNetwork: 'Network of letters', - emloSentReceived: 'Sent and received letters', - download: 'download', - recommendations: 'recommendations' - }, - table: { - rowsPerPage: 'Rows per page', - of: 'of' - }, - lineChart: { - productionCount: 'Production', - transferCount: 'Transfer of custody', - observationCount: 'Observation', - sentCount: 'Sent', - receivedCount: 'Received', - allCount: 'All' - }, - exportToYasgui: 'open the result table query in yasgui sparql editor', - openInLinkedDataBrowser: 'open in linked data browser', - resultsAsCSV: 'download the search results as a CSV table', - facets: { - dateFacet: { - invalidDate: 'Epäkelpo päivämäärä.', - toBeforeFrom: 'Alkupäivämäärän täytyy olla ennen loppupäivämäärää.', - minDate: 'Aikaisin sallittu päivämäärä on {minDate}', - maxDate: 'Myöhäisin sallittu päivämäärä on {maxDate}', - cancel: 'Peruuta', - fromLabel: 'Alku', - toLabel: 'Loppu' - }, - textFacet: { - inputLabel: 'Etsi nimellä' - }, - sliderFacet: { - invalidStartOrEnd: 'Only whole numbers are allowed. Min value must be smaller than max value. The smallest value can be {min} and the largest value can be {max}.' - } - }, - leafletMap: { - basemaps: { - mapbox: { - 'light-v10': 'Mapbox Light' - }, - googleRoadmap: 'Google Maps', - topographicalMapNLS: 'Topographical map (National Land Survey of Finland)', - backgroundMapNLS: 'Background map (National Land Survey of Finland)' - }, - externalLayers: { - arkeologiset_kohteet_alue: 'Register of Archaeological Sites, areas (Finnish Heritage Agency)', - arkeologiset_kohteet_piste: 'Register of Archaeological Sites, points (Finnish Heritage Agency)', - fhaLidar: 'Elevation model (Finnish Heritage Agency)', - karelianMaps: 'Karelian maps, 1:100 000 topographic (SeCo)', - senateAtlas: 'Senate atlas, 1:21 000 topographic (SeCo)', - 'kotus:pitajat': 'Finnish parishes in 1938 (Institute for the Languages of Finland)', - 'kotus:rajat-sms-alueet': 'Dialectical regions in Finland (Institute for the Languages of Finland)', - 'kotus:rajat-sms-alueosat': 'Dialectical subregions in Finland (Institute for the Languages of Finland)', - 'kotus:rajat-lansi-ita': 'Border between western and eastern dialects in Finland (Institute for the Languages of Finland)' - }, - mapModeButtons: { - markers: 'Markers', - heatmap: 'Heatmap' - }, - wrongZoomLevel: 'The map zoom level has to at least 11', - wrongZoomLevelFHA: 'The map zoom level has to be at least 13 in order to show this layer', - tooManyResults: 'More than 3000 results, please use clustered map or heatmap' - }, - instancePageGeneral: { - introduction: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - This landing page provides a human-readable summary of the data points that link - to this {entity}. The data included in this summary reflect only those data points - used in the MMM Portal. Click the Open in Linked Data Browser on button on the - Export tab to view the complete set of classes and properties linked to this record. - </p> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - To cite this record, use its url. You can use also use the url to return directly - to the record at any time. - </p> - `, - repetition: ` - <h6 class="MuiTypography-root MuiTypography-h6"> - Repetition of data - </h6> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - The same or similar data may appear within a single data field multiple times. - This repetition occurs due to the merging of multiple records from different datasets - to create the MMM record. - </p> - ` - }, - deckGlMap: { - arcColouring: 'Arc colouring:', - showMoreInformation: 'Click to show more information.', - manuscriptMigrations: { - legendTitle: 'Arc colouring', - legendFrom: 'Manuscript production place', - legendTo: 'Last known location', - from: 'Production place:', - to: 'Last known location:', - count: 'Manuscript count', - listHeadingSingleInstance: 'Manuscript:', - listHeadingMultipleInstances: 'Manuscripts:' - } - }, - perspectives: { - perspective1: { - label: 'Perspective 1', - facetResultsType: 'manuscripts', - shortDescription: 'Perspective1 description', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to physical manuscript objects. - If two or more source datasets include the same manuscript and - this has been verified, the information from the source datasets has been merged - into one manuscript. See <a href="/instructions">instructions</a> for using the - filters. The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all manuscripts in - the MMM data. One table row is equivalent to one manuscript. - </li> - <li> - <strong>PRODUCTION PLACES</STRONG> view visualizes the connection - between manuscripts and the places where they were produced. - </li> - <li> - <strong>MIGRATIONS</strong> view visualizes the migration of a - manuscript from place of production to its most recently observed location. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Manuscript', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - MMM’s Manuscript entity corresponds to - <a href='https://www.ifla.org/publications/node/11240' target='_blank' rel='noopener noreferrer'>FRBRoo’s</a> - Manifestation Singleton, defined as "physical objects that each carry an instance of - [an Expression], and that were produced as unique objects..." The various types - of records that describe manuscripts in each of the three contributing MMM - datasets have been mapped to this entity. - </p> - <h6 class="MuiTypography-root MuiTypography-h6"> - Manuscript labels - </h6> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - If the Bibale or Oxford databases reference a shelf mark for the manuscript, - that information will appear as its label. Otherwise, an SDBM ID number will serve - as its label. SDBM ID numbers contain prefixes that indicate different things about - the type of record they contain: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - SDBM_MS: SDBM Manuscript Record, which aggregates the data of two or more SDBM - Entries. Each Entry represents a different observation of a manuscript at a different - point in time, derived from various sources. - </li> - <li> - SDBM_MS_orphan: a single Entry in the SDBM, meaning it has not been linked to any - other Entries and therefore has no SDBM Manuscript Record. - </li> - <li> - SDBM_MS_part: a record identified as a fragment of a larger manuscript. - </li> - </ul> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"></p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Label', - description: 'A short label describing the manuscript.', - textFacetInputPlaceholder: 'Search...' - }, - author: { - label: 'Author', - description: ` - The author(s) who have contributed to the intellectual content (works) - contained in the manuscript. - ` - }, - work: { - label: 'Work', - description: 'The intellectual content (works) contained in the manuscript.' - }, - expression: { - label: 'Expression', - description: 'The linguistic versions of the works contained in the manuscript.' - }, - productionPlace: { - label: 'Production place', - description: ` - The location where the manuscript was written. Multiple production places - may appear for a single manuscript due to the following reasons: 1) there - are discrepancies in the contributing data source, 2) there are discrepancies - between several contributing data sources, 3) the precise date is uncertain, - 4) the production indeed took place on several occasions (e.g. for composite - manuscripts). - ` - }, - productionTimespan: { - label: 'Production date', - description: ` - The date when the manuscript was written. Multiple production dates may appear - for a single manuscript due to the following reasons: 1) there are discrepancies - in the contributing data source, 2) there are discrepancies between several - contributing data sources, 3) the precise date is uncertain, 4) the production - indeed took place on several occasions (e.g. for composite manuscripts). - ` - }, - note: { - label: 'Note', - description: ` - Other info such as distinguishing characteristics, notes on the physical structure - of the manuscript, script types, note glosses, physical relationships among various - texts and/or parts of a miscellany, such as multiple types of page layout. - ` - }, - language: { - label: 'Language', - description: ` - The language(s) in which the manuscript was written. - ` - }, - event: { - label: 'Event', - description: ` - Events related to the manuscript. - ` - }, - owner: { - label: 'Owner', - description: ` - Former or current owners (individual or institutional). - ` - }, - collection: { - label: 'Collection', - description: ` - The collection(s) that the manuscript has been part of at some point in time. - ` - }, - transferOfCustodyPlace: { - label: 'Transfer of Custody Place', - description: ` - The locations of “Transfer of Custody†events related to the manuscript. - ` - }, - transferOfCustodyTimespan: { - label: 'Transfer of Custody Date', - description: ` - The dates of “Transfer of Custody†events related to the manuscript. - ` - }, - lastKnownLocation: { - label: 'Last known location', - description: ` - Last known location - ` - }, - material: { - label: 'Material', - description: ` - The physical material on which the text is written. - ` - }, - height: { - label: 'Height', - description: ` - The height of the manuscript in millimeters. - ` - }, - width: { - label: 'Width', - description: ` - The width of the manuscript in millimeters. - ` - }, - folios: { - label: 'Folios', - description: ` - The number of folios (leaves). - ` - }, - lines: { - label: 'Lines', - description: ` - The number of lines in a text block. Left blank if the number of lines - occurring throughout the manuscript is too irregular to be a useful - descriptor for searching. - ` - }, - columns: { - label: 'Columns', - description: ` - The number of columns. Left blank if the number of columns - occurring throughout the manuscript is too irregular to be a useful - descriptor for searching. - ` - }, - miniatures: { - label: 'Miniatures', - description: ` - The number of miniatures. - ` - }, - decoratedInitials: { - label: 'Decorated initials', - description: ` - The number of decorated initials. - ` - }, - historiatedInitials: { - label: 'Historiated initials', - description: ` - The number of historiated initials. - ` - }, - source: { - label: 'Source', - description: ` - The source dataset(s) (Bibale, Bodleian, or SDBM) contributing the - information on the manuscript. If two or more source datasets include - the same manuscript and this has been manually verified, the information - from the source datasets have been merged into one manuscript (table row). - Click on the links to view the original record on the source’s website. - ` - } - } - }, - perspective2: { - label: 'Perspective 2', - facetResultsType: 'works', - shortDescription: 'Perspective 2 description', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to Works. The MMM data model follows - the <a href='https://www.ifla.org/publications/node/11240' target='_blank' rel='noopener noreferrer'>FRBRoo</a> - definition of a work, which refers to “distinct concepts or combinations - of concepts identified in artistic and intellectual expressions.†Works - contain title and author information. If two or more source - datasets include the same Work and this has been verified, the information - from the source datasets has been merged into one Work. See - <a href="/instructions">instructions</a> for using the filters. - The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view gives you a list of specific works, and - the manuscripts and manuscript collections in which they can be found. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Work', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - The MMM data model follows the - <a href='https://www.ifla.org/publications/node/11240' target='_blank' rel='noopener noreferrer'>FRBRoo</a> - definition of a work, which refers to - “distinct concepts or combinations of concepts identified in artistic and - intellectual expressions.†Works contain title and author information. - This definition is not shared by the Bibale or Oxford Libraries’ conception - of the term, which both define their internal “work†concept more closely to - the FRBRoo conception of an Expression. The SDBM does not have a work concept - at all, recording only the titles of the texts as given in its various sources, - without normalizing that data or linking it directly to author information. - Works were generated within the MMM dataset by manually creating links across - the three datasets’ various conceptions of the relationship between authors - and their creations. This process was not able to reconcile every work - contained within the combined dataset. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Title', - description: 'The name or title of the Work.', - textFacetInputPlaceholder: 'Search...' - }, - author: { - label: 'Possible author', - description: ` - The author(s) associated with the Work. Because of the structure of - entries in the Schoenberg Database, the authors shown as being - associated with a Work may actually be associated with other - Works in the same manuscript instead. - ` - }, - language: { - label: 'Language', - description: ` - The language in which a Work is written in the manuscript - (i.e., an “Expression†of a Work). One manuscript may contain multiple languages. - ` - }, - expression: { - label: 'Expression', - description: ` - The expression(s) of the Work. - ` - }, - manuscript: { - label: 'Manuscript', - description: ` - The specific manuscript(s) in which the Work can be found. - ` - }, - productionTimespan: { - label: 'Manuscript production date', - description: ` - The date(s) when the manuscript(s) in which the Work can be found were written. - Multiple production dates may appear for a single manuscript, - when there are discrepancies between the contributing data source - or when the precise date is uncertain. - ` - }, - collection: { - label: 'Collection', - description: ` - The specific collection(s) of manuscripts in which a Work can be found. - ` - }, - source: { - label: 'Source', - description: ` - The source database(s) (Schoenberg, Bibale, and Bodleian) that the Work - occurs in. Click on the result table link to view the original record on the - source’s website. - ` - } - } - }, - perspective3: { - label: 'Perspective 3', - facetResultsType: 'events', - shortDescription: 'Perspective 3 description', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to events associated with the - histories of manuscripts and manuscript collections over the centuries. - See <a href="/instructions">instructions</a> for using the filters. - The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all events in the MMM data. - </li> - <li> - <strong>MAP</STRONG> view visualizes the events that have location information on a map. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Event', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Events refer to various activities related to Manuscripts and Actors. Event - types include Production, Transfer of Custody, and Activity events. - Production events refer to the production of the physical manuscript. - Transfer of Custody events indicate a change of ownership that involved - a transaction of some kind, usually through an auction house or bookseller. - The generic Activity event type covers all other types of events. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - type: { - label: 'Type', - description: ` - Distinguish between “Transfer of Custodyâ€, “Productionâ€, and other - types of “Activity†events. - ` - }, - language: { - label: 'Language', - description: ` - The language in which a Work is written in the manuscript - (i.e., an “Expression†of a Work). One manuscript may contain multiple languages. - ` - }, - manuscript: { - label: 'Manuscript / Collection', - description: ` - The manuscript or manuscript collection associated with the event. - ` - }, - eventTimespan: { - label: 'Date', - description: ` - The date or time period associated with the event. - ` - }, - place: { - label: 'Place', - description: ` - The specific place(s) associated with the event. - ` - }, - placeType: { - label: 'Place type', - description: ` - The type of the specific place(s) associated with the event. - ` - }, - note: { - label: 'Note', - description: ` - Note - ` - }, - surrender: { - label: 'Custody surrendered by', - description: ` - Custody surrendered by - ` - }, - receiver: { - label: 'Custody received by', - description: ` - Custody received by - ` - }, - observedOwner: { - label: 'Observed owner', - description: ` - Observed owner - ` - }, - source: { - label: 'Source', - description: ` - The source database (Schoenberg, Bibale, and Bodleian) that provided - the information about the event. - ` - } - } - }, - fullTextSearch: { - properties: { - prefLabel: { - label: 'Label', - description: '' - }, - type: { - label: 'Type', - description: '' - }, - note: { - label: 'Note', - description: '' - } - // source: { - // label: 'Source', - // description: '' - // } - } - }, - manuscripts: { - label: 'Manuscripts', - facetResultsType: 'manuscripts', - shortDescription: 'Physical manuscript objects', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to physical manuscript objects. - If two or more source datasets include the same manuscript and - this has been verified, the information from the source datasets has been merged - into one manuscript. See <a href="/instructions">instructions</a> for using the - filters. The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all manuscripts in - the MMM data. One table row is equivalent to one manuscript. - </li> - <li> - <strong>PRODUCTION PLACES</STRONG> view visualizes the connection - between manuscripts and the places where they were produced. - </li> - <li> - <strong>MIGRATIONS</strong> view visualizes the migration of a - manuscript from place of production to its most recently observed location. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Manuscript', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - MMM’s Manuscript entity corresponds to - <a href='https://www.ifla.org/publications/node/11240' target='_blank' rel='noopener noreferrer'>FRBRoo’s</a> - Manifestation Singleton, defined as "physical objects that each carry an instance of - [an Expression], and that were produced as unique objects..." The various types - of records that describe manuscripts in each of the three contributing MMM - datasets have been mapped to this entity. - </p> - <h6 class="MuiTypography-root MuiTypography-h6"> - Manuscript labels - </h6> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - If the Bibale or Oxford databases reference a shelf mark for the manuscript, - that information will appear as its label. Otherwise, an SDBM ID number will serve - as its label. SDBM ID numbers contain prefixes that indicate different things about - the type of record they contain: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - SDBM_MS: SDBM Manuscript Record, which aggregates the data of two or more SDBM - Entries. Each Entry represents a different observation of a manuscript at a different - point in time, derived from various sources. - </li> - <li> - SDBM_MS_orphan: a single Entry in the SDBM, meaning it has not been linked to any - other Entries and therefore has no SDBM Manuscript Record. - </li> - <li> - SDBM_MS_part: a record identified as a fragment of a larger manuscript. - </li> - </ul> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"></p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Label', - description: 'A short label describing the manuscript.' - }, - author: { - label: 'Author', - description: ` - The author(s) who have contributed to the intellectual content (works) - contained in the manuscript. - ` - }, - work: { - label: 'Work', - description: 'The intellectual content (works) contained in the manuscript.' - }, - expression: { - label: 'Expression', - description: 'The linguistic versions of the works contained in the manuscript.' - }, - productionPlace: { - label: 'Production place', - description: ` - The location where the manuscript was written. Multiple production places - may appear for a single manuscript due to the following reasons: 1) there - are discrepancies in the contributing data source, 2) there are discrepancies - between several contributing data sources, 3) the precise date is uncertain, - 4) the production indeed took place on several occasions (e.g. for composite - manuscripts). - ` - }, - productionTimespan: { - label: 'Production date', - description: ` - The date when the manuscript was written. Multiple production dates may appear - for a single manuscript due to the following reasons: 1) there are discrepancies - in the contributing data source, 2) there are discrepancies between several - contributing data sources, 3) the precise date is uncertain, 4) the production - indeed took place on several occasions (e.g. for composite manuscripts). - ` - }, - note: { - label: 'Note', - description: ` - Other info such as distinguishing characteristics, notes on the physical structure - of the manuscript, script types, note glosses, physical relationships among various - texts and/or parts of a miscellany, such as multiple types of page layout. - ` - }, - language: { - label: 'Language', - description: ` - The language(s) in which the manuscript was written. - ` - }, - event: { - label: 'Event', - description: ` - Events related to the manuscript. - ` - }, - owner: { - label: 'Owner', - description: ` - Former or current owners (individual or institutional). - ` - }, - collection: { - label: 'Collection', - description: ` - The collection(s) that the manuscript has been part of at some point in time. - ` - }, - transferOfCustodyPlace: { - label: 'Transfer of Custody Place', - description: ` - The locations of “Transfer of Custody†events related to the manuscript. - ` - }, - transferOfCustodyTimespan: { - label: 'Transfer of Custody Date', - description: ` - The dates of “Transfer of Custody†events related to the manuscript. - ` - }, - lastKnownLocation: { - label: 'Last known location', - description: ` - Last known location - ` - }, - material: { - label: 'Material', - description: ` - The physical material on which the text is written. - ` - }, - height: { - label: 'Height', - description: ` - The height of the manuscript in millimeters. - ` - }, - width: { - label: 'Width', - description: ` - The width of the manuscript in millimeters. - ` - }, - folios: { - label: 'Folios', - description: ` - The number of folios (leaves). - ` - }, - lines: { - label: 'Lines', - description: ` - The number of lines in a text block. Left blank if the number of lines - occurring throughout the manuscript is too irregular to be a useful - descriptor for searching. - ` - }, - columns: { - label: 'Columns', - description: ` - The number of columns. Left blank if the number of columns - occurring throughout the manuscript is too irregular to be a useful - descriptor for searching. - ` - }, - miniatures: { - label: 'Miniatures', - description: ` - The number of miniatures. - ` - }, - decoratedInitials: { - label: 'Decorated initials', - description: ` - The number of decorated initials. - ` - }, - historiatedInitials: { - label: 'Historiated initials', - description: ` - The number of historiated initials. - ` - }, - source: { - label: 'Source', - description: ` - The source dataset(s) (Bibale, Bodleian, or SDBM) contributing the - information on the manuscript. If two or more source datasets include - the same manuscript and this has been manually verified, the information - from the source datasets have been merged into one manuscript (table row). - Click on the links to view the original record on the source’s website. - ` - } - } - }, - works: { - label: 'Works', - facetResultsType: 'works', - shortDescription: 'Intellectual content of manuscripts', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to Works. The MMM data model follows - the <a href='https://www.ifla.org/publications/node/11240' target='_blank' rel='noopener noreferrer'>FRBRoo</a> - definition of a work, which refers to “distinct concepts or combinations - of concepts identified in artistic and intellectual expressions.†Works - contain title and author information. If two or more source - datasets include the same Work and this has been verified, the information - from the source datasets has been merged into one Work. See - <a href="/instructions">instructions</a> for using the filters. - The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view gives you a list of specific works, and - the manuscripts and manuscript collections in which they can be found. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Work', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - The MMM data model follows the - <a href='https://www.ifla.org/publications/node/11240' target='_blank' rel='noopener noreferrer'>FRBRoo</a> - definition of a work, which refers to - “distinct concepts or combinations of concepts identified in artistic and - intellectual expressions.†Works contain title and author information. - This definition is not shared by the Bibale or Oxford Libraries’ conception - of the term, which both define their internal “work†concept more closely to - the FRBRoo conception of an Expression. The SDBM does not have a work concept - at all, recording only the titles of the texts as given in its various sources, - without normalizing that data or linking it directly to author information. - Works were generated within the MMM dataset by manually creating links across - the three datasets’ various conceptions of the relationship between authors - and their creations. This process was not able to reconcile every work - contained within the combined dataset. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Title', - description: 'The name or title of the Work.' - }, - author: { - label: 'Possible author', - description: ` - The author(s) associated with the Work. Because of the structure of - entries in the Schoenberg Database, the authors shown as being - associated with a Work may actually be associated with other - Works in the same manuscript instead. - ` - }, - language: { - label: 'Language', - description: ` - The language in which a Work is written in the manuscript - (i.e., an “Expression†of a Work). One manuscript may contain multiple languages. - ` - }, - expression: { - label: 'Expression', - description: ` - The expression(s) of the Work. - ` - }, - manuscript: { - label: 'Manuscript', - description: ` - The specific manuscript(s) in which the Work can be found. - ` - }, - productionTimespan: { - label: 'Manuscript production date', - description: ` - The date(s) when the manuscript(s) in which the Work can be found were written. - Multiple production dates may appear for a single manuscript, - when there are discrepancies between the contributing data source - or when the precise date is uncertain. - ` - }, - collection: { - label: 'Collection', - description: ` - The specific collection(s) of manuscripts in which a Work can be found. - ` - }, - source: { - label: 'Source', - description: ` - The source database(s) (Schoenberg, Bibale, and Bodleian) that the Work - occurs in. Click on the result table link to view the original record on the - source’s website. - ` - } - } - }, - events: { - label: 'Events', - facetResultsType: 'events', - shortDescription: 'Events related to manuscripts', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to events associated with the - histories of manuscripts and manuscript collections over the centuries. - See <a href="/instructions">instructions</a> for using the filters. - The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all events in the MMM data. - </li> - <li> - <strong>MAP</STRONG> view visualizes the events that have location information on a map. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Event', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Events refer to various activities related to Manuscripts and Actors. Event - types include Production, Transfer of Custody, and Activity events. - Production events refer to the production of the physical manuscript. - Transfer of Custody events indicate a change of ownership that involved - a transaction of some kind, usually through an auction house or bookseller. - The generic Activity event type covers all other types of events. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - type: { - label: 'Type', - description: ` - Distinguish between “Transfer of Custodyâ€, “Productionâ€, and other - types of “Activity†events. - ` - }, - language: { - label: 'Language', - description: ` - The language in which a Work is written in the manuscript - (i.e., an “Expression†of a Work). One manuscript may contain multiple languages. - ` - }, - manuscript: { - label: 'Manuscript / Collection', - description: ` - The manuscript or manuscript collection associated with the event. - ` - }, - eventTimespan: { - label: 'Date', - description: ` - The date or time period associated with the event. - ` - }, - place: { - label: 'Place', - description: ` - The specific place(s) associated with the event. - ` - }, - note: { - label: 'Note', - description: ` - Note - ` - }, - surrender: { - label: 'Custody surrendered by', - description: ` - Custody surrendered by - ` - }, - receiver: { - label: 'Custody received by', - description: ` - Custody received by - ` - }, - observedOwner: { - label: 'Observed owner', - description: ` - Observed owner - ` - }, - source: { - label: 'Source', - description: ` - The source database (Schoenberg, Bibale, and Bodleian) that provided - the information about the event. - ` - } - } - }, - actors: { - label: 'Actors', - facetResultsType: 'actors', - shortDescription: 'People and institutions related to manuscripts', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - This perspective provides access to data related to the persons and institutions - who impacted the production or dissemination of manuscripts and works. - Actors include authors of works, artists and scribes who produced manuscripts, - and the individual owners and institutions who bought or sold manuscripts. - If two or more source datasets include the same Actor and this has been verified, - the information from the source datasets has been merged into one Actor. - See <a href="/instructions">instructions</a> for using the filters. - The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all Actors in the MMM data. - </li> - <li> - <strong>MAP</STRONG> view visualizes the connection between Actors - and the places where they lived or were located. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Actor', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Actors are individuals or groups who influenced the production or provenance - of a manuscript. Actor types include Person, Group, or Actor. Persons refer to - individuals, while Groups indicate corporate or institutional bodies. - The Actor type is used when a more specific type is unknown or not specified - in the source dataset. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Name', - description: ` - The standardized name of the actor. - ` - }, - type: { - label: 'Type', - description: ` - Indicates whether the actor is an individual (Person) or an institution, - corporation, or family (Group) - ` - }, - birthDateTimespan: { - label: 'Birth / formation date', - description: ` - The date when the actor was born or established. - ` - }, - deathDateTimespan: { - label: 'Death / dissolution date', - description: ` - The date when the actor died or dissolved. - ` - }, - place: { - label: 'Activity location', - description: ` - Place(s) of activity linked to this actor. - ` - }, - work: { - label: 'Work', - description: ` - Work(s) linked to the actor. - ` - }, - manuscript: { - label: 'Manuscript', - description: ` - Manuscript(s) linked to the actor. - ` - }, - role: { - label: 'Role', - description: ` - Role(s) - ` - }, - source: { - label: 'Source', - description: ` - The source dataset(s) (Bibale, Bodleian, or SDBM) contributing the - information on the actor. If two or more source datasets include the - same actor and this has been manually verified, the information from - the source datasets has been merged into one MMM actor. - Click on the result table link(s) to view the original record on the - source’s website. - ` - } - } - }, - places: { - label: 'Places', - facetResultsType: 'places', - shortDescription: 'Places related to manuscripts', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to places named in the source datasets - (Schoenberg, Bibale, and Bodleian). The places have been linked to Getty Thesaurus - of Geographic Names when possible. If two or more source datasets include the same - Place and this has been verified, the information from the source datasets has been - merged into one Place. See <a href="/instructions">instructions</a> for using the filters. - The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all Places in the MMM data. - </li> - <li> - <strong>MAP</STRONG> view shows all Places that have coordinates. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Place', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Places refer to geographic locations that relate to Manuscripts, Events, Actors, and - Collections. MMM uses the Getty Thesaurus of Geographic Names as its hierarchy for - geographic data. Coordinate data is approximate for locations such as counties, - regions, and nations. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Name', - description: ` - The name of the place. - ` - }, - placeType: { - label: 'Place type', - description: ` - The place type from Getty Thesaurus of Geographic Names. - ` - }, - area: { - label: 'Parent Place', - description: ` - A larger region or geographic division in which a place is contained. - MMM uses the hierarchy published by the Getty Thesaurus of Geographic Names. - ` - }, - manuscriptProduced: { - label: 'Manuscripts produced', - description: ` - Manuscript(s) produced here. - ` - }, - manuscriptTransferred: { - label: 'Manuscripts transferred', - description: ` - The manuscript(s) that have a "Transfer of Custody" event located here. - ` - }, - manuscriptObserved: { - label: 'Manuscripts observed', - description: ` - The manuscript(s) that have a provenance event located here. - ` - }, - actor: { - label: 'Actor', - description: ` - The actor(s) associated with the place. - ` - }, - source: { - label: 'Source', - description: ` - The source dataset (Schoenberg, Bibale, and Bodleian) and the place - authority (Getty Thesaurus of Geographic Names and GeoNames) - contributing the information on the place. - ` - } - } - }, - collections: { - label: '', - facetResultsType: '', - shortDescription: '', - longDescription: ` - `, - instancePage: { - label: 'Collection', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - A collection refers to a group of manuscripts that were owned by the same actor, - including individuals, institutions, or other types of groups. A manuscript can - appear in multiple collections over time, and no explicit distinction - is made between a manuscript’s current or former collections. Similarly, - collections will include links to every manuscript that has ever been in - the collection, regardless of whether all of those manuscripts were within - the collection at the same time. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Name', - description: ` - The name or title of the Collection. - ` - }, - manuscript: { - label: 'Manuscript', - description: ` - The manuscript(s) that have been a part of the collection at some - point in time. - ` - }, - owner: { - label: 'Owner', - description: ` - Former or current owners (individual or institutional). - ` - }, - place: { - label: 'Place', - description: ` - Location of the collection at some point during its existence - ` - }, - source: { - label: 'Source', - description: ` - The source database (Schoenberg, Bibale, and Bodleian) that the Collection - occurs in. Currently one Collection has always only one dataset as a source. - ` - } - } - }, - expressions: { - label: '', - facetResultsType: '', - shortDescription: '', - longDescription: ` - `, - instancePage: { - label: 'Expression', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - The MMM data model follows the - <a href='https://www.ifla.org/publications/node/11240' target='_blank' rel='noopener noreferrer'>FRBRoo</a> - definition of an Expression, which - refers to “the intellectual or artistic realisations of works in the form - of identifiable immaterial objects...†Expressions contain title, - and language information, and represent the various versions of texts that - appear in manuscripts. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Name', - description: ` - The name or title of the Expression. - ` - }, - manuscript: { - label: 'Manuscript', - description: ` - The manuscript that carries the Expression. - ` - }, - language: { - label: 'Language', - description: ` - The language of the Expression. - ` - }, - source: { - label: 'Source', - description: ` - The source database (Schoenberg, Bibale, and Bodleian) that the Expression - occurs in. Currently one Expression has always only one dataset as a source. - ` - } - } - }, - finds: { - label: 'Archaeological finds', - facetResultsType: 'finds', - shortDescription: 'Data provided by the Finnish Heritage Agency', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to physical manuscript objects. - If two or more source datasets include the same manuscript and - this has been verified, the information from the source datasets has been merged - into one manuscript. See <a href="/instructions">instructions</a> for using the - filters. The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all manuscripts in - the MMM data. One table row is equivalent to one manuscript. - </li> - <li> - <strong>PRODUCTION PLACES</STRONG> view visualizes the connection - between manuscripts and the places where they were produced. - </li> - <li> - <strong>MIGRATIONS</strong> view visualizes the migration of a - manuscript from place of production to its most recently observed location. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Archaeological find', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - MMM’s Manuscript entity corresponds to - <a href='https://www.ifla.org/publications/node/11240' target='_blank' rel='noopener noreferrer'>FRBRoo’s</a> - Manifestation Singleton, defined as "physical objects that each carry an instance of - [an Expression], and that were produced as unique objects..." The various types - of records that describe manuscripts in each of the three contributing MMM - datasets have been mapped to this entity. - </p> - <h6 class="MuiTypography-root MuiTypography-h6"> - Manuscript labels - </h6> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - If the Bibale or Oxford databases reference a shelf mark for the manuscript, - that information will appear as its label. Otherwise, an SDBM ID number will serve - as its label. SDBM ID numbers contain prefixes that indicate different things about - the type of record they contain: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - SDBM_MS: SDBM Manuscript Record, which aggregates the data of two or more SDBM - Entries. Each Entry represents a different observation of a manuscript at a different - point in time, derived from various sources. - </li> - <li> - SDBM_MS_orphan: a single Entry in the SDBM, meaning it has not been linked to any - other Entries and therefore has no SDBM Manuscript Record. - </li> - <li> - SDBM_MS_part: a record identified as a fragment of a larger manuscript. - </li> - </ul> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"></p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - findName: { - label: 'Find name', - description: 'Find name.' - }, - specification: { - label: 'Specification', - description: 'Specification.' - }, - prefLabel: { - label: 'Find name', - description: 'Find name.' - }, - type: { - label: 'Type', - description: ` - Type. - ` - }, - subCategory: { - label: 'Sub category', - description: ` - Sub category. - ` - }, - objectSubCategory: { - label: 'Sub category ontologized', - description: ` - Sub category using ontology terms. - ` - }, - material: { - label: 'Material', - description: ` - Material. - ` - }, - materialLiteral: { - label: 'Material literal', - description: ` - Material literal. - ` - }, - period: { - label: 'Period', - description: 'Period' - }, - periodObject: { - label: 'Period ontologized', - description: 'Ontologized period. May include both earliest and lates periods.' - }, - startYear: { - label: 'Start year', - description: ` - Start year. - ` - }, - endYear: { - label: 'End year', - description: ` - End year. - ` - }, - municipality: { - label: 'Municipality', - description: ` - Municipality. - ` - }, - image: { - label: 'Image', - description: 'Image description.' - } - } - }, - emloActors: { - label: 'Actors', - facetResultsType: 'actors', - shortDescription: 'Description', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to physical manuscript objects. - If two or more source datasets include the same manuscript and - this has been verified, the information from the source datasets has been merged - into one manuscript. See <a href="/instructions">instructions</a> for using the - filters. The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all manuscripts in - the MMM data. One table row is equivalent to one manuscript. - </li> - <li> - <strong>PRODUCTION PLACES</STRONG> view visualizes the connection - between manuscripts and the places where they were produced. - </li> - <li> - <strong>MIGRATIONS</strong> view visualizes the migration of a - manuscript from place of production to its most recently observed location. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Actor', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - TODO: description. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Label', - description: 'A short label describing the manuscript.' - }, - author: { - label: 'Author', - description: ` - The author(s) who have contributed to the intellectual content (works) - contained in the manuscript. - ` - }, - gender: { - label: 'Gender', - description: 'The gender of a person.' - }, - type: { - label: 'Type', - description: 'The type is a Person or a Group.' - }, - birthDateTimespan: { - label: 'Birth date', - description: ` - Birth date of a person - ` - }, - deathDateTimespan: { - label: 'Death date', - description: ` - Death date of a person - ` - }, - altLabel: { - label: 'Alternative names or occupations', - description: ` - Alternative names or occupations of the actor. - ` - }, - related: { - label: 'External links', - description: ` - External links. - ` - }, - event: { - label: 'Event', - description: ` - Events related to the manuscript. - ` - }, - owner: { - label: 'Owner', - description: ` - Former or current owners (individual or institutional). - ` - }, - rel: { - label: 'Related actors', - description: ` - Related actors, e.g. parents, spouses, acquaintances. - ` - }, - cor: { - label: 'Correspondences', - description: ` - Other actors who have been in correspondence with this actor. - The number of mutually sent letters is in parenthesis at end of the label. - ` - }, - transferOfCustodyTimespan: { - label: 'Transfer of Custody Date', - description: ` - The dates of “Transfer of Custody†events related to the manuscript. - ` - }, - knownLocation: { - label: 'Known locations', - description: ` - Known locations by letter correspondence. - ` - }, - material: { - label: 'Material', - description: ` - The physical material on which the text is written. - ` - }, - height: { - label: 'Height', - description: ` - The height of the manuscript in millimeters. - ` - }, - width: { - label: 'Width', - description: ` - The width of the manuscript in millimeters. - ` - }, - folios: { - label: 'Folios', - description: ` - The number of folios (leaves). - ` - }, - lines: { - label: 'Lines', - description: ` - The number of lines in a text block. Left blank if the number of lines - occurring throughout the manuscript is too irregular to be a useful - descriptor for searching. - ` - }, - columns: { - label: 'Columns', - description: ` - The number of columns. Left blank if the number of columns - occurring throughout the manuscript is too irregular to be a useful - descriptor for searching. - ` - }, - miniatures: { - label: 'Miniatures', - description: ` - The number of miniatures. - ` - }, - decoratedInitials: { - label: 'Decorated initials', - description: ` - The number of decorated initials. - ` - }, - historiatedInitials: { - label: 'Historiated initials', - description: ` - The number of historiated initials. - ` - }, - source: { - label: 'Source', - description: ` - The source dataset(s) (Bibale, Bodleian, or SDBM) contributing the - information on the manuscript. If two or more source datasets include - the same manuscript and this has been manually verified, the information - from the source datasets have been merged into one manuscript (table row). - Click on the links to view the original record on the source’s website. - ` - } - } - }, - emloLetters: { - label: 'Letters', - facetResultsType: 'letters', - shortDescription: 'Description', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - TODO: description. - </p> - `, - instancePage: { - label: 'Letter', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - TODO: description. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Title', - description: 'The name or title of the Work.' - }, - language: { - label: 'Language', - description: ` - The language in which a Work is written in the manuscript - (i.e., an “Expression†of a Work). One manuscript may contain multiple languages. - ` - }, - subject: { - label: 'Subject', - description: ` - The subject of the letter. - ` - }, - datasource: { - label: 'Data source', - description: ` - The data source of the letter. - ` - }, - excipit: { - label: 'Excipit', - description: ` - An excipit of the letter. - ` - }, - description: { - label: 'Description', - description: ` - The description of the letter content. - ` - }, - manuscript: { - label: 'Manuscript', - description: ` - The specific manuscript(s) in which the Work can be found. - ` - }, - productionTimespan: { - label: 'Date', - description: ` - The date(s) when the manuscript(s) in which the Work can be found were written. - Multiple production dates may appear for a single manuscript, - when there are discrepancies between the contributing data source - or when the precise date is uncertain. - ` - }, - collection: { - label: 'Collection', - description: ` - The specific collection(s) of manuscripts in which a Work can be found. - ` - }, - source: { - label: 'Sender', - description: ` - Sender of the letter. - ` - }, - target: { - label: 'Receiver', - description: ` - Receiver of the letter. - ` - }, - from: { - label: 'Place of sending', - description: ` - Place from where the letter was sent. - ` - }, - to: { - label: 'Place of receiving', - description: ` - The receiving place of the letter. - ` - } - - } - }, - emloPlaces: { - label: 'Places', - facetResultsType: 'Places', - shortDescription: 'Description', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to events associated with the - histories of manuscripts and manuscript collections over the centuries. - See <a href="/instructions">instructions</a> for using the filters. - The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all events in the MMM data. - </li> - <li> - <strong>MAP</STRONG> view visualizes the events that have location information on a map. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - instancePage: { - label: 'Place', - description: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Events refer to various activities related to Manuscripts and Actors. Event - types include Production, Transfer of Custody, and Activity events. - Production events refer to the production of the physical manuscript. - Transfer of Custody events indicate a change of ownership that involved - a transaction of some kind, usually through an auction house or bookseller. - The generic Activity event type covers all other types of events. - </p> - ` - }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - type: { - label: 'Type', - description: ` - Distinguish between “Transfer of Custodyâ€, “Productionâ€, and other - types of “Activity†events. - ` - }, - prefLabel: { - label: 'Label', - description: ` - Preferable place label. - ` - }, - country: { - label: 'Country', - description: ` - Related country. - ` - }, - broader: { - label: 'Parent place', - description: ` - Parent place, e.g. a municipality, county or country. - ` - }, - narrower: { - label: 'Places within', - description: ` - Smaller places, e.g. towns and villages contained within the place. - ` - }, - place: { - label: 'Place', - description: ` - The specific place(s) associated with the event. - ` - }, - placeType: { - label: 'Place type', - description: ` - The type of the specific place(s) associated with the event. - ` - }, - note: { - label: 'Note', - description: ` - Note - ` - }, - surrender: { - label: 'Custody surrendered by', - description: ` - Custody surrendered by - ` - }, - receiver: { - label: 'Custody received by', - description: ` - Custody received by - ` - }, - observedOwner: { - label: 'Observed owner', - description: ` - Observed owner - ` - }, - source: { - label: 'Source', - description: ` - The source database (Schoenberg, Bibale, and Bodleian) that provided - the information about the event. - ` - } - } - }, - hellerau: { - label: 'Hellerau', - facetResultsType: 'people', - shortDescription: 'Description', - longDescription: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Use this perspective to access data related to events associated with the - histories of manuscripts and manuscript collections over the centuries. - See <a href="/instructions">instructions</a> for using the filters. - The result view can be selected using the tabs: - </p> - <ul class="MuiTypography-root MuiTypography-body1"> - <li> - <strong>TABLE</STRONG> view includes all events in the MMM data. - </li> - <li> - <strong>MAP</STRONG> view visualizes the events that have location information on a map. - </li> - <li> - <strong>EXPORT</strong> the SPARQL query used to generate the result - table view into YASGUI query editor. - </li> - </ul> - `, - // instancePage: { - // label: 'Place', - // description: ` - // <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - // Events refer to various activities related to Manuscripts and Actors. Event - // types include Production, Transfer of Custody, and Activity events. - // Production events refer to the production of the physical manuscript. - // Transfer of Custody events indicate a change of ownership that involved - // a transaction of some kind, usually through an auction house or bookseller. - // The generic Activity event type covers all other types of events. - // </p> - // ` - // }, - properties: { - uri: { - label: 'URI', - description: 'Uniform Resource Identifier' - }, - prefLabel: { - label: 'Name', - description: ` - Preferable place label. - ` - }, - home1930: { - label: 'Hometown 1930', - description: ` - Hometown 1930 description. - ` - }, - home1937: { - label: 'Hometown 1937', - description: ` - Hometown 1937 description. - ` - } - } - }, - clientFSPlaces: { - label: 'ClientFS', - shortDescription: 'Client-side faceted search', - datasets: { - kotus: { - label: 'Names Archive of the Institute for the Languages of Finland (NA)', - aboutLink: 'https://nimiarkisto.fi/wiki/Nimiarkisto:Tietoja' - }, - pnr: { - label: 'Finnish Geographic Names Registry (PNR)', - aboutLink: 'https://www.maanmittauslaitos.fi/kartat-ja-paikkatieto/asiantuntevalle-kayttajalle/tuotekuvaukset/nimisto' - }, - warsa_karelian_places: { - label: 'Karelian map names (KK)', - aboutLink: 'https://www.suomi.fi/palvelut/verkkoasiointi/vanhat-karjalan-kartat-maanmittauslaitos/f51d72a2-510c-4c34-bb3e-b752f5d38250' - }, - tgn: { - label: 'The Getty Thesaurus of Geographic Names (TGN)', - aboutLink: 'http://www.getty.edu/research/tools/vocabularies/tgn/about.html' - } - }, - facetResultsType: '', - inputPlaceHolder: 'Search place names', - searchByArea: 'Search by area', - searchByAreaTitle: ` - Siirrä karttanäkymä tutkittavalle alueelle, aseta zoomaustasoksi - vähintään 11 ja käytä alareunan hakupainiketta. - `, - searchByAreaCancel: 'Cancel', - searchByAreaSearch: 'Search', - properties: { - datasetSelector: { - label: 'Choose dataset(s)', - description: 'Description' - }, - prefLabel: { - label: 'Name', - description: 'Description' - }, - broaderTypeLabel: { - label: 'Type', - description: 'Description' - }, - broaderAreaLabel: { - label: 'Area', - description: 'Description' - }, - modifier: { - label: 'Modifier', - description: 'Description' - }, - basicElement: { - label: 'Base', - description: 'Description' - }, - collectionYear: { - label: 'Year', - description: 'Description' - }, - source: { - label: 'Source', - description: 'Description' - } - } - } - }, - aboutThePortalPartOne: ` - <h1 class="MuiTypography-root MuiTypography-h2 MuiTypography-gutterBottom"> - About the Portal - </h1> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Morbi nunc ex, ultrices vitae molestie eu, fringilla quis dolor. Vivamus in enim nibh. - Nunc rutrum molestie ex eget dictum. Mauris lectus leo, ultrices in sodales ac, fermentum - ut massa. In porta, mauris sed facilisis lacinia, eros magna sollicitudin tortor, quis venenatis - nisl ipsum lacinia justo. Duis pretium bibendum consequat. - </p> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In - hac habitasse platea dictumst. Curabitur consectetur aliquet est, ac dapibus ante semper vitae. - Sed consequat at est ac lobortis. In vitae metus in ligula pretium vehicula. Aliquam maximus - ac massa euismod eleifend. Vestibulum vehicula mattis libero at tempus. - </p> - <h2 class="MuiTypography-root MuiTypography-h4 MuiTypography-gutterBottom"> - Data - </h2> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Nullam eu blandit ex, quis consectetur enim. Nulla aliquam, enim non euismod tincidunt, - neque eros tincidunt urna, eget elementum diam metus vel elit. Donec dui augue, vehicula a cursus ut, - efficitur eget velit. Aliquam pellentesque odio vel metus sodales tempor. Donec in lectus magna. - Cras at odio a libero laoreet viverra nec sed lorem. In malesuada tempus dolor. - Suspendisse et ligula quis nisi facilisis maximus. Sed dictum justo eu condimentum efficitur. - Mauris porttitor ante nec auctor vulputate. Phasellus varius, odio sed egestas bibendum, - dolor lacus consequat turpis, ac pulvinar libero lorem maximus nunc. Praesent egestas volutpat - leo, vel faucibus dui convallis sed. Ut sed libero eu nisi accumsan mollis. Pellentesque - ultricies est non porta luctus. Maecenas eget viverra mauris. - </p> - `, - aboutThePortalPartTwo: ` - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Mauris porttitor ante nec auctor vulputate. Phasellus varius, odio sed egestas bibendum, - dolor lacus consequat turpis, ac pulvinar libero lorem maximus nunc. Praesent egestas volutpat - leo, vel faucibus dui convallis sed. Ut sed libero eu nisi accumsan mollis. Pellentesque - ultricies est non porta luctus. Maecenas eget viverra mauris. - </p> - <h2 class="MuiTypography-root MuiTypography-h4 MuiTypography-gutterBottom"> - Data Reuse - </h2> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Nullam eu blandit ex, quis consectetur enim. Nulla aliquam, enim non euismod tincidunt, - neque eros tincidunt urna, eget elementum diam metus vel elit. Donec dui augue, vehicula a cursus ut, - efficitur eget velit. Aliquam pellentesque odio vel metus sodales tempor. Donec in lectus magna. - Cras at odio a libero laoreet viverra nec sed lorem. In malesuada tempus dolor. - Suspendisse et ligula quis nisi facilisis maximus. Sed dictum justo eu condimentum efficitur. - Mauris porttitor ante nec auctor vulputate. Phasellus varius, odio sed egestas bibendum, - dolor lacus consequat turpis, ac pulvinar libero lorem maximus nunc. Praesent egestas volutpat - leo, vel faucibus dui convallis sed. Ut sed libero eu nisi accumsan mollis. Pellentesque - ultricies est non porta luctus. Maecenas eget viverra mauris. - </p> - <h2 class="MuiTypography-root MuiTypography-h4 MuiTypography-gutterBottom"> - More Information - </h2> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Nullam eu blandit ex, quis consectetur enim. Nulla aliquam, enim non euismod tincidunt, - neque eros tincidunt urna, eget elementum diam metus vel elit. Donec dui augue, vehicula a cursus ut, - efficitur eget velit. Aliquam pellentesque odio vel metus sodales tempor. Donec in lectus magna. - Cras at odio a libero laoreet viverra nec sed lorem. In malesuada tempus dolor. - Suspendisse et ligula quis nisi facilisis maximus. Sed dictum justo eu condimentum efficitur. - Mauris porttitor ante nec auctor vulputate. Phasellus varius, odio sed egestas bibendum, - dolor lacus consequat turpis, ac pulvinar libero lorem maximus nunc. Praesent egestas volutpat - leo, vel faucibus dui convallis sed. Ut sed libero eu nisi accumsan mollis. Pellentesque - ultricies est non porta luctus. Maecenas eget viverra mauris. - </p> - `, - instructions: ` - <h1 class="MuiTypography-root MuiTypography-h2 MuiTypography-gutterBottom"> - Instructions - </h1> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - The search functionality of this semantic portal is based on the - <a href="https://doi.org/10.2200/S00190ED1V01Y200904ICR005" target='_blank' rel='noopener noreferrer'> - faceted search</a> paradigm. By default each perspective displays - all results from the corresponding class. - This default result set can be narrowed down by using the filters on the left. - </p> - - <h2 class="MuiTypography-root MuiTypography-h4 MuiTypography-gutterBottom"> - Using a single filter - </h2> - - <h3 class="MuiTypography-root MuiTypography-h6 MuiTypography-gutterBottom"> - Selecting values within a filter - </h3> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - All possible values for a filter are displayed either as a list or as a hierarchical - tree structure (if available). The number of results is shown in brackets for each value. - Once a value is selected, the results are automatically updated. To prevent further - selections that do not return any results, also the possible values for all - other filters are updated at the same time. - </p> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Multiple values can be selected within a single filter. Selecting multiple values - generates results that contain any of the selected values. For example, selecting - both <i>Saint Augustine</i> and <i>Saint Jerome</i> as an Author returns results that - include either <i>Saint Augustine</i> <strong>OR</strong> <i>Saint Jerome</i> as an Author. - </p> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Selected values of a filter appear in the Active filters section at the top of the list - of filters. To deselect a filter, click the X mark next to it within the Active filters - section. You can also deselect a filter value by unchecking the checkmark in the - filter’s value list. The Active filters section only appears if there are filter - values currently selected. - </p> - - <h3 class="MuiTypography-root MuiTypography-h6 MuiTypography-gutterBottom"> - Searching within a filter - </h3> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Search within a filter by using the search field at the top of each filter. - All possible values of a filter remain visible at all times. The values of - the filter that match the search term are indicated by a purple underline. - </p> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Steps for searching within filters: - </p> - <ol class="MuiTypography-root MuiTypography-body1 MuiTypography-gutterBottom"> - <li> - Type search term into search field. If there are matches, a number - will appear to the right of the search field, indicating the number - of filter values that match the search term. - </li> - <li> - Click the arrows to the right of the search field to cycle - through the results. As you click the arrow, a different filter value - will appear at the top of the list. Matched filters are underlined in - purple. - </li> - <li> - Click the checkmark next to a filter value to activate it. The results - (and also other filters) are automatically updated. - </li> - </ol> - - <h2 class="MuiTypography-root MuiTypography-h4 MuiTypography-gutterBottom"> - Using multiple filters simultaneously - </h2> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - The effectiveness of faceted search is realized when multiple filters are - applied at the same time. As in many e-commerce sites, a logical AND is - always used between the filters. For example selecting <i>Saint Augustine </i> - and <i>Saint Jerome</i> as an Author and <i>Sir Thomas Phillipps</i> and - <i> Thomas Thorpe</i> as an Owner, the results are narrowed down as follows: - </p> - <p class="MuiTypography-root MuiTypography-body1"> - (Author: <i>Saint Augustine</i> <strong>OR</strong> Author: <i>Saint Jerome</i>) - </p> - <p class="MuiTypography-root MuiTypography-body1"> - <strong>AND</strong> - </p> - <p class="MuiTypography-root MuiTypography-body1"> - (Owner: <i>Sir Thomas Phillipps</i> <strong>OR</strong> Owner: <i>Thomas Thorpe</i>) - </p> - `, - feedback: ` - <h1 class="MuiTypography-root MuiTypography-h2 MuiTypography-gutterBottom"> - Feedback - </h1> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - This semantic portal has been developed by ... - </p> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - We are interested in your feedback on the functionality, coverage, and usefulness of the portal and its data. - </p> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Please complete our - <a href="" target='_blank' rel='noopener noreferrer'>Feedback Survey Form (add link).</a> - </p> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - You can also contact us via email: ... or DM us on Twitter: ... - </p> - <p class="MuiTypography-root MuiTypography-body1 MuiTypography-paragraph"> - Please be aware that this portal’s response times may be affected by the size and complexity - of the underlying knowledge graph. - </p> - ` -} diff --git a/src/server/index.js b/src/server/index.js index f0eb438158f3208d04fdd425b14ee23de56cbbbc..0ee0d00abe9c8684a57c152efa529b32c6d339bd 100644 --- a/src/server/index.js +++ b/src/server/index.js @@ -252,6 +252,7 @@ new OpenApiValidator({ } }) + // https://www.maanmittauslaitos.fi/karttakuvapalvelu/tekninen-kuvaus-wmts app.get(`${apiPath}/nls-wmts`, async (req, res, next) => { const url = `https://karttakuva.maanmittauslaitos.fi/maasto/wmts/1.0.0/${req.query.layerID}/default/WGS84_Pseudo-Mercator/${req.query.z}/${req.query.y}/${req.query.x}.png` const headers = { @@ -271,6 +272,24 @@ new OpenApiValidator({ } }) + // // https://www.maanmittauslaitos.fi/karttakuvapalvelu/tekninen-kuvaus-vektoritiilet + app.get(`${apiPath}/nls-vectortiles`, async (req, res, next) => { + const url = 'https://avoin-karttakuva.maanmittauslaitos.fi/vectortiles/stylejson/v20/taustakartta.json?TileMatrixSet=WGS84_Pseudo-Mercator' + const headers = { + Authorization: `Basic ${process.env.NLS_API_KEY_BASE64}` + } + try { + const response = await axios({ + method: 'get', + url, + headers + }) + res.json(response.data) + } catch (error) { + next(error) + } + }) + app.get(`${apiPath}/fha-wms`, async (req, res, next) => { const headers = { Authorization: `Basic ${process.env.FHA_WMS_BASIC_AUTH}` diff --git a/src/server/openapi.yaml b/src/server/openapi.yaml index 011316fcfb2aa25539e7a81aaf5bf65d6ceb02dd..9349b24a99b4518a801bcd575e23d1128885ef5d 100644 --- a/src/server/openapi.yaml +++ b/src/server/openapi.yaml @@ -504,6 +504,16 @@ paths: application/json: schema: type: array + /nls-vectortiles: + get: + summary: Route for NLS vectortiles API. + responses: + '200': + description: Styles for vector tiles as JSON + content: + application/json: + schema: + type: object /void/{perspectiveID}: get: summary: Retrieve a VoID description