Sparna Blog http://blog.sparna.fr Web de données | Architecture de l'information | Accès aux connaissances Tue, 17 Jul 2018 08:56:09 +0000 fr-FR hourly 1 Aligner son thesaurus avec RAMEAU en utilisant OnAGUI http://blog.sparna.fr/2018/07/17/aligner-thesaurus-rameau-onagui/ http://blog.sparna.fr/2018/07/17/aligner-thesaurus-rameau-onagui/#comments Tue, 17 Jul 2018 08:56:09 +0000 http://blog.sparna.fr/?p=1212 La BNF organisait le 10 juillet 2018 un atelier « Données liées et données à lier : quels outils pour quels alignements ?« , avec plein de bonnes choses dedans : RobotDonnées, le module développé par Logilab pour data.bnf.fr qui permet le regroupement semi-automatique des éditions en œuvres; où l’on apprend que data.bnf.fr ne comporte « que » 300…

Cet article Aligner son thesaurus avec RAMEAU en utilisant OnAGUI est apparu en premier sur Sparna Blog.

]]>
La BNF organisait le 10 juillet 2018 un atelier « Données liées et données à lier : quels outils pour quels alignements ?« , avec plein de bonnes choses dedans :

  • RobotDonnées, le module développé par Logilab pour data.bnf.fr qui permet le regroupement semi-automatique des éditions en œuvres;
  • BiblioStratus, pour aligner un catalogue externe avec celui de la BNF sur la base de plusieurs heuristiques (ISBN, EAN ou bien titre+auteur+date ou titre+auteur); où l’on apprend que la transition n’est pas qu’écologique mais qu’il existe également une transition bibliographique;
  • l’ANR ELKER pour « Enhancing Link Keys: Extraction and Reasoning », porté notamment par l’INRIA Grenoble pour la détection automatique des attributs permettant de trouver des correspondances dans 2 jeux de données RDF arbitraires; très impressionnant;
  • CultuurLink, à tester pour tous ceux qui s’intéressent aux processus d’alignement de vocabulaires, bien que l’outil soit restreint aux vocabulaires patrimoniaux des Pays-Bas;
  • et encore plein d’autres choses (cf les liens sur la page de l’atelier);

OnAGUI pour aligner 2 thesaurus SKOS

Je voulais profiter de cette thématique des alignements pour parler d’un autre outil d’alignement de thesaurus SKOS : OnAGUI pour « Ontology Alignment Graphical Interface« . OnAGUI est le genre d’outil qui ne paie pas de mine au premier abord mais qui est à mon avis l’outil dont la prise en main est la plus immédiate pour qui veut aligner 2 thesaurus en SKOS, tout en permettant d’outiller le processus depuis l’alignement linguistique automatique jusqu’à la validation manuelle de l’alignement produit.

L'interface d'OnAGUI pour aligner 2 thesaurus

L’interface d’OnAGUI pour aligner 2 thesaurus

Quelques considérations générales : d’abord l’acronyme parle d’alignement d’ « ontologies », mais pas de panique, ça marche pour des thesaurus en SKOS; surtout pour des thesaurus en SKOS, d’ailleurs. Ensuite, c’est open-source; ça s’installe facilement sur n’importe quel poste équipé de Java, c’est une application « de bureau », qui ne nécessite pas d’infrastructure client-serveur, etc. l’interface est en français (et anglais) puisque le développement à été fait par Laurent Mazuel à l’époque où il travaillait avec Jean Charlet au LIMICS (INSERM). L’outil est maintenu, notamment par votre serviteur.

Vous pouvez consulter la documentation d’OnAGUI où vous trouverez des informations plus détaillées sur le logiciel.

Alignement avec RAMEAU

Maintenant, le cas d’usage : il m’ait arrivé de rencontrer des personnes qui avaient besoin d’aligner un vocabulaire vers le langage d’indexation RAMEAU de la BNF. Comment faire ?

  1. Je ne détaille pas ici la structure de RAMEAU et son mécanisme de « vedettes-matières pré-coordonnées » que je ne connais pas bien d’ailleurs, mais je pars (naïvement) de ce qui existe : le fichier des Thèmes Rameau que l’on télécharge depuis le site des dumps de données de la BNF. Il s’agit du fichier intitulé « [RDF/XML] Thèmes RAMEAU« .
  2. A ce stade il faut l’avouer : la BNF a encore des efforts à faire sur diffusion des données de RAMEAU; les données telles qu’on les télécharge sont inutilisables telles qu’elles, et nécessitent : 1/ un nettoyage et 2/ une fusion en un seul fichier; je ne m’étends pas sur cette étape que j’ai réalisé à l’aide de scripts RDF4J dont je me sers régulièrement, mais on se ramène au final à un seul fichier RDF contenant tout RAMEAU en SKOS; si vous voulez tester OnAGUI sur un autre vocabulaire ne nécessitant pas cette étape de « magie noire », essayez avec le thesaurus de l’UNESCO ou Eurovoc;
  3. Il faut ensuite avoir son propre thesaurus en SKOS; on peut utiliser pour cela l’outil de conversion Excel vers SKOS disponible dans SKOS Play;
  4. Il faut télécharger OnAGUI en prenant soin de prendre une version postérieure à 0.3.2, version pour laquelle des améliorations ont été apportées pour fonctionner avec RAMEAU;
  5. Muni donc de votre vocabulaire en SKOS d’un côté, de RAMEAU (nettoyé) de l’autre, et d’OnAGUI entre les deux, vous pouvez ensuite :
    1. Charger votre thesaurus dans OnaGUI (Menu « Fichier > Charger vocabulaire 1 > Charger en SKOS »);
    2. Charger RAMEAU dans OnaGUI (Menu « Fichier > Charger vocabulaire 2 > Charger en SKOS »), qui va vaillamment charger 160000+ concepts;
    3. Lancer un alignement linguistique (Menu « Alignement > I-Sub distance ») en prenant soin de :
      1. sélectionner la langue « fr » dans les 2 thesaurus;
      2. abaisser légèrement le seuil de tolérance de l’algorithme, en le mettant à 0.85 par exemple; ne le mettez pas trop bas sinon vous aurez trop de correspondances qui ne veulent rien dire, ni trop haut sinon vous allez rater des choses;
    4. Aller prendre un petit café, ou deux, ou trois… en fonction de la taille du vocabulaire que vous avez besoin d’aligner; patientez entre quelques secondes et une nuit entière;
    5. Analyser le tableau de résultat fourni et soit :
      1. supprimer des lignes de correspondances fausses; regardez le score de chaque correspondance : plus le score tend vers 1, meilleure est la correspondance linguisitique, plus le score diminue, plus les libellés sont éloignés;
      2. ajouter des nouvelles correspondances qui auraient été ratées;
    6. Puis exporter l’alignement (Menu « Fichier > Exporter l’alignemenr ») soit dans un format RDF EDOAL, le plus expressif, soit avec les propriétés d’alignement SKOS, soit en CSV pour une analyse dans un tableur;
