Chapitre 4 Web Sémantique
Chapitre 4 Web Sémantique
Chapitre 4
Web Sémantique
Master Informatique : Intelligence Artificielle
Semestre 3
Plan global
Introduction
RDF et RDFS
SPARQL
Ontologie
2
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Introduction
au Web sémantique:
Plan du cours
État du Web classique
Limites du Web classique et du HTML
Définition du web sémantique
Objectifs du Web Sémantique
Langages du W3C
3
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Réseaux sémantiques
Cartes conceptuelles
Règles
Web sémantique: Introduction
Logique
Objets structurés (schémas et scripts)
4
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Web sémantique: Introduction
Raison principale :
•La description des informations (métadonnées) est :
• Limitée, ou
• Mal exploitée de manière intelligente par les machines.
6
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Définition du web sémantique
7
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Définition du web sémantique
Le Web Sémantique :
• Ensemble de technologies rendant le contenu du Web
accessible et utilisable par des programmes, agents logiciels et
machines.
• Utilisation de métadonnées formelles (données décrivant
d'autres données) et des langages développés par le W3C
(World Wide Web Consortium).
8
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Objectifs du Web Sémantique
9
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Langages du W3C
10
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Langages du W3C
Interopérabilité et Structure des Données
•URI : Identifient les ressources.
•Unicode : Garantit l'universalité des caractères.
•XML : Permet d'organiser et d'échanger les données de manière
flexible et structurée.
11
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Langages du W3C
Éléments du Web Sémantique :
12
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Langages du W3C
Éléments du Web Sémantique (suite) :
[Link]
•Langage de requête pour bases de données RDF.
•Permet d'extraire, manipuler, et filtrer les données pertinentes.
[Link] Logic
•Fusionne des données hétérogènes pour unifier diverses sources.
[Link]
•Assure la validation formelle des données et raisonnements.
[Link]
•Évalue la fiabilité et la provenance des données pour une meilleure prise
de décision.
13
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF
Plan du cours
Introduction
Caractéristiques
BUT
Syntaxe
Syntaxe abstraite
Syntaxe concrète
Syntaxe concrète
14
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF
Niveau
Niveau sémantique
syntaxique
15
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF: Introduction
16
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF: Caractéristiques
17
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF: But
18
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF: Syntaxes
19
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF
Syntaxe abstraite
20
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF
Syntaxe abstraite
21
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF
22
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDF
Syntaxe concrète
Un triplet RDF peut être codé selon 3 notations :
Notation 3
Turtle
RDF XML
23
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Syntaxe RDF XML
Structure générale
RDF::=[<rdf:RDF>] description [</rdf:RDF>]
26
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
27
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
28
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
29
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
30
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
31
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
32
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
33
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
34
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
35
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
36
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
37
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
39
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
40
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
41
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
42
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
43
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
44
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
45
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
46
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDFS
Plan du cours
Introduction
Définition
Classe
sous-classe
propriété
sous-propriété
Les littéraux
Commentaires
Conclusion 47
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDFS
Introduction
RDF permet de:
• déclarer des propriétés (et relations) sur des
• ressources
• Spécifier le type des propriétés et des ressources (rdf:type)
48
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Limitations de RDF et Solution avec RDFS
Limitations de RDF
•RDF ne permet pas de répondre aux questions suivantes :
• Quelles sont les valeurs autorisées pour une propriété ?
• Quelles sont les propriétés autorisées sur une ressource ?
• Quels sont les liens entre les ressources ?
• Hiérarchie des types de ressources
(spécialisation/généralisation) ?
Résultat :
•Absence de vocabulaire structuré pour répondre à ces besoins.
Solution :
•RDFS (RDF Schema) pour définir :
• Des classes et sous-classes.
• Des propriétés et leurs contraintes.
• Des relations hiérarchiques entre ressources. 49
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Définition de RDFS (RDF Schema)
Qu'est-ce que RDFS ?
•RDFS (RDF Schema) permet d'exprimer un vocabulaire pour structurer
et enrichir les données RDF.
•Historiquement nommé RDFS en raison d'une analogie avec XML
Schema, il est désormais souvent appelé :
•RDF Vocabulary Language.
Caractéristiques principales :
•Fournit des mécanismes pour définir :
•Des classes et des sous-classes.
•Des propriétés et leurs relations.
•Des liens entre les types de ressources.
Préfixe officiel RDFS :
•Tous les éléments du vocabulaire RDFS sont définis dans l'espace de
noms :
50
[Link]
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDFS Casse
• Une classe est un type (catégorie) qui regroupe plusieurs
instances (objet, ressources) qui partagent les mêmes
caractéristiques (propriétés, relations)
• une classe est identifiée par une URI
Exemples :
• Enseignant
• Etudiant
• Personne
51
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDFS Casse
Comment déclarer une classe en RDFS ?
•Une classe est déclarée avec l'élément :
<rdfs:Class rdf:about=[URI class]>
Exemples de déclaration :
•Déclarer la classe enseignant :
52
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDFS sous-classe
53
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDFS sous-classe
Syntaxe pour définir une sous-classe :
Exemple de déclaration :
Déclarer Maître-Assistant comme une sous-classe de
Enseignant :
54
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDFS Propriété
55
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Déclaration d'une Propriété en RDFS
Syntaxe
56
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Déclaration d'une Propriété en RDFS
Exemple :
Déclarer une propriété travailleDans liant un enseignant à un
département :
57
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDFS sous propriété
58
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
RDFS sous propriété
•rdfs:SubPropertyOf permet de déclarer qu'une propriété est une
sous-propriété d'une autre.
•Les sous-propriétés héritent des caractéristiques de leur
propriété parente.
Syntaxe
Exemple :
Déclarer père comme une sous-propriété de parent :
59
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Les Littéraux dans RDFS
Qu'est-ce qu'un littéral ?
•rdfs:Literal permet de déclarer qu'une propriété a une valeur
constante (comme un texte, un entier, etc.).
Syntaxe
60
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Les Littéraux dans RDFS
Exemple
62
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Conclusion
RDFS : Un outil puissant pour structurer les données RDF
RDFS permet de :
•Définir des classes et des sous-classes.
•Définir les propriétés d'une classe.
•Décrire les relations entre les classes.
•Appliquer des restrictions de domaine et de co-domaine sur une
propriété.
SPARQL
Plan du cours
Introduction
Structure d'une requête SPARQL
Requête simple
Préfix
Préfix
Variables
Clause where(pattern)
Filter
Optianal
Union
Séquence des solution
64
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Introduction
•SPARQL est le langage standard pour interroger les données de graphes
représentés par des triplets RDF/RDFS.
•Devenu un standard W3C en janvier 2008.
•SPARQL 1.0 (2008) est utilisé dans ce cours, tandis que SPARQL 1.1 reste
au statut de brouillon.
Fonctionnalités :
•Rechercher, ajouter, modifier ou supprimer des données RDF/RDFS
disponibles sur Internet.
•Protocole permettant l’interaction avec des bases RDF via le Web.
SPARQL vs SQL :
•SPARQL s’apparente à SQL, mais au lieu d’interagir avec des bases
relationnelles, il accède aux ressources sémantiques sur le Web.
65
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Introduction
SPARQL utilise le pattern matching pour interroger les données RDF :
66
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Introduction
Présentation des données RDF en format tableau :
Un tableau RDF est utilisé pour structurer les données sous forme
de triplets (sujet, prédicat, objet). Voici un exemple de données
RDF sous forme tabulaire :
67
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Introduction
Présentation des relations RDF :
Le tableau RDF est enrichi par l'ajout d'une colonne filleDe, qui établit une
relation entre les entités. Par exemple, Rebecca Smith est identifiée
comme la fille de John Smith.
68
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une requête SPARQL
69
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Composants principaux :
[Link] :
Déclare les préfixes utilisés dans la requête pour simplifier l'écriture des URI.
2. SELECT [variables] :
Liste les variables à extraire dans le résultat.
3. WHERE { [patterns] } :
Définit les conditions ou modèles de triplets RDF (les données recherchées).
70
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Exemple: Rechercher toutes les personnes (URIs) et leurs noms à partir
des ressources liées par dc:nom et dc:prenom.
Requête SPARQL :
Résultat attendu :
71
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
PREFIX permet de déclarer les espaces de nom utilisés dans la
requête
72
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Clause WHERE dans SPARQL
Définition :
•La clause WHERE est le cœur d'une requête SPARQL.
•Elle est composée d’un ensemble de patterns (triplets RDF
avec des variables) dont la conjonction doit être satisfaite.
73
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Clause WHERE - Pattern
Définition :
•Un pattern est un triplet (ou un ensemble de triplets) contenant
des variables (préfixées par ?).
•Ces variables matérialisent les ressources, propriétés, ou valeurs
littérales à retourner.
Exemple de pattrn
74
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Clause WHERE –
Un pattern dans la clause WHERE désigne des triplets RDF
correspondant à des critères spécifiques.
75
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
BT: Base de triplet
76
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
BT: Base de triplet
77
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
BT: Base de triplet
78
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
BT: Base de triplet
79
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
BT: Base de triplet
80
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
BT: Base de triplet
81
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
BT: Base de triplet
82
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Clause WHERE - Éléments Optionnels avec FILTER
• FILTER permet d’ajouter des conditions à une requête SPARQL.
• S’applique à un motif de graphe pour restreindre les résultats.
• La position du FILTER dans la clause WHERE n’a pas d’importance.
Exemple :
Requête SPARQL pour filtrer
les personnes ayant plus de
18 ans :
83
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Clause WHERE (éléments optionnels)
84
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
85
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Clause WHERE (éléments optionnels)
• Permet de retourner toutes les
personnes ayant un prénom
(s:prenom).
• L’âge (s:age) est facultatif. Si une
personne n’a pas d’âge défini, la valeur
sera absente ou NULL dans les
résultats.
86
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Clause WHERE : UNION Exemple
•Définition :
Permet de satisfaire un motif OU un
autre dans une requête SPARQL.
•Caractéristiques principales :
[Link] résultats des deux motifs
peuvent être différenciés en utilisant
des variables distinctes.
2.L'opérateur UNION ne supprime
pas les doublons. Les résultats
identiques apparaîtront plusieurs fois
si présents dans les motifs.
87
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Structure d'une Requête SPARQL
Modifier la Séquence des Solutions
:
Les motifs dans une requête SPARQL génèrent une collection non
ordonnée de solutions. Ces solutions peuvent être converties en une
séquence grâce à des opérateurs spécifiques.
89
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
v Ontologie
Structure d'une Requête SPARQL
Modifier la Séquence des Solutions : OFFSET et LIMIT
•OFFSET n :
•Ignore les n premières solutions de la séquence.
•Un OFFSET 0 n’a aucun effet.
•LIMIT n :
•Limite le nombre de solutions retournées à un maximum de n.
Exemple
Requête pour récupérer au
maximum 5 solutions, en
commençant à partir de la 11ème
solution :
90
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
v Ontologie
Structure d'une Requête SPARQL
Modifier la Séquence des Solutions : DISTINCT
Exemple
Requête
Résultat
93
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
v Ontologie
Structure d'une Requête SPARQL
Base de triplets Question 2
les prénoms de toutes les personnes,
avec leurs noms uniquement s'ils
existent :
Requête
Résultat
94
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
v Ontologie
Structure d'une Requête SPARQL
Base de triplets Question 3
donner les personnes ayant
l'âge inférieur à 15
Requête
Résultat
95
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
v Ontologie
Structure d'une Requête SPARQL
Base de triplets Question 4
Donner les noms qui existent
dans cette base
Requête
Résultat
96
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
v Ontologie
Structure d'une Requête SPARQL
Base de triplets Question 1
Requête
Résultat
97
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Ontologie
Plan du cours
Définition d’une ontologie
Ontologie Vs Base de données
Composants d’une Ontologie
OWL Motivations
Les éléments OWL dans Protégé
Restrictions avec Protégé
Classes énumérée
Définitions logiques de classes
Axiomes de définition de classes
Raisonnements automatiques
98
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Définition d’une ontologie
99
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Ontologie Vs base de données
100
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Composants d’une Ontologie
101
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
OWL Motivations
102
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Les éléments OWL dans Protégé
103
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Les éléments OWL dans Protégé
104
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Les éléments OWL dans Protégé
105
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Relations de super-classe
106
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Relations entre classes
107
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Disjonction de classess
108
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Disjonction de classes
109
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
DatatypeProperty
110
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
ObjectProperties
111
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Range et Domain
112
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Domaines origine et arrivée
113
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Propriété “inverse”
114
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Propriété “transitive”
115
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Classes anonymes
116
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Restrictions avec Protégé
117
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Restrictions avec Protégé
118
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Restrictions avec Protégé
119
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Restrictions avec Protégé
120
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Restrictions avec Protégé
121
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Classes énumérée
122
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Définitions logiques de classes
123
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Axiomes de définition de classes
124
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Nécessaires ou suffisantes?
125
Introduction
Chapitre 4 : Web Sémantique RDF et RDFS
SPARQL
Ontologie
Raisonnements automatiques
126
Références
127