1 / 74

Semantic Web

Semantic Web. Olivier Corby. Semantic Web. Évolution du Web pour permettre le traitement automatique des informations (par programme) Documents structur é s (XML) Associer s é mantique aux pages Web http://www.scientificamerican.com/2001/0501issue/0501berners-lee.html. Semantic Web.

Download Presentation

Semantic Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Semantic Web Olivier Corby

  2. Semantic Web • Évolution du Web pour permettre le traitementautomatique des informations (par programme) • Documents structurés (XML) • Associer sémantique aux pages Web • http://www.scientificamerican.com/2001/0501issue/0501berners-lee.html

  3. Semantic Web

  4. 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

  5. XML Apporte 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

  6. XML <book> <author>John Maynard Keynes</author> <title>General Theory of Employment …</title> .. </book>

  7. XML <aaa> <bbb>John Maynard Keynes</bbb> <ccc>General Theory of Employment …</ccc> .. </aaa> Définit une structure mais pas le sens

  8. Sens <book>  book a kind of Document <title> <author>  Documents have an author, which is a Person, a title which is a Literal

  9. RDF • Resource Description Framework • Annotations sémantiques décrivant le contenu des documents • Permet de faire des recherches d'information en utilisant ces annotations

  10. RDF Suite Le moteur de recherche : • exploite les annotations • effectue des inférences élémentaires • retrouve des documents pertinents

  11. RDF et Schema • RDF sert à annoter des documents pour décrire le contenu • Ces descriptions reposent sur un modèle partagé : une ontologie • RDF Schema, Working Draft (Janvier 2000)

  12. RDF Schema • Classes et Propriétés • Spécialisation • Syntaxe XML • Propriétés ont statut d’objet à part entière, comme les classes et les instances.

  13. 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 existante • Web based vs Top down design

  14. Modèle RDF RDF repose sur un modèle de triplet : • objet propriété valeur appelés respectivement : • resource property value Les valeurs sont soit des ressources, soit des littéraux (valeurs atomiques)

  15. Modèle RDF (2) • Une ressource est un objet (document ou fragment de document) accessible par un URI sur le Web Exemple : titre(http://www.essi.fr/cours/log11, ‘Modélisation des connaissances’)

  16. RDF : syntaxe XML <rdf:Description about=‘http://www.essi.fr/cours/log11’> <titre>Modélisation des connaissances</titre> </rdf:Description>

  17. Ajouter du sens • La ressource est un cours, • un cours a des enseignants, • l’enseignant est un chercheur de l'INRIA, • etc.

  18. Exemple <rdf:Description about=‘http://www.essi.fr/cours/log11’> • <rdf:type rdf:resource='#Cours'/> • <titre>Modélisation des connaissances</titre> </rdf:Description> <rdfs:Class ID='Cours'/>

  19. 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>

  20. Classes (2) <rdfs:Class rdf:ID='CoursCommun'> <rdfs:subClassOf rdf:resource='#CoursDEA'/> <rdfs:subClassOf rdf:resource='#CoursESSI'/> </rdfs:Class> <rdfs:Property rdf:ID='titre'> <rdfs:domain rdf:resource='#Cours'/> <rdfs:range rdf:resource= ’&rdfs;Literal’/> </rdfs:Property>

  21. 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>

  22. 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>

  23. Annotation <rdf:Description 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>

  24. 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 ?

  25. 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’

  26. Traits avancés • Modularité • Multi héritage, multi instanciation • Conteneurs

  27. 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

  28. Namespace (2) <rdf:Description xmlns:ns=‘http://www.inria.fr/acacia/cours#’> <ns:titre>Modélisation des connaissances</ns:titre>

  29. Exemple <rdf:Description rdf:about=‘http://www.essi.fr/cours/log1’ xmlns:ns=‘http://www.inria.fr/acacia/cours#’ xmlns:rdf=‘http://www.w3.org/1999/02/22-rdf-syntax-ns#’> <rdf:type rdf:resource= 'http://www.inria.fr/acacia/cours#Cours'/> <ns:titre>Modélisation des connaissances </ns:titre> <ns:num>Log11</ns:num>

  30. 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>

  31. 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>

  32. Multi instanciation • Une description peut être instance de plusieurs classes <rdf:Description rdf:about=‘http://www.inria.fr/Olivier.Corby’> <rdf:type rdf:resource=‘ns:Chercheur’/> <ns:institut>INRIA</ns:institut> <rdf:type rdf:resource=‘ns:Enseignant’/> <ns:etablissement>UNSA</ns:etablissement> </rdf:Description>

  33. Plusieurs Schema • Utiliser plusieurs schemas, grâce aux namespaces : <rdf:Description xmlns:rdf=‘http://www.w3.org/1999/02/22-rdf-syntax-ns#’ 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>

  34. Propriété • Une propriété peut être associée à plusieurs classes <rdf:Property rdf:ID=‘nom’> <rdfs:domain rdf:resource=‘#Personne’/> <rdfs:domain rdf:resource=‘#Cours’/> <rdfs:range rdf:resource=‘&rdfs;Literal ’/> </rdf:Property> Avec DAML+OIL, plusieurs domaines  intersection des domaines Ajout possible de propriétés à une classe définie par ailleurs

  35. Sous-propriété • Une propriété peut être spécialisée : <rdf:Property rdf:ID='coordinateur'> <rdfs:subPropertyOf rdf:resource='#enseignant'/> </rdf:Property> coordinateur(C, P) Þ enseignant(C, P) coordinateur est incluse dans enseignant

  36. Sous-propriété (2) P' subPropertyOf P  domain(P')  domain(P) range(P')  range(P)

  37. Sous propriété (3) <ns:Cours about=‘http://www.essi.fr/cours/log11’> <ns:coordinateur rdf:resource=‘http://www.inria.fr/Olivier.Corby’/> </ns:Cours> Þ <ns:Cours about=‘http://www.essi.fr/cours/log11’> <ns:enseignant rdf:resource=‘http://www.inria.fr/Olivier.Corby’/> </ns:Cours>

  38. Nom externe de Propriété Une propriété peut avoir plusieurs noms externes : labels <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>

  39. Limitation de RDF Impossible de surcharger une propriété pour la raffiner : 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>

  40. 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>

  41. Solution 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>

  42. Collection • Quand la valeur d’une propriété comporte plusieurs valeurs : <rdf:Description rdf:about=‘http://www.essi.fr/cours/log11’> <ns:staff> • <rdf:Bag> • <rdf:li>Olivier Corby</rdf:li> • <rdf:li>Sabine Moisan</rdf:li> • <rdf:li>Alain Giboin</rdf:li> • </rdf:Bag> </ns:staff> </rdf:Description>

  43. Conteneurs (2) • Container • Bag : ensemble • Seq : séquence ordonnée • Alt : alternative. Liste de valeurs possibles pour la propriété Ne seront plus dans RDF Core

  44. 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>

  45. Exemple (2) <rdf:Property rdf:ID="Designation"> <rdfs:subPropertyOf rdf:resource="#SomeRelation"/> <rdfs:range rdf:resource="http://www.w3.org/TR/1999/PR-rdf-schema-19990303#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>

  46. Exemple (3) <c:ResearchReport rdf:about=”http://www.inria.fr/rapports/sophia/RR-3071.html"><c:title>Mod₩les G₫n₫riques de Gestion de Conflits dans la Conception Concourante</c:title><c:CreatedBy> <c:Person rdf:about=”http://www.inria.fr/acacia/Nada.Natta"> <c:FirstName>Nada</c:FirstName> <c:FamilyName>Matta</c:FamilyName></c:Person></c:CreatedBy><c:CreatedBy> <c:Person rdf:about=" http://www.inria.fr/acacia/Nada.Natta"> <c:FirstName>Olivier</c:FirstName> <c:FamilyName>Corby</c:FamilyName></c:Person></c:CreatedBy><c:CreationDate>12-1996</c:CreationDate><c:CreatedBy><c:ProjectGroup rdf:about="http://www.inria.fr/recherche/equipes/acacia.en.html"><c:Designation>Acacia</c:Designation></c:ProjectGroup></c:CreatedBy> </c:ResearchReport>

  47. Exemple (4) Find Document about XML written by a person from the Acacia project return the title of the document and the name of the author

  48. Interrogation Lever les ambiguïtés grâce à l'ontologie Exploiter la conceptualisation et la subsomption Document ?  Article Person ?  Student Designation ?  Title

  49. Extensions : Corese COnceptual REsource Search Engine Implémentation de RDF basée sur les graphes conceptuels Moteur de recherche sémantique

  50. Langage de reqête RDF avec des variables et des opérateurs~ contient^ commence par< <= = >= > chaine ou nombre% expression régulière<: <=: =: >=: >: comparaison de type ! opérateur de négation!= !~ !<: etc.

More Related