Linked Data et données géospatiales

Linked Data et données géospatiales

Le Linked Data et le Web sémantique

Le Web sémantique est un concept que l’on doit à l’inventeur du World Wide Web (W3), Tim Berners-Lee. Il est mis en œuvre par le World Wide Web Consortium (W3C)2. Bien que les premières recommandations concernant le Web sémantique remontent à la fin des années 1990, c’est un article paru en 2001 dans le Scientific American qui pose véritablement les bases du concept (Berners-Lee et al. 2001). Cette référence est très souvent relatée comme étant le point de départ de la diffusion de l’idée d’un ajout de sémantique au ressources du web (Campbell et MacNeill 2010 ; Verborgh 2014), notamment grâce à la définition suivante : « The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation. » (Berners-Lee et al. 2001).
En complément au Web des documents, le Web sémantique a ainsi pour but de construire un ensemble de technologies soutenant le Web des données (« Web of data », largement plus connu sous le nom de « Linked Data »), c’est-à-dire constitué de données telles que dates, titres, numéros, propriétés diverses, etc. La différence entre Web des documents et Web des données peut être expliquée par l’analogie suivante : le Web actuel est une plateforme pour la distribution de présentations, tandis que le Web sémantique est une plateforme pour la distribution de connaissances (Tauberer 2006). Les connaissances disponibles sur le Web sous forme de documents sont en effet inaccessibles pour les ordinateurs. Par exemple, une page Wikipedia peut contenir une grande quantité d’information pour un lecteur humain, tandis que le contenu réel, c’est-à-dire la connaissance devant être transmise par les fichiers, ne signifie rien pour un ordinateur (Tauberer 2006).
Une définition très simple du Linked Data est donnée dans autre un article très largement cité par les utilisateurs de cette technologie : « In summary, Linked Data is simply about using the Web to create typed links between data from different sources » (Bizer et al. 2009).
Concrètement, le terme de Linked Data renvoie à un ensemble de recommandations et de pratiques exemplaires pour la publication et la connexion entre elles de données structurées sur le Web en utilisant les standards définis par le W3C (Wood et al. 2014), l’idée générale étant de sortir de la logique des silos de données cloisonnées. L’ensemble des informations publiées sous cette forme constitue le Web sémantique ou le Web des données, soit un espace global de données (Bauer & Kaltenböck 2011 ; Heath & Bizer 2011 ; Roda et al. 2013).
Tim Berners -Lee (2006) a proposé un ensemble de quatre règles fondamentales pour la publication de données sur le Web, de façon à ce que toutes les données publiées deviennent des éléments d’un unique espace de données global (Berners-Lee 2006 ; Bizer et al. 2009). Ces principes sont les suivants :
1. Utiliser des URIs pour nommer les ressources;
2. Utiliser des URIs http afin que l’on puisse rechercher et accéder à ces ressources ;
3. Lorsqu’une URI est consultée, elle doit fournir une description de la ressource en utilisant les standards RDF et SPARQL (voir 2.3) ;
4. Inclure des liens vers d’autres URIs, de manière à ce que de nouvelles ressources puissent être découvertes et consultées.

Le Linked Open Data et le « 5 Star Open Data »