Vocabulaire Rameau dans OnaGUI

Vocabulaire Rameau chargé dans OnaGUI

 

OnAGUI est un outil perfectible sur bien des aspects mais qui permet de valider « pour de vrai » des alignements sur des vrais projets, sans besoin d’infrastructure compliquée ou d’outil commercial. J’ai pu le mettre en œuvre à 2 reprises : pour l’alignement du thesaurus de l’IRSTEA vers le GEMET et Agrovoc, et plus récemment pour un essai d’alignement du vocabulaire thématique d’indexation de la loi Luxembourgeoise avec le thesaurus Eurovoc utilisé au niveau européen, sur la base de l’analyse des transpositions des directives européennes dans la loi nationale. Il peut également prendre en charger des cas d’usage d’alignement partiel, en alignant seulement les concepts créés ou modifiés après une certaine date, de façon à ne pas à avoir à refaire l’intégralité de l’alignement à chaque nouvelle version du thesaurus.

Si vous avez des questions, des cas d’usage ou des retours d’expérience sur OnAGUI, n’hésitez pas à soumettre des tickets dans le site du projet.

Cet article Aligner son thesaurus avec RAMEAU en utilisant OnAGUI est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2018/07/17/aligner-thesaurus-rameau-onagui/feed/ 0
SPARQL sur DOREMUS : une balade autour de Gabriel Fauré http://blog.sparna.fr/2018/06/21/sparql-doremus-une-balade-autour-de-gabriel-faure/ http://blog.sparna.fr/2018/06/21/sparql-doremus-une-balade-autour-de-gabriel-faure/#comments Thu, 21 Jun 2018 08:02:35 +0000 http://blog.sparna.fr/?p=1196 DOREMUS est un beau projet de recherche regroupant plusieurs producteurs de métadonnées musicales (BNF, Philarmonie de Paris, Radio France) associés à des laboratoires universitaires; le résultat a été la publication conjointe des descriptions d’oeuvres de musique classique, dans un modèle de données novateur qui est une extension de FRBRoo, lui-même une extension du CIDOC-CRM. Voici…

Cet article SPARQL sur DOREMUS : une balade autour de Gabriel Fauré est apparu en premier sur Sparna Blog.

]]>
DOREMUS est un beau projet de recherche regroupant plusieurs producteurs de métadonnées musicales (BNF, Philarmonie de Paris, Radio France) associés à des laboratoires universitaires; le résultat a été la publication conjointe des descriptions d’oeuvres de musique classique, dans un modèle de données novateur qui est une extension de FRBRoo, lui-même une extension du CIDOC-CRM.

Voici un tutorial guidé d’interrogation SPARQL des données de Doremus, autour de Gabriel Fauré; ce tutorial explore la modélisation de « création » entre un compositeur et une oeuvre musicale (ou plutôt son expression au sens FRBR). Il montre comment :

  • Trouver un compositeur dans le navigateur Overture de Doremus, le navigateur à facette et le service SPARQL;
  • Naviguer dans ses activités de création, vers ses oeuvres et leurs expressions, et récupérer les dates de création des oeuvres; le tout en illustrant les opérateurs SPARQL de property path, aggrégation, COUNT, assignation, etc;
  • Générer une timeline des compositeurs classiques de façon semi-automatique en utilisant le service timelinejs :

screenshot-timeline-doremus

CIDOC-CRM + SPARQL Tutorial sur les données Doremus

Introduction aux requêtes SPARQL sur les données du projet Doremus (http://data.doremus.org) qui modélise et diffuse les données de création d’oeuvres musicale…

Pour réutiliser ce document dans un cadre non-commercial vous pouvez me contacter.

Dans la même veine, vous pouvez consulter le tutorial SPARQL sur les données data.bnf.fr.

Image du post : Carte postale éditée en 1900 lors de la représentation de l’opéra Prométhée de Gabriel Fauré au Théâtre des Arènes, à Béziers. Sur Wikimedia Commons.

Cet article SPARQL sur DOREMUS : une balade autour de Gabriel Fauré est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2018/06/21/sparql-doremus-une-balade-autour-de-gabriel-faure/feed/ 0
Le jour où tout le monde a entendu parler de DBPedia… http://blog.sparna.fr/2018/04/26/le-jour-ou-tout-le-monde-a-entendu-parler-de-dbpedia/ http://blog.sparna.fr/2018/04/26/le-jour-ou-tout-le-monde-a-entendu-parler-de-dbpedia/#comments Thu, 26 Apr 2018 14:27:56 +0000 http://blog.sparna.fr/?p=1189 … c’était le 23 novembre 2012, dans directmatin, à la page High-Tech. Avec ce titre qui me fait sourire encore aujourd’hui « Le Web 3.0 bientôt en France », sous-titre « Wikipédia à la rescousse ». Pris d’un accès de minimalisme ce matin, je voulais partager ici cette petite pépite avant de mettre ce bout de papier là où…

Cet article Le jour où tout le monde a entendu parler de DBPedia… est apparu en premier sur Sparna Blog.

]]>
… c’était le 23 novembre 2012, dans directmatin, à la page High-Tech. Avec ce titre qui me fait sourire encore aujourd’hui « Le Web 3.0 bientôt en France », sous-titre « Wikipédia à la rescousse ».

Pris d’un accès de minimalisme ce matin, je voulais partager ici cette petite pépite avant de mettre ce bout de papier là où il aurait dû se trouver depuis longtemps… à la poubelle.

Au fait, DBPedia francophone, c’est ici.

directmatin-20121123

 

Cet article Le jour où tout le monde a entendu parler de DBPedia… est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2018/04/26/le-jour-ou-tout-le-monde-a-entendu-parler-de-dbpedia/feed/ 0
SPARQL sur les données de data.bnf.fr : un exercice guidé dans les Fables http://blog.sparna.fr/2018/03/07/data-bnf-fr-sparql-exercice/ http://blog.sparna.fr/2018/03/07/data-bnf-fr-sparql-exercice/#comments Wed, 07 Mar 2018 14:27:41 +0000 http://blog.sparna.fr/?p=1182 Appréhender les données de data.bnf.fr n’est pas forcément facile. Je vais expérimenter ce nouveau TP pour expliquer comment partir à la découverte des données de la BNF en utilisant SPARQL. L’énoncé permet de comprendre : Comment trouver un auteur par son nom Comment trouver une oeuvre par son nom Comment chercher un mot-clé dans Rameau…

