2. Nom du speaker : Julien Plu
Titre du speaker : Étudiant
Société : université Montpellier 2
Le Web sémantique ?!!
Kézako ?!!
3. Qu’est-ce que le Web sémantique ?
Des documents aux données
Les URI et RDF
Identifier les ressources et définir des déclarations à
propos de ces ressources
Les ontologies avec RDFS/OWL
Sémantique partagée pour améliorer l’interopérabilité
entre les applications
Requêter les données avec SPARQL
Pour faire usage des ces données et créer des applications
Plan 1
4. Convertir sa BDD relationnelle en RDF
Publier sa BDD relationnelle sur le Web de données
Interconnexion
Comment connecter ses données avec d’autres jeux de
données ?
Démo
Exemple de publication d’une BDD relationnelle
Plan 2
5.
6. Actuellement il n’est pas possible de répondre à ce genre de
requête :
Je veux tous les messages de blog postés par des
personnes qui connaissent Julien Plu et qui ont été postés
le jour de son anniversaire
Je veux connaître la date de création de l’entreprise où
Julien Plu à fait son dernier stage
Quelle est la date d’anniversaire de la sœur du meilleur
ami de Julien Plu
Actuellement
7. Web de documents
C’est le Web actuel
Web de données
C’est la même chose mais entre les données
Global Giant Graph
C’est le graphe formé par les données :
http://richard.cyganiak.de/2007/10/lod/
Open data
Ce sont toutes les données qui sont publiées de manière libre :
http://lab.linkeddata.deri.ie/2010/star-scheme-by-example/
Web sémantique
C’est le Web de donnée auquel on rajoute du raisonnement
Du Web actuel au Web sémantique
8. Une Uniform Resource Identifier (URI) est utilisé pour tout
identifier d’une manière unique et non ambiguë
Pas seulement les pages (comme c’est le cas actuellement)
mais n’importe quoi (personne, documents, livres,
intérêts,…)
Une URI pour une personne est différente d’une URI pour
un document car une personne n’est pas un document
Exemple :
http://jplu.developpez.com/julien - moi
http://jplu.developpez.com – ma page d’accueil
Les URI
9. Une URI pour des ressources, une URI pour des documents
A la différence que les documents sont fait pour les gens et non pour
les machines
Négociation de contenu
Fournit un moyen, pour une ressource de se rediriger vers le
document décrivant cette ressource
Dépend de qui demande la ressource (un humain ou une machine)
Exemple :
http://dbpedia.org/resource/Sète - demande la ressource appropriée
http://dbpedia.org/page/Sète - force la version lisible pour un
humain (HTML)
http://dbpedia.org/data/Sète - force la version lisible pour un
ordinateur (RDF)
Négociation de contenu
10. Une URI représente une ressource
Mais comment définir des choses sur ces ressources ?
RDF – Ressource Description Framework
RDF est un model représentant un graphe
Il peut se sérialiser dans différents format : RDF/XML,
N3/Turtle, RDFa, etc…
RDF est basé sur un principe de triplets
<sujet> <prédicat> <objet>
RDF
11.
12. RDF/XML
Le plus utilisé mais aussi le plus complexe
http://dbpedia.org/data/Sète
N3/Turtle
Beaucoup plus facile à lire et écrire pour un humain
http://dbpedia.org/data/Sète.n3
RDFa
RDF embarqué dans du XHTML, un format à la fois pour
les humains et les machines
http://jplu.developpez.com/julien.html
Les différentes sérialisations RDF
13. RDF fournit un moyen d’écrire des assertions sur les URI
Mais que fournit-il sur la sémantique de ces assertions ?
Ex : comment peut-on savoir que
http://xmlns.com/foaf/0.1/knows identifie une relation de
connaissance ?
Les ontologies fournissent une sémantique commune pour
les ressources dans le Web sémantique
Une ontologie est une spécification d’une
conceptualisation
Développer une ontologie pour le Web sémantique
Les langages principaux sont RDFS (RDF Schema) et OWL
(Web Ontology Language)
Les ontologies 1
14. Les classes et les propriétés
:Person a rdfs:Class .
:father a rdfs:Property .
:father rdfs:domain :Person .
:father rdfs:range :Person .
Les ontologies 2
15. RDFS définit des classes, des propriétés et des relations
hiérarchiques entre les classes et les propriétés
:Person rdfs:subClassOf :human .
:worksWith rdfs:subPropertyOf :knows .
Ces relations sont utilisées pour déduire de nouvelles
déclarations :
:julien rdf:type :Person .
:julien :worksWith :françois .
C’est assez pour dire que Julien est un humain et qu’il
connaît François qui est lui-même une personne et un
humain.
RDFS
16. OWL va plus loin que RDFS en introduisant de nouveaux axiomes :
Disjonction (par exemple : personne != document)
Transitivité (par exemple : les ancêtres)
Symétrie (par exemple : frères et sœurs)
Contrainte de cardinalité (par exemple : on a forcément plus
d’un ancêtre)
OWL2 est maintenant le standard le plus récent mais prend du
temps à s’imposer par rapport à sa première version. Il introduit
beaucoup de nouvelles fonctions tout spécialement pour le
raisonnement :
La propriété Chains
Parent + frère -> oncle
OWL
17. FOAF : Friend Of A Friend
SIOC : Semantically-Interlinked Online Communities
DOAP : Description Of A Project
DOAC : Description Of A Career
SKOS : Simple Knowledge Organisation System
OAN : Ontologie de l’assemblée nationale
Quelques ontologies
18. RDF(S) et OWL sont très pratique pour produire des données
Mais nous devons pouvoir interroger ces données
SPARQL
SPARQL Protocol and RDF Query Language
Le « SQL » du Web sémantique
SPARQL
19. Concept basique de correspondance de modèle de graphe
Les données RDF forment un graphe, SPARQL vérifie si le
graphe que vous recherchez appartient au graphe que
vous interrogez
Un protocole
Afin de pouvoir interroger des données RDF via un point
d’accès SPARQL par le protocole HTTP
La plupart des points d’accès sont associés à un magasin RDF
C’est-à-dire un endroit qui stocke les données RDF et
fournit un endroit libre pour les interroger (par exemple :
http://dbpedia.org/sparql)
Comment ça marche ?
20. SELECT ?X
WHERE {
?X a foaf:Person.
?X foaf:age ?Y.
FILTER (?Y > 30)
}
Exemple de requête
21. Une BDD relationnelle contient des données structurées pouvant
être mappées en RDF
Particulièrement utile puisque énormément de site Web
tournent sur une BDD relationnelle comme MySQL ou
PostgreSQL.
Une norme est en cours de standardisation pour effectuer ce
mapping
R2RML : http://www.w3.org/TR/2010/WD-r2rml-20101028/
Direct Mapping : http://www.w3.org/TR/rdb-direct-mapping/
Outils existants :
D2R server : http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/
DB2Triples : ttp://www.antidot.net/fr/Actualites/Produit/Antidot-
fournit-db2triples-en-Open-Source
D’une BDD relationnelle au RDF
22. Il est nécessaire que l’on puisse accéder aux données des
autres et que les autres puissent accéder à nos données
Avoir des données que l’on aurait pas
Des données isolées ne servent à rien
Le but du Web sémantique est de connecter les données
entre elles
Les outils existants :
Silk : http://www4.wiwiss.fu-berlin.de/bizer/silk/
LIMES : http://aksw.org/Projects/limes
Interconnexion