0% ont trouvé ce document utile (0 vote)
5 vues23 pages

Introduction à RDF-S et RDFS

Le document présente le RDF-S (Resource Description Framework Schema), un standard du W3C pour définir des vocabulaires RDF en organisant des classes et des propriétés. Il explique les concepts de graphes RDF, d'ontologies, ainsi que les différences entre RDF et RDFS, tout en introduisant des bibliothèques Python comme RDFLib pour manipuler des données RDF. Une activité pratique est également proposée pour modéliser des connaissances en utilisant RDF/RDFS.
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues23 pages

Introduction à RDF-S et RDFS

Le document présente le RDF-S (Resource Description Framework Schema), un standard du W3C pour définir des vocabulaires RDF en organisant des classes et des propriétés. Il explique les concepts de graphes RDF, d'ontologies, ainsi que les différences entre RDF et RDFS, tout en introduisant des bibliothèques Python comme RDFLib pour manipuler des données RDF. Une activité pratique est également proposée pour modéliser des connaissances en utilisant RDF/RDFS.
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

RDF-S: Ressource Description Framework-

Schema
UP Web

1
Introduction
Graphe RDF vs ontologie
Introduction à RDFS
Classes en RDFS
Propriétés en RDFS
Activité

2
Introduction

Place de RDF-S dans la pile des standards du WS:

3
Graphe RDF vs Ontologie

Graphe
RDF

Book Person

Is a Is a
Ontologie Book Author Edward
orientalism Said

11$ Orientalism
4
Introduction à RDFS

• Recommandation du W3C depuis 2004


• Permet de définir des vocabulaires RDF, en nommant :
✓ des classes
✓ des relations de sous-classe
✓ des relations de sous-propriété
✓ le typage des prédicats : domaine, co-domaine, …
• Permet de définir une organisation hiérarchique des classes et des propriétés
• RDFS est donc un premier langage de définition d’ontologie
• RDFS a une expressivité réduite, permet des inférences simples (par rapport à d’autres
langage de définition d’ontologie comme OWL), mais trop d’expressivité n’est pas forcément
une qualité ...
➔ Ainsi RDFS étend RDF à la description d’ontologies (légères)

5
Classes en RDFS

• Ressources et classes :
✓ Les ressources peuvent être « rangées » dans des classes

• Déclarations :
✓ d’une ressource comme classe : propriété rdfs:Class

Livre

Rdf:type

Orientalism

6
Sous Classe en RDFS
• Une classe peut être sous-classe d’une ou plusieurs classes :
• On utilise la propriété rdfs:subClassOf pour exprimer qu’une classe est
sous-classe d’une autre classe
• Si C sous-classe de C’ alors toutes les instances de C sont instances
de C’

Document

Rdfs:subclassOf

Livre

Rdf:type

Orientalism

7
Définitions de classes et propriétés en RDFS

Par rapport à la définition de classes et propriétés d’un langage de POO comme Java :
• RDFS opte pour une approche centrée sur les propriétés :
✓ au lieu de définir des classes en donnant leurs propriétés, on définit des propriétés en
donnant leur domaine et co-domaine
• Exemple :
✓ en Java : « la classe eg:Document a un attribut eg:author de type eg:Person ».
✓ en RDFS : « la propriété eg:author a pour domaine la classe eg:Document, et pour co-
domaine la classe eg:Person »
• Une ressource peut être instance de plusieurs classes (plusieurs rdf :type pour une même
ressources)

8
Définitions de classes et propriétés en RDFS

Document Personne

Rdfs:subclassOf Rdfs:subclassOf

Livre Auteur

Rdf:type Rdf:type

:auteur
Orientalism Edward Said

• Domaine: Document
• Co-domaine ou range: Personne

9
RDFS vs RDF
Personne
Document

rdfs:subclassOf rdfs:subclassOf

Livre Auteur
Rdfs

Rdf:type rdf:type

Rdf

10
Code RDF

11
Code RDFS
<rdfs:class rdf:ID=‘Document’>
<rdfs:class rdf:ID=‘Personne’>
<rdfs:class rdf:ID=‘Livre’>
<rdfs:subclassOf rdf:ressource=‘Document’>
</rdfs:class>
<rdfs:class rdf:ID=‘Auteur’>
<rdfs:subclassOf rdf:ressource=‘Personne’>
</rdfs:class>
<rdf:Property rdf:ID=‘Title’>
<rdfs:domain rdf:resource=‘Document’/>
<rdfs:range rdf:resource=‘[Link]
</rdf:Property>
<rdf:Property rdf:ID=‘Creator’>
<rdfs:domain rdf:resource=‘Document’/>
<rdfs:range rdf:resource=‘Personne’/>
</rdf:Property>
<rdf:Property rdf:ID=‘Name’>
<rdfs:domain rdf:resource=‘Personne’/>
<rdfs:range rdf:resource=‘[Link]
</rdf:Property>
<rdf:Property rdf:ID=‘FirstName’>
<rdfs:domain rdf:resource=‘Personne’/>
<rdfs:range rdf:resource=‘[Link]
</rdf:Property>
<rdf:Property rdf:ID=‘Son’>
<rdfs:domain rdf:resource=‘Personne’/>
<rdfs:range rdf:resource=‘Personne’/> 12
</rdf:Property>
Classes RDF-RDFS

