Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
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]>
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 ?
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
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
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 ?
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)
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
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
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:
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
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
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
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
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"/>
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
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 »
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
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>
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»
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
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
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)
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
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,
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/
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.