Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
Transcript of Web ontologie language (par RAFEH Aya et VAILLEUX Arnaud)
1
OWLWeb Ontology Language
•Préparé par : RAFEH AyaVAILLEUX Arnaud
•Présenté à : CHBEIR Richard
Université de Pau et des Pays de l’Adour
UFR Sciences et Techniques - Côte BasqueMaster 2 SIGLIS
2
Plan
•Introduction•Les étapes historiques•XML•RDF•OWL•Références
3
Introduction
• Web Sémantique
Une technologie pratique, à utiliser massivement dans des outils de production permettant l'accès à des données structurées sur le Web
Se crée de manière incrémentale, en ajoutant pas à pas des descriptions aux données et documents déjà existants sur le Web
RDF et OWL constituent le fondement pour les applications du Web sémantique
4
Les étapes historiques Création du Web en 1990
L'arrivée de XML en 1998
W3C publie deux technologies clés du Web sémantique RDF et OWL en 2004
5
XML - Technologie de base fournit un ensemble de règles pour la création de
vocabulaires
offre des règles de syntaxe très claires
une syntaxe puissante et souple pour les documents structurés
n'impose aucune contrainte sémantique sur la signification de ces documents
6
RDF 1/2
•Description des ressources, et leurs relations, en leur affectant des métadonnées
•Triplet=(sujet - prédicat /verbe - objet)
Sujet Objetprédicat
7
RDF 2/2
• L’élément principal en RDF est le “statement” : <sujet > <prédicat > <objet>
• Le sujet : ressource identifiée par un URI • L’objet : ressource identifiée par un URI, ou une valeur
littérale• Le prédicat : la relation entre le sujet et l’objet, identifie
aussi par un URI
• Exemple : <http://exemple.com/film/TheDarkKnightRises><http://filmyontology.net#hasStar><http://example.com/personne/acteur/ChristianBale>
8
Sérialisation RDF
•Pour échanger les graphes RDF , ils doivent être interprétés ou encodés
•XML est un des syntaxes de sérialisation RDF le plus commun
9
Schéma RDF (RDFS)
•Donne du vocabulaire à RDF
•Permet de définir des classes et types de propriétés spécifiques à une application ou un domaine
10
RDFS 1/3
• type : détermine qu’une ressource appartient à une classe
• subClassOf : crée des classes parents Exemple : <Acteur> <subClassOf> <Personne>
• subPropretyOf : crée des propriétés parents Exemple : <hasStar> <subPropretyOf><hasActor>
Donc <http://exemple.com/film/DarkKnightRises> <http://filmyontology.net#hasStar> <http://example.com/personne/acteur/ChristianBale>implique aussi <http://exemple.com/film/DarkKnightRises><http://filmyontology.net#hasActor> <http://example.com/personne/acteur/ChristianBale>
11
RDFS 2/3
• Domain, range : définit l'étendue d'une propriétéExemple : <hasStar> <domain> <film>
<hasStar><range><Acteur>
• label, Comment : ajout des nom à des ressources ou des descriptionsExemple
:<http://example.com/personne/acteur/ChristianBale> <label><Christian Bale>
Exemple :<http://example.com/personne/acteur/ChristianBale> <comment><Cette source identifie l’acteur Christian Bale >
12
RDFS 3/3
•Restrictions de la puissance d'expression de RDF Schéma :▫Disjonction des classes▫Combinaisons booléennes▫Restrictions de cardinalité▫Caractéristiques particulières des
propriétés Propriété transitive (ex : "plus grand que") Propriété unique (ex : "est mère de") Propriété inverse (ex: "mange" et "est mangé
par")
13
Exemple RDF
• On peut identifier 3 statements d’après le graphe :
<http://example.org/~jdoe#jane> <p:knows> <http://example.org/~jsmith#john>
• On peut identifier 3 statements d’après le graphe :
<http://example.org/~jdoe#jane> <p:name> Jane Doe
• On peut identifier 3 statements d’après le graphe :
<http://example.org/~jdoe#jane> <rdf:type><http://example.org/pers-schema#Person>
14
Exemple RDF/XML<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:p="http://example.org/pers-schema#"> <rdf:Description rdf:about="http://example.org/~jdoe#jane"> <p:knows rdf:resource="http://example.org/~jsmith#john" /> <p:name> Jane Doe</p:name> <rdf:type rdf:resource=”http://example.org/pers-
schema#Person”/> </rdf:Description> </rdf:RDF>
Rdf:Description : un sous élément qui va encoder/traduire les déclarations RDF
rdf:about : est le « sujet » de la déclaration
rdf:resource : est « l ’objet » de la déclaration
Prédicats
15
OWL
•besoin de définir des ontologies ▫Définir des concepts▫Les classifier▫Les liés
•OWL
16
Historique
•En février 2004 Il a devenu une recommandation W3C
•Pour cela il était conçu à être compatible avec le XML et les autres standards W3C
17
Combinaison de OWL et Schéma RDF•Dans l'idéal, OWL devrait étendre RDFS
▫c'est cohérent avec l'architecture en couches du web sémantique
•Mais étendre simplement RDFS ne fonctionnerait pas pour obtenir la puissance d'expression et l'efficacité de raisonnement ▫la combinaison de RDFS avec la logique
conduit à des particularités de calcul indéterminables
18
Motivation Base de Données à Base Ontologique• Gros volumes de données à base ontologique
Méta-données du Web Sémantique Bases de données composants et e-catalogue
• Utilisation accrue des ontologies Nombreux modèles d’ontologies : RDF-Schema, OWL,
PLIB, etc.• => Bases de Données à Base Ontologique (BDBO)
Ontologies + Données + Liens Ontologies / DonnéesOntologies
liens
Données
19
19
Motivation Langage d’exploitation de BDBO
• Utilisation des ontologies par différentes communautés BD : Intégration, Indexation Sémantique IA : Web Sémantique Linguistique informatique : traitement du langage
naturel
Ontologies Données
=> Grande hétérogénéité des architectures de BDBO
Unification des modèles d’ontologies Elaboration d’un langage d’exploitation pour les
BDBO
RDF-Schema pourRDF-Suite, Sesame, RSTAR ...PLIB pourOntoDB, OntoDB2 OWL pourDLDB, OntoMS
Table de triplets pour 3Store, Jena1 ...
Représentation binaire pour RDF-Suite, Sesame ...Représentation horizontale pour OntoMS, OntoDB ...
Différents schémas de représentation Différents modèles d’ontologies
20
20
Motivation Intégration de bases de données Problème : l’hétérogénéité sémantique
Banque 1 Banque 2
Clients
ID Nom Crédit Adresse
AAA Dupont 5 000€ 01 avenue Clément Ader
Customer
ID Name VIP Credit Address
AAA Dupont Yes 1 000$ dup@far
Conflits de nommage Conflits de structures Conflits d’unités de mesures
Une solution : les BDBO [NGuyen Xuan 06]
Préservation d’une compatibilité avec les BD usuelles
Ontologie partagée
Modèle Logique Modèle Logique Modèle Logique Ontologie Modèle Logique Ontologie
21
• L’ égalité• sameAs : deux ressource sont identique
exemple : <RDFS><sameAs><RDFSchema>
• equivalentClass : deux classes équivalentesexemple : <BDD>< equivalentClass ><Basededonnés>
• Relation entre les propriétés• Symmetric : <A> <relation> <B> <B> <relation> <A>
(exp : mariéà)• Transitive : <A> <relation> <B> et <B> <relation> <C>
<A> <relation> <C>• InverseOF : <donne> <InverseOF><estdonnépar>
• Les concepts de relation entre des classes• disjointWith : les ressources appartenant à une classe
ne peuvent pas appartenir à l’autre exemple : <Personne> < disjointWith><Plante>
• complementOf : les membres d’une classe sont tous ceux qui n’appartiennent pas à l’autres
exemple : <personneVivante><complementOF><personneMorte>
OWL•C’est une extension du RDF et du schéma RDF •Quelques caractéristiques :
22
Les trois espèces d’OWL
•Le groupe de travail Ontologie W3C’sWeb définit OWL en trois sous-langages :▫OWL Full▫OWL DL▫OWL Lite
•Chaque sous-langage visant à satisfaire à plusieurs aspects des critères
23
OWL Full
• Utilise toutes les primitives des langages OWL• Permet de combiner ces primitives de manière
arbitraire avec RDF et RDFS• OWL Full est totalement compatible en amont
avec RDF, tant du point de vue syntaxique que sémantique
• OWL Full est puissant au point d'être indécidable▫n'offre pas de support complet (ou efficace)
de raisonnement
24
OWL DL• OWL DL (Description Logic) est un sous-langage de
OWL Full qui restreint l'application des constructeurs au départ de OWL et RDF▫ l'application des constructeurs de OWL les uns aux
autres n'est pas autorisée▫ correspond donc à une logique descriptive bien
étudiée• OWL DL permet le support de raisonnement efficace• Mais on perd alors la compatibilité totale avec RDF:
▫ tous les documents RDF ne sont pas forcément des documents OWL DL autorisés
▫ par contre, tout document OWL DL autorisé est aussi un document RDF autorisé
25
OWL Lite
• Toute restriction supplémentaire limite OWL DL à un dialecte des constructeurs de langage▫par ex., OWL Lite exclut les classes
énumératives, les déclarations de disjonction et la cardinalité arbitraire
• Avantage de ce langage:▫plus facile à saisir pour les utilisateurs▫plus facile à mettre en oeuvre pour les
créateurs d'outils• Inconvénients d'une expressivité restreinte
26
Compatibilité en amont entre espèces OWL•Toute ontologie autorisée OWL Lite est
aussi une ontologie autorisée OWL DL•Toute ontologie autorisée OWL DL est
aussi une ontologie autorisée OWL Full•Toute conclusion valide OWL Lite est
aussi une conclusion OWL DL valide•Toute conclusion valide OWL DL est aussi
une conclusion OWL Full valide
27
Compatibilité OWL avec RDF Schema
• Toutes les variantes de OWL utilisent RDF pour leur syntaxe
• Les instances sont déclarées comme en RDF et utilisent les descriptions RDF ainsi que l'information de typage
• Les constructeurs OWL sont les spécialisations de leurscontreparties RDF
rdfs:Ressouce
rdfs:Class rdfs:Property
owl:Class owl:ObjectProperty owl:DataProperty
28
Structure d'une ontologie OWL
•la conception d'OWL a pris en compte la nature distribuée du web sémantique
elle a intégré la possibilité d'étendre des ontologies existantes, ou d'employer diverses ontologies existantes pour compléter la définition d'une nouvelle ontologie
29
Espaces de nommage
• Une ontologie commence par une déclaration d'espace de nom dans une balise rdf:RDF
Exemple :
<rdf:RDFxmlns:owl ="http://www.w3.org/2002/07/owl#"xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"xmlns:xsd ="http://www.w3.org/2001/ XLMSchema#">
30
En-têtes d'une ontologie
• L’en-tete décrit le contenu de l'ontologie courante, en utilisant la balise owl:Ontology
Exemple :
<owl:Ontology rdf:about=""><rdfs:comment>Un exemple Ontologie OWL </rdfs:comment><owl:imports
rdf:resource="http://www.mydomain.org/persons"/><rdfs:label> Ontologie d’Universite </rdfs:label>
</owl:Ontology>
31
Éléments du langage
•Classe
•Propriété
32
Classe (Déclaration) • Une classe définit un groupe d'individus (« instances » ) qui sont
réunis car ils ont des caractéristiques similaires• Les classes se définissent avec owl:Class
• <owl:Class rdf:ID=“Faculte“/>
• On peut aussi créer des relation avec d’autres classes▫ (équivalence)
<owl:Class rdf:ID=“Faculte"><owl:equivalentClass rdf:resource=#equipeacademique"/></owl:Class>
▫ (héritage)
<owl:Class rdf:ID=« Faculte"><rdfs:subClassOf rdf:resource="#Campus" /></owl:Class>
33
Classe (Définition d'un individu)
• La définition d'un individu consiste à énoncer un « fait », encore appelé « axiome d'individu »
• On peut distinguer deux types de faits :
les faits concernant l'identité des individus OWL propose un mécanisme permettant de lever cette ambiguité
lors du nammage de ces individus , à l'aide des propriétés comme : owl:sameAs, owl:diffrentFrom et owl:allDifferent. <rdf:Description rdf:about="#SIGLIS"><owl:sameAs rdf:resource="# Système informatique pour le
génie de la logistique industrielle et des services" /></rdf:Description>
les faits concernant l'appartenance à une classe :déclaration de l'appartenance à une classe et les valeurs de propriété
<Faculte rdf:ID=« UFR"><aPourDirecteur rdf:resource="#Jeannet" /></Faculte>
34
Propriétés•OWL a deux types de propriétés
▫propriétés objet , qui relient des objets à d'autres(instance de la classe owl:ObjectProperty) par ex., is-TaughtBy (est enseigné par), est chef de
▫propriétés de type de données, reliant les objets aux valeurs des types de données
(instance de la classe owl:DatatypeProperty) par ex., téléphone, titre, âge, etc.
(Ces deux classes sont elles-mêmes sous-classes de la classe RDF rdf:Property.)
35
Exemple • Exemple : (propriété objet)<owl:ObjectProperty rdf:ID= "aPourDirecteur"><rdfs:domain rdf:resource="#Faculte" /><rdfs:range rdf:resource="#Professeur" /><rdfs:subPropertyOf rdf:resource="#aPourMembre"/>
</owl:ObjectProperty>
• Exemple : (propriété de type de donnée)<owl:Class rdf:ID="dateDeNaissance" />
<owl:DatatypeProperty rdf:ID="anneeDeNaissance"><rdfs:domain rdf:resource="#dateDeNaissance" /><rdfs:range rdf:resource="&xsd;positiveInteger"/>
</owl:DatatypeProperty>
36
Utilisation : OWL et les données MultiMedia• Difficulté d’extraire les sémantiques des
données non-textuelles • Inefficacité des recherche basé sur la
correspondance des mots-clés• utilisation de l’ontologie : annotations
sémantiques aux données• Deux types des ontologies Multimédia :
▫ media-specific : décrit le type et les propriétés du media▫ content-specific : décrit le sujet et le contenu du media
37
Extensions futures de OWL
•Modules et imports•Valeurs par défaut•Hypothèse des noms uniques
38
Récapitulation 1/2
• OWL est le standard proposé pour les ontologies du web
• OWL repose sur RDF et RDFS: ▫ on utilise la syntaxe à base XML ▫ les instances sont définies par des
descriptions RDF▫ la plupart des primitives de modélisation
RDFS sont appliquées
39
Récapitulation 2/2• La sémantique formelle et le support de
raisonnement sont fournis par la cartographie de OWL en logique▫ la logique de prédicats et de descriptions servent à cet
usage
• Bien que OWL soit assez puissant pour son utilisation pratique, on développe des extensions▫ où on trouvera encore d'autres possibilités logiques et
des règles.
40
OWL : Conclusion
•Un langage de pointe encore très jeune•Des concepts puissants qui pourraient• boulverser notre expérience du web•Les premiers outils sont prêts et le •développement continue à grands pas !•A surveiller dans l'avenir...
41
Références • Jeff Heflin, AN INTRODUCTION TO THE OWL WEB
ONTOLOGY LANGUAGE (chapitre 2), Lehigh Universit http://www.cse.lehigh.edu/~heflin/IntroToOWL.pdf (24/11/13)
• What is the difference between RDF and OWL? http://stackoverflow.com/questions/1740341/what-is-the-difference-between-rdf-and-owl (30/10/13)
• Rachel Lovinger, RDF and OWL, 12 mai 2009 http://www.slideshare.net/rlovinger/rdf-and-owl (30/11/13)
• Xavier Borderie, RDF et OWL pour donner du sens au Web http://www.journaldunet.com/developpeur/tutoriel/xml/040322-xml-web-semantique-rdf-owl1a.shtml (25/11/13)
42
Références • Xavier Lacot, Introduction à OWL, un langage XML
d'ontologies Web, juin 2005 http://lacot.org/public/introduction_a_owl.pdf (25/11/13)
• W3C Recommendation 10 February 2004 , OWL Web Ontology Language Overview http://www.w3.org/TR/2004/REC-owl-features-20040210/ (24/11/13)
• Stéphane JEAN ,OntoQL, un langage d’exploitation des bases de données à base ontologique, le 5 décembre 2007 , l’ENSMA, Futuroscope
• Grigoris Antoniou, Frank van Harmelen, Langage d'ontologie du web : OWL (chapitre 4)