Cet article SPARQL sur les données de data.bnf.fr : un exercice guidé dans les Fables est apparu en premier sur Sparna Blog.

]]>
Appréhender les données de data.bnf.fr n’est pas forcément facile. Je vais expérimenter ce nouveau TP pour expliquer comment partir à la découverte des données de la BNF en utilisant SPARQL. L’énoncé permet de comprendre :

  • Comment trouver un auteur par son nom
  • Comment trouver une oeuvre par son nom
  • Comment chercher un mot-clé dans Rameau
  • Comment faire une recherche combinée sur l’auteur de l’oeuvre et un mot-clé Rameau

Découvrir les données de data.bnf.fr en utilisant SPARQL

Travaux pratiques pour explorer les oeuvres, les auteurs et les mots-clés de data.bnf.fr en utilisant des requêtes SPARQL.

Cet article SPARQL sur les données de data.bnf.fr : un exercice guidé dans les Fables est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2018/03/07/data-bnf-fr-sparql-exercice/feed/ 3
Vocabulaires dans le web de données : quels outils open-source ? http://blog.sparna.fr/2018/01/23/vocabulaires-thesaurus-web-donnees-skos-open-source/ http://blog.sparna.fr/2018/01/23/vocabulaires-thesaurus-web-donnees-skos-open-source/#comments Tue, 23 Jan 2018 10:43:08 +0000 http://blog.sparna.fr/?p=1157 Je travaille régulièrement sur des projets de gestion et/ou de mise en ligne de vocabulaires (thesaurus, taxonomies) en SKOS : pour l’UNESCO – voir le précédent billet -, l’INED (thesaurus Popin), le Luxembourg, l’IRSTEA ou le Réseau Canopé (vocabulaire ScolomFr). Ces projets sont réalisés en utilisant de l’open-source sur toute la chaîne, depuis le back-office…

Cet article Vocabulaires dans le web de données : quels outils open-source ? est apparu en premier sur Sparna Blog.

]]>
Je travaille régulièrement sur des projets de gestion et/ou de mise en ligne de vocabulaires (thesaurus, taxonomies) en SKOS : pour l’UNESCO – voir le précédent billet -, l’INED (thesaurus Popin), le Luxembourg, l’IRSTEA ou le Réseau Canopé (vocabulaire ScolomFr). Ces projets sont réalisés en utilisant de l’open-source sur toute la chaîne, depuis le back-office de gestion jusqu’à la diffusion conforme aux standards du web de données, en passant par l’alignement ou la conversion depuis des tableaux Excel.

 

Outils-pour-la-publication-des-thesaurus-dans-le-web-de-donnees

Je vous propose un petit tour d’horizon des outils open-source pour la gestion et la diffusion de vocabulaires contrôlés.

Outils de gestion

Vocbench3

Vocbench3 est l’outil de gestion de référentiels SKOS que je recommande. Il est développé par l’Université de Rome Tor-Vergata, et financé pour 1 ou 2 année encore par le programme de financement européen ISA, ce qui lui donne une bonne visibilité à moyen terme. La communauté d’utilisateurs est large avec beaucoup d’organismes internationaux (FAO/Agrovoc, INRA, Office des Publications de l’UE/Eurovoc, etc.). Le support est bon, l’équipe de développement répond rapidement aux questions.

Coté technique, il est directement basé sur des données RDF, ce qui facilite son intégration dans des environnements techniques basés sur le web de données. Le modèle de données est extensible et permet de gérer des propriétés « customisées » sur les concepts. Vocbench permet également d’éditer des ontologies OWL, sans arriver à concurrencer Protégé.

td_eurovoc_show

Ginco

Ginco est l’outil de gestion de vocabulaires développé par le Ministère de la Culture pour la maintenance de ses référentiels. Il a été dès le départ spécifié pour être compatible avec la norme ISO-25964 sur la modélisation des thesaurus, et avec SKOS. Donc en particulier la gestion des facettes, des tableaux de concepts, etc. Il a un pendant « Ginco diffusion » qui motorise le site de diffusion des vocabulaires du MCC.

OpenTheso

OpenTheso est l’outil de gestion SKOS made in CNRS. La communauté d’utilisateurs est dans le monde de la recherche française/francophone (notamment le réseau FRANTIQ).
On pourra consulter la présentation d’OpenTheso à semweb.pro 2017 par Miled Rousset.

Outils de Publication et Visualisation de vocabulaires

Skosmos

Vous voulez valoriser vos vocabulaires/thesaurus/taxonomies ? Vous avez besoin des les rendre visibles, navigables, interrogeables par les utilisateurs ? Vous voulez recevoir du feedback, faire participer une communauté ? Skosmos est l’outil de choix.
Développé par la Bibliothèque Nationale de Finlande pour son portail « finto.fi » (parlez-vous finnois ?), Skosmos propose une interface de rendu très propre avec toutes les fonctions de navigation dans des vocabulaires contrôlés : listes alphabétiques, arborescence hiérarchique, recherche plain-texte avec autocompletion, gestion des groupes/collections SKOS, affichage propre des alignements avec d’autres vocabulaires. Il s’adapte assez facilement pour le mettre aux couleurs de l’institution. Il prend en charge la négociation de contenu pour l’accès aux données brutes en RDF. L’interface inclut également un formulaire permettant d’envoyer du feedback à l’équipe de maintenance du thesaurus.

L’équipe de développement répond très vite aux questions, le code PHP est de qualité, l’outil est vivant et de nouvelles versions sont disponibles régulièrement.

Skosmos est à mon sens LE meilleur outil pour la diffusion de vocabulaires en SKOS.

screenshot-skosmos-finto

Skos Play

SKOS Play est l’outil que je développe depuis 2013 pour faire de la publication et de la visualisation de référentiels SKOS. Il permet de générer des documents PDF des vocabulaires, des sorties HTML dynamiques (arbres dépliables),des listings alphabétiques, des tableaux de traduction ou d’alignement, ou des data visualisations. A titre d’exemple on pourra consulter les rendus du code Rome de Pôle Emploi en SKOS.

SKOS Play est intégré dans la plateforme de publication des vocabulaires du MCC, et dans celle de l’UNESCO, pour la génération des PDFs. Le service en ligne est quant à lui utilisé plus de 500 fois par mois.

code-rome-visualisation-arbre

Conversion Excel, contrôle qualité, alignement

Skos Play convert

SKOS Play inclut un service de génération de données RDF/SKOS depuis des tableaux Excel (voir précédent billet).

