1 / 22

Peer-to-Peer Networking for Distributed Learning Repositories:

Peer-to-Peer Networking for Distributed Learning Repositories:. The Edutella Network Diplomarbeit von Boris Wolf. Edutella: Motivation. P2P systems don‘t work without metadata.

gefen
Download Presentation

Peer-to-Peer Networking for Distributed Learning Repositories:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Peer-to-Peer Networking for Distributed Learning Repositories: The Edutella Network Diplomarbeit von Boris Wolf

  2. 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).

  3. 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.

  4. 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.

  5. 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).

  6. 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).

  7. Edutella Query: Wrappers • Wrappers translate between RDF based query languages (RDF-QEL-i, RQL, TRIPLE, etc.) and local query languages (SQL, Xpath, etc.).

  8. 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.

  9. 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‘)

  10. 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‘).

  11. Edutella 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-ns#type('http://www.xyz.com/ai.html','http://www.lit.edu/types#Book') 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-ns#type('http://www.xyz.com/sw.html','http://www.lit.edu/types#Book') 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-ns#type('http://www.xyz.com/pl.html','http://www.lit.edu/types#AI-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-ns#type('http://www.xyz.com/jv.html','http://www.lit.edu/types#Book')

  12. 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) :- http://purl.org/dc/elements/1.1/title(X,'Artificial Intelligence'), http://purl.org/dc/elements/1.1/type(X,'http://www.lib.org/types#Book'). aibook(X) :- http://purl.org/dc/elements/1.1/type(X,'http://www.lib.org/types#AI-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.

  13. Edutella Query: Results • Results as tuples of variable bindings. aibook(http://www.xyz.com/ai.html) aibook(http://www.xyz.com/pl.html)

  14. Edutella Query: RDF-QELDesign 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.

  15. 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.

  16. Edutella Query: Example Query in RDF-QEL-3

  17. Edutella 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/types#Book'). aibook(X) :- http://purl.org/dc/elements/1.1/type(X,'http://www.lib.org/types#AI-Book'). ?- aibook(X).

  18. 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 <namespace>, <namespace, property_name> or <namespace, property_name, property_value>.

  19. Edutella Prototype: ECDM Model

  20. Edutella Prototype: Demonstration

  21. 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

  22. 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.

More Related