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

Facets: add optional labelPattern config option

parent d0c5c08b
No related branches found
No related tags found
No related merge requests found
...@@ -123,10 +123,27 @@ export const getFacet = async ({ ...@@ -123,10 +123,27 @@ export const getFacet = async ({
q = q.replace(/<FACET_CLASS>/g, backendSearchConfig[facetClass].facetClass) q = q.replace(/<FACET_CLASS>/g, backendSearchConfig[facetClass].facetClass)
q = q.replace('<UNKNOWN_SELECTED>', unknownSelected) q = q.replace('<UNKNOWN_SELECTED>', unknownSelected)
q = q.replace('<MISSING_PREDICATE>', facetConfig.predicate) q = q.replace('<MISSING_PREDICATE>', facetConfig.predicate)
const facetLabelPredicate = facetConfig.facetLabelPredicate if (has(facetConfig, 'labelPattern')) {
? facetConfig.facetLabelPredicate q = q.replace('<LABELS>', facetConfig.labelPattern)
: 'skos:prefLabel' } else {
q = q.replace('<FACET_LABEL_PREDICATE>', facetLabelPredicate) const defaultLabelPattern = `
OPTIONAL {
?id <FACET_LABEL_PREDICATE> ?prefLabel_
<FACET_LABEL_FILTER>
}
BIND(COALESCE(STR(?prefLabel_), STR(?id)) AS ?prefLabel)
`
q = q.replace('<LABELS>', defaultLabelPattern)
const facetLabelPredicate = facetConfig.facetLabelPredicate
? facetConfig.facetLabelPredicate
: 'skos:prefLabel'
q = q.replace('<FACET_LABEL_PREDICATE>', facetLabelPredicate)
q = q.replace(/<FACET_LABEL_FILTER>/g,
has(facetConfig, 'facetLabelFilter')
? facetConfig.facetLabelFilter
: ''
)
}
if (facetConfig.type === 'timespan') { if (facetConfig.type === 'timespan') {
q = q.replace('<START_PROPERTY>', facetConfig.startProperty) q = q.replace('<START_PROPERTY>', facetConfig.startProperty)
q = q.replace('<END_PROPERTY>', facetConfig.endProperty) q = q.replace('<END_PROPERTY>', facetConfig.endProperty)
......
...@@ -70,11 +70,7 @@ export const facetValuesQuery = ` ...@@ -70,11 +70,7 @@ export const facetValuesQuery = `
} }
FILTER(BOUND(?id)) FILTER(BOUND(?id))
<FACET_VALUE_FILTER> <FACET_VALUE_FILTER>
OPTIONAL { <LABELS>
?id <FACET_LABEL_PREDICATE> ?prefLabel_
<FACET_LABEL_FILTER>
}
BIND(COALESCE(STR(?prefLabel_), STR(?id)) AS ?prefLabel)
} }
UNION UNION
{ {
......
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