Title: PeertoPeer Networking for Distributed Learning Repositories:
1Peer-to-Peer Networking for Distributed Learning
Repositories
- The Edutella Network
- Diplomarbeit von Boris Wolf
2Edutella Motivation
- P2P systems dont work without metadata.
- Shortcomings of todays successful P2P systems
(Napster, LimeWire, Gnutella etc.) Poor
expressiveness of metadata, focused on certain
application or community. - Edutella Specification and implementation of an
extendable Open Source infrastructure for
exchange and processing of any kind of RDF
metadata (initial focus on educational
resources). - Edutella is Open Source, uses Open Source, builds
on Open Standards. - Part of the PADLR Project (Stanford, Stockholm,
Uppsala, Hannover, Braunschweig, Karlsruhe).
3Edutella Technology (RDF)
- Connects highly heterogeneous peers
(heterogeneous in uptime, storage capability,
performance, functionality/services offered,
number of users etc.). - Essential assumption Everything in Edutella can
be described in RDF therefore - Edutella peer RDF repository
- Edutella network huge RDF repository
integrating all participating peer repositories.
- Goal making distributed nature of RDF
repositories completely transparent to Edutella
clients.
4Edutella Technology (JXTA)
- Open Source project supported by Sun Microsystems
- JXTA set of protocol specifications to cover
typical P2P functionality (all protocols based on
XML).
- Java binding offers a layered approach to
standardize P2P application development (core,
services, applications). - Framework for prototyping and developing P2P
applications. - Introduces well-known UNIX concepts to the P2P
world peer groups, pipes, thin core libraries
/ services, JXTA shell.
5Edutella Architecture
- Edutella Collection of JXTA Services.
- Each peer will be required to support a number of
basic services and may offer an arbitrary number
of advanced services. - Edutella Query Standardized query and retrieval
mechanism for RDF metadata stored in distributed
RDF/XML repositories. - Further Edutella Services Edutella Clustering
(semantic routing), Edutella Replication
(redundant storage), Edutella Mapping (different
ontologies), Edutella Annotation (distributed
annotation facilities).
6Edutella Query
- RDF Query Exchange Language RDF-QEL (RDF can be
easily analyzed utilizing existing RDF/XML
parsers, and transferred as XML data). - Edutella Common Data Model (ECDM) for internal
represenation of queries and results (based on
Datalog semantics).
7Edutella Query Wrappers
- Wrappers translate between RDF based query
languages (RDF-QEL-i, RQL, TRIPLE, etc.) and
local query languages (SQL, Xpath, etc.).
8Edutella Query Mediators
- Distributed query mechanism with Mediators/Hubs
based on query indices Simple Mediators
distribute entire queries to registered peers,
advanced Mediators split queries into subqueries
and reconcile their results.
9Edutella Query Datalog
- Datalog Uses logic programming concepts (Prolog)
for databases and query languages. - Literals Predicate expressions describing any
kind of relations between an arbitrary number of
constants or variables, e.g. -
- title(X,Artificial Intelligence)
- Database/Knowledge Base Set of ground facts
set of literals with constant values only, e.g. -
- title(http//www.xyz.com/ai.html,Artificial
Intelligence)
10Edutella Query Datalog
- Query Conjunction of literals, e.g.
-
- ?- title(X,Artificial Intelligence),
type(X,Book). - Rule Implication with one head and an arbitrary
number of body literals, e.g. -
- aibook(X) - title(X,Artificial
Intelligence), type(X,Book).
11Edutella Query Knowledge Base
- RDF only knows assertions RDF repository
Knowledge base of ground (binary) facts. - http//purl.org/dc/elements/1.1/title('http//www.
xyz.com/ai.html','Artificial Intelligence') - http//purl.org/dc/elements/1.1/author('http//www
.xyz.com/ai.html','Stuart Russel') - http//purl.org/dc/elements/1.1/author('http//www
.xyz.com/ai.html','Peter Norvig') - http//www.w3.org/1999/02/22-rdf-syntax-nstype('h
ttp//www.xyz.com/ai.html','http//www.lit.edu/typ
esBook') - http//purl.org/dc/elements/1.1/title('http//www.
xyz.com/sw.html','Software Engineering') - http//purl.org/dc/elements/1.1/author('http//www
.xyz.com/sw.html','Helmut Balzert') - http//www.w3.org/1999/02/22-rdf-syntax-nstype('h
ttp//www.xyz.com/sw.html','http//www.lit.edu/typ
esBook') - http//purl.org/dc/elements/1.1/title('http//www.
xyz.com/pl.html','Programming in Prolog') - http//purl.org/dc/elements/1.1/author('http//www
.xyz.com/pl.html','William Clocksin') - http//purl.org/dc/elements/1.1/author('http//www
.xyz.com/pl.html','Christopher Mellish') - http//www.w3.org/1999/02/22-rdf-syntax-nstype('h
ttp//www.xyz.com/pl.html','http//www.lit.edu/typ
esAI-Book') - http//purl.org/dc/elements/1.1/title('http//www.
xyz.com/jv.html','Just Java') - http//purl.org/dc/elements/1.1/author('http//www
.xyz.com/jv.html','Peter van der Linden') - http//www.w3.org/1999/02/22-rdf-syntax-nstype('h
ttp//www.xyz.com/jv.html','http//www.lit.edu/typ
esBook')
12Edutella Query Example Query
- Return all resources which are of type AI-Book
or which are of type Book and furthermore have
the title Artificial Intelligence - aibook(X) - http//purl.org/dc/elements/1.1/title
(X,'Artificial Intelligence'), http//purl.org/
dc/elements/1.1/type(X,'http//www.lib.org/typesB
ook'). - aibook(X) - http//purl.org/dc/elements/1.1/type(
X,'http//www.lib.org/typesAI-Book'). - ?- aibook(X).
- Query literals are evaluated one by one.
- Matching rule heads are substituted and their
variables unified. - Disjunction as rules with identical head.
13Edutella Query Results
- Results as tuples of variable bindings.
- aibook(http//www.xyz.com/ai.html)
- aibook(http//www.xyz.com/pl.html)
14Edutella Query RDF-QEL Design criteria for an
RDF Query Exchange Language
- Standard semantics and sound RDF serialization.
- Expressiveness (simple queries should look simple
while complex queries should be possible). - Adaptibility (QBE/simple graph query, relational
calculus, inference engines). - Transformability.
15Edutella Query RDF-QEL-i
- Solution Several language levels RDF-QEL-i (1-4)
with increasing - expressiveness
- RDF-QEL-1 purely conjunctive queries, follows
QBE paradigm (corresponds to Datalog query
without rules). - RDF-QEL-2 disjunctive queries, requires
reification, AND/OR-tree, suitable for query
visualization and reuse (corresponds to Datalog
with non-recursive rules). - RDF-QEL-3 allows negation, covers relational
calculus (corresponds to Datalog with
non-recursive rules and negated literals). - RDF-QEL-4 allows recursion to express transitive
closure and linear recursive query definitions.
16Edutella Query Example Query in RDF-QEL-3
17Edutella Query Example Query
- aibook(X) - http//purl.org/dc/elements/1.1/title
(X,'Artificial Intelligence'), http//purl.org/dc/
elements/1.1/type(X,'http//www.lib.org/typesBook
'). - aibook(X) - http//purl.org/dc/elements/1.1/type(
X,'http//www.lib.org/typesAI-Book'). - ?- aibook(X).
18Edutella Prototype Functionality
- Edutella Query Wrapper
- Edutella network interface Import/export of
RDF-QEL-1, RDF-QEL-3 and Datalog queries. - Storage layer interface Export of SQL2 queries.
- Internal Query Representation
- Edutella Common Data Model (ECDM).
- Edutella Query Mediator
- Maintains Query Index with entries of the form
ltnamespacegt, ltnamespace, property_namegt or
ltnamespace, property_name, property_valuegt.
19Edutella Prototype ECDM Model
20Edutella Prototype Demonstration
21Edutella Prototype SQL
- SELECT STMT0.PREDICATE STMT0_PREDICATE,
STMT0.ARG0 STMT0_ARG0 - FROM
- (SELECT 'http//www.lib.orgaibook' PREDICATE,
STMT0.SUBJECT ARG0 - FROM STATEMENTS STMT0
- WHERE STMT0.PREDICATE'http//www.w3.org/1999/0
2/22-rdf-syntax-nstype' - AND STMT0.OBJECT'http//www.lit.edu/typesAIBoo
k' - UNION
- SELECT 'http//www.lib.orgaibook' PREDICATE,
STMT0.SUBJECT ARG0 - FROM STATEMENTS STMT0, STATEMENTS STMT1
- WHERE STMT0.PREDICATE'http//purl.org/dc/elemen
ts/1.1/title' - AND STMT0.OBJECT'Artificial Intelligence'
- AND STMT1.PREDICATE'http//www.w3.org/1999/02/2
2-rdf-syntax-nstype' - AND STMT1.OBJECT'http//www.lit.edu/typesBook'
- AND STMT0.SUBJECTSTMT1.SUBJECT ) STMT0
22Edutella Prototype Future Work
- Further testing, enhanced error handling.
- Support for further Query Languages RDF-QEL-2,
RQL, TRIPLE, RDF/XML, etc. - Query Optimizer.
- Enhanced Distributed Query Mechanism.