Soyons honnêtes : rien ne remplace Excel :-) ! pour de la saisie ou de l’analyse de données en masse, avoir une vue globale sur ces données, faire des reporting, gérer facilement plusieurs vocabulaires… Pas de courbe d’apprentissage, pas d’outil à installer, grande efficacité de saisie. Et si on utilise un environnement en ligne type Google Sheets, on gagne l’aspect collaboratif.
Cette passerelle Excel-RDF-SKOS s’est révélée très importante pour faire les reprises ou les créations initiales de vocabulaires, avant de les basculer dans des outils de gestion comme VocBench.

convert-screenshot-body

Skos Testing Tool : contrôle qualité

Le SKOS Testing Tool est une interface web permettant de valider la conformité de fichiers SKOS (voir précédent billet). L’outil s’appuie sur qSKOS, qui fonctionne lui en ligne de commande. 27 vérifications peuvent être effectuées sur les données, comme :

  • vérification de l’absence de cycle dans la hiérarchie des concepts
  • vérification que tous les concepts ont bien un prefLabel
  • vérification que tous les concepts sont traduits (dans le cas de thesaurus multilingues)

Combiné avec les sorties alphabétiques/hiérarchiques de SKOS Play, ces vérifications permettent de s’assurer de la qualité des données soit en amont lors des comités de validation du vocabulaire, soit en aval avant la diffusion des données en ligne dans Skosmos.

screenshot-skos-testing-tool

OnaGUI : Alignement semi-automatique

OnaGUI (Ontology Alignment Graphical User Interface) a été développé à l’origine à l’INSERM dans l’équipe de Jean Charlet pour faire de l’alignement d’ontologies médicales, et il a depuis été adapté pour pouvoir aligner des données SKOS.

C’est l’outil le plus accessible et le plus simple d’utilisation pour aligner 2 vocabulaires : on charge un thesaurus à gauche, un thesaurus à droite, et on lance un algorithme d’alignement qui va proposer des correspondances sur la base des proximités des libellés des concepts.

On utilise régulièrement OnaGUI pour illustrer les alignements de thesaurus dans les formations web de données à l’ADBS.

Si on veut utiliser des algorithmes d’alignement plus poussés, on se tournera vers l’API d’alignement de l’INRIA, mais qui demande du développement technique pour être intégrée dans un outil.

onagui-irstea-gemet

Quels outils manquent ?

Quels outils manquent dans l’écosystème des vocabulaires dans le web de données ?

  • Probablement des outils faciles à mettre en œuvre pour assister à la création de vocabulaires à partir d’analyse de corpus (détection d’entités, agrégation des mots en concepts, etc.); en connaissez-vous ? IBM Watson ne ferait pas quelque chose comme ça ?
  • Des interfaces d’alignement puissantes faciliteraient la mise en réseau des référentiels (des choses comme cultuurlink, mais généralisées);
  • Une gestion des versions successives des vocabulaires, avec calcul de deltas, génération automatique de ce qui a changé entre 2 versions, etc;
  • Des plugins dans les CMS courants (WordPress, Drupal, etc…) permettant d’importer directement des vocabulaires SKOS, et de les mettre à jour; ça doit bien exister, non ? également des ponts faciles et direct vers SolR et ElasticSearch;
  • Mon rêve : un outil d’édition des vocabulaires en mode collaboratif et ouvert poussé, en mode SaaS, sans différence entre l’environnement d’édition et de publication, permettant de faire collaborer une communauté plus large que quelques éditeurs experts; ça viendra un jour ! :-)

Et vous, quels outils vous manquent ?

(Illustration de l’article : « Atelier Heilmann Ducommun pour la construction de machines-outils » Gallica http://gallica.bnf.fr/ark:/12148/btv1b10201510v)

Cet article Vocabulaires dans le web de données : quels outils open-source ? est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2018/01/23/vocabulaires-thesaurus-web-donnees-skos-open-source/feed/ 11
Outil de test de vocabulaires SKOS http://blog.sparna.fr/2017/07/11/outil-de-test-de-vocabulaires-skos/ http://blog.sparna.fr/2017/07/11/outil-de-test-de-vocabulaires-skos/#comments Tue, 11 Jul 2017 08:11:39 +0000 http://blog.sparna.fr/?p=1151 Nous avons développé un outil de test de vocabulaires SKOS (« SKOS Testing Tool »). Cette application est une interface vers l’outil de validation qSKOS de Christian Mader. L’application est gratuite, open-source, sans login, et en français ! Vous pouvez soumettre des demandes d’évolution ou des remontées de bug sur le Github du projet. L’outil permet de…

Cet article Outil de test de vocabulaires SKOS est apparu en premier sur Sparna Blog.

]]>
Nous avons développé un outil de test de vocabulaires SKOS (« SKOS Testing Tool »). Cette application est une interface vers l’outil de validation qSKOS de Christian Mader.

L’application est gratuite, open-source, sans login, et en français ! Vous pouvez soumettre des demandes d’évolution ou des remontées de bug sur le Github du projet. L’outil permet de :

  • valider un fichier SKOS uploadé ou à partir d’une URL;
  • sélectionner les règles à vérifier;
  • récupérer le résultat de la validation dans un rapport HTML, le format texte brut de qSKOS, ou en RDF dans le Data Quality Vocabulary DQV;
  • pointer directement sur l’URL du rapport de test à partir d’une URL de fichier SKOS (voir les détails sur la page de documentation Github);

Vous avez dit « test de SKOS » ?

On peut distinguer plusieurs niveaux de règles dans les règles vérifiées par qSKOS et l’outil de test :

Les contraintes formelles : SKOS défini peu de contraintes formelles :

  • un concept ne doit pas avoir plus d’un skos:prefLabel par langue
  • un même libellé ne peut pas être à la fois prefLabel ou altLabel
  • une entrée ne peut pas être à la fois Concept et Collection
  • et c’est à peu près tout.

Les conventions SKOS : SKOS donne des contraintes qui sont plus des conventions ou des bonnes pratiques :

  • les relations d’alignement sont à utiliser entre des ConceptScheme différents
  • il faut mieux ne pas avoir d’homonymes dans un ConceptScheme
  • les skos:notation doivent être uniques dans un même ConceptScheme
  • un Concept marqué comme « top concept » (racine) ne doit normalement pas avoir de skos:broader
  • etc.

Les « boulettes classiques » :

  • Concepts sans libellés;
  • Cycles dans la hiérarchie des concepts;
  • Caractères spéciaux dans les libellés (copier-coller depuis Word…)
  • etc…

Les bonnes pratiques de publications de données liées : L’outil vérifie quelques autres bonnes pratiques de publication :

  • Il faut mieux que les concepts soient documenter avec des propriétés de documentation SKOS;
  • Il faut mieux qu’ils soient reliés à d’autres concepts dans le vocabulaire (avec des broader, narrower ou related);
  • Il faut mieux qu’ils fassent référence à d’autres données sur le web (linked data);

Correction automatique des fichiers

