Download - Le Web sémantique ? Kézako ?!!

Transcript
Page 1: Le Web sémantique ? Kézako ?!!

palais des congrès Paris

7, 8 et 9 février 2012

Page 2: Le Web sémantique ? Kézako ?!!

Nom du speaker : Julien PluTitre du speaker : ÉtudiantSociété : université Montpellier 2

Le Web sémantique ?!! Kézako ?!!

Page 3: Le Web sémantique ? Kézako ?!!

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 ressourcesLes ontologies avec RDFS/OWL Sémantique partagée pour améliorer

l’interopérabilité entre les applicationsRequêter les données avec SPARQL Pour faire usage des ces données et créer des

applications

Plan 1

Page 4: Le Web sémantique ? Kézako ?!!

Convertir sa BDD relationnelle en RDF Publier sa BDD relationnelle sur le Web de

donnéesInterconnexion Comment connecter ses données avec d’autres

jeux de données ?Démo Exemple de publication d’une BDD relationnelle

Plan 2

Page 5: Le Web sémantique ? Kézako ?!!
Page 6: Le Web sémantique ? Kézako ?!!

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

Page 7: Le Web sémantique ? Kézako ?!!

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

Page 8: Le Web sémantique ? Kézako ?!!

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

Page 9: Le Web sémantique ? Kézako ?!!

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 machinesNé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

Page 10: Le Web sémantique ? Kézako ?!!

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

Page 11: Le Web sémantique ? Kézako ?!!
Page 12: Le Web sémantique ? Kézako ?!!

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

Page 13: Le Web sémantique ? Kézako ?!!

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

conceptualisationDévelopper une ontologie pour le Web sémantique Les langages principaux sont RDFS (RDF Schema) et

OWL (Web Ontology Language)

Les ontologies 1

Page 14: Le Web sémantique ? Kézako ?!!

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

Page 15: Le Web sémantique ? Kézako ?!!

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

Page 16: Le Web sémantique ? Kézako ?!!

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

Page 17: Le Web sémantique ? Kézako ?!!

FOAF : Friend Of A FriendSIOC : Semantically-Interlinked Online CommunitiesDOAP : Description Of A ProjectDOAC : Description Of A CareerSKOS : Simple Knowledge Organisation SystemOAN : Ontologie de l’assemblée nationale

Quelques ontologies

Page 18: Le Web sémantique ? Kézako ?!!

RDF(S) et OWL sont très pratique pour produire des données Mais nous devons pouvoir interroger ces

donnéesSPARQL SPARQL Protocol and RDF Query Language Le « SQL » du Web sémantique

SPARQL

Page 19: Le Web sémantique ? Kézako ?!!

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 HTTPLa 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 ?

Page 20: Le Web sémantique ? Kézako ?!!

SELECT ?XWHERE {

?X a foaf:Person. ?X foaf:age ?Y.FILTER (?Y > 30)

}

Exemple de requête

Page 21: Le Web sémantique ? Kézako ?!!

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

Page 22: Le Web sémantique ? Kézako ?!!

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 ellesLes outils existants : Silk : http://www4.wiwiss.fu-berlin.de/bizer/silk/ LIMES : http://aksw.org/Projects/limes

Interconnexion

Page 23: Le Web sémantique ? Kézako ?!!

Projets existant : DBPedia : http://dbpedia.org Datalift : http://datalift.org Seevl : http://seevl.net Sig.ma : http://sig.ma Visinav : http://sw.deri.org/2009/01/visinav/ Applications du gouvernement anglais : http://

data.gov.uk/apps Frameworks : Java : http://incubator.apache.org/projects/jena.html PHP : https://github.com/semsol/arc2/wiki Python : http://librdf.org/ .NET : http://www.dotnetrdf.org/

Projets existant et frameworks

Page 24: Le Web sémantique ? Kézako ?!!

Démonstration

Démo