Académique Documents
Professionnel Documents
Culture Documents
Hicham BEHJA
Introduction
RDFS : RDF Schema
Officiellement : “RDF Vocabulary Description Language”
2
Introduction
RDF : modèle de triplets pour annoter des
ressources
RDFS: décrit le vocabulaire (ontologies) utilisé pour
ces annotations
3
RDF Schema ou RDFS est utilisé pour modéliser des
données au format RDF
5
Exemple:
Système d'implication RDFS
Un chien est un animal
Le chat1 est un chat
Les chats sont des animaux
Les zoos hébergent
uniquement des animaux
Le zoo1 héberge le chat2
7
Introduction
RDFS permet de :
– Nommer les relations qui existent entre ces classes
8
Introduction
RDFS permet de :
– Concevoir une taxonomie d'une ontologie
9
RDFS vs POO
RDFS utilise un système de classes et propriétés similaire
à ce qui se fait dans la programmation orientée objet
11
1ère proposition : 1999
1ère recommandation : 2004
12
RDF permet d’affecter un type à une ressource,
mais sans le décrire (le type)
13
<?xml version="1.0"?>
<rdf:RDF xmlns:per="http://www.person.com/Vocabulary#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://www.kws.ma/staff#alaoui.med">
<per:aNom>ALAOUI Mohamed</per:aNom>
<per:ageDe>25</per:ageDe>
<per:travailleA>
<rdf:Description rdf:about ="http://www.kws.ma">
<rdf:type
rdf:resource="http://www.person.com/Vocabulary#organisme" />
</rdf:Description>
</per:travailleA>
<per:possèdePagePerso>
<rdf:Description rdf:about ="http://www.facebook.com/med.alaoui">
<rdf:type
rdf:resource="http://www.person.com/Vocabulary#pagePerso" />
</rdf:Description>
</per:possèdePagePerso>
</rdf:Description> 14
Classes et propriétés
En RDFS, tout est ressource.
Parmi les ressources il y a en particulier :
– des classes de ressources
qui représentent des types de ressources,
des ensembles de ressources
– des propriétés
qui représentent des types de relations,
des ensembles de relations possibles entre les ressources.
15
Classes et propriétés
Parmi les relations il y a en particulier :
– la relation de typage (instanciation)
pour dire qu’une ressource/relation est d'un certain
type.
– la relation de sous-type (subsomption)
pour dire qu’une classe/propriété est sous classe
/propriété d’une autre et que ses instances sont aussi
instances de l’autre.
16
Classes et propriétés
17
Classes et propriétés
18
Classes et propriétés
class animal
class mâle, femelle, humain
subClassOf Animal
19
Classes et propriétés
property hasParent
domain Animal
range Animal
Animal hasParent Animal
property hasMother
domain Aminal
range Female
subPropertyOf hasParent
Animal hasMother Female
20
Exemple vocabulaire: RDFS
<rdf:RDF xml:base ="http://inria.fr/2005/humans.rdfs"
xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns ="http://www.w3.org/2000/01/rdf-schema#>
<Class rdf:ID="Man">
<subClassOf rdf:resource="#Person"/>
<subClassOf rdf:resource="#Male"/>
<label xml:lang="en">man</label>
<comment xml:lang="en">an adult male person</comment>
</Class>
<rdf:Property rdf:ID="hasMother">
<subPropertyOf rdf:resource="#hasParent"/>
<range rdf:resource="#Female"/>
<domain rdf:resource="#Animal"/>
<label xml:lang="en">has for mother</label>
<comment xml:lang="en">to have for parent a female.</comment>
</rdf:Property>
21
Exemple vocabulaire:
Annotation RDF
<Man rdf:ID="Harry">
<name>Harry</name>
<hasChild rdf:resource="#John"/>
<hasSpouse rdf:resource="#Sophie"/>
</Man>
<Person rdf:about="#John">
<hasParent rdf:resource="#Sophie"/>
</Person>
<Person rdf:ID="David">
<rdf:type rdf:resource="&humans;#Researcher"/>
<hasFriend rdf:resource="#Gaston"/>
<name>David</name>
</Person>
22
RDFS utilise un système de classes et propriétés
</rdf:RDF>
24
RDFS utilise un système de classes et propriétés
rdfs:class
25
RDFS utilise un système de classes et propriétés
rdfs:subClassOf
<rdfs:Class rdf:ID="Etre_Vivant" />
<rdfs:Class rdf:ID="Personne">
<rdfs:subClassOf rdf:resource = "Etre_Vivant" />
</rdfs:class>
26
RDFS : Sémantique et
inférence
IF (c2, subClassOf, c1)
AND (x, type, c2)
THEN (x, type, c1)
Type propagation
27
RDFS : Sémantique et
inférence
IF (c2, subClassOf, c1)
AND (c3, subClassOf, c2)
THEN (c3, subClassOf, c1)
subClass transitivity
28
RDFS utilise un système de classes et propriétés
rdf:property
<rdf:property rdf:ID="HasAuteur">
<rdfs:domain rdf:ressource = "Document" />
<rdfs:range rdf:ressource = "Personne" />
</rdf:property>
29
RDFS utilise un système de classes et propriétés
rdf:property
rdf:property
Exemple
rdf:property
Exemple
rdfs:subPropertyOf
<rdf:property rdf:ID="filsDe">
<rdfs:domain rdf:ressource = "Personne" />
<rdfs:range rdf:ressource = "Père" />
<rdfs:subPropertyOf rdf:ressource = "enfantDe" />
</rdf:property>
33
RDFS : Sémantique et
inférence
IF (p2, subPropertyOf, p1)
AND (x, p2 , y)
THEN (x, p1 , y)
Property propagation
34
RDFS : Sémantique et
inférence
IF (p2, subPropertyOf, p1)
AND (p3, subPropertyOf, p2)
THEN (p3, subPropertyOf, p1)
subProperty transitivity
35
RDFS utilise un système de classes et propriétés
rdfs:label
<rdfs:Class rdf:ID="Personne">
<rdfs:label xml:lang="fr">Classe Personne</rdfs:label>
<rdfs:label xml:lang="en">Person Class</rdfs:label>
<rdfs:label xml:lang="ar"><فئة األشخاص/rdfs:label>
</rdfs:class>
36
rdfs:label
Une ressource peut avoir un ou plusieurs
(labels) dans une ou plusieurs langues
naturelles.
– Utilisés pour fournir une version lisible du nom
d’une ressource.
<rdf:Property rdf:ID=‘name’>
<rdfs:domain rdf:resource='Person'/>
<rdfs:range rdf:resource=’&rdfs;Literal'/>
<rdfs:label xml:lang='fr'>nom</rdfs:label>
<rdfs:label xml:lang='fr'>nom de famille</rdfs:label>
<rdfs:label xml:lang='en'>name</rdfs:label>
</rdf:Property>
37
RDFS utilise un système de classes et propriétés
rdfs:comment
<rdfs:Class rdf:ID="Personne">
<rdfs:comment xml:lang="fr">
Ceci est un commentaire sur la classe Personne
</rdfs:comment>
</rdfs:class>
38
rdfs:comment
Les
commentaires (comment) sont utilisés pour
donner des définitions en langage naturel.
<rdfs:Class rdf:about=‘#Woman’>
<rdfs:subClassOf rdf:resource="#Person" />
<rdfs:comment xml:lang=‘fr’>une personne adulte du sexe
féminin</rdfs:comment>
<rdfs:comment xml:lang=‘en’>a female adult
person</rdfs:comment>
</rdfs:Class>
39
RDFS utilise un système de classes et propriétés
rdfs:seeAlso
<rdf:property rdf:ID="filsDe">
<rdfs:domain rdf:ressource = "Personne" />
<rdfs:range rdf:ressource = "Père" />
<rdfs:seeAlso
rdf:ressource = "http://www.person.com/fils.html" />
</rdf:property>
40
RDFS utilise un système de classes et propriétés
rdfs:isDefinedBy
Domain inference
42
RDFS : Sémantique et
inférence
IF (p1, range, c1)
AND (x, p1, y)
THEN (y, type, c1)
Range inference
43
RDFS : Sémantique et
inférence
Plus de sémantique RDFS
– http://www.w3.org/TR/rdf-mt/
44
Résumé RDF/RDFS – Classes
Class name Comment
rdfs:Resource The class resource, everything.
rdfs:Literal The class of literal values, e.g. textual strings and integers.
rdf:XMLLiteral The class of XML literals values.
rdfs:Class The class of classes.
rdf:Property The class of RDF properties.
rdfs:Datatype The class of RDF datatypes.
rdf:Statement The class of RDF statements.
rdf:Bag The class of unordered containers.