1 / 66

Corese Moteur de recherche s é mantique pour RDF

Corese Moteur de recherche s é mantique pour RDF. Olivier.Corby@sophia.inria.fr 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

zarita
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. 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. CoreseMoteur de recherche sémantique pour RDF Olivier.Corby@sophia.inria.fr Projet ACACIA INRIA, Sophia Antipolis http://www.inria.fr/acacia «Knowledge is Power»

  2. Corese COnceptual REsource Search Engine Moteur de recherche RDF en graphe conceptuel Resource Description Framework (W3C)

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

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

  5. GC [Book:doc]- -(author)-[Person:jr]- -(name)-[Literal:“John Rawls”] -(title)- -[Literal:“Theory of Justice”]

  6. RDF <Book rdf:about=‘doc’> <author> <Person rdf:about=‘jr’> <name>John Rawls</name> </Person> </author> <title>Theory of Justice</title> </Book>

  7. GC - RDF Concept  ressource Relation  propriété Type  classe Signature de relation  domain, range Projection pour retrouver des ressources RDF comme format de GC

  8. 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)

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

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

  11. Moteur de recherche Projection d’un graphe requête sur le graphe cible Opérateurs de recherche Projection approchée Groupement des résultats

  12. Requête à la OQL select d.title, p.name from d Document, p Person where d.title like‘XML’ and d.author = p

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

  14. Requête Corese <c:Document c:Title=‘~XML’> <c:author> <c:Person c:name=‘?x’/> </c:author> </c:Document>

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

  16. Résultat Les graphes résultats sont traduits en RDF Et traités par une feuille de style XSLT qui engendre du HTML

  17. Projection approchée Réponse tolère des concepts non spécialisés Query : [TechnicalReport](author)[Person] Target : [ResearchReport] (author) [Team]

  18. Projection approchée Document TechnicalReportResearchReport Creator PersonTeam Query : [TechnicalReport](author)[Person]

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

  20. Distance ontologique Distance entre des frères : 2 Entre des cousins germains : 4

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

  22. Distance

  23. Opérateurs de requête ~ contain ^ startWith < <= = >= > nombre ou string ! negation : != !~ | boolean or : ~XML | ~ RDF <: <=: =: >=: >: type

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

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

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

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

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

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

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

  31. XML Schema Datatypes xsd:string xsd:float xsd:integer xsd:date Xsd:boolean

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

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

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

  35. 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)

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

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

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

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

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

  41. 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 c2 c4 similar c5 c6 similar c4 c3 similar c1

  42. 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}

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

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

  45. Extensions OWL owl:TransitiveProperty owl:SymmetricProperty owl:inverseOf owl:intersectionOf owl:disjointWith

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

  47. Inverse p1 owl:inverseOf p2 X p1 Y  Y p2 X hasParent owl:inverseOf hasChild John hasParent Jim  Jim hasChild John

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

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

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

More Related