Corese moteur de recherche s mantique pour rdf
This presentation is the property of its rightful owner.
Sponsored Links
1 / 66

Corese Moteur de recherche s é mantique pour RDF PowerPoint PPT Presentation


  • 82 Views
  • Uploaded on
  • Presentation posted in: General

Corese Moteur de recherche s é mantique pour RDF. [email protected] Projet ACACIA INRIA, Sophia Antipolis http://www.inria.fr/acacia « Knowledge is Power ». Corese. COnceptual REsource Search Engine Moteur de recherche RDF en graphe conceptuel

Download Presentation

Corese Moteur de recherche s é mantique pour RDF

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Corese moteur de recherche s mantique pour rdf

CoreseMoteur de recherche sémantique pour RDF

[email protected]

Projet ACACIA

INRIA, Sophia Antipolis

http://www.inria.fr/acacia

«Knowledge is Power»


Corese

Corese

COnceptual REsource Search Engine

Moteur de recherche RDF en graphe conceptuel

Resource Description Framework (W3C)


Histoire

Histoire

1992 Acacia : acquisition des connaissances à partir de documents structurés avec des graphes conceptuels

1998 : XML

1999 : RDF, 1er prototype de Corese

2000 ICCS : RDF et les graphes conceptuels

2000-2001 : Moteur Corese pour Comma, projet européen


Graphes conceptuels

Graphes conceptuels

Modèle de John Sowa

http://www.jfsowa.com/cg/cgexamp.htm

Réseau sémantique

Concept [Person : John]

Relation (author)

Concepts et relations typés

Hiérarchies de types de concept et de relation


Corese moteur de recherche s mantique pour rdf

GC

[Book:doc]-

-(author)-[Person:jr]-

-(name)-[Literal:“John Rawls”]

-(title)-

-[Literal:“Theory of Justice”]


Corese moteur de recherche s mantique pour rdf

RDF

<Book rdf:about=‘doc’>

<author>

<Person rdf:about=‘jr’>

<name>John Rawls</name>

</Person>

</author>

<title>Theory of Justice</title>

</Book>


Gc rdf

GC - RDF

Concept  ressource

Relation  propriété

Type  classe

Signature de relation  domain, range

Projection pour retrouver des ressources

RDF comme format de GC


Diff rences

Différences

RDF : relation binaire, CG : n-aire

RDF : ressources peuvent avoir plusieurs types

RDF distingue les littéraux et les ressources

RDF est multilingue (xml:lang tag)


Corese moteur de recherche s mantique pour rdf

Literal

Resource

RDFS

Property

Class

subPropertyOf

domain

type

range

subClassOf

Ontologie

Inanimate Entity

domain

employs

activity

subdivisionOf

nationality

range

Country

Company

Person

Annotation

RDF

subdivisionOf

activity

www.T-Nova.de

www.DeutscheTelekom.de

Telecom


Corese1

Corese

Construire une représentation

d’un schema RDF et

d’énoncés RDF

Rechercher des ressources

Classer des ressources par inférence de type

Compléter la base de ressources par des inférences

Serveur Web sémantique


Moteur de recherche

Moteur de recherche

Projection d’un graphe requête sur le graphe cible

Opérateurs de recherche

Projection approchée

Groupement des résultats


Requ te la oql

Requête à la OQL

select d.title, p.name

from d Document, p Person

where d.title like‘XML’ and d.author = p


Requ te la rql

Requête à la RQL

Select ?title, ?pname

From

?doc rdf:type ex:Document

?p rdf:type ex:Person

Where

?doc ex:title ?title

?title like ‘XML’

?doc ex:author ?p

?p ex:name ?pname


Requ te corese

Requête Corese

<c:Document c:Title=‘~XML’>

<c:author>

<c:Person c:name=‘?x’/>

</c:author>

</c:Document>


Projection

Projection

Query : [Document]-(author)-[Creator]

Trouver des occurrences spécialisées :