La prochaine grande étape après le test sera de proposer des corrections automatiques des données pour certain problèmes, similaires à ce que fait Skosify.

A vos vocabulaires !

Illustration : « Usage des nouvelles mesures » sur Gallica : http://gallica.bnf.fr/ark:/12148/btv1b8412951c

Cet article Outil de test de vocabulaires SKOS est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2017/07/11/outil-de-test-de-vocabulaires-skos/feed/ 0
Référentiel ROME de Pôle Emploi en SKOS (à partir de data.gouv.fr) http://blog.sparna.fr/2017/04/18/rome-pole-emploi-skos-rdf-data-gouv-fr/ http://blog.sparna.fr/2017/04/18/rome-pole-emploi-skos-rdf-data-gouv-fr/#comments Tue, 18 Apr 2017 08:31:17 +0000 http://blog.sparna.fr/?p=1132 Etalab, la mission chargée de la politique Open Data de l’administration aujourd’hui intégrée à la DSI de l’Etat, vient d’ouvrir le portail du service public de la donnée (lire l’article sur silicon.fr) : des jeux de données de référence, « à fort impact économique et social », d’un niveau de qualité et de fraîcheur garanti. Parmi ceux-ci…

Cet article Référentiel ROME de Pôle Emploi en SKOS (à partir de data.gouv.fr) est apparu en premier sur Sparna Blog.

]]>
Etalab, la mission chargée de la politique Open Data de l’administration aujourd’hui intégrée à la DSI de l’Etat, vient d’ouvrir le portail du service public de la donnée (lire l’article sur silicon.fr) : des jeux de données de référence, « à fort impact économique et social », d’un niveau de qualité et de fraîcheur garanti. Parmi ceux-ci le Répertoire Opérationnel des Métiers et de l’Emploi (ROME), la classification utilisée par Pôle Emploi.

A partir des fichiers de données du Répertoire Opérationnel des Métiers et de l’Emploi, j’ai mis en ligne des visualisations de données du ROME, après nettoyage, traitement, et conversion des données en SKOS.

Le Répertoire ROME

Ce répertoire ROME m’avait intéressé il y a 4 ans lorsque j’avais effectué une mission pour l’optimisation sémantique du moteur de recherche SolR d’un job board. Nous nous étions demandé à l’époque si nous pouvions réutiliser une partie de ce référentiel pour effectuer un rapprochement (automatique ou manuelle) des titres d’annonces d’emplois vers le référentiel. Cela aurait permis, à partir de l’identification du nom du poste, de catégoriser automatiquement les annonces dans la catégorie ROME appropriée. Le ROME contient en effet plus de 11000 dénominations de postes/métiers, catégorisés dans une double classification : une arborescence principale, et une arborescence thématique. On y trouve donc des entrées comme :

  • Accompagnateur / Accompagnatrice en écotourisme
  • Responsable de rayon produits alimentaires
  • Assistant / Assistante mise en scène
  • etc.

Ces noms de postes sont organisés dans une classification à 3 niveaux : « AGRICULTURE ET PÊCHE, ESPACES NATURELS ET ESPACES VERTS, SOINS AUX ANIMAUX > Espaces naturels et espaces verts > Bûcheronnage et élagage ». Le 3eme niveau (ici « Bûcheronnage et élagage ») correspond à une fiche métier (ici http://candidat.pole-emploi.fr/marche-du-travail/fichemetierrome?codeRome=A1201) et est associé à un code (ici A1201).

Arborescence principale du code ROME dans SKOS-Play

Conversion en SKOS

Je suis reparti ici des fichiers bruts fournis sur data.gouv.fr, et j’ai passé un peu de temps à les convertir en SKOS avec le convertisseur Excel vers SKOS de SKOS Play :

  • ajustement manuel de certaines valeurs mal séparées par des virgules dans le fichier CSV de départ;
  • suppression des guillemets simples et doubles;
  • fusion des 2 fichiers fournis (arborescence principale et arborescence thématique);
  • réorganisation des colonnes;

Il s’agit ensuite de construire un tableau Excel au format adéquat pour une conversion vers SKOS, en adaptant la structure des fichiers, typiquement en calculant le contenu de nouvelles colonnes avec des formules Excel. En particulier, il s’agit de donner des identifiants URI à toutes les entrées du code ROME, pour arriver ainsi à des données open data « 4 étoiles »Cette conversion SKOS est relativement aisée à réaliser, sans écriture de code ni script. Elle est accessible à toute personne capable de manipuler Excel.

Ces données SKOS du ROME sont publiées à http://data.sparna.fr/vocabulaires/code-rome.

Je ne rentrerai pas dans les détails de modélisation du ROME en SKOS, sauf sur 1 point : on peut se demander ce qu’il convient d’identifier comme « Concept » dans ce référentiel. J’ai pris le parti de considérer chaque nom de poste comme un skos:Concept, et tous les éléments de classification thématiques comme des skos:Collection (donc des tiroirs, qui ne sont pas utilisables dans une indexation). Un point de vue différent mais tout aussi valable serait de considérer non pas les noms de poste comme des concepts, mais bien les noms de métier, chaque métier ayant une correspondance avec une fiche sur le site Pôle Emploi; les noms de poste seraient alors des synonymes (skos:altLabel) du métier (dans l’exemple au-dessus, le métier A1202 « Bûcheronnage et élagage » aurait alors pour synonymes « Agent / Agente d’aménagement des haies et fossés », « Agent / Agente d’entretien des espaces naturels », « Ouvrier / Ouvrière d’entretien des espaces naturels », etc.).

Visualisations de données

A partir des données SKOS, on peut ensuite générer des visualisations avec SKOS Play : ces visualisations sont publiés à http://labs.sparna.fr/code-rome.html. 3 visualisations ont été produites :

  1. Un champ de recherche assisté (avec une autocompletion sur les noms des métiers), permettant de lancer une recherche d’annonces sur le site Pôle Emploi à partir d’un nom de métier; on pourrait imaginer quelque chose de similaire pour accéder aux fiches métiers plutôt qu’aux annonces;
  2. Une vue arborescente avec d3js, permettant de naviguer visuellement dans l’arbre;
  3. Un listing indenté en HTML, que l’on peut plier et déplier;

On notera que, sauf pour l’articulation entre le champ de recherche assisté et le site de Pôle Emploi qui demande 10 lignes de javascript, ces visualisations sont produites directement par SKOS Play sans avoir à écrire de code.

Un « Web des données de l’emploi » ?

On a donc ici fait passer le référentiel ROME à un meilleur niveau de qualité des données, permettant une intégration facilitée dans d’autres systèmes, d’autres outils de recherche. Au delà de la démonstration sur la conversion et la visualisation de données, j’aimerai dans une deuxième étape illustrer l’alignement des données du ROME avec d’autres référentiels (probablement ESCO), en utilisant OnaGUI, qui permet de simplifier les alignements de vocabulaires. On aurait alors un beau référentiel 5 étoiles, _dans_ le web (et pas simplement _sur_ le web), avec des correspondances vers d’autres données. Un « web des données de l’emploi » ? il fallait bien ça à quelques jours des présidentielles !

Dans une deuxième étape je publierai le SKOS généré pour que les URIs soient déréférençables, en utilisant SKOSMOS, dans un déploiement similaire à celui utilisé pour publier le thesaurus de l’UNESCO.

J’espère que cette conversion de données en SKOS permettra une diffusion et une intégration plus large de ce référentiel utile pour la recherche d’emplois. Dites-moi si vous réutilisez ces données pour d’autres visualisations ou d’autres systèmes, ou si vous souhaitez de l’aide pour son intégration.

Illustration de l’article tirée de Wikimedia Commons : https://fr.wikipedia.org/wiki/Fichier:Metro_de_Paris_-_Ligne_2_-_Rome_07.jpg

Cet article Référentiel ROME de Pôle Emploi en SKOS (à partir de data.gouv.fr) est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2017/04/18/rome-pole-emploi-skos-rdf-data-gouv-fr/feed/ 2
UNESCO Thesaurus published with Semantic Web standards and Open-Source software http://blog.sparna.fr/2017/02/06/unesco-thesaurus-published-with-semantic-web-standards-and-open-source-software/ http://blog.sparna.fr/2017/02/06/unesco-thesaurus-published-with-semantic-web-standards-and-open-source-software/#comments Mon, 06 Feb 2017 08:03:10 +0000 http://blog.sparna.fr/?p=1102 Sparna conducted in 2016 the replacement of the Thesaurus Management Software and thesaurus publication platform for the UNESCO, with Open-Source tools all relying on Semantic Web technologies. The result is the new UNESCO vocabularies publication platform at http://vocabularies.unesco.org. The project was conducted in 2 phases : a new thesaurus publication platform based on Skosmos, SKOS…

Cet article UNESCO Thesaurus published with Semantic Web standards and Open-Source software est apparu en premier sur Sparna Blog.

]]>
Sparna conducted in 2016 the replacement of the Thesaurus Management Software and thesaurus publication platform for the UNESCO, with Open-Source tools all relying on Semantic Web technologies. The result is the new UNESCO vocabularies publication platform at http://vocabularies.unesco.org. The project was conducted in 2 phases : a new thesaurus publication platform based on Skosmos, SKOS Play and Fuseki, and in a second phase the deployment of VocBench as the new Thesaurus Management Software. The system leverages Semantic Web standards by relying on SKOS as the data exchange format, SPARQL as the online thesaurus query language, and dereferancable URI identifiers.

