450 likes | 568 Views
RDF in P2P-Netzen. Ting Li 09.02.2004. Gliederung. 1. Einleitung 2. RDF/RDF Schema 3. Edutella/RDF-basierte P2P-Netze 4. Implementierung 5. OAI-P2P 6. Zusammenfassung 7. Wichtige Ressourcen. Gliederung.
E N D
RDF in P2P-Netzen Ting Li 09.02.2004
Gliederung • 1. Einleitung • 2. RDF/RDF Schema • 3. Edutella/RDF-basierte P2P-Netze • 4. Implementierung • 5. OAI-P2P • 6. Zusammenfassung • 7. Wichtige Ressourcen RDF in P2P-Netzen
Gliederung • 1. Einleitung • OAI • OAI-PMH • Cyclades Projekt • Kepler Projekt • 2. RDF/RDF Schema • 3. Edutella/RDF-basierte P2P-Netze • 4. Implementierung • 5. OAI-P2P • 6. Zusammenfassung • 7. Wichtige Ressourcen RDF in P2P-Netzen
OAI: Open Archive Initiative • Ziel: weltweiter Austausch von elektronischen E-Prints. • Metadaten: • Beschreibungen des elektronischen Dokuments • durch entsprechende Schemata definiert. • Mindestanforderung: Dublin Core • enthält 15 Elemente • Alle Elemente sind sowohl optional als auch wiederholbar. • Andere Metadatenformate: • OLAC (Open Language Archive Community) • MARC21 • RFC1870 • ... • Merke: lediglich die Beschreibungen ausgetauscht. RDF in P2P-Netzen
OAI-PMH • Austauschprotokoll für Metadaten. • basiert auf HTTP (Anfrage) und XML (Antwort). • Zwei Arten von Teilnehmern: • Data-Provider: stelle eine Schnittstelle zu den lokalen digitalen Ressourcen her. • Service-Provider: Harvesting von Metadaten und bietet Mehrwertdienst, z.B: Ranking... • Nachteile: • low-barrier: • einfach wie möglich für Data-Provider aufgebaut. • Aber: Für Erstellen und Behalten von Service-Provider werden mehrere Ressourcen gebraucht. • Kein „front-end“ Service RDF in P2P-Netzen
Cyclades Projekt • Aufbauend auf dem OAI-Standard • Entwicklung weiterer Dienste • Insbesondere: • Information Retrieval in verteilten OAi-kompatiblen Archiven • Suchen und Browsen in Multilevel-Hypertext • die Erfassung von Relevanz- Feedback • Die Erfassung von Kommentaren zu einzelnen Dokumenten • die Personalisierung von benutzerspezifischen Agenten • Architektur RDF in P2P-Netzen
Kepler Projekt • verbesserte Lösung • Idee: Ein OAI Data/Service Provider für Einzelpersonen. • Eigenschaften: • ein JAVA-‘archivlet‘ • eine LDAP-basierte Netzwerkumgebung • ein query/discovery Service • Vorteil: • technische Einfachheit und Verwendbarkeit • Probleme: • noch vom zentralen Service-Provider abhängig • unterstützt „community building“ nicht RDF in P2P-Netzen
Gliederung • 1. Einleitung • 2. RDF/RDF Schema • RDF • RDF Schema • 3. Edutella/RDF-basierte P2P-Netze • 4. Implementierung • 5. OAI-P2P • 6. Zusammenfassung • 7. Wichtige Ressourcen RDF in P2P-Netzen
RDF (Resource Description Framework) • vom W3C im Rahmen der ‘Semantic Web’-Initiative geförderte Beschreibungssprache • Idee: aussagekräftige Beschreibungen von Ressourcen. • Drei Typen von Objekt: • Resources: • alle Objekte bei WWW, die durch einen URI identifiziert werden. • z.B: Webseite... • spezieller Typ von Ressourcen (literal) möglich • Properties: • spezielle Aspekte / Charakteristik / Attribute / Beziehungen • Statements: • Ressourcen + definierte Eigenschaften + Werte der Eigenschaften • Triple: <Subjekt, Prädikat, Objekt> RDF in P2P-Netzen
RDF (Resource Description Framework) http://www.w3.org/staffId/85740 • Beispiel: • RDF-Syntax: in XML-Format <rdf: RDF> <rdf: Description about = "http://www.w3.org/Home/Lassila"> <s: Creator rdf: resource = "http://www.w3.org/staffId/85740" v: Name = "Ora Lassila" v: Email = "lassila@w3.org" /> </rdf: Description> </rdf: RDF> creator http://www.w3c.org/Home/Lassila Name Email Ora Lassila lassila@w3.org RDF in P2P-Netzen
RDF Schema • Vocabulary Description Language • Beschreibungen der Beziehungen zw. verschiedenen Arten von Ressourcen und Eigenschaften. • Kern Klassen: • rdfs: Resource • rdfs: Class • rdf: Property • Kern Eigenschaften: • rdf: type • rdfs: subClassOf • rdfs: PropertyOf • rdfs: subPropertyOf • rdfs: seeAlso • rdfs: isDefinedBy RDF in P2P-Netzen
RDF Schemas • Beispiel: Resource Hierarchy rdfs: subClassOf rdf: type rdfs:Resource rdfs:Class xyz:MotorVehicle xyz:Van xyz:Truck xyz:PassengerVehicle xyz:MiniVan RDF in P2P-Netzen
Gliederung • 1. Einleitung • 2. RDF • 3.Edutella/RDF-basierte P2P-Netze • Architektur • Dienstleistungen • Super-Peer/HyperCup Topologie • Zwei Arten von Routing Indizes • Dynamische Routing Indizes • Mediation zwischen verschiedenen Schemata • 4. Implementierung • 5. OAI-P2P • 6. Zusammenfassung • 7. Wichtige Ressourcen RDF in P2P-Netzen
Architektur • Eine P2P Infrastruktur, um die Daten zu speichern, abzufragen und auszutauschen. • Zwei Kern-Komponente: Sun JXTA; W3C RDF JXTA: • Open Source Framework für die Entwicklung von P2P Services und Anwendungen • Interoperable und plattformunabhängig • 3-Schichtenmodell • JXTA Applications • JXTA Shell: Interaktiver Zugriff auf JXTA Plattform • JXTA Services • Discovery, Routing, Indexing, ,Searching, File Sharing... • JXTA Core • Gruppierung, Pipes... RDF in P2P-Netzen
Architektur RDF/RDF Schema in Edutella: • Beschreibungen der verteilten Ressourcen. • Alle Ressourcen sind durch eindeutigen URI gekennzeichnet. • Die Beschreibungen von Ressourcen mit verschiedenen Schemata sind möglich. • Speicherung der Beschreibungen in RDF-Repositores. • Jeder Peer stellt seine Metainformationen als Set der RDF-Aussagen zur Verfügung. • Charakteristik von RDF-Schema: • verteilte Darstellungen für eine oder selbe Ressource => einfach zur Konstruktion der verteilten Repositores • flexibel und erweiterbar => Schema-basierter P2P-Netzwerk RDF in P2P-Netzen
Dienstleistungen Query Service (Basic Service): • Fragen werden durch das Netz zur Teilmenge des Peers geschickt, die die Frage beantworten könnten. • Zurücksenden der resultierenden RDF-Aussagen zu dem erbittenen Peer. • Anfragesprache ist frei auswählbar. • RDF-QEL (RDF based-Query Exchange Language): • eine standardisierte Sprache • basiert auf Datalog • beginnend mit einfachen konjunktiven Anfragen • Jede QEL-Anfrage basiert auf explizite bezogenen Metadaten-Schemata (z.B: DC, LOM), nicht von einem spezifischen Schema unabhängig. • ein graphischer Query-Editor: Conzilla RDF in P2P-Netzen
Dienstleistungen RDF-QEL: Aufteilung in 5 Sprachlevel, die in der Ausdrucksfähigkeit aufeinander aufbauen: • RDF-QEL-1: Konjunktive Queries • RDF-QEL-2: RDF-QEL-1 + Disjunktion • RDF-QEL-3: RDF-QEL-2 + Negation + nicht rekursive Regeln (SQL92-Umfang, Datalog-Ansatz) • RDF-QEL-4: RDF-QEL-3 + lineare Rekursion (SQL3-Umfang) • RDF-QEL-5: RDF-QEL-4 + allgemeine Rekursion RDF in P2P-Netzen
Dienstleistungen Conzilla as query editor RDF in P2P-Netzen
Dienstleistungen Replication Service (Basic Service): • Ergänzung der lokalen Ablage • Datenintegrität-und Konsistenz • Zuverlässigkeit und ausgleichende Arbeitsbelastung Mapping Service: • Übersetzung zwischen unterschiedlichen Schemata z.B: MARC DC RDF in P2P-Netzen
Super-Peer/HyperCup Topologie • Super-Peer: prinzipieller Knoten mit • einer sehr guten und stabilen Netzanbindung • größerer Rechenleistung als normale Peers. • Funktionalität der Super-Peers: • Verwaltung von Routing-Indizes • Bestimmung der weiteren Wegwahl der Anfragen • d.h: Der Super-Peer entscheidet sich, welche Anfrage vorwärts zu welchem Peer oder Super-Peer gesendet werden sollte. • … P SP SP P SP P SP P P P P P P RDF in P2P-Netzen
Super-Peer/HyperCup Topologie • Super-Peers sind in HyperCup Topologieorganisiert. • HyperCuP Protokolls: • Hinzufügen eines neuen Super-Peer: • Peer-Integration-Protocol • Aufwand: O(log(N)) • Verlassen eines Super-Peers: • Anderer Super-Peer nimmt zusätzlich seine Position ein. • HyperCup Topologie + Routing Indizes: • ermögliche effiziente und garantiere nicht-redundante Broadcasting. • Beim Broadcasting: Jeder Peer wird als die Wurzel eines aufspannenden Baums betrachtet. • Pfadlänge: log2N; Anzahl der Nachbarn: log2N. 0 H G 1 1 E 0 F 2 2 2 2 0 D C 1 1 A 0 B RDF in P2P-Netzen
zwei Arten von Routing Indizes Super-Peer/Peer Routing Indices(SP/P-RIs): • Idee: • Speicherung der Metainformation über die an ihm angeschlossenen Peers. • z.B: Schema, Schemawert... • Registrierung eines Peers: • bietet seine Metainformationen zum Super-Peer • durch eine veröffentliche Nachricht • Matching Algorithmus: • um festzustellen, welcher Peer die Anfrage verstehen und beantworten kann. • garantiert nicht einem nicht leeren Antwortsatz. • Indexeinträge mit verschiedenen Granularität RDF in P2P-Netzen
zwei Arten von Routing Indizes Super-Peer/Peer Routing Indices(SP/P-RIs): • Schema Index: • eindeutiger Identifier des Schema • Der Peer oder Super-Peer, die dieses Schema benutzen. • Schema Property: • Schema Index + Eigenschaft • Menge von Eigenschaften • Property Value Range Index: • Klassifiziere die Eigenschaft mit Hilfe von vordefinierten hierarchischen Vokabularen. • Property Values Index: • vorteilhaft für einige Eigenschaften, die häufig verwendet werden. • Verringerung des Netzverkehrs RDF in P2P-Netzen
zwei Arten von Routing Indizes Super-Peer/Peer Routing Indices(SP/P-RIs): • Bsp: Find any resource where the property dc:subject is equal to ccs:softwareengineering, dc:language is equal to “de” and lom:contextis equal to “undergrad”. contents of the sample query at different granularities RDF in P2P-Netzen
zwei Arten von Routing Indizes Super-Peer/Peer Routing Indices(SP/P-RIs): routing example network SP4 Sample Query P0 SP1 SP2 P4 P1 (s, dc: language,“de“) (s, lom: context,“undergrad“) (s,dc: subject, ccs: softwareengineering) (r, dc: language, “de“) (r, lom: context, “undergrad“) (r, dc: subject, ccs: software- engineering) SP3 P2 P3 (p, dc: subject, ccs: ethernet) (q, dc: subject, ccs: clientserver) RDF in P2P-Netzen
zwei Arten von Routing Indizes Super-Peer/Peer Routing Indices(SP/P-RIs): • Update der SP/P Indizes: • Garantiere des aktuellen Zustands der Indizes • Hinzufügen eines Peers: • Sendung seiner Metainformationen an den Super-Peer durch Broadcasting. • Veränderung der Inhalte eines Peers: • z.B: Veränderung des Schemas: DCLOM • Verlassen eines Peers: • Lösen der zugehörigen Referenz von den Indizes RDF in P2P-Netzen
zwei Arten von Routing Indizes Super-Peer/Super-Peer Routing Indices(SP/SP-RIs): • Idee: Routing zwischen Super-Peers. • SP/SP Indizes: • Extrakte und Zusammenfassungen von allen lokalen SP/P Indizes. • enthalten die selben Arten der Informationen wie SP/P Indizes. • referenziert nur die benachbarten Super-Peers. • Zwei Schritte bei der Bearbeitung einer Anfrage: • Anfrage wird nur an entsprechende Peers weitergeleitet (mit Hilfe von SP/P Indizes). • Weitersendung der Anfrage an referenzierte, benachbarte Super-Peers (mit Hilfe von SP/SP Indizes). RDF in P2P-Netzen
zwei Arten von Routing Indizes Super-Peer/Super-Peer Routing Indices(SP/SP-RIs): SP/SP index of SP2 at different granularities RDF in P2P-Netzen
zwei Arten von Routing Indizes Super-Peer/Super-Peer Routing Indices(SP/SP-RIs): RDF in P2P-Netzen
zwei Arten von Routing Indizes Super-Peer/Super-Peer Routing Indices(SP/SP-RIs): • Update der SP/SP Indizes: • Hinzufügen eines neuen Peers: • Peer sendet seine Metainformationen zum Super-Peer. • Super-Peer passt sich die SP/P indizes an. • Super-Peer sendet die Nachricht zur allen Peers. • Andere Super-Peers aktualisieren ihre SP/SP Indizes entsprechend. => aufwendig • Verlassen eines Peers: • ähnlich wie beim Hinzufügen eines neuen Peers. • Hinzufügen neues Super-Peers: • Ähnliche Konstruktion wie bei SP/P Indizes • Ausfall eines Super-Peers: • Die mit diesem Super-Peer verbundenen Peers können bei anderem Super-Peer beliebigen registrieren. RDF in P2P-Netzen
Dynamische Routing Indizes • Problem: • Broadcasting der Anfrage, weil die Peers beliebig verteilt sind. => Wie macht man die Routing Indizes effizient? • Lösung: • Hinzufügen der Frequenzinformationen über Anfragen • Gedanken über „Similarity-Based Clustering Of Peers” • Similarity-Based Clustering Of Peers: • Idee: Das Clustering basiert auf der Integration der Peers nach der Ähnlichkeitsmaß. • Vorteil: Reduzierung der Menge der Nachrichten. • HyperCup Struktur macht die Partition (Subpartition) möglich. • Verbindung eines Super-Peer mit anderen Nachbarn • als Verbindung zur anderen Partitionen oder Subpartitionen betrachtet. RDF in P2P-Netzen
Dynamische Routing Indizes • HyperCuP-Partitionen sind überflüssig angeschlossen. • Broadcasting einer Nachricht ist nur nach der „i>k“ Regel. • Andere dynamische Weise: • „frequency counting algorithms on streams”: • Jede Peer, Super-Peer und Anfragen werden durch eine Menge von Items charakterisiert. • Ähnlichkeitsberechnung => Hinzufügen der Frequenz in den SP/SP Indizes ist nötig. RDF in P2P-Netzen
Mediation zw. verschiedenen Schemata • Basis Idee: “Mediator-based Information Systems (MBIS)” • „Korrespondenz“: Transformationsregel zw.Schemata. • MBIS-basierte Korrespondenz: Transformationsregel zw. den unterschiedlichen lokalen Schemata. • Ein Super-Peer speichert die Relationen zwischen den Korrespondenz und Peers in seiner Indizes. • Mechanismen: • Query Correspondence Assertions (QCA) • Model Correspondence Assertions (MOCA) RDF in P2P-Netzen
Mediation zw. verschiedenen Schemata Beispiel: Query Correspondence Assertions (QCA) • Ein definierte Anfrage-Schema: lectures (lecture: identifier, lecture: language, lecture: subject, lecture: educationalcontext) • Beispiele für Korrespondenzen zwischen RDF-Schemata: 1. lectures: identifier = dc: title lectures: language = dc: lang lectures: subject = dc: subject 2. lectures: identifier = lom: general.identifier lectures: language = lom: general.language lectures: context = lom: educational.context • Beispiele für View zwischen RDF-Schemata: 1. lecturesViewDC (lectures: identifier, lecture: language, lecture: subject) ← DC (dc: title, dc: lang, dc: subject) 2. lecturesViewLOM (lecture: identifier, lecture: language, lecture: context) ← LOM (lom: general.identifier, lom: general.language, lom:educational.context) RDF in P2P-Netzen
Mediation zw. verschiedenen Schemata Beispiel: Query Correspondence Assertions (QCA) • Abbildung der Attribute aus dem lecture-Schema auf die RDF-Schemata DC und LOM. 1. lectures (lectures: identifier, lectures: language, lectures: subject, -) ← lecturesViewDC (lectures: identifier, lectures: language, lectures: subject) 2. lectures (lectures: identifier, lectures: language, -, lectures: context) ← lecturesViewLOM (lectures: identifier, lectures: language, lectures: context) • Resultierende Korrespondenzen für die Umsetzung auf RDF-Schemata in P1 und P2. Peer1: Correspondence1 lectures (lectures: identifier, lectures: language, lectures: subject, -,) ← lecturesViewDC (lectures: identifier, lectures: language, lecture: subject) ← DC (dc: title, dc: subject, dc: lang) Peer2: Correspondence2 lectures (lectures: identifier, lectures: language, -, lecture:educationalcontext) ← lecturesviewLOM (lectures: identifier, lectures: language, lecture: educationalcontext) ← LOM (lom: general.identifier, lom: general.language, lom:educational.context) RDF in P2P-Netzen
Gliederung • 1. Kurze Einführung von OAI • 2. Edutella • 3. RDF-basiertes Peer To Peer-Netzwerk • 4. Implementierung • Edutella Framework • Dienstleistungen • 5. OAI-P2P • 6. Zusammenfassung • 7. Wichtige Ressourcen RDF in P2P-Netzen
Edutella Framework • Erweiterung von JXTA. • Edutella Framework wird in zwei Bereichen erweitert: • Erster Teil: • Unterstützung des Aufbau des Super-Peer-Netzwerks • Der Super-Peer basiert auf solchen Topologien wie z.B: HyperCuP. • Zweiter Teil: • zusätzliche Komponenten für Konstruktion des Super-Peers. • Peer Registrierung • Verwalte Routing-Tabelle • ... • Dienstleistungen: • Standard-Modulen • spezifische Service-Modulen RDF in P2P-Netzen
Dienstleistungen Der Super-Peer stellt vier Dienstleistungen zur Verfügung: • Bind Service: • Behandlung der Registrierung des Peers. • kümmert sich um dem „hand-shaking“ Prozeß. • Aktualisierung der SP/P Indizes. • Routing Service: • Routing der Anfragen. • Empfang der Resultate von passenden Peers und Super-Peers. • Topology Service: • Beibehalten der Netz-Topologie des Super-Peers • Aktualisierung der SP/SP Indizes • Query Service: • stellt eine definierte Schnittstelle zu den neuen Anfragen zur Verfügung. • Diese Anträge werden durch den Routing Service verteilt. RDF in P2P-Netzen
Gliederung • 1. Einleitung • 2. RDF • 3. Edutella/RDF-basierte P2P-Netze • 4. Implementation • 5. OAI-P2P • Motivation • System Architektur • 6. Zusammenfassung • 7. Wichtige Ressourcen RDF in P2P-Netzen
Motivation • Nachteile von OAI: • Abfragen aller Data-Providers • Hinzufügen neues Data-Providers • Abbau und Reorganisation des Service-Providers Data Provider ... ... Service Provider Clients TIB TIBNCSTRL arXiv Arc My.OAI RDF in P2P-Netzen
Motivation • OAI-P2P: Ein P2P Netzwerk für OAI • Ziel: • Erweiterung des Query-Services • Vermeiden der Abhängigkeiten von zentralisiert, server-basierten Systeme. • Eigenschaften: • OAI Data-Provider werden Edutella-Provider • „front-end“ Service • System-Architektur: • OAI-P2P Data Wrapper • OAI-P2P Query Wrapper RDF in P2P-Netzen
System Architektur • OAI-P2P Data Wrapper • Keine Veränderung des Data-Providers • Kopiere die Daten zum RDF-Repository • sofort implementierbar • Update nötig • OAI-P2P Query Wrapper • Antworte die Anfrage direkt vom Datenspeicher • Übersetzung der QEL-Anfrage ist nötig • Kopiere die Daten nicht • Kein Update RDF in P2P-Netzen
Gliederung • 1. Einleitung • 2. RDF • 3. Edutella/RDF-basierte P2P-Netze • 4. Implementation • 5. OAI-P2P • 6. Zusammenfassung • 7. Wichtige Ressourcen RDF in P2P-Netzen
Zusammenfassung • OAI: low barrier • Edutella/Schema-basierte P2P-Netze: • P2P Infrastruktur • explizite Schemata zur Beschreibung ihrer Inhalte. • ideal für heterogene Information-Providers • Transformationsregel • Super-Peer Topologie: effizientes Routing und Clustering • Routing-Strategien: effektive Sendung der Anfragen • Algorithmen: Konstruktion der Indizes dynamisch • Implementierung • OAI-P2P RDF in P2P-Netzen
Literatur: [1] Dublin Core Metadata Initiative(DCMI): http://dublincore.org [2] OAI web site und OAI-PMH specification:http://www.openarchives.org/ [3] Kepler Project: http://kepler.cs.odu.edu:8080/kepler/index.html [3] RDF: http://www.w3c.org/RDF/ [4] Edutella: http://edutella.jxta.org/ [5] JXTA: http://www.jxta.org [6] RDF-QEL: http://edutella.jxta.org/spec/qel.html [6] Ahlborn, Benjamin; Nejdl, Wolfgang Nejdl; Siberski, Wolf (2002): OAI-P2P: A Peer-to-Peer Network for Open Archives [7] Nejdl, Wolfgang; Wolpers, Martin; Siberski, Wolf; Schmitz, Christoph; Schlosser, Mario; Brunkhorst, Ingo; Löser, Alexander (2003): Super-Peer-Based Routing and Clustering Strategies for RDF-Based Peer-to-Peer Networks RDF in P2P-Netzen