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 précédents pays #142

Open
ChristopheYon opened this issue Oct 11, 2024 · 0 comments
Open

Service précédents pays #142

ChristopheYon opened this issue Oct 11, 2024 · 0 comments
Assignees

Comments

@ChristopheYon
Copy link

Services territoires précédents

Pays

Requête

Méthode Requête Description
GET /pays/{code}/precedents Récupérer les informations concernant les pays qui précèdent le pays {code}

Paramètres

Paramètres Description Type
date Filtre pour préciser le pays {code} de départ. Par défaut, c’est la date courante qui est utilisée. Date

Exemples de requête

/geo/pays/99309/precedents

/geo/pays/99309/precedents?date=1963-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

Les codes ISO étant surtout précisés pour les pays actifs, ils sont souvent absents des réponses à ce service.

Exemple de réponse en XML

<Pays>
	<Pays code="99309" uri="http://id.insee.fr/geo/pays/aed778dc-3f9e-467d-a7c2-c875a12cb44d">
		<Intitule>Tanganyika</Intitule>
		<IntituleEntier>République du Tanganyika</IntituleEntier>
		<DateCreation>1962-12-09</DateCreation>
		<DateSuppression>1964-04-26</DateSuppression>
	</Pays>
	<Pays code="99362" uri="http://id.insee.fr/geo/pays/3b5c07e0-bc4a-480d-9b29-ef04e1fb775d">
		<Intitule>Zanzibar</Intitule>
		<IntituleEntier>République populaire de Zanzibar</IntituleEntier>
		<DateCreation>1963-12-10</DateCreation>
		<DateSuppression>1964-04-26</DateSuppression>
	</Pays>
</Pays>

Exemple de réponse en JSON

[
	{
		"type": "Pays",
		"code": "99309",
		"uri": "http://id.insee.fr/geo/pays/aed778dc-3f9e-467d-a7c2-c875a12cb44d",
		"intitule": "Tanganyika",
		"IntituleEntier": "République du Tanganyika",
		"dateCreation": "1962-12-09",
		"dateSuppression": "1962-12-09",
	},
	{
		"type": "Pays",
		"code": "99362",
		"uri": "http://id.insee.fr/geo/pays/3b5c07e0-bc4a-480d-9b29-ef04e1fb775d",
		"intitule": "Zanzibar",
		"IntituleEntier": "République populaire de Zanzibar",
		"dateCreation": "1963-12-10",
		"dateSuppression": "1964-04-26"
	},
]

Exemple de requête SPARQL

PREFIX :<http://rdf.insee.fr/def/geo#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?uri ?type ?code ?nom ?nomLong ?iso3166alpha2 ?iso3166alpha3 ?iso3166num ?dateCreation ?dateSuppression
WHERE {
	{
		# Sélection de la ressource d'origine (et de son événement créateur)
		SELECT DISTINCT ?origine ?evenement (?dateCreationOrigine AS ?dateSuppression)
		WHERE {
			?origine a :Pays ;
				:codeINSEE '99309' .
			?evenement :creation ?origine;
				:date ?dateCreationOrigine.
			OPTIONAL {?origine (^:suppression/:date) ?dateSuppressionOrigine.}
			FILTER(!BOUND(?dateCreationOrigine) || xsd:dateTime(?dateCreationOrigine) <= NOW())
			FILTER(!BOUND(?dateSuppressionOrigine) || xsd:dateTime(?dateSuppressionOrigine) > NOW())
		}
	}
	?evenement :suppression ?ressource .
	?ressource a ?typeRDF ;
		a :Pays ;
		:codeINSEE ?code ;
		:codeArticle ?typeArticle;
		:nom ?nom.
		OPTIONAL {?ressource :nomLong ?nomLong .}
		OPTIONAL {?ressource :codeIso3166alpha2 ?iso3166alpha2 .}
		OPTIONAL {?ressource :codeIso3166alpha3 ?iso3166alpha3 .}
		OPTIONAL {?ressource :codeIso3166num ?iso3166num .}
		BIND(STR(?typeRDF) AS ?type).
		BIND(STR(?ressource) AS ?uri).
		OPTIONAL { ?ressource (^:creation/:date) ?dateCreation.}
}
ORDER BY ?code

Avec le paramètre date :

PREFIX :<http://rdf.insee.fr/def/geo#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?uri ?type ?code ?nom ?nomLong ?iso3166alpha2 ?iso3166alpha3 ?iso3166num ?dateCreation ?dateSuppression
WHERE {
	{
		# Sélection de la ressource d'origine (et de son événement créateur)
		SELECT DISTINCT ?origine ?evenement (?dateCreationOrigine AS ?dateSuppression)
		WHERE {
			?origine a :Pays ;
				:codeINSEE '99309' .
			?evenement :creation ?origine;
				:date ?dateCreationOrigine.
			OPTIONAL {?origine (^:suppression/:date) ?dateSuppressionOrigine.}
			FILTER(!BOUND(?dateCreationOrigine) || ?dateCreationOrigine <= '1963-01-01'^^xsd:date)
			FILTER(!BOUND(?dateSuppressionOrigine) || ?dateSuppressionOrigine > '1963-01-01'^^xsd:date)
		}
	}
	?evenement :suppression ?ressource .
	?ressource a ?typeRDF ;
		a :Pays ;
		:codeINSEE ?code ;
		:codeArticle ?typeArticle;
		:nom ?nom.
		OPTIONAL {?ressource :nomLong ?nomLong .}
		OPTIONAL {?ressource :codeIso3166alpha2 ?iso3166alpha2 .}
		OPTIONAL {?ressource :codeIso3166alpha3 ?iso3166alpha3 .}
		OPTIONAL {?ressource :codeIso3166num ?iso3166num .}
		BIND(STR(?typeRDF) AS ?type).
		BIND(STR(?ressource) AS ?uri).
		OPTIONAL { ?ressource (^:creation/:date) ?dateCreation.}
}
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

No branches or pull requests

2 participants