Skip to content

Publier des statistiques en RDF (6) : du XML au RDF/XML

12/11/2012

Je publie ici la manière dont j’ai produit les triplets statistiques récupérés de PAPESR.

J’ai déjà expliqué comment j’avais récupéré les données, publiées initialement en ligne en format HTML (plate-forme PAPESR),  et comment je les avais restructurées en 2 formats distincts : XML (format maison) et tableur.

Les derniers billets ont essayé d’expliquer comment ce que ces données, quel que soit leur format initial, pouvaient devenir quand mises en triplets RDF. Cela relevait à traiter les données manuellement. Mais heureusement, une fois qu’on sait ce qu’on doit obtenir, il est possible d’automatiser le traitement pour chacune des cellules.

En entrée, on a besoin :

  1. des données elles-mêmes (en XML)
  2. des identifiants des Universités

En sortie, on veut produire :

  1. la liste des relations nécessaires (Nombre d’étudiants, nombre de personnels, etc.)
    Dans les billets précédents, quand dans mon fichier XML j’avais une rubrique <title>Nombre d’étudiants inscrits</title>, j’avais créé une relation papesrLully:NbEtud
    Mais j’avais fais ce renommage manuellement, ce qui est exclut quand on a 62 catégories à traiter. J’ai donc récupéré l’identifiant PAPESR de chaque catégorie (un nombre à 2 chiffres), et j’ai donc des relations du type :
    papesrLully:ind62, papesrLully:ind24, chacun avec un label.
    Tous ces indicateurs sont des
    components du type DimensionProperty
  2. la structure d’un jeu de données, qui utilise ces relations et éventuellement d’autres.
    Ces points 1 et 2 sont regroupées dans le même fichier
  3. Une liste des indicateurs exprimés en concepts SKOS.
    On pourrait le considérer comme optionnel : dans le point 1 chaque indicateur pourrait se voir attribuer un label (rdfs:label) directement. J’ai préféré renvoyer chaque indicateur à un concept SKOS qui contient ce label : cela permettrait (à terme) de classer ces indicateurs, de les ranger en catégories et sous-catégories.
    Pour l’instant, c’est une liste non structurée.
    J’ai adjoint à cette liste la liste des universités, avec leur identifiant PAPESR et leur identifiant DBPedia
  4. La description du jeu de données (qui s’appuie sur le point 2) et les données elles-mêmes.
    Cela constitue un troisième fichier.

Je produis donc 3 fichiers, ce qui explique qu’il y ait 3 templates dans mon fichier XSL, portant les noms suivants :

  • ligne 30 : product_ontology
    il satisfait les points 1 et 2
  • ligne 86 : product_ids_file
    il satisfait le point 3
  • ligne 117 : product_observations_file
    il satisfait le point 4

Ce qu’il me reste à faire

En cherchant au fil des billets à quoi devaient ressembler mes triplets PAPESR, j’ai vu passer Google Refine comme outil pouvant s’avérer utile dans ces domaines.

Vous vous souvenez de Google Refine ?

Et donc, il existe une extension « RDF Refine » permettant d’exporter un tableau Google Refine en RDF, en définissant son format, en le rattachant à des concepts Freebase ou DBPedia, etc.

Ce qui signifie qu’au lieu d’avoir un processus Données XML –> feuille XSL –> triplets RDF/XML

je vais pouvoir tester : Données Excel –> import Google Refine –> export RDF

Avec deux questions notamment :

  1. n’est-ce pas un mode de conversion plus facile ?
  2. le résultat (les triplets produits) sera-t-il le même ?

Bref, c’est un peu une manière de tester si je ne me suis pas complètement planté… des fois que…

%d blogueurs aiment cette page :