Réponse 1[Paper]-(author)-[Person]

Paper < Document Person < Creator

Réponse 2 [Report]-(author)-[Team]

Report < Document Team < Creator


R sultat

Résultat

Les graphes résultats sont traduits en RDF

Et traités par une feuille de style XSLT qui engendre du HTML


Projection approch e

Projection approchée

Réponse tolère des concepts non spécialisés

Query :

[TechnicalReport](author)[Person]

Target :

[ResearchReport] (author) [Team]


Projection approch e1

Projection approchée

Document

TechnicalReportResearchReport

Creator

PersonTeam

Query :

[TechnicalReport](author)[Person]


Distance ontologique

Distance ontologique

Calcule une distanceontologique entreconcept requête et concept cible

Distance = longueur du plus court chemin le long de la relation de subsomption entre concept requête et cible, passe par le plus précis supertype commun

Distance entre réponse et requête = somme des distances des concepts approchés


Distance ontologique1

Distance ontologique

Distance entre des frères : 2

Entre des cousins germains : 4


Distance

Distance

De plus, la distance diminue avec la profondeur

La distance entre un père de profondeur n et un fils est de 1/2n

Ainsi Homme est plus proche de Chimpanzé que Vertébré de Invertébré !


Distance1

Distance


Op rateurs de requ te

Opérateurs de requête

~ contain

^ startWith

< <= = >= > nombre ou string

! negation : != !~

| boolean or : ~XML | ~ RDF

<: <=: =: >=: >: type


Op rateurs

Opérateurs

Trouver un document :

?doc rdf:type ex:Document

Le titre contient XML :

?doc ex:title ?title ~XML

Le titre contient XML ou RDF :

?doc ex:title ?title ~XML | ~RDF

La date est antérieure à 2004 :

?doc ex:date ?date <= 2004-01-01


Op rateurs avec variable

Opérateurs avec variable

Deux auteurs différents :

?doc ex:author ?p1

?doc ex:author ?p2 != ?p1

Deux personnes de même noms :

?p1 rdf:type ex:Person ?p1 ex:name ?x

?p2 rdf:type ex:Person ?p2 ex:name ?x

?p1 != ?p2


Op rateurs de type

Opérateurs de type

Un document de type égal à TechnicalReport

?x rdf:type ex:Document =: ex:TechnicalReport

Un document qui ne soit pas un Rapport technique :

?x rdf:type ex:Document !<=: ex:TechnicalReport

Documents différents, de même type :

?x rdf:type ex:Document

?y rdf:type ex:Document != ?x =: ?x


N gation

Négation

Trouver une personne qui n’est pas l’auteur d’un document dont le titre contient XML :

?p rdf:type ex:Person

?doc ex:title ~XML

?p not ex:author ?doc


Chemin de longueur variable

Chemin de longueur variable

Trouver par quel chemin deux personnes sont reliées, chemin de longueur au plus n :

?x rdf:type ex:Person

?y rdf:type ex:Person

?x ex:relation *2 ?y

Essaie :

?x ex:relation ?y

?x ex:relation ?t ex:relation ?y


Tous les chemins de longueur variable

Tous les chemins de longueur variable

Trouver par quels chemins deux personnes sont reliées, chemins de longueur au plus n :

?x rdf:type ex:Person

?y rdf:type ex:Person

?x ex:relation all *2 ?y

Essaie :

?x ex:relation ?y

?x ex:relation ?t ex:relation ?y


Propri t g n rique

Propriété générique

Ressources reliées par n’importe quelle propriété :

?x cos:Property ?y

Trouver un document dont le titre contient XML et retourner toutes ses propriétés :

?doc ex:title ~XML

?doc cos:Property ?p


Xml schema datatypes

XML Schema Datatypes

xsd:string

xsd:float

xsd:integer

xsd:date

Xsd:boolean


Rdf datatype

RDF Datatype

<!ENTITY xsd ”http://www.w3.org/2001/XMLSchema#” >

