diff --git a/src/client/components/VirtualizedTable.js b/src/client/components/VirtualizedTable.js index 3a3c1aa85a50ef1f3fc38dc24e6be3e199b8581c..69bde0b4a6880353a2bd0dd3d3879a6ebec67f4c 100644 --- a/src/client/components/VirtualizedTable.js +++ b/src/client/components/VirtualizedTable.js @@ -93,13 +93,15 @@ class VirtualizedTable extends React.PureComponent { const idRenderer = ({cellData, rowData}) => { if (cellData == null) return ''; let sdbmUrl = ''; - - if (rowData.sdbmId == '-') { - sdbmUrl = 'https://sdbm.library.upenn.edu/entries/'; + let id = ''; + if (rowData.manuscriptRecord == '-') { + id = cellData.replace('orphan_', ''); + sdbmUrl = 'https://sdbm.library.upenn.edu/entries/' + id; } else { - sdbmUrl = 'https://sdbm.library.upenn.edu/manuscripts/'; + id = cellData.replace('part_', ''); + sdbmUrl = rowData.manuscriptRecord; } - const idLink = <a target='_blank' rel='noopener noreferrer' href={sdbmUrl + cellData}>{cellData}</a>; + const idLink = <a target='_blank' rel='noopener noreferrer' href={sdbmUrl}>{id}</a>; return ( <div key={cellData}> {idLink} diff --git a/src/server/sparql/Datasets.js b/src/server/sparql/Datasets.js index 2d7f0598b826dbdf9e634d911d19b2122c78a837..4b273080a8c065342cd57621ecfc15a98f21094f 100644 --- a/src/server/sparql/Datasets.js +++ b/src/server/sparql/Datasets.js @@ -19,7 +19,7 @@ module.exports = { PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX sdbm: <https://sdbm.library.upenn.edu/> SELECT - ?id ?sdbmId + ?id ?manuscriptRecord ?entry (GROUP_CONCAT(DISTINCT ?prefLabel_; SEPARATOR=" | ") AS ?prefLabel) (GROUP_CONCAT(DISTINCT ?author_; SEPARATOR="|") AS ?author) (GROUP_CONCAT(DISTINCT ?timespan_; SEPARATOR="|") AS ?timespan) @@ -47,11 +47,9 @@ module.exports = { ?id crm:P128_carries ?expression . ?expression crm:P72_has_language ?language_ . } - OPTIONAL { - ?id mmm-schema:manuscript_record ?sdbmId . - } + OPTIONAL { ?id mmm-schema:manuscript_record ?manuscriptRecord . } } - GROUP BY ?id ?sdbmId + GROUP BY ?id ?manuscriptRecord ?entry ORDER BY DESC(?creationPlace) `, 'placeQuery': ` diff --git a/src/server/sparql/Mappers.js b/src/server/sparql/Mappers.js index b58e77902cf19d87e5e8bab982eeb93eb44835fb..f37006b5861009b9f876dcdaf27a0bf13ced980e 100644 --- a/src/server/sparql/Mappers.js +++ b/src/server/sparql/Mappers.js @@ -50,7 +50,7 @@ export const mapManuscripts = (sparqlBindings) => { const results = sparqlBindings.map(b => { return { id: b.id.value, - sdbmId: _.has(b, 'sdbmId') ? b.sdbmId.value : '-', + manuscriptRecord: _.has(b, 'manuscriptRecord') ? b.manuscriptRecord.value : '-', prefLabel: b.prefLabel.value, author: _.has(b, 'author',) ? b.author.value.split('|') : '-', timespan: _.has(b, 'timespan',) ? b.timespan.value.split('|') : '-',