The new thesaurus browser

The first objective was to replace the thesaurus publication platform, while maintaining existing backoffice tools for thesaurus management. This choice allowed to quickly demonstrate a publicly available interface for searching and browsing the vocabulary, without waiting for the deployment of the complete system.

Skosmos was used as the thesaurus browser; it is easy to deploy, well documented, and the team behind it from the National Library of Finland is super-reactive for fixing bugs. It offers out-of-box features like alphabetical/hierarchical browsing, autocomplete search, URI-based content negociation, and a feedback form. Important aspects for UNESCO were the ability to have a multilingual interface (English, French, Spanish, Russian), the possibility to customize the stylesheets/logo/help page, or the order of the fields in a concept display page. We added a direct link to trigger a search in the UNESDOC database from a concept page in Skosmos, thus easily linking the new thesaurus browser to the existing resource center.

unesco-skosmos

UNESCO thesaurus published in Skosmos

2 additionnal components were used for a complete vocabulary publishing solution; SKOS Play was used to generate downloadable PDF documents generated from the SKOS thesaurus : complete editions of the thesaurus with alphabetical index, hierarchical tree and translation tables, and KWIC indexes, each in French, English, Spanish and Russian. The documents are regenerated automatically each time a new version of the thesaurus is published. Fuseki with a customized SPARLQ form is used as the frontend for public SPARQL querying of the thesaurus.

Meron Ewketu, responsible for the UNESCO thesaurus, describes the benefits of the new publication platform : « The obvious benefit is the enhanced user interface : a nice hierarchical display, a powerful search, an easy navigation between the different language versions. Thanks to these features the platform was immediately endorsed by our user community. What is also very much appreciated is the possibility of responding to various user needs in terms of format and content. Being able to extract part of the thesaurus as per our users’ requirements, and being able to deliver the content in a variety of formats, including PDF, using the SPARQL endpoint and SKOS Play. We have also noticed an increase in user participation. The feedback form enabled us to engage with our users more easily.« 

The Collaborative Thesaurus Management Software

The second phase of the project aimed at replacing the old thesaurus management software, and integrating it with the new thesaurus browser. UNESCO and Sparna chose to deploy VocBench, an open-source SKOS-based thesaurus management solution from the Tor Vergata University in Rome. We also considered Ginco as a possible alternative; VocBench was chosen mainly for its ability to properly handle collaborative multi-user maintenance of the thesaurus; this was an important aspect for UNESCO, having remote contributors to the thesaurus in Russia, and translations in Chinese and Arabic coming in the future; the ability to work remotely and to have a validation workflow of the modifications was essential. In addition, Vocbench is already deployed by other international organizations, and the upcoming v3 of Vocbench is funded by the ISA2 program of the European Union, thus giving garantees as to the maintenance of the application in the next few years.

unesco-vocbench

UNESCO Thesaurus managed in VocBench

VocBench is SKOS-XL from the bottom up and stores the thesaurus data in an RDF triplestore. We chose to deploy GraphDB from Ontotext as the backend for VocBench. VocBench offers user profile management and edition workflow management, multilingual thesaurus editing, and the possibility to add custom attributes to the thesaurus concepts and terms. We used this to capture corresponding country codes and language codes for certain concepts in the UNESCO thesaurus with a small UNESCO vocabulary publishing ontology describing these 2 properties.

The deployment in production of Vocbench is fairly complex, essentially due to the middleware component on which it relies, called SemanticTurkey; VocBench requires a total of 4 pieces of software (relationnal database, RDF triplestore, SemanticTurkey server, VocBench application server). But, once you are familiar with the procedure, and again with the precious help of the community on th mailing-list, everything works fine. Another limitation of VocBench v2 is that it does not support SKOS Collections, only ConceptSchemes.

Ms Ewketu explains the benefits of VocBench : « Apart from the obvious functionalities of collaborative and distributed maintenance, other important aspects for us were the ability to manage several vocabularies and the ability to make alignments with other thesauri. Being able to document changes through history notes is something very interesting, which I am sure we will exploit in the future. This is quite interesting for researchers who study the evolution of terminology, within an organization.« 

