diff --git a/loterre-resolvers/v1/2XK/expand.ini b/loterre-resolvers/v1/2XK/expand.ini new file mode 100644 index 0000000..0ec081e --- /dev/null +++ b/loterre-resolvers/v1/2XK/expand.ini @@ -0,0 +1,31 @@ +# OpenAPI Documentation - JSON format (dot notation) +post.operationId = post-v1-D63-expand +post.responses.default.description = Return all objects with enrich fields +post.responses.default.content.application/json.schema.$ref = #/components/schemas/JSONStream +post.summary = Enrich on field of each Object with a SKOS concept +post.requestBody.required = true +post.requestBody.content.application/json.schema.$ref = #/components/schemas/JSONStream +post.parameters.0.in = query +post.parameters.0.name = path +post.parameters.0.schema.type = string +post.parameters.0.description = The path in each object to enrcih with a SKOS Cocnept +post.parameters.1.in = query +post.parameters.1.name = indent +post.parameters.1.schema.type = boolean +post.parameters.1.description = Indent or not the JSON Result + +[env] +path = primer +value = env("TABLE_SERVER_URL", "http://mapping-tables.daf.intra.inist.fr/").concat("loterre-structures-recherche.xml").join("") + +path = weekNumber +value = thru(() => new Date()).thru(currentDate => Math.floor((currentDate - (new Date(currentDate.getFullYear(), 0, 1)))/(24 * 60 * 60 * 1000))).thru(days => Math.ceil(days / 7)) + +path = loterreID +value = fix('2XK') + +[delegate] +file = ./v1/process.ini + +[dump] +indent = env('indent', false) diff --git a/loterre-resolvers/v1/2XK/identify.ini b/loterre-resolvers/v1/2XK/identify.ini new file mode 100644 index 0000000..a1a6ea7 --- /dev/null +++ b/loterre-resolvers/v1/2XK/identify.ini @@ -0,0 +1,86 @@ +# OpenAPI Documentation - JSON format (dot notation) +mimeType = application/json + +post.operationId = post-v1-D63-identify +post.description = Associer une communes de France au vocabulaire Loterre correspondant - https://www.loterre.fr/skosmos/D63/fr/ +post.summary = verbalisation à partir d'un tableau d'objets avec à minima un champ value contenant des termes +post.tags.0 = loterre-resolvers +post.requestBody.content.application/json.example.0.id = 1 +post.requestBody.content.application/json.example.0.value = Nancy +post.requestBody.content.application/json.example.1.id = 2 +post.requestBody.content.application/json.example.1.value = Pagny sur Moselle +post.requestBody.content.application/json.example.2.id = 3 +post.requestBody.content.application/json.example.2.value = Trifouilly +post.requestBody.content.application/json.schema.$ref = #/components/schemas/JSONStream +post.requestBody.required = true +post.responses.default.content.application/json.example.0.id = 1 +post.responses.default.content.application/json.example.0.value = {...} +post.responses.default.content.application/json.example.1.id = 2 +post.responses.default.content.application/json.example.1.value = {...} +post.responses.default.content.application/json.example.2.id = 3 +post.responses.default.content.application/json.example.2.value = {...} +post.responses.default.content.application/json.schema.$ref = #/components/schemas/JSONStream +post.responses.default.description = Les prefixes DOI en verion textuel +post.parameters.0.description = Indenter le JSON résultant +post.parameters.0.in = query +post.parameters.0.name = indent +post.parameters.0.schema.type = boolean + +[env] +path = primer +value = env("TABLE_SERVER_URL", "http://mapping-tables.daf.intra.inist.fr/").concat("loterre-structures-recherche.xml").join("") + +path = weekNumber +value = thru(() => new Date()).thru(currentDate => Math.floor((currentDate - (new Date(currentDate.getFullYear(), 0, 1)))/(24 * 60 * 60 * 1000))).thru(days => Math.ceil(days / 7)) + +path = loterreID +value = fix('2XK') + +[delegate] +file = ./v1/process.ini + +[swing] +test = get('value').isObject() +[swing/replace] + +path = id +value = get('id') + +path = value.id +value = get('value.id') + +path = value.cartographyCode +value = get('value.inist$lodexPlacenameCode/$t') + +path = value.about +value = get('value.rdf$about') + +path = value.prefLabel@fr +value = get('value.skos$prefLabel').filter(y => (y.xml$lang === 'fr')).map(x => x.$t).shift() + +path = value.prefLabel@en +value = get('value.skos$prefLabel').filter(y => (y.xml$lang === 'en')).map(x => x.$t).shift() + +path = value.wikidataURI +value = get("value.wdt$P36/rdf$resource") + +path = value.geonameURI +value = get('value.gn$geonamesID/$t').prepend('https://www.geonames.org/') + +path = value.countryCode +value = get('value.gn$countryCode/$t') + +path = value.latitude +value = get('value.geo$lat/$t') + +path = value.longitude +value = get('value.geo$long/$t') + +path = value.localization@en +value = get('value.localization').map((x) => x.skos$prefLabel.filter(y => (y.xml$lang === 'en')).map(x => x.$t).shift()) + +path = value.localization@fr +value = get('value.localization').map((x) => x.skos$prefLabel.filter(y => (y.xml$lang === 'fr')).map(x => x.$t).shift()) + +[dump] +indent = env('indent', false)