Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
RDF Resource Description Framework
2
Semantic Web World Wide Web Consortium : www.w3.org
Extension du Web actuel où l’information serait munie d’une signification (meaning) bien définie Pour faciliter le travail en coopération homme-machine Un Web de données et de documents
3
Semantic Web Évolution du Web pour permettre le traitement des informations par des programmes Documents et données structurés (XML) Associer sémantique (sens) aux données documents Partage ners-lee.html
4
Semantic Web : Vision W3C
W3C Semantic Web Stack
5
XML Extensible Markup Language
Langage de description et d’échange de : documents structurés données structurées Conçu par le World Wide Web Consortium (W3C)
6
XML Définit la structure (syntaxe) comme un arbre de syntaxe abstraite
Mais rien sur la signification, le sens : la sémantique La sémantique permet de définir la signification des balises, donc des informations. Contraint les traitements
7
XML <book> <author>John Maynard Keynes</author>
<title>General Theory of Employment …</title> .. </book>
8
XML <aaa> <bbb>John Maynard Keynes</bbb>
<ccc>General Theory of Employment …</ccc> .. </aaa> Définit une structure mais pas le sens
9
Sens <book> book a kind of Document
<author> Documents have an author, which is a Person, <title> a title which is a Literal
10
Sens Décrire le sens avec un certain consensus
En utilisant des vocabulaires standardisés : ontologie
11
RDF Resource Description Framework
Langage pour représenter des informations sur les ressources du Web sur des entités qui peuvent être identifiées sur le Web Traitement des informations, pas seulement la consultation Modèle + Format d’échange RDF/XML
12
RDF URI Décrire des ressources physiques ou numériques avec des URI
Uniform Resource Identifier ftp://ftp-sop.inria.fr
13
RDF Décrire les entités avec Construire un graphe:
des propriétés et des valeurs de propriétés Construire un graphe: ressources, propriétés et valeurs
14
RDF et RDF Schema RDF sert à annoter des ressources pour décrire le contenu Ces descriptions reposent sur un vocabulaire partagé : une ontologie RDF Vocabulary Description Language 1.0: RDF Schema W3C Proposed Recommendation Décembre
15
RDF : 6 documents RDF Primer RDF Concepts and Abstract Data Model
RDF/XML Syntax Specification (Revised) RDF Schema RDF Semantics RDF Test Cases
16
RDF Schema Classes de ressource et Propriétés
Relation de spécialisation Syntaxe XML Propriétés sont entités à part entière, comme les classes et les instances.
17
Pourquoi les propriétés ?
Car le Web est un réseau où tout le monde peut participer Une classe n'est pas définie entièrement localement Elle peut être réutilisée et complétée par ailleurs : on peut donc définir de nouvelles propriétés sur une classe Web based design vs Top down
18
Modèle RDF RDF repose sur un modèle de triplet :
resource propriété valeur appelés respectivement : resource property value Les valeurs sont : des ressources, des littéraux (valeurs atomiques)
19
Modèle RDF (2) Ressource Propriété Valeur
c:log ns:titre ‘Modélisation des connaissances’ c:log11 ns:auteur ns:o.corby
20
Modèle RDF (3) Une ressource (e.g. document ou fragment de document) est désignée par un URI URI : Uniform Resource Idendifier Peut être accessible par URI Resource : Property : Value : ‘Modélisation des connaissances’ Noté : c:log11 ns:titre ‘Modélisation des connaissances’
21
RDF : syntaxe XML <rdf:Description rdf:about=‘ <titre>Modélisation des connaissances</titre> <auteur> <rdf:Description rdf:about=‘ <nom>Olivier Corby</nom> </rdf:Description> </auteur>
22
“Modélisation des connaissances”
Graphe RDF titre c:Log11 “Modélisation des connaissances” auteur nom ns:o.corby “Olivier Corby”
23
Syntaxe RDF/XML <rdf:Description rdf:about=‘ <titre>Modélisation des connaissances</titre> <auteur rdf:resource=‘ /> </rdf:Description> <rdf:Description rdf:about=‘ <nom>Olivier Corby</nom>
24
Typage de ressource Log11 est un Cours :
<rdf:Description rdf:about=‘ <rdf:type rdf:resource=‘ /> <titre>Modélisation des connaissances</titre> <auteur rdf:resource=‘ /> </rdf:Description> La référence à Cours en tant que classe suffit à lui donner une existence.
25
Typage de ressource o.corby est une Personne :
<rdf:Description rdf:about=‘ <rdf:type rdf:resource=‘ /> <nom>Olivier Corby</nom> </rdf:Description>
26
Autre syntaxe du typage
Types indiqués dans les balises : <Cours rdf:about=‘ <titre>Modélisation des connaissances</titre> <auteur> <Personne rdf:about=‘ <nom>Olivier Corby</nom> <Personne> </auteur> </Cours>
27
Ressource anonyme Ressource intermédiaire non identifiée (sans URI)
Sémantique existentielle : il existe une ressource <ns:Cours> <ns:auteur> <ns:Personne> <ns:nom>Olivier Corby</ns:nom> </ns:Personne> </ns:auteur> </ns:Cours>
28
Datatype Les littéraux standards sont des chaînes de caractères
Pour typer les valeurs litérales, RDF repose sur les datatypes de XML Schema xmlns:xsd=‘ xsd:integer xsd:float xsd:string xsd:dateTime xsd:boolean rdf:XMLLiteral rdfs:Literal
29
RDF Datatype Chaque littéral porte son datatype :
<!ENTITY xsd ” > <c:Person> <c:age rdf:datatype=‘&xsd;integer’>43</c:age> </c:Person>
30
RDF Datatype Notation en triplet : c:id1 c:age “43”^^xsd:integer
31
RDF Datatype <!ENTITY xsd ”http://www.w3.org/2001/XMLSchema#” >
<c:Person> <c:age rdf:datatype=‘&xsd;integer’>43</c:age> <c:date rdf:datatype=‘&xsd;dateTime’> </c:date> <c:name rdf:datatype=‘&xsd;string’>Laurent</c:name> </c:Person>
32
RDF Datatype “Olivier” “Olivier”^^xsd:string
33
XML language xml:lang <Book>
<title xml:lang=‘en’>Theory of Justice</title> <title xml:lang=‘fr’>Théorie de la justice</title> </Book>
34
XML language xml:lang En triplet :
c:book c:title “Theory of Attention : littéraux avec langue et sans langue diffèrent : “Theory of Justice” != “Theory of != “Theory of != “Theory of Justice”^^xsd:string
35
Traits avancés Modularité Subsomption, multi instantiation Conteneurs
36
Namespace Pour modulariser les schemas :
À un schema est associé un nom symbolique: un URI Les balises issues du schema sont préfixées par cet URI, appelé namespace
37
Namespace (2) <rdf:Description xmlns:ns=‘ > <ns:titre>Modélisation des connaissances </ns:titre>
38
Exemple <rdf:Description rdf:about=‘http://www.essi.fr/cours/log11’
xmlns:ns=‘ xmlns:rdf=‘ syntax-ns#’> <rdf:type rdf:resource=‘#Cours'/> <ns:titre>Modélisation des connaissances </ns:titre> <ns:num>Log11</ns:num>
39
Collection Quand la valeur d’une propriété est une collection de valeurs : <rdf:Description rdf:about=‘ <ns:staff> <rdf:Bag> <rdf:li>Olivier Corby</rdf:li> <rdf:li>Fabien Gandon</rdf:li> <rdf:li>Alain Giboin</rdf:li> </rdf:Bag> </ns:staff> </rdf:Description>
40
Collection rdf:li engendre rdf:_i _:a rdf:_1 “Olivier Corby”
_:a rdf:_2 “Fabien Gandon” _:a rdf:_3 “Alain Giboin”
41
Conteneurs (2) rdfs:Container rdf:Bag : collection
rdf:Seq : séquence ordonnée rdf:Alt : alternative. Liste de valeurs possibles pour la propriété Ils peut y avoir duplication de valeurs
42
Liste <ex:Group> <ex:members rdf:parseType=‘Collection’>
<ex:Person rdf:about=‘#JohnDoe’/> <ex:Person rdf:about=‘#MisterX’/> </ex:members> </ex:Group>
43
Liste Engendre une liste à la lisp : (JohnDoe (MisterX (NIL)))
44
Liste <ex:Group> <ex:members> <rdf:List>
<rdf:first rdf:resource=‘#JohnDoe’ /> <rdf:rest> <rdf:first rdf:resource=‘#MisterX’ > <rdf:rest rdf:resource=‘&rdf;nil’/> </rdf:List> </rdf:rest> </ex:members> </ex:Group>
45
Liste engendrée _:a rdf:type rdf:List _:a rdf:first #JohnDoe
_:a rdf:rest _:b _:b rdf:first #MisterX _:b rdf:rest rdf:nil
46
Relation n-aire Les propriétés RDF sont des relations binaires
Pour décrire une relation n-aire, utiliser une ressource anonyme : <ns:Mobile> <ns:vitesse rdf:parseType=‘Resource’> <rdf:value>130</rdf:value> <ns:unit>km/h</ns:unit> </ns:vitesse> </ns:Mobile>
47
Relation n-aire <ns:Mobile> <ns:vitesse>
<rdf:Description> <rdf:value>130</rdf:value> <ns:unit>km/h</ns:unit> </rdf:Description> </ns:vitesse> </ns:Mobile>
48
Relation n-aire La relation est réifiée par une ressource anonyme _:j
_:i rdf:type ex:Mobile _:i ns:vitesse _:j _:j rdf:value 130 _:j ns:unit km/h
49
Réification par Statement
Considérer un triplet comme une ressource Décrire cette ressource Un triplet est réifié (considéré comme un objet) par un Statement _:s rdf:type rdf:Statement _:s rdf:subject ex:log11 _:s rdf:predicate ex:prof _:s rdf:object ex:o.corby ex:john.doe ex:say _:s
50
RDF/a : Intégrer RDF dans HTML
<html xmlns:cal=" xmlns:contact=" ... <p class="cal:Vevent" about="#xtech_conference_talk"> I'm giving <span property="cal:summary"> a talk at the XTech Conference about web widgets </span>, on <span property="cal:dtstart" content=" T "> May 8th at 10am </span>. </p>
51
RDF/a : triples < rdf:type cal:Vevent; cal:summary "a talk at the XTech Conference about web widgets " ; cal:dtstart " T " .
52
Sémantique Tous les énoncés RDF sont considérés comme vrais, dans un même environnement, la conjonction des énoncés est considérée comme vrai également Il n’y a pas de contexte local (dans lequel quelque chose serait vrai) Il n’y a pas de négation RDF est monotone : ce qui est vrai, et ce que l’on peut déduire, reste vrai au fur et à mesure que l’on rajoute de l’information RDF est un sous-ensemble de la logique du premier ordre avec des prédicats binaires, la conjonction et des variables existentielles.
53
Interprétation I d’un vocabulaire V
1. A non-empty set IR of resources, called the domain of I. 2. A set IP, called the set of properties of I. 3. A mapping IEXT from IP into the powerset of IR x IR i.e. the set of sets of pairs <x,y> with x and y in IR . 4. A mapping IS from URI references in V into (IR union IP) 5. A mapping IL from typed literals in V into IR. 6. A distinguished subset LV of IR, called the set of literal values, which contains all the plain literals in V
54
Interprétation d’un énoncé E
if E is a plain literal "aaa" in V then I(E) = aaa if E is a plain literal in V then I(E) = <aaa, ttt> if E is a typed literal in V then I(E) = IL(E) if E is a URI reference in V then I(E) = IS(E) if E is a ground triple s p o. then I(E) = true if s, p and o are in V, I(p) is in IP and <I(s),I(o)> is in IEXT(I(p)) otherwise I(E)= false. if E is a ground RDF graph then I(E) = false if I(E') = false for some triple E' in E, otherwise I(E) =true.
55
Interprétation d’un énoncé E
If E is a blank node and A(E) is defined then [I+A](E) = A(E) If E is an RDF graph then I(E) = true if [I+A](E) = true for some mapping A from blank(E) to IR, otherwise I(E)= false.
56
Entailment I satisfies E if I(E)=true
a set S of RDF graphs entails a graph E if every interpretation which satisfies every member of S also satisfies E
57
Entailment Instance Lemma :
A graph is entailed by any of its instances Interpolation Lemma : S entails a graph E if and only if a subgraph of S is an instance of E
58
RDF Schema RDF Schema Vocabulary
59
RDF Schema Classes de ressources Propriétés sur ces ressources
60
RDF Schema La ressource est un cours, un cours a des enseignants,
l’enseignant est un chercheur de l'INRIA, etc.
61
RDF/XML <rdf:Description rdf:about=‘ <rdf:type rdf:resource='#Cours'/> <titre>Modélisation des connaissances </titre> </rdf:Description> <rdfs:Class rdf:ID='Cours'/>
62
Classes ns:Cours rdf:type rdfs:Class ns:CoursDEA rdf:type rdfs:Class
ns:CoursDEA rdfs:subClassOf ns:Cours ns:CoursESSI rdfs:subClassOf ns:Cours
63
Classes <rdfs:Class rdf:ID='Cours'/>
<rdfs:Class rdf:ID='CoursDEA'> <rdfs:subClassOf rdf:resource='#Cours'/> </rdfs:Class> <rdfs:Class rdf:ID='CoursESSI'>
64
Classes <rdfs:Class rdf:ID='CoursCommun'>
<rdfs:subClassOf rdf:resource='#CoursDEA'/> <rdfs:subClassOf rdf:resource='#CoursESSI'/> </rdfs:Class>
65
Propriétés <rdf:Property rdf:ID='titre'>
<rdfs:domain rdf:resource='#Cours'/> <rdfs:range rdf:resource=’&rdfs;Literal’/> </rdf:Property>
66
Propriétés <rdf:Property rdf:ID= '#enseignant' >
<rdfs:domain rdf:resource='#Cours'/> <rdfs:range rdf:resource='#Personne'/> </rdf:Property> <rdf:Property rdf:ID='nom'> <rdfs:domain rdf:resource='#Personne'/> <rdfs:range rdf:resource='&xsd;string'/>
67
Classes <rdfs:Class rdf:ID='Personne'/>
<rdfs:Class rdf:ID='MaitreDeConf'> <rdfs:subClassOf rdf:resource='#Personne'/> </rdfs:Class> <rdfs:Class rdf:ID='Chercheur'>
68
Annotation <rdf:Description rdf:about=' <rdf:type rdf:resource='#Cours'/> <titre>Modélisation des connaissances</titre> <num>Log11</num> <enseignant> <Chercheur rdf:about=' <nom>Olivier Corby</nom> <institut>INRIA</institut> </Chercheur> </enseignant> </rdf:Description>
69
Subsomption Une classe peut spécialiser plusieurs classes
<rdfs:Class rdf:ID=‘EnseignantChercheur’> <rdfs:subClassOf rdf:resource=‘#Enseignant’/> <rdfs:subClassOf rdf:resource=‘#Chercheur’/> </rdfs:Class>
70
Multi instanciation Instance de plusieurs classes
<rdf:Description rdf:about=‘ <rdf:type rdf:resource=‘#Chercheur’/> <ns:institut>INRIA</ns:institut> <rdf:type rdf:resource=‘#Enseignant’/> <ns:etablissement>UNSA</ns:etablissement> </rdf:Description>
71
Plusieurs Schema Utiliser plusieurs schemas, grâce aux namespaces :
<rdf:Description xmlns:rdf=`&rdf;’ xmlns:ns=` xmlns:ex=` <ns:institut>INRIA</ns:institut> <ex:formation>UNSA</ex:formation> </rdf:Description>
72
Propriété : domaine Le domaine est la conjonction des domaines
<rdf:Property rdf:ID=‘vitesse’> <rdfs:domain rdf:resource=‘#Objet’/> <rdfs:domain rdf:resource=‘#Mobile’/> <rdfs:range rdf:resource=‘&rdfs;Literal’/> </rdf:Property>
73
Domaines ns:vitesse rdf:type rdf:Property
ns:vitesse rdfs:domain ns:Objet ns:vitesse rdfs:domain ns:Mobile ns:vitesse rdfs:range rdfs:Literal ex:car ns:vitesse “100” ex:car rdf:type ns:Objet ex:car rdf:type ns:Mobile
74
Sous-propriété Une propriété peut être spécialisée :
<rdf:Property rdf:ID='coordinateur'> <rdfs:subPropertyOf rdf:resource='#enseignant'/> </rdf:Property> ex:bob ns:coordinateur ex:cours Þ ex:bob ns:enseignant ex:cours
75
Sous propriété (2) <ns:Cours rdf:about=‘ <ns:coordinateur rdf:resource=‘ </ns:Cours> Þ <ns:Cours rdf:about=‘ <ns:enseignant rdf:resource=‘
76
Limitation de RDF Impossible de surcharger la signature d’une propriété pour la spécialiser Class Primate Class Man subClassOf Primate Class Chimpanzee subClassOf Primate <rdf:Property rdf:ID=‘child’> <rdfs:domain rdf:resource='#Primate'/> <rdfs:range rdf:resource='#Primate'/> </rdf:Property>
77
Raffinement impossible
La propriété child étant définie, il est impossible de la raffiner : <rdf:Property rdf:ID=‘child’> <rdfs:domain rdf:resource='#Man'/> <rdfs:range rdf:resource='#Man'/> </rdf:Property>
78
Solution en RDF Spécialiser la propriété :
<rdf:Property rdf:ID='manChild'> <rdfs:subPropertyOf rdf:resource='#child'/> <rdfs:domain rdf:resource='#Man'/> <rdfs:range rdf:resource='#Man'/> </rdf:Property> Ou utiliser les restrictions de OWL
79
Typage : domain Les règles de typage diffèrent des modèles objet traditionnels. L’utilisation d’une propriété sur une ressource entraine que la ressource soit du type indiqué par le domaine de la propriété ex:title rdfs:domain ex:Cours ex:log11 ex:title “Modélisation des connaissances” ex:log11 rdf:type ex:Cours
80
Typage : range Si une ressource est la valeur d’une propriété, la ressource est du type indiqué par le range de la propriété ex:enseignant rdfs:range ex:Person ex:log11 ex:enseignant ex:olivier ex:olivier rdf:type ex:Person
81
Typage : class Si une ressource a pour type C, alors C est une classe : rdf:type rdfs:range rdfs:Class ex:olivier rdf:type ex:Person ex:Person rdf:type rdfs:Class
82
Typage : class et subClass
ex:olivier rdf:type ex:Researcher ex:Researcher rdfs:subClassOf ex:Person ex:olivier rdf:type ex:Person
83
Documentation Pour documenter des énoncés RDF/S rdfs:label
rdfs:comment rdfs:isDefinedBy rdfs:seeAlso
84
Libellé Une ressource peut avoir plusieurs noms externes : labels
Peuvent être multilingues <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='en'>name</rdfs:label> </rdf:Property>
85
Définition Définition sous forme de texte en langue naturelle :
<rdfs:Class rdf:about=‘#Thing’> <rdfs:comment xml:lang=‘fr’>La racine de la hiérarchie des classes</rdfs:comment> <rdfs:comment xml:lang=‘en’>The root of the class hierarchy</rdfs:comment> </rdfs:Class>
86
Référence <rdfs:Class rdf:about=‘#Man’>
<rdfs:seeAlso rdf:resource=‘#Person’/> </rdfs:Class>
87
Meta modèle RDF Metamodèle RDF/S
88
Meta modèle RDF Modèle standard de bootstrap ObjVLisp
rdfs:Resource Classe racine de la hiérarchie de subsomption des classes, instance de rdfs:Class rdfs:Class La meta classe qui engendre des classes, instance d’elle même, sous-classe de rdfs:Resource rdfs:Resource rdf:type rdfs:Class rdfs:Class rdf:type rdfs:Class rdfs:Class rdfs:subClassOf rdfs:Resource
89
Meta modèle RDF rdf:Property La classe des propriétés
rdf:Property rdf:type rdfs:Class rdf:Property rdfs:subClassOf rdfs:Resource
90
Meta modèle RDF rdf:type La relation d’instanciation
rdf:type rdf:type rdf:Property rdfs:subClassOf relation de subsomption (de spécialisation) rdfs:subClassOf rdf:type rdf:Property
91
Meta modèle RDF rdfs:subPropertyOf relation de subsomption des propritétés (spécialisation) rdfs:subPropertyOf rdf:type rdf:Property
92
Extension du meta modèle RDF
ex:isa rdfs:subPropertyOf rdf:type ex:ma4l ex:isa ex:Car ex:extends rdfs:subPropertyOf rdfs:subClassOf ex:Car ex:extends ex:Mobile ex:Concept ex:extends rdfs:Class ex:Car ex:isa ex:Concept
93
Extension du meta modèle RDF
ex:Relation rdfs:subClassOf rdf:Property ex:hasDomain rdfs:subPropertyOf rdfs:domain ex:valueType rdfs:subPropertyOf rdfs:range ex:speed ex:isa ex:Relation ex:speed ex:hasDomain ex:Mobile ex:speed ex:valueType xsd:float
94
Exemple de Schema RDFS <rdfs:Class rdf:ID="Document">
<rdfs:subClassOf rdf:resource="#Entity"/> <rdfs:subClassOf rdf:resource="#EntityConcerningATopic"/> <rdfs:subClassOf rdf:resource="#NumberableEntity"/> <rdfs:comment xml:lang="en">Entity including elements serving as a representation of thinking.</rdfs:comment> <rdfs:comment xml:lang="fr">Entite comprenant des elements de representation de la pensee.</rdfs:comment> <rdfs:label xml:lang="en">document</rdfs:label> <rdfs:label xml:lang="fr">document</rdfs:label> </rdfs:Class>
95
Exemple (2) <rdf:Property rdf:ID="Designation">
<rdfs:subPropertyOf rdf:resource="#SomeRelation"/> <rdfs:range rdf:resource=”&rdfs;#Literal"/> <rdfs:domain rdf:resource="#Something"/> <rdfs:comment xml:lang="en">Identifying word or words by which a thing is called and classified or distinguished from others.</rdfs:comment> <rdfs:comment xml:lang="fr">Identifiant le ou les mots par lesquels une chose s appelle et est classifiee ou distinguee des autres.</rdfs:comment> <rdfs:label xml:lang="en">designation</rdfs:label> <rdfs:label xml:lang="fr">designation</rdfs:label> </rdf:Property>
96
Exemple (3) <c:ResearchReport rdf:about=” <c:title>Modèles Génériques de Gestion de Conflits dans la Conception Concourante</c:title> <c:CreatedBy> <c:Person rdf:about=” <c:FirstName>Nada</c:FirstName> <c:FamilyName>Matta</c:FamilyName></c:Person> </c:CreatedBy> <c:CreatedBy> <c:Person rdf:about=" <c:FirstName>Olivier</c:FirstName> <c:FamilyName>Corby</c:FamilyName></c:Person> </c:CreatedBy>
97
Exemple (3) <c:CreationDate> </c:CreationDate> <c:CreatedBy> <c:ProjectGroup rdf:about=" <c:Designation>Acacia</c:Designation> </c:ProjectGroup> </c:CreatedBy> </c:ResearchReport>
98
Exemples RDF Répertoire de schema : http://www.schemaweb.info/
W3C CC/PP Composite Capability/Preference Profiles RSS 1.0 : Site Syndication Dublin Core Adobe XMP extensible metadata platform Topic Map en RDF
99
Exemples RDF PRISM : Publishing Requirements for Industry Standard Metadata Gene Ontology RDF binding IEEE LOM Learning Object Metadata Ontology Development Metamodel Binding UML RDF OWL :
100
Futur de RDF RDF Query : SPARQL RDF Rules : RIF
101
Moteurs RDF Jena : HP Lab
Sesame : Java middleware, Aidministrator Nederland ICS-FORTH RDF Suite : BD, RDF Query Language CWM Corese : INRIA Redland RDF framework (C )
102
Bibliographie www.w3.org/XML www.w3.org/RDF http://www.w3.org/2001/sw/
Méthodes et outils pour la gestion des connaissances, R. Dieng et. al. Dunod
103
Bibliographie Action Web sémantique CNRS Bulletin AFIA avril
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.