« leverage the thesaurus to achieve interoperability« 

The project clearly is a success story for Semantic Web technologies : with URIs, RDF and SKOS as W3C standards, the UNESCO has achieved its mission of transforming its thesaurus into open, reusable data. The thesaurus is now available for browsing by humans and in machine-readable formats. URIs makes it open for linking from/to other knowledge organization systems on the web, thus enabling interoperability between document databases of multiple organizations.

The project is also a great success story for Open Source; the support from the community and the maintainers of both Skosmos and VocBench was essential for such a quality achievement, and Sparna and UNESCO contributed to both communities by providing translations, filing bug reports and testing new versions. It shows how these tools have enabled the UNESCO to replace an entire thesaurus management platform with no licensing cost, no vendor or data lock-in.

« The main benefit of this project for us will be to leverage the thesaurus to achieve interoperability between our different repositories, as well as with external datasets. » concludes Ms Ewketu from UNESCO. « We are currently working on integrating the new thesaurus within the various information systems. Next phase will be mapping our thesaurus with vocabularies such as the UN Thesaurus and Eurovoc. »


Want to learn more ? reach me at thomas /dot/ francart /at/ sparna /dot/ fr.

Cet article UNESCO Thesaurus published with Semantic Web standards and Open-Source software est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2017/02/06/unesco-thesaurus-published-with-semantic-web-standards-and-open-source-software/feed/ 7
Créer des référentiels SKOS/RDF à partir d’Excel http://blog.sparna.fr/2017/01/12/creer-des-referentiels-skosrdf-a-partir-dexcel/ http://blog.sparna.fr/2017/01/12/creer-des-referentiels-skosrdf-a-partir-dexcel/#comments Thu, 12 Jan 2017 14:55:12 +0000 http://blog.sparna.fr/?p=1084 Les projets de « moteurs de recherche sémantiques », ou de « d’accès intelligent à l’information » nécessitent de mettre au point, reprendre et maintenir des référentiels d’autorités : concepts d’indexation, liste de personnes, organisations, lieux, etc. Ces référentiels d’autorité forment l’embryon d’un Knowledge Graph de l’organisation. RDF et/ou SKOS sont de bonnes technologies pour implémenter ce Knowledge Graph…

Cet article Créer des référentiels SKOS/RDF à partir d’Excel est apparu en premier sur Sparna Blog.

]]>
Les projets de « moteurs de recherche sémantiques », ou de « d’accès intelligent à l’information » nécessitent de mettre au point, reprendre et maintenir des référentiels d’autorités : concepts d’indexation, liste de personnes, organisations, lieux, etc. Ces référentiels d’autorité forment l’embryon d’un Knowledge Graph de l’organisation. RDF et/ou SKOS sont de bonnes technologies pour implémenter ce Knowledge Graph de par leur structure en graphe, leur absence de modèle contraint et la possibilité de récupérer des données liées sur le web pour enrichir la connaissance interne. La maintenance et le travail sur ce graphe de connaissance peut nécessiter des outils professionnels et commerciaux; mais ils ne sont pas toujours justifiés et les projets simples et les approches pragmatiques feraient mieux de favoriser l’outil le plus simple pour commencer à créer un Knowledge Graph : Excel.

Ce besoin de génération de données RDF à partir de tableaux éditables par tous, sans courbe d’apprentissage, est récurrent. C’est pourquoi SKOS Play vient d’être enrichi avec un nouveau convertisseur de tableaux Excel vers SKOS / RDF. On créé un fichier Excel, on le structure en respectant quelques règles, on le soumet au convertisseur, et celui-ci nous renvoie un fichier RDF/SKOS. Le convertisseur contient quelques règles prédéfinies pour générer du SKOS mais permet très facilement de générer du RDF utilisant n’importe quel vocabulaire (schema.org, SHACL, etc.).

Ce convertisseur en ligne ne demande rien à télécharger, rien à installer, pas de login à créer, n’a pas de limitations, et est entièrement documenté. Il permet sans aucune courbe d’apprentissage de créer des données RDF/SKOS, par des documentalistes ou professionnels de l’information sans formation sur ces notions. Ce développement a été en partie financé par le gouvernement Luxembourgeois dans le cadre du développement de la nouvelle version du portail de recherche Legilux sur la législation luxembourgeoise, qui s’appuie sur un certain nombre de référentiels contrôlés (testez l’autocompletion du champ de recherche pour vous en rendre compte).

Format des fichiers Excel

Le formulaire de conversion inclut un certain nombre de fichiers Excel d’exemples que vous pouvez télécharger pour les adapter à vos propres données, pour respecter le format de tableau attendu par le convertisseur (reportez-vous à la documentation en ligne). Ce format est très simple :

  • quelques informations d’entête dans les premières lignes (URI du ConceptScheme / graphe nommé, métadonnées descriptives du référentiel, déclaration des préfixes, etc.);
  • une ligne déclarant les propriétés RDF correspondant à chaque colonne;
  • puis ensuite une ligne par entrée, avec son URI dans la première colonne puis les valeurs de chaque propriétés dans les colonnes suivante;

Ce qui donne :

screenshot_excel_convert

Génération de données RDF

Le convertisseur supporte tout le modèle SKOS, y compris les skos:Collection, skos:OrderedCollection, le SKOS-XL, etc. avec toutes les facilités de saisie correspondantes (possibilité d’inverser le sens des propriétés, de barrer certaines cellules pour qu’elles ne soient pas converties, etc.). Et pour ceux qui veulent aller plus loin, le convertisseur supporte toutes les constructions RDF avancées :

  • déclaration de préfixes;
  • littéraux avec langues ou datatypes;
  • noeuds anonymes;
  • listes RDF;
  • graphes nommés;

Le convertisseur a été éprouvé dans plusieurs projets en production pour la génération de référentiels d’autorité (personnes, organisations, status, etc.), de concepts SKOS enrichis avec des métadonnées d’autres vocabulaires, et de configuration de Shapes en SHACL.

Intégration avec Google Spreadsheet

Excel c’est bien. Excel collaboratif c’est mieux. C’est pourquoi le convertisseur s’intègre directement avec Google Spreadsheets. Le résultat ? on peut éditer ses tableaux à plusieurs en même temps dans un document en ligne Google, puis se connecter dans le convertisseur avec son login Google, choisir le fichier dans la liste des fichiers de notre Drive, et convertir ce fichier à la volée.

Le web sémantique n’a pas besoin d’être compliqué.

Crédit photo : By Piet Mondrian – Gemeentemuseum Den Haag,  Public Domain, https://commons.wikimedia.org/w/index.php?curid=37614350

