# OpenAPI Documentation - JSON format (dot notation)
mimeType = application/json
post.operationId = post-v1-9SD-identify
post.description = Associer un pays ou subdivision au vocabulaire Loterre correspondant - https://www.loterre.fr/skosmos/9SD/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 = Pays de la Loire
post.requestBody.content.application/json.example.1.id = 2
post.requestBody.content.application/json.example.1.value = Grand-Duché de Luxembourg
post.requestBody.content.application/json.example.2.id = 3
post.requestBody.content.application/json.example.2.value = CAN
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 = https://www.loterre.fr/wp-content/uploads/2019/12/Pays.xml
# Necessary plugins
[use]
plugin = basics
plugin = analytics
plugin = storage
# Flow configuration
[JSONParse]
separator = *
[expand]
path = value
size = 1
cacheName = env('primer').append('identify')
[expand/assign]
path = value
value = fix(_.deburr(String(self.value).replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/\s]/g, '').toLowerCase()))
[expand/combine]
path = value
primer = env('primer')
file = ./v1/combine.ini
cacheName = post-v1-9SD-identify
[expand/remove]
test = get('value.value').isString()
[expand/replace]
path = id
value = get('id')
path = value.id
value = get('value.id')
path = value.cartographyCode
value = get('value.value.inist$lodexPlacenameCode/$t')
path = value.about
value = get('value.value.rdf$about')
path = value.prefLabel@fr
value = get('value.value.skos$prefLabel').filter(y => (y.xml$lang === 'fr')).map(x => x.$t).shift()
path = value.prefLabel@en
value = get('value.value.skos$prefLabel').filter(y => (y.xml$lang === 'en')).map(x => x.$t).shift()
path = value.wikidataURI
value = get("value.value.wdt$P36/rdf$resource")
path = value.geonameURI
value = get('value.value.gn$geonamesID/$t').prepend('https://www.geonames.org/')
path = value.countryCode
value = get('value.value.gn$countryCode/$t')
path = value.latitude
value = get('value.value.geo$lat/$t')
path = value.longitude
value = get('value.value.geo$long/$t')
path = value.localization@en
value = get('value.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.value.localization').map((x) => x.skos$prefLabel.filter(y => (y.xml$lang === 'fr')).map(x => x.$t).shift())
[dump]
indent = env('indent', false)