Skip to content
Snippets Groups Projects
Commit cbe83a91 authored by esikkala's avatar esikkala
Browse files

Update full text search results

parent daed278d
No related branches found
No related tags found
No related merge requests found
...@@ -9,9 +9,10 @@ import LastPageIcon from '@material-ui/icons/LastPage'; ...@@ -9,9 +9,10 @@ import LastPageIcon from '@material-ui/icons/LastPage';
import ChevronRightIcon from '@material-ui/icons/ChevronRight'; import ChevronRightIcon from '@material-ui/icons/ChevronRight';
import ChevronLeftIcon from '@material-ui/icons/ChevronLeft'; import ChevronLeftIcon from '@material-ui/icons/ChevronLeft';
import CircularProgress from '@material-ui/core/CircularProgress'; import CircularProgress from '@material-ui/core/CircularProgress';
import ResultTableCell from './ResultTableCell';
import purple from '@material-ui/core/colors/purple'; import purple from '@material-ui/core/colors/purple';
import Paper from '@material-ui/core/Paper'; import Paper from '@material-ui/core/Paper';
import { has } from 'lodash'; //import { has } from 'lodash';
const styles = () => ({ const styles = () => ({
progressContainer: { progressContainer: {
...@@ -43,34 +44,53 @@ class MaterialTableFullTextResults extends React.Component { ...@@ -43,34 +44,53 @@ class MaterialTableFullTextResults extends React.Component {
{ {
title: 'Label', title: 'Label',
field: 'prefLabel', field: 'prefLabel',
render: rowData => render: data =>
<a <ResultTableCell
target='_blank' rel='noopener noreferrer' columnId='prefLabel'
href={rowData.id} data={data.prefLabel}
> valueType='object'
{rowData.prefLabel} makeLink={true}
</a> externalLink={true}
sortValues={true}
numberedList={false}
minWidth={150}
container='div'
expanded={true}
/>
}, },
{ {
title: 'Type', title: 'Type',
field: 'type.prefLabel', field: 'type',
render: rowData => rowData.type.prefLabel render: data =>
<ResultTableCell
columnId='type'
data={data.type}
valueType='object'
makeLink={false}
externalLink={false}
sortValues={true}
numberedList={false}
minWidth={150}
container='div'
expanded={true}
/>
}, },
{ {
title: 'Data provider link', title: 'Source',
field: 'dataProviderUrl', field: 'source',
render: rowData => { render: data =>
if (has(rowData, 'source') && has(rowData, 'dataProviderUrl')) { <ResultTableCell
return( columnId='source'
<a data={data.source}
target='_blank' rel='noopener noreferrer' valueType='object'
href={rowData.dataProviderUrl} makeLink={true}
> externalLink={true}
{rowData.source.prefLabel} sortValues={true}
</a> numberedList={false}
); minWidth={150}
} container='div'
} expanded={true}
/>
}, },
]} ]}
data={results} data={results}
......
...@@ -57,7 +57,7 @@ const ObjectList = props => { ...@@ -57,7 +57,7 @@ const ObjectList = props => {
{props.externalLink && props.linkAsButton == null && {props.externalLink && props.linkAsButton == null &&
<a <a
target='_blank' rel='noopener noreferrer' target='_blank' rel='noopener noreferrer'
href={id} href={dataProviderUrl}
> >
{Array.isArray(prefLabel) ? prefLabel[0] : prefLabel} {Array.isArray(prefLabel) ? prefLabel[0] : prefLabel}
</a> </a>
......
...@@ -19,25 +19,24 @@ export const countQuery = ` ...@@ -19,25 +19,24 @@ export const countQuery = `
`; `;
export const jenaQuery = ` export const jenaQuery = `
SELECT ?id ?prefLabel ?dataProviderUrl ?source__id ?source__prefLabel ?type__id ?type__prefLabel SELECT *
WHERE { WHERE {
<QUERY> <QUERY>
?id skos:prefLabel ?prefLabel . {
?id a ?type__id . ?id skos:prefLabel ?prefLabel__id .
?type__id rdfs:label|skos:prefLabel ?type__prefLabel_ . BIND(?prefLabel__id as ?prefLabel__prefLabel)
BIND(STR(?type__prefLabel_) AS ?type__prefLabel) # ignore language tags BIND(?id as ?prefLabel__dataProviderUrl)
OPTIONAL { ?id a ?type__id .
?id dct:source ?source__id . ?type__id rdfs:label|skos:prefLabel ?type__prefLabel_ .
BIND(?source__id AS ?source__prefLabel) BIND(STR(?type__prefLabel_) AS ?type__prefLabel) # ignore language tags
# this used to work but now its painfully slow:
#OPTIONAL { ?source__id skos:prefLabel ?source__prefLabel_ }
#BIND(COALESCE(?source__prefLabel_, ?source__id) as ?source__prefLabel)
} }
OPTIONAL { UNION
?id mmm-schema:data_provider_url ?dataProviderUrl {
?id dct:source ?source__id .
OPTIONAL { ?source__id skos:prefLabel ?source__prefLabel_ }
OPTIONAL { ?source__id mmm-schema:data_provider_url ?source__dataProviderUrl }
BIND(COALESCE(?source__prefLabel_, ?source__id) as ?source__prefLabel)
} }
#FILTER(?type__id != frbroo:F27_Work_Conception)
} }
`; `;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment