Introduction à OWL et au Web Sémantique

Transcription

Introduction à OWL et au Web Sémantique
Introduction à OWL,
un langage XML d'ontologies Web
Enjeux, objectifs et mise en oeuvre
Xavier Lacot <[email protected]>
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
1
Sommaire


Bref historique et limites du Web « navigable »
Introduction rapide à XML et au Web sémantique





Présentation de RDF
Web sémantique et ontologies
Le langage OWL

Objectifs et motivations

Diverses déclinaisons de OWL

Structure d'une ontologie : classes, instances et propriétés
Outils existants pour la manipulation d'ontologies OWL

Editeur d'ontologies Protégé

Validateur(s) OWL

Outils de raisonnement inductif

Exemple simple avec Jena
Applications pratiques : à quoi ça sert ?
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
2
Bref historique du Web


1990 : création du World Wide Web par Tim Berners Lee

HTML 1

Permet de « faire des pages web simples »
Jusqu'en 1998 : « balkanisation du Web »





Explosion du nombre de pages Web disponibles
Versions successives de HTML
Balises propriétaires introduites par Microsoft et Netscape
1998 : XML devient une Recommandation du W3C
2004 : OWL (Web Ontology Language) devient une
Recommandation du W3C
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
3
Structure du Web actuel
http://domain1.tld
http://domain2.tld

Le Web actuel est très hétrogène



Par son contenu (wikipédia ou skyblogs/meetik ?)
Par la qualité de ses pages
Structure technique


Des ressources (pages Web HTML)
Des relations entre ces ressources (liens hypertextes)
=> Difficilement exploitable
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
4
Limites du Web actuel


Dilution de l'effort de partage des connaissances (multiples
ressources, parfois dupliquées)
Encapsulation des connaissances dans une couche
présentationnelle. Exemple d'une des pages du site de l'ENST :
<div class="HeadMainText">Mastères Spécialisés</div>
<br>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody><tr><td><p>
<span class="Normalred"><strong>Les MS de Télécom Paris
apportent un complément de formation original et de haute
technicité susceptible d’élargir les perspectives de carrière.
</strong></span>
...

Problèmes :

Limité à la seule compréhension humaine (ambiguités)

Comment qualifier les relations entre les informations ?
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
5
L'idée du Web sémantique


Idée du Web (1990) :

Permettre les échanges de savoirs

Permettre de lier ces savoirs (principe du lien hypertexte)
Idée du Web sémantique : qualifier, formaliser et structurer
ces savoirs :




Qualifier en écrivant des métadonnées
Formaliser en employant une syntaxe extensible (XML)
Structurer en évitant les duplications d'informations
Objectifs :


Partager des connaissances
Manipuler des savoirs (éventuellement par des agents
automatiques)
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
6
RDF : Ressource Description Framework

Créé en 1999

Permet d'écrire des métadonnées
Métadonnée : information permettant d'en décrire une autre
exemple :
Xavier Lacot est l'auteur de cette présentation
Une métadonnée

Motivations :
Un ensemble d'informations

Rendre l'information traitable par machine
Favoriser l'interopérabilité des savoirs (la combinaison de
plusieurs savoirs)

Fournir une lingua franca de structuration des informations

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
7
Le mécanisme de triplets de RDF

RDF procède par une description exhaustive des savoirs à l'aide
de « phrases » simples :



Sujet
Prédicat
sujet
Objet
Xavier Lacot

objet
est l'auteur
de cette présentation
Un ensemble de triplets est nommé un graphe RDF :


Un diagramme composé de noeuds
Des liens entre deux noeuds
=> c'est du Web, mais dans lequel les liens sont porteurs de
sens : on parle de Web Sémantique.
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
8
Syntaxe de RDF

RDF dispose d'une syntaxe XML pour sérialiser les graphes RDF
objet
<rdf:Description about="http://www.lacot.org/">
<prefixe:auteur>Xavier Lacot</prefixe:auteur>
</rdf:Description>
prédicat
sujet

Un fichier RDF doit faire référence à des espaces de nom :
Espace de nom
<?xml version="1.0"?>
pour rdf:
<rdf xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:prefixe="http://source_de_schema/schema">
<description about="http://www.lacot.org/">
<prefixe:auteur>Xavier Lacot</prefixe:auteur>
</description>
</rdf>
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
Espace de nom
pour prefixe:
9
Le schéma RDF

RDF Schema permet de définir un « schema » de méta données

RDF Schema permet de qualifier les relations décrites en RDF :




Type des ressources manipulées (litteral, etc.)
Hiérarchie de ces ressources
Quelles propriétés s'appliquent à une ressource ?
Domaine de valeur de ces propriétés
<rdf:property rdf:about="http://source_de_schema/schema#auteur">
<rdfs:domain rdf:resource="http://source_de_schema/schema#presentation">
<rdfs:range rdf:resource="http://une_autre_source/exemple#Personne">
</rdf:property>
Extrait du schema RDF localisé à http://source_de_schema/schema
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
10
Qu'est-ce qu'une « Ontologie » ?



Aristote : ontologie = « Discours sur l'être en tant qu'être »
Pour le Web Sémantique, une ontologie est un ensemble
struturé de connaissances dans un domaine donné.
Deux parties composent une ontologie :
Une partie terminologique
Une partie déclarative
Paul
Homme
Ville
Humain
Femme

Bordeaux
Paris
Marie
Ressources définies les unes par rapport aux autres :


Modèle en graphe
Permet des manipulations automatisées
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
11
Pourquoi OWL : les limites de RDF / RDFS

RDF et RDFs seuls sont trop limités :




Impossibilité de préciser la nature des relations entre ressources
(réflexivité, etc.)
Aucune capacité de raisonnement
Logique très limitée
Logique
OWL
(Méta-)données
RDF + RDF Schema
Syntaxe
XML + Schema XML
D'où la nécessité de OWL :




Découle de RDF + RDFS
Connecteurs logiques entre classes (union, intersection, etc.)
Cardinalité sur les propriétés
Caractérisation des propriétés (transitivité, inverse, etc.)
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
12
Les diverses déclinaisons de OWL

OWL se décline en une hiérarchie de trois langages d'expressivité
croissante :



OWL Lite : hiérarchie de concepts simple
OWL DL : Expressivité plus importante que OWL Lite
OWL Full :



Haut niveau d'expressivité
Possibilité d'étendre le vocabulaire de base de OWL
Plus grande complexité
OWL Lite
OWL DL
(Description Logics)
OWL Full
Expressivité et complexité croissantes
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
13
Structure d'une ontologie


Une ontologie OWL se sérialise sous forme d'un document OWL
(fichier d'extension .rdf ou .owl)
Plusieurs sections principales :






Déclarations d'espaces de nom (owl, rdf, et autres)
L'en-tête (<owl:Ontology>) de décrire le contenu de l'ontologie
La définition des classes
La définition des propriétés
L'assertion de faits
Extensibilité d'ontologies existantes :

<owl:import> pour utiliser d'autres ontolgies OWL et les étendre :
<rdfs:comment>Ontologie décrivant l'humanité</rdfs:comment>
<owl:imports rdf:resource="http://domain.tld/otherpath/vivant"/>
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
14
Ontologie Exemple
est frère ou soeur de
0..n
0..n
Humain
Nom
Prénom
DateDeNaissance
Ville
habite à
0..n
1..1
NomVille
0..n
se trouve en
est père de
1..1
Homme
1..1
est marié à
0..1
Femme
0..1 NomDeJeuneFille
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
Pays
NomPays
15
Les classes OWL

Une classe :

définit un groupe d'individus ayant des caractéristiques similaires

peut être déclarée de plusieurs manières :




Par
Par
Par
Par
nommage de la classe
énumération de ses individus
restriction des propriétés de ses individus
intersection, union ou complémentaire d'une autre classe

Il existe un mécanisme d'héritage (<owl:subClassOf>)

La superclasse owl:Thing est mère de toutes les autres classes


Dans OWL Full, une classe peut être instance d'une autre classe
(une « métaclasse »)
L'ensemble des instances d'une classe se nomme « l'extension »
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
16
Exemples de classes OWL DL
<owl:Class rdf:ID="Pays" />
Exemple de classe simplement nommée
restriction
sur la propriété
« aPourPere »
<owl:Class rdf:ID="Humain">
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#aPourPere" />
<owl:cardinality
rdf:datatype="&xsd;nonNegativeInteger">1</owl:cardinality>
</owl:Restriction>
</rdfs:subClassOf>
La cardinalité doit être égale à
1
</owl:Class>
Exemple de classe obtenue par restriction des propriétés de son extension
Mécanisme d'héritage
<owl:Class rdf:ID="Femme">
<rdfs:subClassOf rdf:resource="#Humain" />
</owl:Class>
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
Exemple de classe héritée
17
Les instances de classes

La déclaration d'un individu se fait par l'énonciation d'un fait,
encore appelé « axiome d'individu »

Un fait peut être purement déclaratif :
<Humain rdf:ID="Pierre">
<aPourPere rdf:resource="#Jacques" />
</Humain>
<Humain>
<aPourPere rdf:resource="#Paul" />
</Humain>

Instance anonyme
Un faut peut également permettre de comparer des individus :
<rdf:Description rdf:about="#Louis_XIV">
<owl:sameAs rdf:resource="#Le_Roi_Soleil" />
</rdf:Description>
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
18
Les propriétés OWL (1/2)

Une propriété :

permet d'exprimer un fait au sujet d'une instance :



En la reliant à d'autres instances : propriétés d'objet
En la reliant à des valeurs : propriétés de type de données
se définit en spécifiant la relation qu'elle symbolise :
<owl:ObjectProperty rdf:ID="habite">
<rdfs:domain rdf:resource="#Humain" />
<rdfs:range rdf:resource="#Pays" />
</owl:ObjectProperty>
La propriété « habite » a
pour domaine la classe
« Humain » et pour image
la classe « Pays »
<owl:DatatypeProperty rdf:ID="anneeNaissance">
<rdfs:domain rdf:resource="#dateNaissance" />
<rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:ObjectProperty>
La propriété
«anneeNaissance» a pour
domaine la classe
«dateNaissance» et pour
image le type
«positiveInteger»
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
19
Propriétés OWL (2/2)

OWL propose un mécanisme d'héritage de propriétés :
<owl:ObjectProperty rdf:ID="aPourFrere">
<rdfs:subPropertyOf rdf:resource="#estDeLaFamilleDe" />
<rdfs:range rdf:resource="#Humain" />
<rdfs:domain rdf:resource="#Humain" />
</owl:ObjectProperty>

Les propriétés peuvent être caractérisées :



Réflexivité
Transitivité
Symétrie
<owl:ObjectProperty rdf:ID="aPourFrere">
<rdf:type rdf:resource="&owl;SymmetricProperty" />
<rdfs:range rdf:resource="#Humain" />
<rdfs:domain rdf:resource="#Humain" />
</owl:ObjectProperty>
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
«aPourFrere»
est une propriété
symétrique : si
A aPourFrere B,
alors
B aPourFrere A
20
OWL en pratique

L'emploi de OWL soulève plusieurs problématiques :



La production des ontologies
Leur partage
Leur exploration / exploitation
Portails Sémantiques,
Semantic reasoners
Partage et
enrichissement
Web
Sémantique
Production
Ontologie(s)
Editeur
Exploitation /
Présentation
« Navigateur sémantique »,
APIs, Web Services, etc.
Savoirs /
Connaissances
Web
« traditionnel »
Savoirs
« enrichis » et
« présentés »
Présentation
Navigateur Web
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
Page Web
(« présentation
de savoirs »)
21
Editeur d'ontologies Protégé (1/2)

Editeur d'ontologies :



Définition de classes
Définition de formulaires pour « peupler » ces classes
Définition d'instances et leurs propriétés)
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
22
Editeur d'ontologies Protégé (2/2)

Protégé est hautement extensible
(plugins) :




Export dans d'autres formats
d'ontologies (DAML, RDF, etc.)
Représentation sous forme de
graphes (avec OntoWiz)
Validation d'ontologies
Lien avec des outils de
raisonnement automatique
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
23
Autres outils en rapport avec OWL


Partage d'ontologies

Recherche avec SWoogle

Exemple de BioPax : biological Pathways Exchange
Outils d'inférence :



Dig, Raptor
Validateurs d'ontologies :

Syntaxiques (validateur RDF du W3C)

Sémantiques (vérification des propriétés)
« Navigateurs » sémantiques



Encore peu répandus
Question de la présentation des savoirs
Plusieurs tentatives : mSpace,
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
24
Bibliographie

Biological PathWays Exchange, http://www.biopax.org/

Editeur d'ontologies Protégé, http://protege.stanford.edu/

Framework sémantique Jena, http://jena.sourceforge.net/

Initiative WebSemantique.org, http://websemantique.org/

mspace, http://www.mspace.fm/

Ontology Validator, http://phoebus.cs.man.ac.uk:9999/OWL/

Racer Systems, http://www.racer-systems.com/

Swoogle, http://swoogle.umbc.edu/

Validateur RDF du W3C, http://www.w3.org/RDF/Validator/

Semantic Web au W3C : http://www.w3.org/2001/sw/
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
25
Licence
Ce document est placé sous licence Creative Commons - Paternité - Pas
d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique 2.5.
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]>
26