rdf in p2p-netzen ting li 09.02.2004. rdf in p2p-netzen2 gliederung 1. einleitung 2. rdf/rdf schema...
TRANSCRIPT
RDF in P2P-Netzen
Ting Li
09.02.2004
09.02.2004 RDF in P2P-Netzen 2
Gliederung 1. Einleitung 2. RDF/RDF Schema 3. Edutella/RDF-basierte P2P-Netze 4. Implementierung 5. OAI-P2P 6. Zusammenfassung 7. Wichtige Ressourcen
09.02.2004 RDF in P2P-Netzen 3
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
09.02.2004 RDF in P2P-Netzen 4
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.
09.02.2004 RDF in P2P-Netzen 5
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
09.02.2004 RDF in P2P-Netzen 6
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
09.02.2004 RDF in P2P-Netzen 7
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
09.02.2004 RDF in P2P-Netzen 8
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
09.02.2004 RDF in P2P-Netzen 9
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>
09.02.2004 RDF in P2P-Netzen 10
RDF (Resource Description Framework) 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 = "[email protected]" /> </rdf: Description> </rdf: RDF>
http://www.w3c.org/Home/Lassila
http://www.w3.org/staffId/85740creator
Ora Lassila [email protected]
Name Email
09.02.2004 RDF in P2P-Netzen 11
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
09.02.2004 RDF in P2P-Netzen 12
RDF Schemas Beispiel: Resource Hierarchy
rdfs: subClassOf
rdf: type
rdfs:Resource
xyz:MotorVehicle
rdfs:Class
xyz:MiniVan
xyz:Truckxyz:Van
xyz:PassengerVehicle
09.02.2004 RDF in P2P-Netzen 13
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
09.02.2004 RDF in P2P-Netzen 14
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...
09.02.2004 RDF in P2P-Netzen 15
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
09.02.2004 RDF in P2P-Netzen 16
DienstleistungenQuery 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
09.02.2004 RDF in P2P-Netzen 17
DienstleistungenRDF-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
09.02.2004 RDF in P2P-Netzen 18
Dienstleistungen
Conzilla as query editor
09.02.2004 RDF in P2P-Netzen 19
DienstleistungenReplication 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
09.02.2004 RDF in P2P-Netzen 20
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.
…
SP
SP
SP
SPP
PP P
P
P
PP
P
09.02.2004 RDF in P2P-Netzen 21
Super-Peer/HyperCup Topologie Super-Peers sind in HyperCup Topologie organisiert. 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.
EG
A B
C
H
D
F
01 1
0
0
011
222 2
09.02.2004 RDF in P2P-Netzen 22
zwei Arten von Routing IndizesSuper-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
09.02.2004 RDF in P2P-Netzen 23
zwei Arten von Routing IndizesSuper-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
09.02.2004 RDF in P2P-Netzen 24
zwei Arten von Routing IndizesSuper-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:context is equal to “undergrad”.
contents of the sample query at different granularities
Granularity Query
Schema dc, lom
Property dc: subject, dc: language, lom: context
Property Value Range dc: subject css: sw’engineering
Property Value lom: context “undergrad”
dc: language “de”
09.02.2004 RDF in P2P-Netzen 25
zwei Arten von Routing IndizesSuper-Peer/Peer Routing Indices(SP/P-RIs):
routing example network
P0
P1
SP1 P4
P3P2
SP2
SP4
SP3
(r, dc: language, “de“)
(r, lom: context, “undergrad“)
(r, dc: subject, ccs: software- engineering)
Sample Query
(p, dc: subject, ccs: ethernet) (q, dc: subject, ccs: clientserver)
(s, dc: language,“de“)
(s, lom: context,“undergrad“)
(s,dc: subject, ccs: softwareengineering)
09.02.2004 RDF in P2P-Netzen 26
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
09.02.2004 RDF in P2P-Netzen 27
zwei Arten von Routing IndizesSuper-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).
09.02.2004 RDF in P2P-Netzen 28
zwei Arten von Routing Indizes
Super-Peer/Super-Peer Routing Indices(SP/SP-RIs):
SP/SP index of SP2 at different granularities
Granularity Index of SP2
Schema dc SP1, SP3, SP4
lom SP1, SP4
Property dc: subject SP1, SP3, SP4
dc: language SP1, SP4
lom: context SP1, SP4
Property Value Range
dc: subject ccs: networks SP3
dc: subject css: sw’engineering SP1, SP4
Property
Value
lom: context “undergrad” SP1, SP4
dc: language “de” SP1, SP4
09.02.2004 RDF in P2P-Netzen 29
zwei Arten von Routing Indizes
Super-Peer/Super-Peer Routing Indices(SP/SP-RIs):
09.02.2004 RDF in P2P-Netzen 30
zwei Arten von Routing IndizesSuper-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.
09.02.2004 RDF in P2P-Netzen 31
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.
09.02.2004 RDF in P2P-Netzen 32
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.
09.02.2004 RDF in P2P-Netzen 33
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)
09.02.2004 RDF in P2P-Netzen 34
Mediation zw. verschiedenen SchemataBeispiel: 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)
09.02.2004 RDF in P2P-Netzen 35
Mediation zw. verschiedenen SchemataBeispiel: 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)
09.02.2004 RDF in P2P-Netzen 36
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
09.02.2004 RDF in P2P-Netzen 37
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
09.02.2004 RDF in P2P-Netzen 38
DienstleistungenDer 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.
09.02.2004 RDF in P2P-Netzen 39
Gliederung 1. Einleitung 2. RDF 3. Edutella/RDF-basierte P2P-Netze 4. Implementation 5. OAI-P2P
Motivation System Architektur
6. Zusammenfassung 7. Wichtige Ressourcen
09.02.2004 RDF in P2P-Netzen 40
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
09.02.2004 RDF in P2P-Netzen 41
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
09.02.2004 RDF in P2P-Netzen 42
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
09.02.2004 RDF in P2P-Netzen 43
Gliederung 1. Einleitung 2. RDF 3. Edutella/RDF-basierte P2P-Netze 4. Implementation 5. OAI-P2P 6. Zusammenfassung 7. Wichtige Ressourcen
09.02.2004 RDF in P2P-Netzen 44
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
09.02.2004 RDF in P2P-Netzen 45
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