<c:Person>

<c:age rdf:datatype=‘&xsd;integer’>44</c:age>

<c:name rdf:datatype=‘&xsd;string’>Laurent

</c:name>

<c:date rdf:datatype=‘&xsd;date’>1959-10-16

</c:date>

</c:Person>


Rdf datatype1

RDF Datatype

RDF impose de préciser systématiquement le datatype, même si le range de la propriété est typé sur ce datatype :

<rdf:Property rdf:about=‘#speed’>

<rdfs:range rdf:resource=‘&xsd;float’/>

</rdf:Property>

<ex:Car>

<ex:speed rdf:datatype=‘&xsd;float>314</ex:speed>

</ex:Car>


Rdf datatype2

RDF Datatype

Corese permet, en option, de ne pas répéter le datatype et de l’inférer à partir du schema RDFS :

<rdf:Property rdf:about=‘#speed’>

<rdfs:range rdf:resource=‘&xsd;float’/>

</rdf:Property>

<ex:Car>

<ex:speed>314</ex:speed>

</ex:Car>

_:1 rdf:type ex:Car

_:1 ex:speed 314 ^^ xsd:float


Groupement

Groupement

Une requête a pour réponse G1 .. Gn

On peut grouper les graphes G1 .. Gn selon des critères :

distinct x1 .. xn

group by x1 .. xn

group by connex x1 .. xn

count x (by y)


Distinct

Distinct

Une requête a pour réponse G1 .. Gn

(select) distinct x1 x2

G1 : x1=Jules, x2=Jim

G2 : x1=Jim, x2=Jules

Ne garder qu’un seul graphe, par exemple G1


Group by

Group by

Une requête a pour réponse G1 .. Gn

group by x1 x2

Joindre les graphes qui ont même x1 et même x2

Ex : grouper les documents par auteur et par année


Group by1

Group by

?doc rdf:type ex:Document

?doc ex:author ?p

?doc ex:year ?y

D1 John 1990 D4 Jack 2000

D2 Jack 2000

D3 John 2004


Group by2

Group by

Ex : grouper les documents par auteur et par année

Group by ?p, ?y

John 1990 D1

John 2004 D2

Jack 2000 D2 D4


Group by connex

Group by connex

Une requête a pour réponse G1 .. Gn

group by connex x1 x2

Joindre les graphes qui ont même valeur pour x1 et/ou x2


Group by connex1

Group by connex

Trouver les compétences similaires et former les classes de compétences similaires

?c1 ex:similar ?c2

Group by connex ?c1 ?c2

c1 similar c2c4 similar c5

c6 similar c4c3 similar c1


Group by connex2

Group by connex

Trouver les compétences similaires et

former les classes de compétences similaires

Classe 1 {c1 similar c2, c3 similar c1}

Classe 2{c4 similar c5, c6 similar c4}


Count

Count

Une requête a pour réponse G1 .. Gn

Count x

Compter les occurrences différentes de x dans le graphe résultat

Ex : compter les ouvrages d’un auteur


Count1

Count

Ex : compter les ouvrages des auteurs

?doc ex:author ?p

Group by ?p

Count ?doc

John D1 D2 (2)

Jack D1 D4 D6 (3)


Extensions owl

Extensions OWL

owl:TransitiveProperty

owl:SymmetricProperty

owl:inverseOf

owl:intersectionOf

owl:disjointWith


Intersection

Intersection

owl:Class Woman

owl:intersectionOf

owl:Class Human

owl:Class Female

Définit une équivalence entre Woman et l’intersection de Human et Female

Human Female Woman


Inverse

Inverse

p1 owl:inverseOf p2

X p1 Y  Y p2 X

hasParent owl:inverseOf hasChild

John hasParent Jim  Jim hasChild John


Sym trie

Symétrie

p rdf:type owl:SymmetricProperty

X p Y  Y p X

ex:sibling rdf:type owl:SymmetricProperty

