Presentation on theme: "Peer-to-Peer Networking for Distributed Learning Repositories: The Edutella Network Diplomarbeit von Boris Wolf."— Presentation transcript:
Peer-to-Peer Networking for Distributed Learning Repositories: The Edutella Network Diplomarbeit von Boris Wolf
Edutella: Motivation P2P systems don‘t work without metadata. Shortcomings of today‘s 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).
Edutella: 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.
Edutella: 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.
Edutella: 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).
Edutella 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).
Edutella Query: Wrappers Wrappers translate between RDF based query languages (RDF-QEL-i, RQL, TRIPLE, etc.) and local query languages (SQL, Xpath, etc.).
Edutella 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.
Edutella 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‘)
Edutella 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‘).
Edutella Query: Knowledge Base RDF only knows assertions: RDF repository = Knowledge base of ground (binary) facts. Intelligence') Russel') Norvig') Engineering') Balzert') in Prolog') Clocksin') Mellish') Java') van der Linden')
Edutella 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) :- Intelligence'), aibook(X) :- ?- aibook(X). Query literals are evaluated one by one. Matching rule heads are substituted and their variables unified. Disjunction as rules with identical head.
Edutella Query: Results Results as tuples of variable bindings. aibook(http://www.xyz.com/ai.html) aibook(http://www.xyz.com/pl.html)
Edutella 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.
Edutella 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.
Edutella 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, or.
Edutella Prototype: ECDM Model
Edutella Prototype: Demonstration
Edutella Prototype: SQL SELECT STMT0.PREDICATE STMT0_PREDICATE, STMT0.ARG0 STMT0_ARG0 FROM (SELECT 'http://www.lib.org#aibook' PREDICATE, STMT0.SUBJECT ARG0 FROM STATEMENTS STMT0 WHERE STMT0.PREDICATE='http://www.w3.org/1999/02/22-rdf-syntax-ns#type' AND STMT0.OBJECT='http://www.lit.edu/types#AIBook' UNION SELECT 'http://www.lib.org#aibook' PREDICATE, STMT0.SUBJECT ARG0 FROM STATEMENTS STMT0, STATEMENTS STMT1 WHERE STMT0.PREDICATE='http://purl.org/dc/elements/1.1/title' AND STMT0.OBJECT='Artificial Intelligence' AND STMT1.PREDICATE='http://www.w3.org/1999/02/22-rdf-syntax-ns#type' AND STMT1.OBJECT='http://www.lit.edu/types#Book' AND STMT0.SUBJECT=STMT1.SUBJECT ) STMT0
Edutella 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.