13
Propriétés RDF-RDFS

14
Introduction aux Bibliothèques Python pour le Web
Sémantique

✓ Le web sémantique ne se limite pas à la théorie. Pour construire des applications, nous
avons besoin d'outils pratiques.
✓ Python, grâce à sa simplicité et son riche écosystème, est un excellent choix.
✓ Nous allons nous concentrer sur deux bibliothèques essentielles :
❑ RDFLib : Pour une manipulation de bas niveau des graphes RDF.
❑ Owlready2 : Pour une approche orientée objet des ontologies OWL.

15
RDFLib

✓ Rôle : Une bibliothèque pour travailler directement avec des données RDF.
✓ Fonctionnalités :
❑ Parser (analyser) et sérialiser (enregistrer) dans de nombreux formats (Turtle, XML,
JSON-LD...).
❑ Créer, modifier et parcourir des graphes RDF.
❑ Exécuter des requêtes SPARQL.
✓ Idéal pour : La manipulation de triplets, la conversion de formats et un contrôle fin sur la
structure RDF.

16
RDFLib: Fonctions Clés
✓ Pour installer RDFLib il faut lancer la commande: pip install rdflib
✓ Créer un Graphe

✓ Charger des données

✓ Ajouter des triplets

17
RDFLib: Fonctions Clés
✓ Sérialiser le graphe

✓ La Fonction [Link]()
❑ Rôle : Elle permet de définir un raccourci (un préfixe) pour un long URI d'Espace de Noms
(Namespace).
❑ Syntaxe : [Link](préfixe, URI_espace_nom)
❑ Utilité : C'est essentiel pour la lisibilité lors de la sérialisation de votre graphe (par exemple en
Turtle ou RDF/XML). Au lieu d'écrire des URI complets partout, on utilise le préfixe.

18
RDFLib: Fonctions Clés

✓ La Classe URIRef
❑ Rôle : Représente une ressource dans le graphe RDF dont l'identité est une URI (Uniform
Resource Identifier) exacte. C'est l'équivalent d'un nœud nommé.

❑ Dans le Triplet (S, P, O) :


▪ Un URIRef peut être le Sujet (S).
▪ Un URIRef est toujours le Prédicat (P).
▪ Un URIRef peut être l'Objet (O).

❑ Types de Ressources : Cela représente des entités concrètes (une personne, une adresse,
un livre) ou des propriétés/relations.

19
RDFLib: Fonctions Clés

✓ La Classe URIRef
❑ Rôle : Représente une ressource dans le graphe RDF dont l'identité est une URI (Uniform
Resource Identifier) exacte. C'est l'équivalent d'un nœud nommé.

❑ Dans le Triplet (S, P, O) :


▪ Un URIRef peut être le Sujet (S).
▪ Un URIRef est toujours le Prédicat (P).
▪ Un URIRef peut être l'Objet (O).

❑ Types de Ressources : Cela représente des entités concrètes (une personne, une adresse,
un livre) ou des propriétés/relations.

20
RDFLib: Fonctions Clés
✓ La Fonction [Link]()
❑ Rôle : Ajoute un triplet (Sujet, Prédicat, Objet) au graphe RDF (g).
❑ Format du Triplet : Le triplet est passé à la fonction comme un tuple Python de trois éléments
: (S, P, O).
▪ S (Sujet) : Généralement un URIRef (ou BNode).
▪ P (Prédicat) : Toujours un URIRef.
▪ O (Objet) : Un URIRef, un BNode, ou un Literal.
✓ Utilisation de Literal()
❑ Rôle : Représente la valeur de donnée (Objet) d'une propriété (ex: un nom, une date, un
nombre).
❑ Types de Données : Literal gère automatiquement le typage des données Python (chaîne,
entier, flottant, booléen, etc.).

21
Activité

Créer un programme Python utilisant RDFLib pour modéliser les connaissances suivantes en
RDF/RDFS et afficher le graphe résultant au format Turtle.
Connaissances à Modéliser :
✓ Informations individuelles (RDF) :
✓ Pierre a 30 ans.
✓ Pierre connaît Marie.
✓ Informations de typage (RDF/RDFS) :
✓ Pierre est un Étudiant.
✓ Marie est une Étudiante.
✓ Informations de hiérarchie (RDFS) :
La classe Étudiant est une sous-classe (subClassOf) de la classe Adulte.
Consignes de Codage :
✓ Initialisation : Créer un nouveau graphe RDFLib et définir un espace de noms (Namespace)
personnalisé pour votre vocabulaire (par exemple, ex:) ainsi que les préfixes standards rdf: et
rdfs:.
✓ Modélisation : Utiliser les fonctions URIRef(), Literal(), [Link], et [Link] pour
insérer tous les triplets.
✓ Affichage : Afficher le contenu complet du graphe résultant au format Turtle (ttl).

22
Merci de votre attention

23

Vous aimerez peut-être aussi