L’ensemble des données publiées et librement accessibles sur le Web est couramment nommé Linked Open Data (LOD), ce concept associant le concept de Linked Data à une publication des données en «Open License ». La quantité de données librement accessibles via le Web a connu un important essor dans la dernière décennie3.
En 2010, Tim Berners-Lee a proposé un système d’évaluation à cinq étoiles de la qualité des LOD (5 star Open Data : http://5stardata.info/en/):
Disponible sur le Web sous n’importe quel format avec une licence Open Data ;
Disponible sous forme de données structurées exploitable par une machine (par exemple au format Excel plutôt qu’un tableau en format PDF) ;
Comme le point précédent, mais en utilisant un format non-propriétaire (par exemple CSV à la place d’Excel) ;
Tous les points précédents, en utilisant les standards du W3C (RDF et SPARQL) pour identifier les objets ;
Tous les points précédents, en ajoutant des liens vers des données extérieures afin de fournir un contexte à ses propres données.

Réaliser le Web sémantique : RDF, vocabulaire, ontologies et syntaxes

Le standard RDF

La publication de données sur le Web sous forme de Linked Data, impliquant une interconnexion avec d’autres sources de données, repose sur l’utilisation d’un modèle de données de type graphe, utilisant comme format le standard RDF (Resource Description Framework : http://www.w3.org/RDF/ ) du W3C (W3C 1999 ; Shadbolt et al. 2006). Le standard RDF modélise les données sous la forme de triplets regroupant trois types d’objets (W3C 1999) :
-des ressources, ou sujet, que l’on veut décrire. Il peut s’agir d’une page web entière, d’une partie d’une page web ou, à l’inverse, d’un site Web entier. Une ressource peut également être un objet n’étant pas directement accessible via le Web, comme par exemple un livre imprimé. Les ressources sont toujours nommées par des URI (Uniform Resource Identifier : http://www.w3.org/wiki/URI), dont l’extensibilité permet l’introduction d’identifiants pour n’importe quelle entité imaginable ;
-des propriétés, ou prédicats, soit une caractéristique, un attribut ou une relation utilisée pour décrire une ressource ;
-des déclarations. Une ressource spécifique et une propriété nommée plus la valeur de cette propriété constituent une déclaration RDF (« RDF statement »). Les trois parties d’une déclaration sont communément nommées respectivement le sujet, le prédicat et l’objet.
Le modèle RDF est un modèle de graphe, constitué d’un ensemble de nœuds et d’arcs reliant des paires de nœuds. Un graphe est composé d’un ensemble de triplets RDF, chaque triplet étant constitué d’un nœud de type sujet (le nœud de départ, soit la ressource), d’un prédicat, qui correspond à une propriété de la ressource décrite et établit une relation avec un autre nœud, et d’un nœud de type objet, qui correspond à la valeur de la propriété et constitue le nœud d’arrivée.
A titre d’exemple simple, le graphe de données de la fig. 1 décrit un T-shirt de couleur blanche :
Fig. 1. Exemple simple de graphe de données. Source : http://www.linkeddatatools.com/introducing-rdf
Dans cet exemple, le sujet est le T-shirt, le prédicat ou propriété est la couleur et l’objet (ou valeur) de la propriété couleur est Blanc.
L’objet d’une déclaration RDF (c’est-à-dire la valeur de la propriété d’une ressource) peut être lui-même soit une autre URI, soit une valeur constante que l’on appelle un « littéral » et pouvant par exemple être constitué d’une chaîne de caractères. Graphiquement, on représente les sujets ou objets qui sont des URI entourés d’un ovale, les objets de type « littéral » entourés d’un rectangle, tandis que les prédicats sont simplement représentés par l’URI correspondante (voir fig. 2).
Le graphe d’exemple de la fig. 2 représente le groupe de déclarations suivant : « Il y a une ressource identifiée par l’URI http://ua.unige.ch/fr/personne/sylvainozainne/ qui permet d’identifier une personne dont le nom est Sylvain Ozainne, dont l’adresse e-mail est sylvain.ozainne@unige.ch et dont le titre est Dr. ». Ce graphe est donc composé de quatre triplets ayant tous comme sujet une seule et même URI.
Fig. 2. Exemple de représentation de graphe RDF
Sans lui appliquer de syntaxe précise, la description complète du graphe de la fig. 2 sous forme de triplets s’écrit de la façon suivante :
<http://ua.unige.ch/fr/personne/sylvainozainne/> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>
<http://ua.unige.ch/fr/personne/sylvainozainne/> <http://xmlns.com/foaf/0.1/name> « Sylvain Ozainne »
<http://ua.unige.ch/fr/personne/sylvainozainne/> <http://xmlns.com/foaf/0.1/mailbox> <mailto:sylvain.ozainne@unige.ch>
<http://ua.unige.ch/fr/personne/sylvainozainne/> <http://xmlns.com/foaf/0.1/title> « Dr. »
Les données RDF peuvent aussi être exprimées sous forme de « N-Quads » (http://www.w3.org/TR/n-quads/). Comme les triplets, les quads sont composés de trois termes représentant un sujet, un prédicat et un objet, ainsi que du nom du graphe auquel ils appartiennent.

Vocabulaires et ontologies

Pour décrire les différentes propriétés de la ressource, le graphe de la fig. 2 fait appel à deux vocabulaires différents. Pour décrire la première propriété de la ressource, c’est-à-dire son type, le graphe utilise notamment le vocabulaire de modélisation des données propre au RDF (http://www.w3.org/1999/02/22-rdf-syntax-ns#). Le vocabulaire RDF regroupe plusieurs prédicats et classes, notamment le prédicat http://www.w3.org/1999/02/22-rdf-syntax-ns#type (abrégé rdf:type ou encore plus simplement a ; voir l’utilisation des préfixes infra). Incontournable et très largement utilisé, il permet d’établir qu’une ressource est une instance d’une certaine classe (voir exemple fig. 1).Le RDF Schema (RDFS 1.1. : http://www.w3.org/TR/rdf-schema/) est une extension du RDF permettant de décrire plus précisément des taxonomies de classes et de propriétés et ainsi de définir une hiérarchie des ressources. Dans le graphe exemple de la fig. 2, les propriétés désignant le nom, l’adresse mail et le titre associés à la ressource font appel à l’ontologie FOAF (Friend of a Friend : http://www.foaf-project.org/), également largement usitée et dont le vocabulaire est spécifié à l’URL http://xmlns.com/foaf/spec/.
C’est l’utilisation de vocabulaires et d’ontologies qui permet d’appliquer une dimension sémantique aux graphes. L’ajout d’une sémantique permet alors de connecter les données automatiquement à travers plusieurs domaines de connaissances différents mais dont certaines informations pourraient être partagées. La fig. 3 illustre deux bases de données conçues indépendamment l’une de l’autre mais dont certains champs pourraient être mis en commun. La base des Oscars ne permet par exemple que d’accéder au nom et à la date de naissance des acteurs récompensés, alors que des informations beaucoup plus détaillées sur les mêmes personnes sont disponibles dans la base des biographies d’acteurs.
Fig.3. Exemple de bases de données indépendantes dont certaines données pourraient être partagées. Source : http://www.linkeddatatools.com/semantic-modeling
Faire correspondre les informations entre ces bases de données conçues de façon indépendantes nécessiterait un certain investissement en temps et en moyens humains et financiers. Une fois réalisé, l’échange de données se limiterait en outre à ces deux bases de données et ne permettrait pas directement d’autre ajout d’informations extérieures. L’intervention humaine demeure dans ce cas de figure indispensable pour comprendre la signification des données et pour définir un format commun permettant aux deux bases de collaborer (http://www.linkeddatatools.com/semantic-modeling). L’utilisation du standard RDF et d’une modélisation sémantique constituent une solution plus simple. Le recours à un vocabulaire (soit une collection de termes possédant une signification bien définie et cohérente d’un contexte à l’autre) et une ontologie (qui permet de définir des relations contextuelles pour un vocabulaire défini) consistent les fondements de la définition d’un domaine commun. En reprenant le même exemple des Oscars, il faudrait que les deux sites adoptent un vocabulaire standard dont chaque terme à la même signification dans les deux ensembles de données et donc utilisent la même ontologie de base (ou un vocabulaire commun) pour exprimer la signification des données qu’ils mettent à disposition (fig. 4).
Fig. 4. Même exemple que la fig. 3 mais avec une modélisation sémantique. L’utilisation d’un vocabulaire commun permet aux deux sites de s’interroger mutuellement en utilisant les mêmes termes. Source : http://www.linkeddatatools.com/semantic-modeling
Le Web Ontology Language (OWL : http://www.w3.org/2001/sw/wiki/OWL), une autre extension aux vocabulaires RDF et RDFS, est une syntaxe formelle permettant d’écrire des ontologies web.
De nombreux vocabulaires standards ou ontologies formelles réunissant des termes généraux ou associés à des domaines de connaissances spécifiques sont mis à disposition par diverses organisations. Les ontologies Dublin Core Metadata Initiative (http://dublincore.org/), Friend Of A Friend (http://xmlns.com/foaf/spec/), Simple Knowledge Organization System (skos : http://www.w3.org/2004/02/skos/) ou encore OpenCyc (http://www.opencyc.org/), largement utilisées, permettent de décrire des entités et des relations générales (personnes, adresses, etc.). Les ontologies SWEET (Semantic Web for Earth and Environmental Terminology : https://sweet.jpl.nasa.gov/) proposées par la NASA rassemblent 6000 concepts liés à l’environnement et constituent un bon exemple d’ontologie plus spécifique. S’il est souvent nécessaire d’écrire une nouvelle ontologie pour publier un jeu de données, il est important de vérifier d’abord si les termes que l’on désire utiliser n’existent pas déjà, puis de choisir le vocabulaire le mieux adapté et si possible le plus usité, par exemple en effectuant une recherche sur le site LOV (Linked Open Vocabularies : http://lov.okfn.org/dataset/lov).
Le RDF Data Cube Vocabulary (https://dvcs.w3.org/hg/gld/raw-file/default/data-cube/index.html) est quant à lui conçu pour publier des données à dimensions multiples, essentiellement des statistiques, et son modèle est compatible avec le standard SDMX (https://sdmx.org/?page_id=5008), prévu pour faciliter l’échange de données statistiques et de métadonnées. Il comprend notamment un concept de « tranches » (slices), qui permet de regrouper des sous-ensembles à l’intérieur d’un jeu de données.

 Syntaxes et préfixes

Un graphe RDF peut être écrit à l’aide de plusieurs syntaxes, notamment le RDF/XML (http://www.w3.org/TR/rdf-syntax-grammar/), qui est une recommandation du W3C et permet d’exprimer un ensemble de triplets en utilisant le langage XML (voir aussi http://www.w3schools.com/xml/xml_rdf.asp).
Le graphe de la fig. 2 s’écrit en syntaxe RDF/XML de la façon suivante4 :
<?xml version= »1.0″ encoding= »utf-8″ ?>
<rdf:RDF xmlns:rdf= »http://www.w3.org/1999/02/22-rdf-syntax-ns# » xmlns:foaf= »http://xmlns.com/foaf/0.1/ »>
<foaf:Person rdf:about= »http://ua.unige.ch/fr/personne/sylvainozainne/ »> <foaf:name>Sylvain Ozainne</foaf:name> <foaf:title>Dr.</foaf:title>
<foaf:mailbox rdf:resource= »mailto:sylvain.ozainne@unige.ch »/> </foaf:Person>
</rdf:RDF>
Il existe d’autres syntaxes RDF recommandées par le W3C, comme Notation3 (N3 : http://www.w3.org/TeamSubmission/n3/) ou la syntaxe Turtle (http://www.w3.org/TR/turtle/), plus légère que le RDF/XML et très largement utilisée Il existe également une syntaxe JSON-LD (http://json-ld.org/) , utilisant le format JSON.
A titre d’exemple, le graphe de la fig. 2 s’écrit en syntaxe Turtle de la façon suivante :
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
<http://ua.unige.ch/fr/personne/sylvainozainne/> foaf:name « Sylvain Ozainne » ;
a foaf:Person ;
foaf:title « Dr. » ;
foaf:mailbox <mailto:sylvain.ozainne@unige.ch> .
Les syntaxes utilisent le concept de préfixe, qui permet d’abréger des URIs longues et répétitives en déclarant un nom court. Dans l’exemple de la figure 2, plusieurs prédicats de l’ontologie foaf sont utilisés et la déclaration, en syntaxe Turtle, d’un préfixe @prefix foaf: <http://xmlns.com/foaf/0.1/> au début du document permet de simplifier le graphe RDF, puisqu’il suffira par exemple d’écrire le prédicat <http://xmlns.com/foaf/0.1/name> simplement sous la forme foaf :name. On peut attribuer n’importe quel nom à un préfixe, mais les ontologies les plus courantes sont le plus souvent abrégées de la même façon, comme par exemple rdfs pour le RDF Schema ou dc pour les termes du Dublin Core Metadata Initiative. Il n’y a toutefois pas de véritable standardisation et il convient par exemple de se méfier de l’emploi du préfixe geo, qui peut être utilisé pour renvoyer à des termes d’ontologies bien distinctes. Un outil très utile pour vérifier quelle sont les utilisations de divers préfixes est disponible à l’URL http://prefix.cc/.
Il existe aussi plusieurs outils permettant de valider les graphes RDF que l’on produit, par exemple :
http://validator.linkeddata.org/vapour
http://graphite.ecs.soton.ac.uk/checker/
http://oops.linkeddata.es/

Publier des données RDF interrogeables : triplestores et endpoints

Une façon efficace de publier des données sous forme de Linked Data est de les charger dans un entrepôt RDF, souvent nommés RDF stores, repositories ou triplestores. Les applications Web d’entrepôt RDF font majoritairement appel aux technologies de Sesame, Apache Jena ou Virtuoso. Le chargement de données RDF dans des entrepôts peut aussi permettre l’inférence de nouveaux triplets à partir de ceux existants. Une fois les données publiées dans un entrepôt, elles doivent idéalement être accessibles par un endpoint SPARQL (voir 2.3.5), soit une interface web permettant d’interroger les données RDF du triplestore. Une liste de endpoints SPARQL publiquement accessibles est disponible sur le wiki du W3C : http://www.w3.org/wiki/SparqlEndpoints.
A titre d’exemple, il est possible d’interroger, via un endpoint SPARQL, les métadonnées de la plateforme française ISIDORE (http://www.rechercheisidore.fr/sqe/) qui offre accès à des données sur la recherche en sciences humaines et sociales. Il est également possible d’accéder via un endpoint SPARQL aux données de LinkedGeoData (http://linkedgeodata.org/sparql), qui est une version en Linked Data des données d’Open Street Maps. Les ressources de DBpedia (http://dbpedia.org/sparql), une transcription en Linked Data des entrées de l’encyclopédie Wikipédia, sont également interrogeables par le même biais.
Ces exemples sont des endpoints spécifiques, c’est- à-dire qu’ils ont destinés à interroger un jeu de données précis, mais on peut aussi avoir recours à des endpoints génériques. Par exemple, le General purpose processor de SPARQler (http://sparql.org/sparql.html) permet d’interroger n’importe quel jeu de données en précisant le nom du graphe que l’on veut explorer.

Interroger les données RDF : le langage SPARQL

Le langage de requête SPARQL (SPARQL Protocol and RDF Query Language : http://www.w3.org/TR/sparql11-query/) est le pendant Linked Data du SQL destiné à interroger les données structurées en format RDF. La version 1.0 est devenue un standard du W3C en 2008, tandis que la version 1.1., intégrant d’importantes fonctionnalités supplémentaires, est devenue un standard en 2013. Il permet d’explorer un jeu de données en interrogeant des relations inconnues mais aussi d’ajouter, de modifier ou de supprimer des données. SPARQL permet aussi de construire de nouveaux graphes en utilisant des requêtes CONSTRUCT. Un excellent tutoriel est disponible à l’URL http://www.cambridgesemantics.com/semantic-university/sparql-by-example.
Une requête SPARQL se compose des principaux éléments suivants :
-Une déclaration des préfixes utilisés (clause PREFIX) ;
-Une clause de résultat, qui précise quelles données doivent être renvoyées par la requête (clause SELECT) ;
-La définition du jeu de données à interroger (clause FROM) ;
-Le schéma de requête (« Query pattern »), qui précise quels sont les éléments d’un graphe que l’on veut interroger (clause WHERE) ;
-Des modificateurs de requête, permettant d’ordonner ou de filtrer les résultats (par exemple ORDER BY, FILTER,…)
L’exemple de requête suivant renvoie les pages web de toutes les personnes que connaît Tim Berners-Lee, à partir du graphe-cible http://dig.csail.mit.edu/2008/webdav/timbl/foaf.rdf (fig. 5.):

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport gratuit propose le téléchargement des modèles gratuits de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie ?avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1. Problématique et objectifs
1.1. Introduction et problématique générale
1.2. Objectifs du stage
2. Linked Data et données géospatiales
2.1 Le Linked Data et le Web sémantique
2.2. Le Linked Open Data et le « 5 Star Open Data »
2.3. Réaliser le Web sémantique : RDF, vocabulaire, ontologies et syntaxes
2.3.1. Le standard RDF
2.3.2. Vocabulaires et ontologies
2.3.3. Syntaxes et préfixes
2.3.4. Publier des données RDF interrogeables : triplestores et endpoints
2.3.5. Interroger les données RDF : le langage SPARQL
2.4. Données géospatiales et Linked Data
2.4.1. Généralités
2.4.2. Standards et modèles de données
2.4.3. Le langage GeoSPARQL
2.4.4. Linked Data et données au format raster
2.4.5. Exemples d’applications géospatiales du Linked Data
3. Workflow pour la préparation et la publication d’un jeu de données du PREVIEW au format Linked Data
3.1. Introduction
3.2. Données
3.2.1. PREVIEW
3.2.2. EM-DAT
3.2.3. DBpedia
3.3. Choix des outils et des technologies
3.4. Préparation des données
3.4.1. Simplification des données du PREVIEW
3.4.2. Enregistrement du shapefile de cyclones PREVIEW au format WKT
3.4.3. Aménagement du fichier PREVIEW enregistré en CSV
3.4.4. Préparation des données de l’EM-DAT
3.5. Préparation du graphe RDF des données du PREVIEW
3.5.1. Modélisation des données au format RDF
3.5.2. Choix du vocabulaire
3.5.3. Ecriture du graphe RDF des données PREVIEW
3.6. Préparation du graphe RDF des données EM-DAT
3.6.1. Modélisation et choix des vocabulaires
3.6.2. Ecriture du graphe RDF des données EM-DAT
3.7. Etablissement des liens entre les graphes PREVIEW et EM-DAT
3.8. Préparation d’un graphe PREVIEW lié complet
3.9. Chargement des graphes PREVIEW et EM-DAT sur Parliament
4. Démonstrateur
4.1. Site web
4.2. Applications de visualisation du site web
4.2.1. Tableaux de bord
4.2.2. Formulaire SPARQL
4.2.3. Exemples de requêtes sur des données spatiales
4.4. Interrogation des données avec le package R SPARQL
5. Bilan et perspectives
5.1 Avantages et potentiel du Linked Data
5.2 Principaux inconvénients
5.3 Conclusion et perspectives de développement
Remerciements
Références
Annexes : code du démonstrateur web
A. Index
B. Dashboard PREVIEW
C. Dashboard EM-DAT
D. Formulaire SPARQL
E. Exemples de requêtes .

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *