26
Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 1 Introduction à OWL, un langage XML d'ontologies Web Enjeux, objectifs et mise en oeuvre Xavier Lacot <[email protected]>

Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot 3 Bref historique

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 1

Introduction à OWL,un langage XML d'ontologies Web

Enjeux, objectifs et mise en oeuvre

Xavier Lacot <[email protected]>

Page 2: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 2

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 ?

Page 3: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 3

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

Page 4: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 4

http://domain1.tld

http://domain2.tld

Structure du Web actuel

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

Page 5: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 5

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 ?

Page 6: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 6

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)

Page 7: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 7

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

Motivations : 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

Une métadonnéeUn ensemble d'informations

Page 8: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 8

Le mécanisme de triplets de RDF

RDF procède par une description exhaustive des savoirs à l'aide de « phrases » simples :

Sujet Prédicat Objet

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.

sujet objet

Xavier Lacot est l'auteur de cette présentation

Page 9: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 9

Syntaxe de RDF

RDF dispose d'une syntaxe XML pour sérialiser les graphes RDF

Un fichier RDF doit faire référence à des espaces de nom :

<rdf:Description about="http://www.lacot.org/"><prefixe:auteur>Xavier Lacot</prefixe:auteur>

</rdf:Description>prédicat

objet

sujet

<?xml version="1.0"?><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>

Espace de nom pour prefixe:

Espace de nom pour rdf:

Page 10: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 10

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

Page 11: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 11

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 :

Ressources définies les unes par rapport aux autres : Modèle en graphe Permet des manipulations automatisées

Humain

Homme

Femme

Ville Paris

Paul

Marie

Bordeaux

Une partie terminologique Une partie déclarative

Page 12: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 12

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

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.)

XML + Schema XML

RDF + RDF Schema

OWL

Syntaxe

(Méta-)données

Logique

Page 13: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 13

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

Page 14: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 14

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"/>

Page 15: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 15

Ontologie Exemple

VilleNomVille

PaysNomPays

FemmeNomDeJeuneFille

Homme

HumainNomPrénomDateDeNaissance

habite à

est frère ou soeur de

est père de se trouve en

0..n

est marié à

0..n

1..1

0..n 1..10..n

1..1

0..1 0..1

Page 16: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 16

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 nommage de la classe Par énumération de ses individus Par restriction des propriétés de ses individus Par 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 »

Page 17: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 17

Exemples de classes OWL DL

<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></owl:Class>

<owl:Class rdf:ID="Pays" />

<owl:Class rdf:ID="Femme"> <rdfs:subClassOf rdf:resource="#Humain" /></owl:Class>

Exemple de classe simplement nommée

Exemple de classe obtenue par restriction des propriétés de son extension

Exemple de classe héritée

restrictionsur la propriété

« aPourPere »

La cardinalité doit être égale à 1

Mécanisme d'héritage

Page 18: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 18

<Humain><aPourPere rdf:resource="#Paul" />

</Humain>

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 :

Un faut peut également permettre de comparer des individus :

<Humain rdf:ID="Pierre"><aPourPere rdf:resource="#Jacques" />

</Humain>

Instance anonyme

<rdf:Description rdf:about="#Louis_XIV"><owl:sameAs rdf:resource="#Le_Roi_Soleil" />

</rdf:Description>

Page 19: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 19

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»

Page 20: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 20

Propriétés OWL (2/2)

OWL propose un mécanisme d'héritage de propriétés :

Les propriétés peuvent être caractérisées : Réflexivité Transitivité Symétrie

<owl:ObjectProperty rdf:ID="aPourFrere"><rdfs:subPropertyOf rdf:resource="#estDeLaFamilleDe" /><rdfs:range rdf:resource="#Humain" /><rdfs:domain rdf:resource="#Humain" />

</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="aPourFrere"><rdf:type rdf:resource="&owl;SymmetricProperty" /><rdfs:range rdf:resource="#Humain" /><rdfs:domain rdf:resource="#Humain" />

</owl:ObjectProperty>

«aPourFrere» est une propriété symétrique : si A aPourFrere B, alors B aPourFrere A

Page 21: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 21

OWL en pratique L'emploi de OWL soulève plusieurs problématiques :

La production des ontologies Leur partage Leur exploration / exploitation

Savoirs /Connaissances

Ontologie(s)Savoirs

« enrichis » et « présentés »

Production

Partage et enrichissement

Exploitation /Présentation

Page Web(« présentation

de savoirs »)

Présentation

WebSémantique

Web« traditionnel »

Editeur

Navigateur Web

« Navigateur sémantique », APIs, Web Services, etc.

Portails Sémantiques, Semantic reasoners

Page 22: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 22

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)

Page 23: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 23

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

Page 24: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 24

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,

Page 25: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 25

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/

Page 26: Introduction à OWL, un langage XML d'ontologies Web...Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot  3 Bref historique

Intriduction à OWL, un langage d'ontologies Web – 10 janvier 2006 – Xavier Lacot <[email protected]> 26

Licence

Ce document est placé sous licence Creative Commons - Paternité - Pas

d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique 2.5.