-
Notifications
You must be signed in to change notification settings - Fork 1
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
Liens hypertextes de l'Insee qui retournent une erreur 404 #186
Comments
Visiblement la syntaxe pour consulter les objets du registre de l'INSEE a encore changé... Nous avions déjà dû modifier les URL il y a quelques mois - cf. issue #152. Par exemple, pour l'URI http://id.insee.fr/geo/commune/01006, l'équivalent de https://rdf.insee.fr/sparql/describe?uri=http%3A//id.insee.fr/geo/commune/01006 est maintenant En alternative, j'envisagerais bien d'utiliser pour les hyperliens le vocabulaire des communes de France sur le registre Loterre (projet du CNRS). Il a l'intérêt de faire la correspondance avec les autres vocabulaires de référence sur le sujet, dont celui de l'INSEE. Il s'agirait soit de pointer directement sur ce registre, soit d'utiliser les pages Wikipédia qu'il référence. NB1 : Utiliser les requêtes SPARQL NB2 : Les URI formées à partir du code INSEE ont un alias dont la partie identifiante est un UUID, et lancer la requête |
Correction de la forme des requêtes sur le registre INSEE. Cf. issue #186
Le commit ci-avant a remplacé les URL Pour mémoire, commandes exécutées : from urllib.parse import quote
from plume.rdf.namespaces import FOAF, RDF, SKOS
from plume.rdf.rdflib import URIRef
from plume.rdf.utils import graph_from_file, abspath
for vocabulary in ('insee_department', 'insee_commune', 'insee_region', 'insee_individual_territories'):
g = graph_from_file(abspath(f'rdf/data/vocabularies/{vocabulary}.ttl'), format='turtle')
for s, o in g.subject_objects(FOAF.page):
if str(o).startswith('https://rdf.insee.fr/sparql/describe?uri='):
h = g.remove((s, FOAF.page, o))
h = g.add(
(
s,
FOAF.page,
URIRef('https://rdf.insee.fr/sparql/?query={}'.format(quote(f'DESCRIBE <{str(s)}>')))
)
)
with open(abspath(f'rdf/data/vocabularies/{vocabulary}.ttl'), 'wb') as dest:
dest.write(g.serialize(encoding='utf-8')) |
Pour les vocabulaires INSEE des départements et régions, les requêtes SPARQL portées par la propriété `foaf:page` sont désormais construites à partir de l'URI synonyme dont la partie identifiante est un UUID et pas un code INSEE, car cet URI porte davantage d'informations. Cf. issue #186
Les URI synonymes basées sur des UUID étaient intégrées aux vocabulaires pour les régions et départements, donc je les ai utilisées pour créer des liens un peu plus informatifs, même si la présentation de l'information reste peu accessible. Commandes exécutées, pour mémoire : from urllib.parse import quote
from plume.rdf.namespaces import FOAF, RDF, SKOS
from plume.rdf.rdflib import URIRef
from plume.rdf.utils import graph_from_file, abspath
for vocabulary in ('insee_department', 'insee_region'):
g = graph_from_file(abspath(f'rdf/data/vocabularies/{vocabulary}.ttl'), format='turtle')
for s, o in g.subject_objects(FOAF.page):
a = g.value(s, SKOS.exactMatch)
if a and str(o).startswith('https://rdf.insee.fr/sparql/?query='):
h = g.remove((s, FOAF.page, o))
h = g.add(
(
s,
FOAF.page,
URIRef('https://rdf.insee.fr/sparql/?query={}'.format(quote(f'DESCRIBE <{str(a)}>')))
)
)
with open(abspath(f'rdf/data/vocabularies/{vocabulary}.ttl'), 'wb') as dest:
dest.write(g.serialize(encoding='utf-8')) Ce n'est pas fait pour les communes à ce stade, car les URI synonymes n'avaient pas été inclus dans le fichier turtle pour limiter la taille de ce dernier. |
Contexte
Plume autorise la saisie de lien hypertexte au travers de listes déroulantes, elles-mêmes générées par des thésaurus.
Un exemple
Je choisis dans un groupe de valeur ‘Thèmes’ le thésaurus Commune française (INSEE) et une valeur dans liste déroulante ‘Ain’
L’url de l’insee retourne une erreur 404 dans le navigateur.
The text was updated successfully, but these errors were encountered: