Corese RDF Semantic Search Engine Marek Růžička ACACIA INRIA, Sophia Antipolis
CORESE (COnceptual REsource Search Engine) - napsán v Java - vyvíjen cca 5 let - vyhledávání v dokumentech RDF - pro vyhodnocování dotazů využívá konceptuální grafy
RDF RDF - Resource Description Framework Jazyk W3C pro sémantický web Popisuje zdroje na webu Založen na tripletech: resource property value RDF/XML syntaxe RDF Schema (RDF(S)) : RDF Vocabulary Description Language
Ontologie:Ontologie: Anotace:Anotace: Pravidla:Pravidla: Dotazy ?!:Dotazy ?!: Human ManWoman designation nametitle Man: #jnovak name novak interest Topic:SemanticWeb Human:?x member Group:?g Human:?y member Human:?x colleague Human:?y Human:#jnovak interest Topic:?t
Dotazování v RDF dokumentech Komplexní dotaz (corese query language) : ?x rdf:type c:Person ?x c:name ?n ?x c:author ?doc ?doc rdf:type c:Thesis - Při vyhledávání procházet i všechny podtřídy - Aproximace dotazu Pro RDF(S) neexistuje (zatím) vhodný algoritmus
Dotazy v RDF Dotazu {document} -> {createdBy} -> {Person} -> {subject} -> {Science} -> {subject} -> {Science}odpovídá {TechReport} -> {createdBy} -> {Researcher} -> {subject} -> {CognitiveScience} -> {subject} -> {CognitiveScience}nebo {Book} -> {createdBy} -> {Profesor} -> {topic} -> {SocialScience} -> {topic} -> {SocialScience}
Projekce CG Human action Food Man eat Apple eat < action Man < Human Apple < Food Najít výskyt vzoru grafu v cílovém grafu Procházet specializace tříd podle hierarchie
RDF vs. Konceptuální grafy rdfs:Class Concept Type rdf:Property Relation rdfs:Resource Concept rdfs:domain rdfs:rangeSignature RDF Graph CG
Mapování RDF to CG Převedení RDF do konceptuálního grafu RDF Schema ~ CG support RDF ~ CG Využití operace projekce (CG) jako query engine
Inferenční pravidla ?p rdf:type c:Person ?p c:author ?doc ?doc rdf:type c:PhDThesis ?p rdf:type c:PhD
Aproximativní projekce Proč aproximovat projekci? Původní vize sémantického webu je založena na třech silných hypotézách: - je možné navrhnout ontologii objektivně popisující danou doménu - pomocí této ontologie lze popsat zdroje na webu - uživatelé budou vyhledávat informace skrze dotazy založené na stejné ontologii
Aproximativní projekce Human action Food Chimp eat Banana Najít nejlepší aproximaci na základě - ontologické vzdálenosti - příbuznosti tříd a relací - „relation paths“
Ontologická vzdálenost dvou tříd onto_distance(t1, t2)= class_distance(t1, t) + class_distance(t2, t) kde t je nejhlubší společná nadtřída t1 a t2 Vzdálenost mezi třídou a nadtřídou class_distance(t1, t) = min ½ depth(x) x , xt1 Kde zahrnuje celou cestu mezi t1 a t a depth(x) je maximální hloubka třídy x v celé ontologii
Ontologická vzdálenost 1 1/2 1/4 D(Human, Chimp)=0.25 (1/8 + 1/8) 1/8
Ontologická vzdálenost 1 1/2 1/4 D(Dolphin, Human) =0.75 (2/8 + 2/4) 1/8
Ontologická vzdálenost 1 1/2 1/4 D(Dolphin, Fish) =1.375 (1/8+1/4+2/2) 1/8
Corese Query langage V dotazovacím jazyce lze specifikovat pro které třídy (relace) aproximaci použít a pro které ne. ?x rdf:type c:Person ?x c:name ?n ?x c:author ?doc ?doc <=: c:Thesis Původně navržen v čistě textové podobě aby byl „snadno čitelný i pro uživatele“ Plánovaný přechod na SPARQL (dotazovací jazyk od W3C pro RDF)
Příbuznost tříd Z pohledu některých uživatelů : Zkrátí vzdálenost mezi KnowledgeDissemination a KnowledgeEngineering Globálně se aplikuje pravidlo ( distribuce seeAlso mezi potomky ): ?x rdfs:seeAlso ?y ?z rdfs:subClassOf ?x => ?z rdfs:seeAlso ?y
Příbuznost relací Pomocí seeAlso lze aproximovat i vlastnosti: Použitím seeAlso se ontologická vzdálenost snižuje na vzdálenost dvou tříd se stejnou nadtřídou
Aproximace vlastností Human eat Food Chimp drink Milk
Relation Paths Pro dotaz x R y Corese generuje i dotazy x R z R y, x R z R t R y apod. ?org c:relation[3] ?topic ?org rdf:type c:Organization ?topic rdf:type c:HumanScience Default all::c:relation[3]
CORESE Semantic search engine Ontologies Documents XML 19 Mai 2000 le facteur Users <rdfs:subClassOf rdf:resource="#thing"/> RDF Schema MAS and Corporate Semantic Web RDF Metadata & Annotations Instance of RDF Schema queryanswer URIUNICODE XMLNAMESPACES RDF RDFS ONTOLOGY RULES Web stack QUERIES RDFS RDF Queries Rules CG Support CG Base CG Query CG Rules CG Results PROJECTION INFERENCES Semantic Web server RDF/S
Corese Přestože je napsán v Java, velmi rychlý… Např. pro RDF graf s relacemi vyhodnotí dotaz za 0.01 s (mód bez aproximací – 0 odpovědí) resp s (mód s aproximacemi – 5 odpovědí)
CORESE - implementace 1.KMP : Knowledge Management Platform 2.WebLearn : Semantic Web for eLearning 3.MEAT : Biology DNA MicroArray Experiment 4.Life-line : Cooperative medical reasoning 5.EADS : Research Lab Corporate Memory 6.Escrire : Comparison of CG, DL and Objects 7.Samovar : Car Design Project Memory with Renault 8.Approbatiom : Design Document Management with CSTB 9.Comma : IST Project Corporate Memory Management through Agents
Project Life-line – Virtual Staff
Project Life-line – Virtual Staff
Závěr CORESE - RDF Semantic Search Engine Vyhledávání v RDF(S) pomocí operace projekce v CG Implementován v INRIAe v 9 aplikacích