John ex:sibling Jack 

Jack ex:sibling John


Transitivit

Transitivité

owl:TransitiveProperty

X p Y  Y p Z  X p Z

ex:partOf rdf:type owl:TransitiveProperty

ex:axis ex:partOf ex:engine

ex:engine ex:partOf ex:car

ex:axis ex:partOf ex:car


R gles

Règles

Si

une Personne est membre d’une Equipe

qui participe à un Consortium

Alors

cette Personne est du type Participant et

elle participe au Consortium


R gles de graphe

Règles de graphe

CG1  CG2

[Person:?x]

-(member)-[Team]-

-(participate)--[Consortium:?c]

[Participant:?x] –(participate)- [Consortium:?c]


Inf rences

Inférences

1. Préciser le type d’un concept :

[Person: ?x] -> [Participant: ?x]

2. Créer une relation entre concepts :

[Participant: ?x]-(participate)-[Consortium :?c]


Inf rences1

Inférences

Permet de définir des types de concepts

Un Patient est une personne qui a une maladie :

IF

?x rdf:type ex:Person

?x ex:hasDesease ?d

THEN

?x rdf:type ex:Patient


R gle de graphe

Règle de graphe

Pour appliquer une règle CD

sur un graphe G :

1. Trouver par projection une occurrence de C dans G : C’ C

2. Joindre la conclusion D au graphe G sur les concepts de C’ trouvés par projection


Syntaxe de r gles rdf

Syntaxe de règles RDF

<cos:rule>

<cos:if>

<c:Person rdf:about=‘?p’>

<c:member>

<c:Team>

<c:participate>

<c:Consortium rdf:about=‘?c’/>

</c:participate>

</c:Team>

</c:member>

</c:Person

</cos:if>


Syntaxe rdf

Syntaxe RDF

<cos:then>

<c:Participant rdf:about=‘?p’>

<c:participate rdf:resource=‘?c’/>

</c:Participant>

</cos:then>

</cos:rule>


Serveur web s mantique

Serveur Web sémantique

Moteur Corese intégré dans un serveur tomcat, dans une servlet

Navigation dans les ontologies RDFS par des feuilles de style


Serveur web s mantique1

Serveur Web sémantique

Interrogation du moteur via des formulaires HTML/JSP

Les formulaires sont construits en connexion avec le moteur en consultant l’ontologie


Applications

Applications

2000-2001 : Comma

2002 Corese pour Samovar avec Renault

2003-2004 : Corese pour KMP, projet RNRT Cartographie des compétences sur Sophia Antipolis

Version de distribution

http://www.inria.fr/acacia/soft/corese

2002-2004 : ODL Inria


Comma

Comma

O’Comma : Corporate Memory Management through Agents

Système multi agents (Jade)

Ontology en RDF : Document, Entreprise, Domaine, Utilisateur

Moteur de recherche Corese : RDF en graphe conceptuels

Règles de graphe


Comma1

Comma

Méthode: Recueil, Phase terminologique, Structuration, Validation, Formalisation en RDFS

Résultat: 470 concepts, 80 relations,

13 niveaux de profondeur


Comma2

Haut

niveau

Niveau

médian

Aspects

Document

Aspects

Entreprise

Aspects

Utilisateur

Aspects

Domaine

Niveau

spécifique

Comma


Corese moteur de recherche s mantique pour rdf

KMP

KMP : Knowledge Management Platform

Cartographie des compétences en Télécom sur Sophia Antipolis

Serveur Web sémantique de compétence

Favoriser les partenariats

Ontologie en RDF : Compétence, Organisation, Domaine


Projets futurs

Projets Futurs

WebLearn : Action CNRS, eLearning,

mémoire d’entreprise,

génie civil,

document,


R f rences

Références

http://www.inria.fr/acacia/cours/essi2004/corese.ppt

http://www.inria.fr/acacia/soft/corese


Corese moteur de recherche s mantique pour rdf

Démo


  • Login