1 semantic web olivier corby. 2 semantic web Évolution du web pour permettre le traitement...

Post on 03-Apr-2015

106 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Semantic Web

Olivier Corby

2

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

3

Semantic Web

4

XML

Extensible Markup LanguageLangage 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 ? ArticlePerson ? StudentDesignation ? 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.

51

Langage de requête (2)

| ou booléen : ~XML | ~RDF

not not isMemberOfjoin join results on conceptoption concept is optionnal

52

Exemple

<c:Document c:Title='~XML' c:CreatedBy='?p'/>

<c:Person rdf:about='?p' c:Name='?n' c:memberOf='?o'/>

<c:Organization rdf:about='?o' c:Designation='~Acacia'/>|

53

Propriétés des relations

Transitivité, symétrie et réflexivité Relation inversesont calculées par le moteur

transitivité : p(x, y) p(y, z) p(x, z)symétrie : p(x, y) p(y, x)réflexivité : x p(x, x)inverse : p(x, y) p'(y, x)

54

Proprité des relations (2)

<rdf:Property rdf:ID=‘isMemberOf’> <cos:transitive>true</cos:transitive><cos:inverse rdf:resource=‘#hasMember‘>

</rdf:Property>

<rdf:Property rdf:ID=‘colleague’> <cos:transitive>true</cos:transitive><cos:symmetric>true</cos:symmetric>

</rdf:Property>

55

Transitivité & Inverse

<c:Person rdf:about='#oc' c:isMemberOf='www.inria.fr/acacia'/>

<c:Project rdf:about='www.inria.fr/acacia' c:isMemberOf='www.inria.fr'/>

<c:Person rdf:about='#oc'

c:isMemberOf='www.inria.fr'/>

<c:Organization rdf:about='www.inria.fr' c:hasMember=‘#OC'/>

56

Symétrie

<c:Person rdf:about='#oc’ c:colleague=’#rd'/>

<c:Person rdf:about='#rd' c:colleague=’#oc'/>

57

Extension RDFS

<!DOCTYPE rdf:RDF [

<!ENTITY cos "http://www.inria.fr/acacia/corese#">

<!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#">

<!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" ]>

<rdf:RDF xmlns:rdf=”&rdf;” xmlns:rdfs=”&rdfs;"

xmlns:cos=”&cos;">

<rdf:Property rdf:ID='&cos;transitive'><rdfs:domain rdf:resource='&rdf;Property'/><rdfs:range rdf:resource='&rdfs;Literal'/>

</rdf:Property>

<rdf:Property rdf:ID='&cos;symmetric'><rdfs:domain rdf:resource='&rdf;Property'/><rdfs:range rdf:resource='&rdfs;Literal'/>

</rdf:Property>

58

Extension RDFS (2)

<rdf:Property rdf:ID='&cos;reflexive'><rdfs:domain rdf:resource='&rdf;Property'/><rdfs:range rdf:resource='&rdfs;Literal'/>

</rdf:Property>

<rdf:Property rdf:ID='&cos;inverse'><rdfs:domain rdf:resource='&rdf;Property'/><rdfs:range rdf:resource='&rdf;Property'/>

</rdf:Property>

59

Inférence

Trouver des documents écrits par un collaborateur de R.D.

collaborateur : membre de l’équipe dirigée par R.D.

Trouver un institut qui travaille sur le sujet S : un de ses membres travaille sur S

60

Règle

si Institut ?i inclut Personne ?p ET

?p a pour interet Sujet ?s

alors?i a pour interet ?s

61

Règle de graphe

[Institut: ?i]-(inclut)-[Personne: ?p] -(interet)-[Sujet: ?s]

[Institut: ?i]-(interet)-[Sujet: ?s]

62

Règle RDF

<cos:rule><cos:if>

<s:Institut rdf:about=‘?i’>

<s:inclut> <s:Personne rdf:about=‘?p’

s:interet=‘?s’/>

</s:inclut>

</s:Institut></cos:if>

<cos:then>

<s:Institut rdf:about=‘?i’s:interet=‘?s’/></cos:then>

</cos:rule>

63

Règle de graphe

règles de graphe conceptuelPour appliquer une règle CD sur un graphe G :1. Trouver une occurrence C’ de C dans G par

projection : C’ C2. Joindre la conclusion D au graphe G sur les

concepts de C’ trouvés par projection

64

Exemple

[Institut: ?i]-(inclut)-[Personne: ?p] -(interet)-[Sujet: ?s]

[Projet: Acacia]-{

-(inclut)-[Person: O.Corby]-(interet)-[ModelisationConnaissance]

-(inclut)-[PhdStudent: L.A]

}

65

Exemple (2)

[Projet: Acacia]-{

-(interet)-[ModelisationConnaissance]

-(inclut)-[Person: O.Corby]-(interet)-[ModelisationConnaissance]

-(inclut)-[PhdStudent: L.A]

}

66

Futur du Semantic Web

Documents structurés XML XML Schema XQuery Ressource annotées par du RDF RDF Schema Navigation basée sur un système conceptuel Associer des concepts de l’ontologie RDF

Schema à des balises de document structurés:

67

Futur du Semantic Web

Agents intelligents dotés de capacités d'inférences

Rechercher et combiner l'information sur le Web

Exemple : préparer un voyage avec : Transport : avion ou train Hébergement : hôtel ou gite Déplacement : voiture de location

68

CorrespondanceBalise Concept

<auteur> <ecrivain> <realisateur> <compositeur>

Createur}

69

Concept Balise

Createur

Peintre Sculpteur Ecrivain Musicien

cree(Createur, Œuvre)peint(Peintre,Toile)

peint < creeToile < Œuvre

70

Recherche d'information

Grâce à la correspondance : balise concept,

Le système possède une représentation du sens des balises

71

Exemple :

<auteur>Olivier Corby</auteur>

Createur: ’Olivier Corby’

Le système utilise ensuite l’ontologie relative au concept de créateur pour répondre à des requètes

72

Travaux

OntoBroker, SHOE RDF et Graphes Conceptuels : Corese,

DRDFS, Comma Projet Escrire : comparer GC, objets et logique

de description Projet C-Web : Community Web DAML OIL Semantic Web Working Group W3C

73

Applications

Mémoire d’entreprise : Corporate Semantic Web Le Schema RDF peut être le référentiel métier

Système documentaire

Web Services

Le Web de demain

74

Bibliographie

www.w3.org/XML www.w3.org/RDF http://www.w3.org/2001/sw/ www.oasis-open.org Méthodes et outils pour la gestion des

connaissances, R. Dieng et. al. Dunod XML, Langage et applications

A. Michard, Eyrolles, 1999

top related