Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service identification pays #140

Closed
ChristopheYon opened this issue Oct 11, 2024 · 0 comments · Fixed by #146
Closed

Service identification pays #140

ChristopheYon opened this issue Oct 11, 2024 · 0 comments · Fixed by #146
Assignees

Comments

@ChristopheYon
Copy link

Service d’identification

Pays

Les informations sur les pays sont légèrement différentes de celles sur les autres types : l’intitulé sans article et l’article ne sont pas nécessaires mais il y a un « intitulé complet » qui correspond à la forme longue du nom de pays.

Enrichissement du service pays existant (voir si cela pose problème, en particulier le changement d’URI).

Ajout des codes iso (alpha 2, alpha 3 et num).

Requête

Méthode Requête Description
GET /pays/{code} Récupérer les informations concernant le pays {code}

Paramètres

Paramètres Description Type
date Filtre pour renvoyer le pays actif à la date donnée. Par défaut, c’est la date courante. Date

Exemples de requête

/geo/pays/99254

/geo/pays/99254?date=2024-01-01

Champs de la réponse

Champ Description
URI URI du pays
Type « Pays »
Code Code Insee du pays
Intitule Nom du pays
IntituleEntier Nom du pays en forme longue
Iso3166alpha2 Code ISO 3166-1 alpha-2 du pays
Iso3166alpha3 Code ISO 3166-1 alpha-3 du pays
Iso3166num Code ISO 3166-1 numérique du pays
DateCreation Date de création du pays
DateSuppression Date de suppression du pays s’il a été supprimé

Exemple de réponse en XML

<Pays code="99254" uri="http://id.insee.fr/geo/pays/baa15226-ddd9-41be-a6f1-cbec54cdefe4">
	<Intitule>Chypre</Intitule>
	<IntituleEntier>République de Chypre</IntituleEntier>
	<Iso3166alpha2>CY</Iso3166alpha2>
	<Iso3166alpha3>CYP</Iso3166alpha3>
	<Iso3166num>196</Iso3166num>
	<DateCreation>1994-01-01</DateCreation>
</Pays>

Exemple de réponse en JSON

{
	"type": "Pays",
	"code": "99254",
	"uri": "http://id.insee.fr/geo/pays/baa15226-ddd9-41be-a6f1-cbec54cdefe4",
	"intitule": "Chypre",
	"IntituleEntier": "République de Chypre",
	"Iso3166alpha2": "CY",
	"Iso3166alpha": "CYP",
	"Iso3166num": "196",
	"dateCreation": "1994-01-01"
}

Exemple de requête SPARQL

Sans le paramètre date, c’est la date courante

PREFIX igeo: <http://rdf.insee.fr/def/geo#> 
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?uri ?type ?code ?nom ?nomLong ?iso3166alpha2 ?iso3166alpha3 ?iso3166num ?dateCreation ?dateSuppression
WHERE {
	?s a igeo:Pays ; 
		a ?typeRDF ;
		igeo:codeINSEE '99254';
		igeo:codeINSEE ?code ; 
		igeo:nom ?nom .
	OPTIONAL {?s igeo:nomLong ?nomLong .}
	OPTIONAL {?s igeo:codeIso3166alpha2 ?iso3166alpha2 .}
	OPTIONAL {?s igeo:codeIso3166alpha3 ?iso3166alpha3 .}
	OPTIONAL {?s igeo:codeIso3166num ?iso3166num .}
	BIND(STR(?typeRDF) AS ?type).
	BIND(STR(?s) AS ?uri).
	OPTIONAL {?s ^igeo:creation/igeo:date ?dateCreation }
	OPTIONAL {?s ^igeo:suppression/igeo:date ?dateSuppression }
	FILTER (!BOUND(?dateCreation) || ?dateCreation <= NOW() )
	FILTER (!BOUND(?dateSuppression) || ?dateSuppression > NOW() )
} 
ORDER BY ?code

Avec le paramètre date :

PREFIX igeo: <http://rdf.insee.fr/def/geo#> 
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?uri ?type ?code ?nom ?nomLong ?iso3166alpha2 ?iso3166alpha3 ?iso3166num ?dateCreation ?dateSuppression
WHERE {
	?s a igeo:Pays ; 
		a ?typeRDF ;
		igeo:codeINSEE '99254';
		igeo:codeINSEE ?code ; 
		igeo:nom ?nom .
	OPTIONAL {?s igeo:nomLong ?nomLong .}
	OPTIONAL {?s igeo:codeIso3166alpha2 ?iso3166alpha2 .}
	OPTIONAL {?s igeo:codeIso3166alpha3 ?iso3166alpha3 .}
	OPTIONAL {?s igeo:codeIso3166num ?iso3166num .}
	BIND(STR(?typeRDF) AS ?type).
	BIND(STR(?s) AS ?uri).
	OPTIONAL {?s ^igeo:creation/igeo:date ?dateCreation }
	OPTIONAL {?s ^igeo:suppression/igeo:date ?dateSuppression }
	FILTER(!BOUND(?dateCreation) || ?dateCreation <= '2024-01-01'^^xsd:date)
	FILTER(!BOUND(?dateSuppression) || ?dateSuppression > '2024-01-01'^^xsd:date)
}
ORDER BY ?code
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants