Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMaude Faucher Modifié depuis plus de 9 années
1
Chapitre 3 Description des ressources web en RDF
Grigoris Antoniou Frank van Harmelen Chapter 3 A Semantic Web Primer
2
Sommaire Fondements de RDF Syntaxe de base XML de RDF
Principes de RDF Schema Langage RDF Schema Espaces de noms en RDF et RDF Schema Sémantique axiomatique de RDF et RDFS Sémantique directe basée sur les règles d'inférence Requête de documents RDF/RDFS utilisant RQL Chapter 3 A Semantic Web Primer
3
Inconvénients de XML XML est un métalangage universel servant au balisage Il propose un cadre uniforme pour l'échange de données et métadonnées entre applications Cependant, XML n'offre aucun moyen d'aborder la sémantique des données Par ex., il n'existe aucune signification voulue associée à l'emboîtage des balises chaque application doit interpréter l'emboîtage Chapter 3 A Semantic Web Primer
4
Emboîtage des balises en XML
David Billington est professeur de mathématiques discrètes <nom cours="Discrete Maths"> <lecteur>David Billington</lecteur> </cours> <lecteur nom="David Billington"> <professe>Discrete Maths</professe> </lecteur> Emboîtage opposé, information identique! Chapter 3 A Semantic Web Primer
5
Fondements de RDF Bloc de base: triplet objet-attribut-valeur
On l'appelle déclaration La phrase au sujet de Billington est une déclaration de ce type RDF est rédigé en syntaxe XML Cette syntaxe bénéficie des avantages XML D'autres représentations syntaxiques de RDF sont possibles Chapter 3 A Semantic Web Primer
6
Fondements de RDF (2) Principes de RDF Ressources Propriétés
Déclarations Chapter 3 A Semantic Web Primer
7
Ressources On peut considérer une ressource comme un objet, c'est-à-dire la "chose" dont on veut parler Par ex. auteurs, livres, éditeurs, lieux, gens, hôtels Toute ressource a un URI, Universal Resource Identifier (identificateur de ressource universel) Un URI peut être un URL (adresse web) ou tout autre genre d'identificateur unique Chapter 3 A Semantic Web Primer
8
Propriétés Les propriétés sont un genre spécial de ressources
Elles décrivent les relations entre ressources par ex. "écrit par", "âge", "titre", etc. Les propriétés sont aussi identifiées par des URI Avantages liés à l'utilisations des URI: Système de notation global, mondial et unique Réduit les problèmes d'homonymie dans la représentation des données distribuées Chapter 3 A Semantic Web Primer
9
Déclarations Les déclarations affirment les propriétés des ressources
Une déclaration est un triplet objet-attribut-valeur elle comprend donc une ressource, une propriété et une valeur Les valeurs peuvent être des ressources ou des littéraux les littéraux sont des valeurs insécables (chaînes) Chapter 3 A Semantic Web Primer
10
Trois aspects d'une déclaration
Triplet Portion de graphe Partie de code XML Un document RDF peut donc se voir comme : Un jeu de triplets Un graphe (réseau sémantique) Un document XML Chapter 3 A Semantic Web Primer
11
Déclarations sous forme de triplet
(“David Billington”, Le triplet (x,P,y) peut être considéré comme une formule logique P(x,y) le prédicat binaire P relie l'objet x à l'objet y RDF propose uniquement des prédicats binaires (propriétés) Chapter 3 A Semantic Web Primer
12
Vocabulaires XML Graphe orienté avec noeuds et arcs
David Billington Propriétaire du site Graphe orienté avec noeuds et arcs au départ de la ressource (le sujet de la déclaration) vers la valeur (l'objet de la déclaration) Connu dans AI comme un réseau sémantique La valeur d'une déclaration peut être une ressource elle peut-être reliée à une autre ressource Chapter 3 A Semantic Web Primer
13
Jeu de triplets servant de réseau sémantique
David Billington Propriétaire du site Propriétaire du site Andrew Rock Chapter 3 A Semantic Web Primer
14
Déclarations en syntaxe XML
Les graphes sont un outil puissant pour la compréhension humaine mais La vision du web sémantique nécessite des représentations accessibles et traitables par la machine Il existe une troisième représentation sur base de XML mais XML ne fait pas partie du modèle de données RDF par ex. la sérialisation de XML n'est pas pertinente pour RDF Chapter 3 A Semantic Web Primer
15
Déclarations en XML (2) <rdf:RDF
xmlns:rdf=" xmlns:mydomain=" <rdf:Description rdf:about=" <mydomain:site-owner> David Billington </mydomain:site-owner> </rdf:Description> </rdf:RDF> Chapter 3 A Semantic Web Primer
16
Déclarations en XML (3) Un document RDF se représente par un élément XML avec la balise rdf:RDF Le contenu de cet élément compte plusieurs descriptions qui utilisent les balises rdf:Description Chaque description fait état d'une ressource, identifiée de trois manières: un attribut about faisant référence à une ressource existante un attribut ID créant une nouvelle ressource sans nom, créant une ressource anonyme Chapter 3 A Semantic Web Primer
17
Déclarations en XML (4) L'élément rdf:Description fait état de la ressource Dans la description la propriété est utilisée comme balise le contenu est la valeur de la propriété Chapter 3 A Semantic Web Primer
18
Réification En RDF on peut faire des déclarations à propos d'autres déclarations Grigoris croit que David Billington est le créateur de Ces déclarations peuvent servir à décrire la validité ou fiabilité dans d'autres déclarations La solution est d'affecter un identificateur unique à chaque déclaration on peut l'utiliser comme référence à la déclaration Chapter 3 A Semantic Web Primer
19
Une Réification (2) Introduit un objet auxiliaire (par ex. belief1)
Le relie à chacune des trois parties de la déclaration d'origine via les propriétés sujet, prédicat et objet Dans l'exemple précédent sujet de belief1 est David Billington prédicat de belief1 est créateur objet de belief1 est Chapter 3 A Semantic Web Primer
20
Types de données Les types de données sont utilisés dans les langages de programmation pour permettre l'interprétation En RDF, on utilise éventuellement des littéraux typés (“David Billington”, “27”^^ Chapter 3 A Semantic Web Primer
21
Types de données (2) ^^- indique le type du littéral
En pratique, le schéma de type de données le plus courant provient de XML Schema mais l'utilisation de n'importe quel schéma externe est autorisé dans les documents RDF XML Schema prédéfinit de nombreux types de données par ex. booléens, entiers, nombres à virgule flottante, heures, dates, etc. Chapter 3 A Semantic Web Primer
22
RDF soumis à la critique: prédicats binaires
RDF n'utilise que des propriétés binaires cette restriction est due à l'usage fréquent de prédicats à plus de deux arguments mais les prédicats binaires peuvent les simuler Exemple: arbitre(X,Y,Z) X est l'arbitre d'une partie d'échecs entre les joueurs Y et Z Chapter 3 A Semantic Web Primer
23
RDF soumis à la critique: prédicats binaires (2)
On pose: une nouvelle ressource auxiliaire chessGame les prédicats binaires ref, player1 et player2 On peut représenter l'arbitre referee(X,Y,Z) par: X Arbitre Jeu d’échec Joueur1 Y Joueur2 Z Chapter 3 A Semantic Web Primer
24
RDF soumis à la critique: propriétés
Les propriétés sont une sorte particulière de ressources les propriétés peuvent s'utiliser comme objet dans le triplet objet-attribut-valeur (déclaration) elles sont par définition indépendantes des ressources Possibilité offrant de la souplesse Inhabituelles cependant pour les langages de modélisation et de programmation OO Peuvent entraîner une certaine confusion pour les modélisateurs Chapter 3 A Semantic Web Primer
25
RDF soumis à la critique: réification
La réification est un processus très puissant Il semble peu à sa place dans un langage simple comme RDF Faire des déclarations à propos de déclarations introduit un niveau de complexité superflue pour une couche de base du web sémantique Il aurait semblé plus naturel au contraire de l'inclure dans des couches plus puissantes offrant plus de possibilités de représentation Chapter 3 A Semantic Web Primer
26
RDF soumis à la critique: récapitulation
RDF a des limitations inhérentes et n'est pas un langage de modélisation optimal mais Il est déjà un standard dans les faits Sa puissance d'expression est suffisante tout au moins pour y poser plusieurs couches L'utilisation de RDF présente l'avantage que l'information s'applique sans ambiguïté à un modèle Chapter 3 A Semantic Web Primer
27
Sommaire Fondement de RDF Syntaxe de base XML de RDF
Principes de RDF Schema Langage RDF Schema Espaces de noms en RDF et RDF Schema Sémantique axiomatique de RDF et RDFS Sémantique directe basée sur les règles d'inférence Requête de documents RDF/RDFS utilisant RQL Chapter 3 A Semantic Web Primer
28
Syntaxe de base XML de RDF
Un document RDF comprend un élément rdf:RDF le contenu de cet élément correspond à plusieurs descriptions On utilise un mécanisme d'espaces de noms lève les ambiguïtés les espaces de noms sont supposés être des documents RDF définissant des ressources réutilisables grandes collections distribuées de connaissances Chapter 3 A Semantic Web Primer
29
Exemple des cours universitaires
<rdf:RDF xmlns:rdf=" xmlns:xsd=" xmlns:uni=" <rdf:Description rdf:about="949318"> <uni:nom>David Billington</uni:nom> <uni:titre>Associate Professor</uni:titre> <uni:age rdf:datatype="&xsd:integer">27<uni:age> </rdf:Description> Chapter 3 A Semantic Web Primer
30
Exemple de cours universitaires (2)
<rdf:Description rdf:about="CIT1111"> <uni:nomcours>Discrete Maths</uni:nomcours> <uni:isTaughtBy>David Billington</uni:isTaughtBy> </rdf:Description> <rdf:Description rdf:about="CIT2112"> <uni:nomcours>Programming III</uni:nomcours> <uni:isTaughtBy>Michael Maher</uni:isTaughtBy> </rdf:RDF> Chapter 3 A Semantic Web Primer
31
rdf:about par rapport à rdf:ID
L'élément rdf:Description a un attribut rdf:about indiquant que la ressource a été “définie” ailleurs un attribut rdf:ID indiquant que la ressource est définie Formellement, il n'y a pas une telle "définition" d'un objet à un endroit et sa référence ailleurs il est parfois utile (pour la lisibilité humaine) d'avoir un emplacement de définition tandis que d'autres portent les propriétés “additionnelles” Chapter 3 A Semantic Web Primer
32
Les éléments propriétés
Contenu des éléments rdf:Description <rdf:Description rdf:about="CIT3116"> <uni:nomcours>Knowledge Representation</uni:nomcours> <uni:isTaughtBy>Grigoris Antoniou</uni:isTaughtBy> </rdf:Description> uni:nomcours et uni:isTaughtBy définissent deux paires de valeurs propriétés de CIT3116 (deux déclarations RDF) lus conjointement Chapter 3 A Semantic Web Primer
33
Types de données L'attribute rdf:datatype="&xsd:integer" sert à indiquer le type de données de la valeur de la propriété âge <rdf:Description rdf:about="949318"> <uni:nom>David Billington</uni:nom> <uni:titre>Associate Professor</uni:titre> <uni:age rdf:datatype="&xsd:integer">27<uni:age> </rdf:Description> Chapter 3 A Semantic Web Primer
34
Types de données (2) La propriété “age” est supposée avoir "&xsd:integer" comme définition (type) il reste nécessaire d'indiquer le type de la valeur de cette propriété chaque fois qu'elle est utilisée le but est de garantir que le processeur RDF puisse attribuer le type correct de valeur de la propriété même s'il n'a pas "vu" la définition RDF Schema au préalable ce scénario peut très bien se produire dans le www sans restriction Chapter 3 A Semantic Web Primer
35
L'attribut rdf:resource
Les relations entre cours et professeurs (dans l'exemple) n'ont pas été formellement définies mais existent implicitement par l'utilisation du même nom Pour la machine, l'utilisation du même nom peut être une simple coïncidence On peut remarquer que deux entités sont les mêmes qui utilisent l'attribut rdf:resource Chapter 3 A Semantic Web Primer
36
L'attribut rdf:resource (2)
<rdf:Description rdf:about="CIT1111"> <uni:nomcours>Discrete Mathematics</uni:nomcours> <uni:isTaughtBy rdf:resource="949318"/> </rdf:Description> <rdf:Description rdf:about="949318"> <uni:nom>David Billington</uni:nom> <uni:titre>Associate Professor</uni:titre> Chapter 3 A Semantic Web Primer
37
Référencer des ressources définies en externe
Par ex., pour référencer la ressource CIT1111 définie en externe: comme étant la valeur de rdf:about est l'URI où se trouve la définition de CIT1111 La description comportant un ID définit un fragment URI pouvant servir de référence à la description Chapter 3 A Semantic Web Primer
38
Descriptions emboîtées: exemple
<rdf:Description rdf:about="CIT1111"> <uni:nomcours>Discrete Maths</uni:nomcours> <uni:isTaughtBy> <rdf:Description rdf:ID="949318"> <uni:nom>David Billington</uni:nom> <uni:titre>Associate Professor</uni:titre> </rdf:Description> </uni:isTaughtBy> Chapter 3 A Semantic Web Primer
39
Descriptions emboîtées
Des descriptions peuvent être définies à l'intérieur d'autres descriptions D'autres cours, comme CIT3112, peuvent toujours se renvoyer à la nouvelle ressource avec ID Bien qu'une description puisse se définir dans une autre, la portée reste globale Chapter 3 A Semantic Web Primer
40
Introduction d'une certaine structure dans les documents RDF à l'aide de l'élément rdf:type
<rdf:Description rdf:ID="CIT1111"> <rdf:type rdf:resource=" ns#cours"/> <uni:nomcours>Discrete Maths</uni:nomcours> <uni:isTaughtBy rdf:resource="#949318"/> </rdf:Description> <rdf:Description rdf:ID="949318"> <rdf:type rdf:resource=" ns#lecteur"/> <uni:nom>David Billington</uni:nom> <uni:titre>Associate Professor</uni:titre> Chapter 3 A Semantic Web Primer
41
Syntaxe abrégée Règles de simplification:
Les éléments de propriété sans descendance dans les éléments description peuvent se remplacer par des attributs XML Pour les éléments de description avec élément de type, on peut utiliser le nom spécifié dans l'élément rdf:type au lieu de rdf:Description Ces règles créent des variations de syntaxe de la même déclaration RDF elles sont équivalentes en ce qui concerne le modèle de données RDF même si leur syntaxe XML est différente Chapter 3 A Semantic Web Primer
42
Syntaxe abrégée: exemple
<rdf:Description rdf:ID="CIT1111"> <rdf:type rdf:resource=" ns#cours"/> <uni:nomcours>Discrete Maths</uni:nomcours> <uni:isTaughtBy rdf:resource="#949318"/> </rdf:Description> Chapter 3 A Semantic Web Primer
43
Application de la première règle de simplification
<rdf:Description rdf:ID="CIT1111" uni:nomcours="Discrete Maths"> <rdf:type rdf:resource=" ns#cours"/> <uni:isTaughtBy rdf:resource="#949318"/> </rdf:Description> Chapter 3 A Semantic Web Primer
44
Application de la deuxième règle de simplification
<uni:cours rdf:ID="CIT1111" uni:nomcours="Discrete Maths"> <uni:isTaughtBy rdf:resource="#949318"/> </uni:cours> Chapter 3 A Semantic Web Primer
45
Eléments conteneurs Rassemblent plusieurs ressources ou attributs à propos desquels on veut faire des déclarations globales Par ex., on veut parler des cours enseignés par un certain professeur Le contenu des éléments conteneurs sont nommés rdf:_1, rdf:_2, etc. ou éventuellement rdf:li Chapter 3 A Semantic Web Primer
46
Trois type d'éléments conteneurs
rdf:Bag conteneur dans le désordre permettant les occurrences multiples par ex. membres du conseil facultaire, documents dans un dossier rdf:Seq conteneur avec classement dans l’ordre, peut contenir des occurrences multiples par ex. modules d'un cours, points d'un ordre du jour, liste alphabétique des membres du personnel (l'ordre est imposé) rdf:Alt jeu d'alternatives par ex. origine et miroirs d'un document, traductions d'un document en plusieurs langues Chapter 3 A Semantic Web Primer
47
Exemple d'un multi-ensemble (bag)
<uni:lecteur rdf:ID="949352" uni:nom="Grigoris Antoniou" uni:titre="Professor"> <uni:lescoursTaught> <rdf:Bag> <rdf:_1 rdf:resource="#CIT1112"/> <rdf:_2 rdf:resource="#CIT3116"/> </rdf:Bag> </uni:lescoursTaught> </uni:lecteur> Chapter 3 A Semantic Web Primer
48
Exemple d'alternative <uni:cours rdf:ID="CIT1111"
uni:nomcours="Discrete Mathematics"> <uni:lecteur> <rdf:Alt> <rdf:li rdf:resource="#949352"/> <rdf:li rdf:resource="#949318"/> </rdf:Alt> </uni:lecteur> </uni:cours> Chapter 3 A Semantic Web Primer
49
Rdf:ID Attribut des éléments conteneurs
<uni:lecteur rdf:ID="949318" uni:nom="David Billington"> <uni:lescoursTaught> <rdf:Bag rdf:ID="DBlescours"> <rdf:_1 rdf:resource="#CIT1111"/> <rdf:_2 rdf:resource="#CIT3112"/> </rdf:Bag> </uni:lescoursTaught> </uni:lecteur> Chapter 3 A Semantic Web Primer
50
Collections RDF Une des restrictions de ces conteneurs est leur impossibilité de les fermer “ce sont tous des membres de ce conteneur” RDF fournit le support de description des groupes contenant uniquement les membres précisés, sous la forme de collections RDF list dans le graphe RDF construit à l'aide d'un vocabulaire de collection prédéfini: rdf:List, rdf:first, rdf:rest et rdf:nil Chapter 3 A Semantic Web Primer
51
Collections RDF (2) Syntaxe abrégée
"Collection" pour l'attribut rdf:parseType : <rdf:Description rdf:about="#CIT2112"> <uni:isTaughtBy rdf:parseType="Collection"> <rdf:Description rdf:about="#949111"/> <rdf:Description rdf:about="#949352"/> <rdf:Description rdf:about="#949318"/> </uni:isTaughtBy> </rdf:Description> Chapter 3 A Semantic Web Primer
52
Réification On souhaite parfois faire des déclarations à propos d'autres déclarations Il faut pour cela pouvoir se référer à une déclaration ayant un identifiant RDF permet ce genre de référence via la réification qui transforme une déclaration en ressource Chapter 3 A Semantic Web Primer
53
Exemple de réification
<rdf:Description rdf:about="#949352"> <uni:nom>Grigoris Antoniou</uni:nom> </rdf:Description> réifié en <rdf:Statement rdf:ID="StatementAbout949352"> <rdf:subject rdf:resource="#949352"/> <rdf:predicate rdf:resource=" uni-ns#nom"/> <rdf:object>Grigoris Antoniou</rdf:object> </rdf:Statement> Chapter 3 A Semantic Web Primer
54
Réification (2) rdf:subject, rdf:predicate et rdf:object permettent d'accéder aux parties de la déclaration L' ID de la déclaration peut servir de référence comme on peut le faire pour n'importe quelle description On écrit une rdf:Description si on ne veut plus parler ultérieurement de cette déclaration On écrit une rdf:Statement si on veut se référer à une déclaration Chapter 3 A Semantic Web Primer
55
Sommaire Fondements de RDF Syntaxe de base XML de RDF
Principes de RDF Schema Langage RDF Schema Espaces de noms en RDF et RDF Schema Sémantique axiomatique de RDF et RDFS Sémantique directe basée sur les règles d'inférence Requête de documents RDF/RDFS utilisant RQL Chapter 3 A Semantic Web Primer
56
Fondements de RDF RDF est un langage universel permettant aux utilisateurs de décrire les ressources dans leur propre vocabulaire RDF ne suppose ni ne définit aucune sémantique d'un domaine spécifique C'est à l'utilisateur de le faire dans RDF Schema en se servant de: classes et propriétés hiérarchies de classes et domaines légataires hiérarchies de propriété Chapter 3 A Semantic Web Primer
57
Les classes et leurs instances
Il faut distinguer: les "choses" concrètes (objets distincts) dans le domaine Discrete Maths, David Billington etc. les séries d'individus partageant des propriétés appelées classes: professeurs, étudiants, cours etc. Les objets distincts appartenant à une classe sont appelés les instances de cette classe En RDF, la relation entre les instances et les classes se fait via rdf:type Chapter 3 A Semantic Web Primer
58
De l'utilité des classes
Imposent des restrictions à ce qui peut être déclaré dans un document RDF utilisant le schéma comme dans les langages de programmation par ex. A+1, où A est un ensemble interdit les déclarations incohérentes Chapter 3 A Semantic Web Primer
59
Déclarations incohérentes interdites par l'utilisation des classes
Les maths discrètes sont enseignées par les maths concrètes nous voulons que les cours soient donnés par les professeurs uniquement restriction sur les valeurs de la propriété “soient donnés par” (restriction d'étendue) David Billington enseigne dans la salle MZH5760 seuls des cours peuvent être enseignés ceci impose une restriction sur les objets auquel la propriété peut s'appliquer (restriction de domaine) Chapter 3 A Semantic Web Primer
60
Hiérarchies des classes
Les classes peuvent être hiérarchisées A est une sous-classe de B si chaque instance de A est également une instance de B B est alors la superclasse de A Le graphe d'une sous-classe ne doit pas être arborescent Une classe peut avoir plusieurs superclasses Chapter 3 A Semantic Web Primer
61
Exemple de hiérarchie de classes
Membre Personnel Membre Personnel administratif Membre Personnel Technique Membre Personnel académique Professeur Professeur associé Assistant Chapter 3 A Semantic Web Primer
62
Hiérarchie des classes, principe d’héritage
Restriction d'étendue: les cours ne peuvent être donnés que par les membres du corps académique Michael Maher est professeur Il "hérite" de la capacité d'enseigner via la classe des membres du corps académique En RDF Schema, ceci se fait en déterminant la sémantique de "est une sous-classe de" ce n'est pas le rôle de l'application (logiciel de traitement RDF) d'interpréter "est une sous-classe de" Chapter 3 A Semantic Web Primer
63
Hiérarchie des propriétés
Relations hiérarchiques des propriétés par ex., "est enseigné par" est une sous-propriété de "implique" si un cours C est enseigné par le membre A du corps académique, C implique aussi A L'inverse n'est pas nécessairement vrai par ex., A peut être l'enseignant du cours C ou un répétiteur qui note le travail à la maison des étudiants mais n'enseigne pas C P est une sous-propriété de Q, si Q(x,y) est vrai chaque fois que P(x,y) est vrai Chapter 3 A Semantic Web Primer
64
Une couche RDF par rapport à une couche RDF Schema
Les mathématiques discrètes sont enseignées par David Billington Le schéma proprement dit est écrit en langage formel, RDF Schema, capable d'exprimer ses ingrédients: sous-ClasseDe, Classe, Propriété, sous-PropriétéDe, Ressource, etc. Chapter 3 A Semantic Web Primer
65
Une couche RDF par rapport à une couche RDF Schema (2)
Litteral range range Telephone ID domaine domaine Membre Personnel implique range sousClasseDe sousPropriétéDe domaine Membre Personnel académique range est donné par domaine sousClasseDe sousClasseDe Cours sousClasseDe Professeur associé Professeur Assistant type type RDFS RDF est donné par Mathematique discrète David Billington Chapter 3 A Semantic Web Primer
66
Sommaire Fondements de RDF Syntaxe de base XML de RDF
Principes de RDF Schema Langage RDF Schema Espaces de noms en RDF et RDF Schema Sémantique axiomatique de RDF et RDFS Sémantique directe basée sur les règles d'inférence Requête de documents RDF/RDFS utilisant RQL Chapter 3 A Semantic Web Primer
67
Sommaire Introduction Description détaillée de XML Structuration
les DTD XML Schema Espaces de noms (Dénominations) Accès, requête de documents XML: XPath Transformations: XSLT Chapter 3 A Semantic Web Primer
68
RDF Schema en RDF Les primitives de modélisation de RDF Schema sont définies à l'aide de ressources et de propriétés (on les utilise même aussi RDF !) Pour déclarer que "professeur" est une sous-classe de "membre du corps académique" définir les ressources professeur, MembreDuCorpsAcadémique et sous-ClasseDe définir la propriété sous-ClasseDe écrire le triplet (sous-ClasseDe,professeur,MembreDuCorpsAcadémique) On utilise la syntaxe à base XML de RDF Chapter 3 A Semantic Web Primer
69
Classes fondamentales
rdfs:Resource, classe de toutes les ressources rdfs:Class, classe de toutes les classes rdfs:Literal, classe de tous les littéraux(chaînes) rdf:Property, classe de toutes les propriétés rdf:Statement, classe de toutes les déclarations réifiées Chapter 3 A Semantic Web Primer
70
Propriétés fondamentales
rdf:type, relie une ressource à sa classe la ressource est dite être une instance de cette classe rdfs:subClassOf, relie une classe à l'une de ses superclasses toutes les instances d'une classe sont aussi les instances de sa superclasse rdfs:subPropertyOf, relie une propriété à l'une de ses superpropriétés Chapter 3 A Semantic Web Primer
71
Propriétés fondamentales (2)
rdfs:domain, définit le domaine d'une propriété P classe des ressources apparaissant comme sujet dans un triplet avec prédicat P si le domaine n'est pas spécifié, n'importe quelle ressource peut être le sujet rdfs:range, définit l'étendue de la propriété P classe des ressources apparaissant comme valeur dans un triplet avec prédicat P Chapter 3 A Semantic Web Primer
72
Exemples <rdfs:Class rdf:about="#lecteur">
<rdfs:subClassOf rdf:resource="#staffMember"/> </rdfs:Class> <rdf:Property rdf:ID="phone"> <rdfs:domain rdf:resource="#staffMember"/> <rdfs:range rdf:resource=" 2000/01/rdf-schema#Literal"/> </rdf:Property> Chapter 3 A Semantic Web Primer
73
Relations entre classes et propriétés fondamentales
rdfs:subClassOf et rdfs:subPropertyOf sont transitifs par définition rdfs:Class est une sous-classe de rdfs:Resource parce que toute classe est une ressource rdfs:Resource est une instance de rdfs:Class rdfs:Resource est la classe de toutes les ressources, c'est donc une classe Toute classe est une instance de rdfs:Class pour la même raison Chapter 3 A Semantic Web Primer
74
Hiérarchie des sous-classes de certaines primitives de modélisation en RDF Schema
Rdfs : Ressource Rdfs : Propriété Rdfs : Classe Rdfs : Litteral Rdfs : Datatype Rdfs : XML Litteral Chapter 3 A Semantic Web Primer
75
Relations des instances de certaines primitives de modélisation en RDF Schema
Rdfs : Classe Rdfs : Propriété Rdfs : Ressource Rdfs : Litteral Rdfs : Datatype Rdfs : XML Litteral Chapter 3 A Semantic Web Primer
76
Relations des instances de certaines propriétés fondamentales en RDF et RDF Schema
Rdfs : Ressource Rdfs : domaine Rdfs : type Rdfs : range Rdfs : sousClasseDe Rdfs : sousPropriétéDe Chapter 3 A Semantic Web Primer
77
Réification et conteneurs
rdf:subject, relie une déclaration réifiée à son sujet rdf:predicate, relie une déclaration réifiée à son prédicat rdf:object, relie une déclaration réifiée à son objet rdf:Bag, classe des multi-ensembles rdf:Seq, classe des séquences rdf:Alt, classe des alternatives rdfs:Container, superclasse de toutes les classes de conteneur, y compris les trois ci-dessus Chapter 3 A Semantic Web Primer
78
Propriétés utilitaires
rdfs:seeAlso relie une ressource à une autre ressource qui l'explique rdfs:isDefinedBy est une sous-propriété de rdfs:seeAlso qui relie une ressource à l'emplacement où se trouve sa définition, en général un RDF Schema rfds:comment les commentaires, en général un texte plus long, peuvent être associés à une ressource rdfs:label appellation conviviale (désignation) associée à une ressource Chapter 3 A Semantic Web Primer
79
Exemple: une université
<rdfs:Class rdf:ID="lecteur"> <rdfs:comment> Classe des professeurs. Tous les professeurs sont membres du corps académique </rdfs:comment> <rdfs:subClassOf rdf:resource="#academicStaffMember"/> </rdfs:Class> Chapter 3 A Semantic Web Primer
80
Exemple: une université (2)
<rdfs:Class rdf:ID="cours"> <rdfs:comment>Classe des cours</rdfs:comment> </rdfs:Class> <rdf:Property rdf:ID="isTaughtBy"> <rdfs:comment> Hérite son domaine ("cours") et son étendue ("professeur") de sa superpropriété "implique" </rdfs:comment> <rdfs:subPropertyOf rdf:resource="#involves"/> </rdf:Property> Chapter 3 A Semantic Web Primer
81
Exemple: une université (3)
<rdf:Property rdf:ID="phone"> <rdfs:comment> Propriété des membres du personnel. Prend les littéraux comme valeurs. </rdfs:comment> <rdfs:domain rdf:resource="#staffMember"/> <rdfs:range rdf:resource=" schema#Literal"/> </rdf:Property> Chapter 3 A Semantic Web Primer
82
Hiérarchie des classes dans l'exemple des véhicules
Vehicule à moteur Van Camion Vehicule passagers MiniVan Chapter 3 A Semantic Web Primer
83
Sommaire Fondements de RDF Syntaxe de base XML de RDF
Principes de RDF Schema Langage RDF Schema Espaces de noms en RDF et RDF Schema Sémantique axiomatique de RDF et RDFS Sémantique directe basée sur les règles d'inférence Requête de documents RDF/RDFS utilisant RQL Chapter 3 A Semantic Web Primer
84
Les espaces de noms en RDF
<rdfs:Class rdf:ID="Statement" rdfs:comment="Classe de triplets constitués d'un prédicat, d'un sujet et d'un objet (c'est-à-dire une déclaration réifiée)"/> <rdfs:Class rdf:ID="Property" rdfs:comment="Class des propriétés"/> <rdfs:Class rdf:ID="Bag" rdfs:comment="Class des collections non rangées par ordre"/> Chapter 3 A Semantic Web Primer
85
Les espaces de noms en RDF (2)
<rdf:Property rdf:ID="prédicat" rdfs:comment="Identifie la propriété d'une déclaration sous forme réifiée"/> <rdfs:domain rdf:resource="#Statement"/> <rdfs:range rdf:resource="#Property"/> </rdf:Property> Chapter 3 A Semantic Web Primer
86
Les espaces de noms en RDF Schema
<rdfs:Class rdf:ID="Resource" rdfs:comment="Classe la plus générale"/> <rdfs:Class rdf:ID="Class" rdfs:comment="La notion de classes. Toutes les classes sont des ressources"/> <rdfs:subClassOf rdf:resource="#Resource"/> </rdfs:Class> Chapter 3 A Semantic Web Primer
87
Les espaces de noms en RDF (2)
<rdf:Property rdf:ID="subPropertyOf"> <rdfs:domain rdf:resource=" 1999/02/22-rdf-syntax-ns#Property"/> <rdfs:range rdf:resource=" </rdf:Property> <rdf:Property rdf:ID="subClassOf"> <rdfs:domain rdf:resource="#Class"/> <rdfs:range rdf:resource="#Class"/> Chapter 3 A Semantic Web Primer
88
Les espaces de noms par rapport à la sémantique
Envisageons rdfs:subClassOf l'espace de noms précise simplement qu'il s'applique aux classes et a une classe comme valeur la signification d'être une sous-classe n'est pas exprimée La signification ne peut pas être exprimée en RDF si c'était le cas, RDF Schema ne serait pas nécessaire Nécessité d'une définition extérieure de la sémantique respecté par le logiciel de traitement RDF/RDFS Chapter 3 A Semantic Web Primer
89
Sommaire Fondements de RDF Syntaxe de base XML de RDF
Principes de RDF Schema Langage RDF Schema Espaces de noms en RDF et RDF Schema Sémantique axiomatique de RDF et RDFS Sémantique directe basée sur les règles d'inférence Requête de documents RDF/RDFS utilisant RQL Chapter 3 A Semantic Web Primer
90
Sémantique axiomatique
On formalise le sens des primitives de modélisation de RDF et RDF Schema Par traduction en logique du premier ordre On lève les ambiguïtés de la sémantique et on la rend accessible à la machine On fournit un support de raisonnement de base aux raisonneurs automatiques manipulant les formules logiques Chapter 3 A Semantic Web Primer
91
Approche En RDF et RSF Schema, toutes les primitives du langage sont représentées par des constantes: Resource, Class, Property, subClassOf, etc. Quelques prédicats prédéfinis sont utilisés comme base de l'expression des relations entre constantes On fait appel à la logique des prédicats avec égalité Les noms variables commencent par ? Tous les axiomes sont implicitement quantifiés de manière universelle Chapter 3 A Semantic Web Primer
92
Axiomatisation auxiliaire des listes
Symboles de fonction: nil (liste vide) cons(x,l) (ajoute un élément devant la liste) first(l) (renvoie au premier élément) rest(l) (renvoie au reste de la liste) Symboles de prédicat: item(x,l) (teste si un élément est présent dans la liste) list(l) (teste si l est une liste) Les listes servent à représenter les conteneurs en RDF Chapter 3 A Semantic Web Primer
93
Prédicats de base PropVal(P,R,V) Type(R,T)
Un prédicat à 3 arguments servant à représenter une déclaration RDF ayant une ressource R, une propriété P et une valeur V Une déclaration RDF (triplet) (P,R,V) esr représentée par PropVal(P,R,V). Type(R,T) Abrégé de PropVal(type,R,T) Détermine que la ressource R a le type T Type(?r,?t) PropVal(type,?r,?t) Chapter 3 A Semantic Web Primer
94
Classes RDF Constantes: Class, Resource, Property, Literal
toutes les classes sont des instances de Class Type(Class,Class) Type(Resource,Class) Type(Property,Class) Type(Literal,Class) Chapter 3 A Semantic Web Primer
95
Classes RDF (2) Resource est la classe la plus générale: toute classe et toute propriété est une ressource Type(?p,Property) Type(?p,Resource) Type(?c,Class) Type(?c,Resource) Le prédicat d'une déclaration RDF doit être une propriété PropVal(?p,?r,?v) Type(?p,Property) Chapter 3 A Semantic Web Primer
96
Le type Propriété Type est une propriété PropVal(type,type,Property)
Type peut s'appliquer à des ressources (domaine) et a une classe comme valeur (étendue) Type(?r,?c) (Type(?r,Resource) Type(?c,Class)) V Chapter 3 A Semantic Web Primer
97
La propriété auxiliaire FuncProp
P est une propriété fonctionnelle si, et uniquement si c'est une propriété il n'y a pas de x, y1 et y2 avec P(x,y1), P(x,y2 ) et y1¹y2 Type(?p, FuncProp) (Type(?p, Property) ?r ?v1 ?v2 (PropVal(?p,?r,?v1) PropVal(?p,?r,?v2) ?v1 = ?v2)) Chapter 3 A Semantic Web Primer
98
Conteneurs Les conteneurs sont des listes: Type(?c,Container) list(?c)
Les conteneurs sont des multi-ensembles ou des séquences ou des alternatives: Type(?c,Container) (Type(?c,Bag) Type(?c,Seq) Type(?c,Alt)) Les multi-ensembles et les séquences sont disjoints: ¬(Type(?x,Bag) Type(?x,Seq)) Chapter 3 A Semantic Web Primer
99
Conteneurs (2) Pour tout nombre naturel n > 0, il y a le sélecteur _n, qui sélectionne le nième élément d'un conteneur C'est une propriété fonctionnelle: Type(_n,FuncProp) Elle ne s'applique qu'aux conteneurs: PropVal(_n,?c,?o) Type(?c,Container) Chapter 3 A Semantic Web Primer
100
Sous-classe subClassOf est une propriété: Type(subClassOf,Property)
Si une classe C est une sous-classe de C', toutes les instances de C sont aussi des instances de C': PropVal(subClassOf,?c,?c') (Type(?c,Class) Type(?c',Class) ?x (Type(?x,?c) Type(?x,?c'))) Chapter 3 A Semantic Web Primer
101
Sous-propriété P est une sous-propriété de P', si P'(x,y) est vrai chaque fois que P(x,y) est vrai: Type(subPropertyOf,Property) PropVal(subPropertyOf,?p,?p') (Type(?p,Property) Type(?p',Property) ?r ?v (PropVal(?p,?r,?v) PropVal(?p',?r,?v))) Chapter 3 A Semantic Web Primer
102
Domaine et étendue Si le domaine de P est D, pour chaque P(x,y), xD
PropVal(domain,?p,?d) ?x ?y (PropVal(?p,?x,?y) Type(?x,?d)) Si l'étendue de P est R, pour chaque P(x,y), yR PropVal(range,?p,?r) ?x ?y (PropVal(?p,?x,?y) Type(?y,?r)) Chapter 3 A Semantic Web Primer
103
Sommaire Fondements de RDF Syntaxe de base XML de RDF
Principes de RDF Schema Langage RDF Schema Espaces de noms en RDF et RDF Schema Sémantique axiomatique de RDF et RDFS Sémantique directe basée sur les règles d'inférence Requête de documents RDF/RDFS utilisant RQL Chapter 3 A Semantic Web Primer
104
Sémantique basée sur les règles d'inférence
Sémantique en termes de triplets RDF au lieu de redéclarer RDF en termes de logique du premier ordre ... et systèmes sains et complets d'inférence ce système d'inférence comprend des règles d'inférence de forme: IF E contient certains triplets THEN (?) on ajoute à E certains triplets additionnels où E est un jeu arbitraire de triplets RDF Chapter 3 A Semantic Web Primer
105
Exemples de règles d'inférence
IF E contient le triplet (?x,?p,?y) THEN E contient aussi (?p,rdf:type,rdf:property) IF E contient les triplets (?u,rdfs:subClassOf,?v) et (?v,rdfs:subclassOf,?w) THEN E contient aussi le triplet (?u,rdfs:subClassOf,?w) IF E contient les triplets (?x,rdf:type,?u) et (?u,rdfs:subClassOf,?v) THEN E contient aussi le triplet (?x,rdf:type,?v) Chapter 3 A Semantic Web Primer
106
Exemples de règles d'inférence (2)
Toute ressource ?y se présentant comme la valeur d'une propriété ?p , on peut inférer qu'elle fait partie de l'étendue de ?p Ceci montre que les définitions d'étendue en RDF Schema ne servent pas à restreindre l'étendue d'une propriété mais à inférer le fait de faire partie de l'étendue IF E contient les triplets (?x,?p,?y) et (?p,rdfs:range,?u) THEN E contient aussi le triplet (?x,rdf:type,?u) Chapter 3 A Semantic Web Primer
107
Sommaire Fondements de RDF Syntaxe de base XML de RDF
Principes de RDF Schema Langage RDF Schema Espaces de noms en RDF et RDF Schema Sémantique axiomatique de RDF et RDFS Sémantique directe basée sur les règles d'inférence Requête de documents RDF/RDFS utilisant RQL Chapter 3 A Semantic Web Primer
108
A quoi sert le langage de requête RDF Différentes représentations XML
XML a un niveau inférieur d'abstraction que RDF En syntaxe, il existe plusieurs moyens de représenter une déclaration RDF en XML On devrait disposer de plusieurs requêtes XQuery, par ex. //uni:lecteur/uni:titre si élément uni:titre si attributuni:titre Les deux représentations XML sont équivalentes! Chapter 3 A Semantic Web Primer
109
A quoi sert le langage de requête RDF? Comprendre la sémantique
<uni:lecteur rdf:ID="949352"> <uni:nom>Grigoris Antoniou</uni:nom> </uni:lecteur> <uni:professor rdf:ID="949318"> <uni:nom>David Billington</uni:nom> </uni:professor> <rdfs:Class rdf:about="#professor"> <rdfs:subClassOf rdf:resource="#lecteur"/> </rdfs:Class> Une requête des noms de tous les professeurs doit donner Grigoris Antoniou et David Billington Chapter 3 A Semantic Web Primer
110
Requêtes de base RQL La requête Class récupère toutes les classes
La requête Property récupère toutes les propriétés Pour récupérer les instances d'une classe (par ex. cours) on écrit : cours Si on ne veut pas récupérer les instances héritées (indirectes), il faut écrire ^cours Chapter 3 A Semantic Web Primer
111
Requêtes de base RQL (2) Les ressources et valeurs des triplets ayant une propriété spécifique (par ex. involves (implique) sont récupérées par la requête : involves Le résultat comprend toutes les sous-propriétés de involves Si on ne veut pas ces résultats supplémentaires, il faut écrire : ^involves Chapter 3 A Semantic Web Primer
112
Utilisation de "select-from-where"
Comme en SQL select spécifie le nombre et l'ordre des données récupérées from sert à naviguer dans le modèle de données where impose des contraintes aux solutions possibles Récupérer tous les numéros de téléphone des membres du personnel: select X,Y from {X}phone{Y} Ici, X et Y sont des variables et {X}phone{Y} représente un triplet ressource-propriété-valeur Chapter 3 A Semantic Web Primer
113
Joint implicite Récupérer tous les professeurs et leurs numéros de téléphone: select X,Y from lecteur{X}.phone{Y} Jointure implicite: on restreint la seconde requête à ces seuls triplets dont la ressource se trouve dans la variable X Dans ce cas-ci, on restreint le domaine des téléphones aux professeurs Un point . signale le joint implicite Chapter 3 A Semantic Web Primer
114
Joint explicite Récupérer les intitulés de tous les cours enseignés par le professeur ID select N from cours{X}.isTaughtBy{Y}, {C}nom{N} où Y="949352" et X=C Chapter 3 A Semantic Web Primer
115
Interroger Schema Les variables Schema ont un nom avec le préfixe $ (pour les classes) (pour les propriétés) Récupérer toutes les ressources et valeurs des triplets ayant la propriété phone ou n'importe laquelle de ses sous-propriétés et leurs classes select X,$X,Y,$Y from {X:$X}phone{Y:$Y} Chapter 3 A Semantic Web Primer
116
Interroger Schema (2) Le domaine et l'étendue d'une propriété peuvent se récupérer de la manière suivante: select Chapter 3 A Semantic Web Primer
117
Récapitulation RDF fournit les fondements de représentation et de traitement des métadonnées RDF possède un modèle de données à base de graphe RDF a une syntaxe de base XML pour supporter l'interopérabilité syntaxique XML et RDF se complètent parce que RDF supporte l'interopérabilité sémantique RDF propose une philosophie décentralisée et permet la construction par incréments des connaissances ainsi que leur partage et réutilisation Chapter 3 A Semantic Web Primer
118
Récapitulation (2) RDF est indépendant du domaine
RDF Schema fournit un processus de description de domaines spécifiques RDF Schema est un langage ontologique primitif Il offre certaines primitives de modélisation à signification fixe Les notions fondamentales de RDF Schema sont la classe, les relations de sous-classe, la propriété, les relations de sous-propriétés, le domaine et les restrictions d'étendue Il existe des langages de requête pour RDF et RDFS Chapter 3 A Semantic Web Primer
119
... Dans les chapitres suivants
RDF Schema est très primitif comme langage de modélisation du web De nombreuses primitives de modélisation font défaut Il faut de ce fait une couche ontologique au-dessus de RDF et RDF Schema Chapter 3 A Semantic Web Primer
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.