990 likes | 1.29k Views
Web s é mantique, RDF. Olivier.Corby@sophia.inria.fr http://www.inria.fr/acacia/cours/essi. 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
E N D
Web sémantique, RDF Olivier.Corby@sophia.inria.fr http://www.inria.fr/acacia/cours/essi Modélisation des connaissances et Web sémantique
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 Modélisation des connaissances et Web sémantique
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 documents • http://www.scientificamerican.com/2001/0501issue/0501berners-lee.html Modélisation des connaissances et Web sémantique
Semantic Web : Vision W3C Modélisation des connaissances et Web sémantique
Applications Préparer automatiquement un voyage, par l’Internet, en combinant des informations (hôtel, avion, voiture) Etre prévenu d’informations sur un thème donné : conférence, publication, etc. Modélisation des connaissances et Web sémantique
Applications Annotation de documents multimedia : trouver une séquence avec un facteur cycliste Site Web d’entreprise structuré par un référentiel Documentation technique Modélisation des connaissances et Web sémantique
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) www.w3.org Modélisation des connaissances et Web sémantique
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 Modélisation des connaissances et Web sémantique
XML <book> <author>John Maynard Keynes</author> <title>General Theory of Employment …</title> .. </book> Modélisation des connaissances et Web sémantique
XML <aaa> <bbb>John Maynard Keynes</bbb> <ccc>General Theory of Employment …</ccc> .. </aaa> Définit une structure mais pas le sens Modélisation des connaissances et Web sémantique
Sens <book> book a kind of Document <author> Documents have an author, which is a Person, <title> a title which is a Literal Modélisation des connaissances et Web sémantique
Sens Décrire le sens avec un certain consensus En utilisant des vocabulaires standardisés : ontologie Modélisation des connaissances et Web sémantique
RDF • Resource Description Framework • Langage pour représenter des informations • sur les ressources du Web • sur des choses qui peuvent être identifiées sur le Web • Traitement des informations, pas seulement la consultation • Format d’échange Modélisation des connaissances et Web sémantique
RDF Identifier les entités par des URI Décrire les entités avec des propriétés et des valeurs de propriétés Construire un graphe de ressources, propriétés et valeurs Modélisation des connaissances et Web sémantique
RDF Suite Le moteur de recherche : • exploite les annotations • effectue des inférences élémentaires • retrouve des documents pertinents Modélisation des connaissances et Web sémantique
RDF et Schema • RDF sert à annoter des documents pour décrire le contenu • Ces descriptions reposent sur un vocabulaire partagé : une ontologie • RDF Vocabulary Description Language 1.0: RDF SchemaW3C Proposed Recommendation Décembre 2003 http://www.w3.org/RDF Modélisation des connaissances et Web sémantique
RDF • RDF Primer • RDF Concepts and Abstract Data Model • RDF/XML Syntax Specification (Revised) • RDF Semantics • RDF Test Cases • http://www.w3.org/RDF Modélisation des connaissances et Web sémantique
RDF Schema • Classes de ressource et Propriétés • Spécialisation • Syntaxe XML • Propriétés sont entités à part entière, comme les classes et les instances. Modélisation des connaissances et Web sémantique
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 Modélisation des connaissances et Web sémantique
Modèle RDF RDF repose sur un modèle de triplet : resource propriété valeur appelés respectivement : resource property value Les valeurs sont soit des ressources, soit des littéraux (valeurs atomiques) Modélisation des connaissances et Web sémantique
Modèle RDF (2) • Une ressource (e.g. document ou fragment de document) est désignée par un URI • Peut être accessible par URI http://www.essi.fr/cours/log11 ns:titre ‘Modélisation des connaissances’ Noté : ex:log11 ns:titre ‘Modélisation des C…’ Modélisation des connaissances et Web sémantique
RDF : syntaxe XML <rdf:Description rdf:about=‘http://www.essi.fr/cours/log11’><titre>Modélisation des connaissances </titre> </rdf:Description> Modélisation des connaissances et Web sémantique
Ajouter du sens • La ressource est un cours, • un cours a des enseignants, • l’enseignant est un chercheur de l'INRIA, • etc. Modélisation des connaissances et Web sémantique
Exemple ex:log11 rdf:type ns:Cours ex:log11 ns:titre “Modélisation des connaissances” ns:Cours rdf:type rdfs:Class Modélisation des connaissances et Web sémantique
Graphe RDF Modélisation des connaissances et Web sémantique
RDF/XML <rdf:Description rdf:about=‘http://www.essi.fr/cours/log11’> <rdf:type rdf:resource='#Cours'/> <titre>Modélisation des connaissances</titre> </rdf:Description> <rdfs:Class ID='Cours'/> Modélisation des connaissances et Web sémantique
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 Modélisation des connaissances et Web sémantique
Classes <rdfs:Class rdf:ID='Cours'/> <rdfs:Class rdf:ID='CoursDEA'> <rdfs:subClassOf rdf:resource='#Cours'/> </rdfs:Class> <rdfs:Class rdf:ID='CoursESSI'> <rdfs:subClassOf rdf:resource='#Cours'/> </rdfs:Class> Modélisation des connaissances et Web sémantique
Classes (2) <rdfs:Class rdf:ID='CoursCommun'> <rdfs:subClassOf rdf:resource='#CoursDEA'/> <rdfs:subClassOf rdf:resource='#CoursESSI'/> </rdfs:Class> <rdf:Property rdf:ID='titre'> <rdfs:domain rdf:resource='#Cours'/> <rdfs:range rdf:resource=’&rdfs;Literal’/> </rdf:Property> Modélisation des connaissances et Web sémantique
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=’&rdfs;Literal'/> </rdf:Property> Modélisation des connaissances et Web sémantique
Classes <rdfs:Class rdf:ID='Personne'/> <rdfs:Class rdf:ID='MaitreDeConf'> • <rdfs:subClassOf rdf:resource='#Personne'/> </rdfs:Class> <rdfs:Class rdf:ID='Chercheur'> • <rdfs:subClassOf rdf:resource='#Personne'/> </rdfs:Class> Modélisation des connaissances et Web sémantique
Annotation <rdf:Description rdf:about='http://www.essi.fr/cours/log11’> <rdf:type rdf:resource='#Cours'/> <titre>Modélisation des connaissances</titre> <num>Log11</num> <enseignant> <Chercheur rdf:about='http://www.inria.fr/Olivier.Corby’> <nom>Olivier Corby</nom> <institut>INRIA</institut> </Chercheur> </enseignant> </rdf:Description> Modélisation des connaissances et Web sémantique
Requêtes • Trouver les cours dont O. Corby est enseignant ? • Qui enseigne le cours LOG11 ? • Y a-t-il un enseignant-chercheur ? • Y a-t-il une Personne de l'INRIA ? Modélisation des connaissances et Web sémantique
Requêtes • A la OQL (Object Query Language) select c.num, p.nom from c Cours, p Personne where c.titre like ‘connaissance’ and p.institut = ‘INRIA’ Modélisation des connaissances et Web sémantique
Traits avancés • Modularité • Multi héritage, multi instanciation • Conteneurs Modélisation des connaissances et Web sémantique
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 Modélisation des connaissances et Web sémantique
Namespace (2) <rdf:Description xmlns:ns=‘http://www.inria.fr/acacia/cours#’> <ns:titre>Modélisation des connaissances </ns:titre> Modélisation des connaissances et Web sémantique
Exemple <rdf:Description rdf:about=‘http://www.essi.fr/cours/log11’ xmlns:ns=‘http://www.inria.fr/acacia/cours#’ xmlns:rdf=‘http://www.w3.org/1999/02/22-rdf-syntax-ns#’> <rdf:type rdf:resource=‘#Cours'/> <ns:titre>Modélisation des connaissances </ns:titre> <ns:num>Log11</ns:num> Modélisation des connaissances et Web sémantique
Exemple (suite) <ns:enseignant> <ns:Chercheur rdf:about=‘http://www.inria.fr/Olivier.Corby’> • <ns:nom>Olivier Corby</ns:nom> • <ns:institut>INRIA</ns:institut> </ns:Chercheur> </ns:enseignant> </rdf:Description> Modélisation des connaissances et Web sémantique
Héritage multiple • Une classe peut spécialiser plusieurs classes <rdfs:Class rdf:ID=‘EnseignantChercheur’> <rdfs:subClassOf rdf:resource=‘#Enseignant’/> <rdfs:subClassOf rdf:resource=‘#Chercheur’/> </rdfs:Class> Modélisation des connaissances et Web sémantique
Multi instanciation • Description instance de plusieurs classes <rdf:Description rdf:about=‘http://www.inria.fr/Olivier.Corby’> <rdf:type rdf:resource=‘#Chercheur’/> <ns:institut>INRIA</ns:institut> <rdf:type rdf:resource=‘#Enseignant’/> <ns:etablissement>UNSA</ns:etablissement> </rdf:Description> Modélisation des connaissances et Web sémantique
Plusieurs Schema • Utiliser plusieurs schemas, grâce aux namespaces : <rdf:Description xmlns:rdf=`&rdf;’ xmlns:ns=`http://www.inria.fr/acacia/cours#’ xmlns:ex=`http://www.essi.fr/namespace#’> <ns:institut>INRIA</ns:institut> <ex:formation>UNSA</ex:formation> </rdf:Description> Modélisation des connaissances et Web sémantique
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> Modélisation des connaissances et Web sémantique
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 Modélisation des connaissances et Web sémantique
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 Modélisation des connaissances et Web sémantique
Sous propriété (2) <ns:Cours rdf:about=‘http://www.essi.fr/cours/log11’> <ns:coordinateur rdf:resource=‘http://www.inria.fr/Olivier.Corby’/> </ns:Cours> Þ <ns:Cours rdf:about=‘http://www.essi.fr/cours/log11’> <ns:enseignant rdf:resource=‘http://www.inria.fr/Olivier.Corby’/> </ns:Cours> Modélisation des connaissances et Web sémantique
Documentation • Pour documenter un schema RDF ou des énoncés RDF • rdfs:label • rdfs:comment • rdfs:isDefinedBy • rdfs:seeAlso Modélisation des connaissances et Web sémantique
Label Une ressource peut avoir plusieurs noms externes : labels Peuvent être multilingue <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> Modélisation des connaissances et Web sémantique
Définition/Commentaire 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> Modélisation des connaissances et Web sémantique
Définition par référence <rdfs:Class rdf:about=‘#Man’> <rdfs:seeAlso rdf:resource=‘#Person’/> </rdfs:Class> Modélisation des connaissances et Web sémantique