Cet article Créer des référentiels SKOS/RDF à partir d’Excel est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2017/01/12/creer-des-referentiels-skosrdf-a-partir-dexcel/feed/ 0
SHACL (RDF Shapes Constraint Language) : enfin la possibilité de valider des données RDF http://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/ http://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/#comments Mon, 02 Jan 2017 12:27:45 +0000 http://blog.sparna.fr/?p=1065 La vie des standards est parfois un peu difficile à comprendre, et c’est particulièrement vrai pour ce qui concerne le web de données. Pourquoi en effet existe-t-il depuis 2004 un standard – OWL – permettant de faire des raisonnements automatiques sur des données, ce dont on a rarement besoin, alors qu’il n’existe aucun standard W3C…

Cet article SHACL (RDF Shapes Constraint Language) : enfin la possibilité de valider des données RDF est apparu en premier sur Sparna Blog.

]]>
La vie des standards est parfois un peu difficile à comprendre, et c’est particulièrement vrai pour ce qui concerne le web de données. Pourquoi en effet existe-t-il depuis 2004 un standard – OWL – permettant de faire des raisonnements automatiques sur des données, ce dont on a rarement besoin, alors qu’il n’existe aucun standard W3C pour vérifier si des données sont conformes, ce dont on a toujours besoin ? la réponse est sans doute dans les besoins et les problématiques des participants au W3C à l’époque, et dans la vision d’un web « sémantique » qui penchait plus vers un idéal d’Intelligence Artificielle que vers un idéal de Données Liées. Seulement on a vite compris que pour faire du raisonnement il faut avoir des données correctes.

Une nouvelle recommandation W3C prévue pour juin 2017, SHACL (SHapes Constraint Language), va remédier à ce manque en permettant d’exprimer des contraintes de vérification sur un graphe RDF.

Le problème avec OWL

Je participe à beaucoup de projets qui impliquent des transformations et des publications de données RDF ou SKOS sur le web. Et c’est bel et bien d’abord des problématiques de validation et de vérification de données que nous avons, et pratiquement jamais des besoins de raisonnements. Or une ontologie n’est pas faite pour vérifier la conformité des données à une spécification, ni faite pour décrire la structure d’un formulaire de saisie de données répondant à ces spécifications.

Ce que nous faisons donc systématiquement est donc de quand même créer une ontologie, mais de « tordre » l’interprétation de cette ontologie en l’utilisant pour vérifier des contraintes. Par exemple le fait d’exprimer que la propriété « a_pour_auteur » a pour « domaine » la classe « Document » en OWL/RDFS veut dire « si X porte la propriété a_pour_auteur, alors c’est un Document », et certainement pas « la propriété a_pour_auteur ne devrait être exprimée que sur des Document »; mais c’est pourtant comme cela que l’ontologie créée est utilisée dans ce contexte (en dérivant par exemple des règles de vérification SPARQL à partir des axiomes OWL).

SHACL

SHACL permettra de spécifier la « forme » (Shape) à laquelle on souhaite qu’un graphe RDF réponde. Cette spécification s’exprime par exemple comme cela (Attention, cet exemple est extrait de la version temporaire de SHACL au 02/01/2017 et peut changer dans la recommendation finale) :

ex:PersonShape
	a sh:Shape ;
        # Applies to all persons
	sh:targetClass ex:Person ;
	sh:property [
                # Constrains the values of the ex:ssn property
		sh:predicate ex:ssn ;     
		sh:maxCount 1 ;
		sh:datatype xsd:string ;
		sh:pattern "^\\d{3}-\\d{2}-\\d{4}$" ;
	] ;
	sh:property [
		sh:predicate ex:child ;
		sh:class ex:Person ;
		sh:nodeKind sh:IRI ;
	] ;
	sh:property [
		rdfs:comment "A person's parents are represented via ex:child used in the inverse direction." ;
		sh:path [ sh:inversePath ex:child ] ;
		sh:name "parent" ;
		sh:maxCount 2 ;
	] .


Comment décoder cet exemple ? « Sur les ex:Person, il faut que la propriété ex:ssn (numéro de sécu) soit présente au maximum une fois, et qu’elle soit une chaine de caractère qui réponde à une certaine expression régulière. Il faut également que la propriété ex:child soit une référence à des IRI/URI qui soit une autre ex:Person. Il faut également qu’une ex:Person soit référencée au maximum 2 fois par ex:child ». Et ainsi de suite.

La version publique de SHACL est publiée à https://www.w3.org/TR/shacl/ mais je vous recommande d’ici juin de vous référer au document en cours d’écriture à https://w3c.github.io/data-shapes/shacl/.

Validateurs SHACL

De la même façon que des ontologies OWL peuvent être interprétées par des raisonneurs OWL, les contraintes SHACL seront vérifiées par des vérificateurs SHACL. L’implémentation la plus avancée est sans doute celle de TopQuadrant (les éditeurs principaux de la recommendations SHACL) qui a publié en open-source l’implémentation de SHACL utilisé dans TopBraid.

Europeana a également annoncé un ensemble de règles SHACL pour vérifier les données EDM (Europeana Data Model), ainsi qu’une implémentation d’un validateur SHACL.

Il faut également noter que, si SHACL permet de valider des données a posteriori, la recommandation inclut également ce qu’il faut pour utiliser les règles pour créer des formulaires de saisie (ordre des propriétés, libellés/regroupement des zones, etc.), ce qui permettra donc de spécifier la structure de formulaires de données sémantiques.

Une technologie importante pour la publication et l’intégration de données

SHACL va modifier profondément la façon dont on mène les projets web de données. Plutôt que de définir une ontologie forcément un peu bancale ou limitée (car pas utilisée pour son objectif principal qui est de donner un point de vue sur des données), on commencera par définir un jeu de contraintes SHACL que l’on souhaite vérifier sur les données. Tous les projets d’échange et d’intégration de données vont pouvoir tirer parti de cette nouvelle brique.

Cela assainira également le discours autour du web de données : il ne sera plus obligatoire de passer par une étape où l’on doit expliquer ce qu’est une ontologie ! Bref, je vois SHACL comme un composant important dans l’ensemble d’outils dont nous disposons pour partager et lier des données de qualité sur le web. Et vous, pensez-vous que SHACL vous sera utile ?

Illustration de l’article : By Deutsche Fotothek, Public Domain, https://commons.wikimedia.org/w/index.php?curid=6483869

Cet article SHACL (RDF Shapes Constraint Language) : enfin la possibilité de valider des données RDF est apparu en premier sur Sparna Blog.

]]>
http://blog.sparna.fr/2017/01/02/shacl-rdf-shapes-constraint-language-enfin-la-possibilite-de-valider-des-donnees-rdf/feed/ 10