Skip to content
Snippets Groups Projects
Commit 8ff35f7a authored by Henrik Askjer's avatar Henrik Askjer
Browse files

add area search

parent c282c4be
No related branches found
No related tags found
No related merge requests found
......@@ -4,13 +4,13 @@ import {
} from './Mappers'
const getResults = async (federatedSearchDatasets, queryTerm, latMin, longMin, latMax, longMax, datasetId, resultFormat) => {
const { endpoint, useAuth, resultQuery } = federatedSearchDatasets[datasetId]
const { endpoint, useAuth, resultQuery, geoQuery } = federatedSearchDatasets[datasetId]
let query = ''
if (datasetId !== 'tgn') {
if (queryTerm !== '') {
query = resultQuery.replace('<QUERY>', `?id rdfs:label/<tag:stardog:api:property:textMatch> '${queryTerm.toLowerCase()}' .`)
} else if (latMin !== 0) {
query = resultQuery.replace('<QUERY>', `?id spatial:withinBox (${latMin} ${longMin} ${latMax} ${longMax} 1000000) .`)
query = resultQuery.replace(/<QUERY>/g, geoQuery).replace(/<LATMIN>/g, latMin).replace(/<LONGMIN>/g, longMin).replace(/<LATMAX>/g, latMax).replace(/<LONGMAX>/g, longMax)
}
} else {
query = resultQuery.replace(/<QUERYTERM>/g, queryTerm.toLowerCase())
......
......@@ -88,6 +88,7 @@ export const createBackendSearchConfig = async () => {
if (perspectiveConfig.searchMode === 'federated-search') {
for (const dataset in perspectiveConfig.datasets) {
perspectiveConfig.datasets[dataset].resultQuery = sparqlQueries.federatedSearchSparqlQueries[dataset].resultQuery
perspectiveConfig.datasets[dataset].geoQuery = sparqlQueries.federatedSearchSparqlQueries[dataset].geoQuery
}
}
if (perspectiveConfig.searchMode === 'full-text-search') {
......
export const federatedSearchSparqlQueries = {
norse: {
geoQuery: `
{ ?place geof:within ( <LATMIN> <LONGMIN> <LATMAX> <LONGMAX>) }
`,
resultQuery: `
PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/>
PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?id ?prefLabel ?broaderTypeLabel ?broaderTypeLabel ?broaderAreaLabel ?lat ?long WHERE { GRAPH <https://norseworld.nordiska.uu.se> {
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
SELECT ?id ?prefLabel ?broaderTypeLabel ?broaderTypeLabel ?broaderAreaLabel ?coordinates ?lat ?long WHERE { GRAPH <https://norseworld.nordiska.uu.se> {
<QUERY>
?place crm:P1_is_identified_by ?id .
?id rdfs:label ?prefLabel .
?place wgs:lat ?lat;
wgs:long ?long ;
<https://norseworld.nordiska.uu.se/Type_of_locality> ?broaderTypeLabel .
BIND(?place as ?coordinates)
}
}
`
},
saga: {
geoQuery: `{ ?id geof:within ( <LATMIN> <LONGMIN> <LATMAX> <LONGMAX>) }`,
resultQuery: `
PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?id ?prefLabel ?broaderType ?broaderTypeLabel ?broaderAreaLabel ?lat ?long WHERE {GRAPH <https://sagamap.is/graphs/> {
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
SELECT ?id ?prefLabel ?broaderType ?broaderTypeLabel ?broaderAreaLabel ?lat ?long ?coordinates WHERE {GRAPH <https://sagamap.is/graphs/> {
<QUERY>
?id rdfs:label ?prefLabel .
?id crm:P2_has_type ?broaderType .
......@@ -33,11 +42,13 @@ export const federatedSearchSparqlQueries = {
`
},
nsdb: {
geoQuery: `{ ?coordinates geof:within ( <LATMIN> <LONGMIN> <LATMAX> <LONGMAX>) }`,
resultQuery: `
PREFIX crm: <http://www.cidoc-crm.org/cidoc-crm/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
SELECT ?id ?prefLabel ?broaderType ?broaderTypeLabel ?broaderAreaLabel ?lat ?long ?source WHERE { GRAPH <https://data.spraksamlingane.no/stadnamn/nos-hs/nsdb> {
SELECT ?id ?prefLabel ?broaderType ?broaderTypeLabel ?broaderAreaLabel ?coordinates ?lat ?long ?source WHERE { GRAPH <https://data.spraksamlingane.no/stadnamn/nos-hs/nsdb> {
<QUERY>
?id crm:P1i_identifies ?place ;
rdfs:label ?prefLabel .
......
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