=Paper= {{Paper |id=Vol-100/paper-12 |storemode=property |title=An O-Telos Provider Peer for the RDF-based Edutella P2P-network |pdfUrl=https://ceur-ws.org/Vol-100/Martin_Wolpers-et-al.pdf |volume=Vol-100 |dblpUrl=https://dblp.org/rec/conf/ecai/WolpersNB02 }} ==An O-Telos Provider Peer for the RDF-based Edutella P2P-network== https://ceur-ws.org/Vol-100/Martin_Wolpers-et-al.pdf
    An O-Telos provider peer for the RDF-based Edutella
                       P2P-network
                                       Martin Wolpers, Wolfgang Nejdl, Ingo Brunkhorst
                                                Learning Lab Lower Saxony,
                                                   University of Hannover,
                                          Expo Plaza 1, 30359 Hannover, Germany,
                                       email: wolpers,nejdl,brunkhorst@learninglab.de


Abstract. The open source project Edutella is a Peer-to-Peer (P2P)        oriented database manager that implements the meta data repre-
network for learning materials. It builds upon meta data standards de-    sentation language O-Telos [6] [8]. In contrast to RDF, O-Telos is
fined for the WWW and aims to provide a RDF-based meta data in-           an object-oriented meta-modeling language that provides facilities
frastructure for P2P applications. In this paper we discuss a prototype   for unrestricted meta modeling levels. Furthermore the ConceptBase
provider peer for the Edutella network, which provides advanced rea-      database implements a powerful query and reasoning (rules and con-
soning peers for RDF data. This prototype peer provides storage and       straints) mechanism based on Datalog which we want to make ac-
querying services for which it uses the ConceptBase database with         cessible to the Edutella network.
its powerful reasoning mechanism as storage and query facility. Con-         The provider-peer provides two basic services which we will
ceptBase implements the meta data language O-Telos while Edutella         present in this paper. On one hand it is designed to store RDF(S) data
uses RDF(S). Based on previous work in this area we present a mech-       in the ConceptBase repository; the storage service. The data repre-
anism to translate the property-centered meta modeling language           sented in RDF(S) is translated to O-Telos which is used by the repos-
RDF to the object-centered meta modeling language O-Telos. Thus           itory. The translation uses the RDF-O-Telos axioms as described in
we are able to provide a Datalog based reasoning facility for the        [9].
P2P Edutella network.                                                        On the other hand the provider-peer serves as a query interface to
   As the Edutella network also uses the query exchange language          the RDF data stored in the ConceptBase repository; the query ser-
RDF-QEL we also describe in detail the peer’s query service. It           vice. Queries formulated in the RDF exchange language RDF-QEL
translates RDF-QEL queries to O-Telos queries and the respective          [10] are posed to the peer that translates them into O-Telos queries.
O-Telos answers to RDF-QEL answers.                                       The O-Telos queries than are answered by the ConceptBase database.
                                                                          The peer translates the ConceptBase answers from O-Telos into RDF
                                                                          and returns these RDF statements to the network.
1   Introduction                                                             Combining the storage and query service with ConceptBases’
                                                                          Datalog reasoning facilities enables us to reason about the meta
Within the last year we have been working on a project towards
                                                                          data used in the Edutella network.
implementing an extendable open source meta data-based peer-to-
                                                                             This paper is structured as follows: the next chapter describes how
peer infrastructure called Edutella for the exchange of distributed
                                                                          RDF(s) data is stored in ConceptBase. With the help of a simple
resources. Resources initially considered are learning materials but
                                                                          example our translation algorithm is explained in more detail. The
the infrastructure is agnostic to the specific type of resources to be
                                                                          third chapter deals with the querying facility provided by this peer.
exchanged. In our case we have large collections of learning mate-
                                                                          We explain how we are able to use the advanced querying facilities of
rial and we are working on annotating this material with RDF [7]
                                                                          ConceptBase for querying RDF(S) data. The fourth chapter describes
and RDFS [1]. This will enable us to use the Edutella network ser-
                                                                          briefly the technical issues concerned with this provider peer. A short
vices like storage, exchange, query and processing services which
                                                                          summary closes the paper.
are based on RDF(S).
   In its current state the Edutella network consists of client- and
provider-peers. A client-peer poses queries to the Edutella network       2   Storing RDF meta data in ConceptBase
and displays the answers returned from the network. The provider-
peers receive the queries from the network and answer them if pos-        The resources exchanged in the Edutella network are basically learn-
sible. Thus a peer must realize a storage and query service for the       ing materials, each learning object is described by RDF(S) data. In
Edutella network in order to function as a provider-peer. For a com-      this paper we describe a way to provide an Edutella peer to store and
plete description of Edutella see the Edutella White Paper [10] and       retrieve RDF(S) data. The example used throughout this paper is a
the projects’ home page [3].                                              small database containing the RDF description of some books. This
   In this paper we describe a provider-peer and its services for         database is taken from the Edutella [3] examples library. A part of
the Edutella network, which provides extended reasoning capabil-          this database is represented in figure 1.
ities. The provider-peer uses the ConceptBase database [5] as a              In order to store the RDF meta data in the ConceptBase database
repository for storing meta data. ConceptBase is a deductive object-      the peer has to translate RDF to O-Telos. O-Telos itself is an object-
                                                     oriented modeling language defined by 32 axioms. In order to trans-
                                                     late RDF to O-Telos it is necessary to modify and eventually extend
                                                     RDF(S). Therefore we have developed a translation based on the ax-
                                                     ioms from O-Telos-RDF. For a description of O-Telos-RDF and its
                                                     defining axioms please see [9].
                                                        The algorithm ensures that RDF(S) data is translated without any
                                                     loss of information. At first we are changing the representation from
                                                     XML serialization to its representation as triple statements. Each
                                                     triple is provided with an unique id. Furthermore the quadruples built
                                                     are eventually supplemented with additional quadruples capturing
                                                     further facts of the actual namespace to fulfill the axioms of O-Telos
                                                     and O-Telos-RDF. The sum of compound and generated quadruples
                                                     form the O-Telos database where each quadruple represents an O-
                                                     Telos statement.
                                                        An      O-Telos      quadruple     statement       has    the     form
                                                     (sid,subject,literal,object). Sid, subject and object are unique
                                                     statement identifiers. Sid identifies the statement that connects the
                                                     subject statement with the object statement using the predicate
                                                     literal. Sid and subject can hold the same identifier only if sid,
                                                     subject and object are the same identifier, so that the statement
                                                     represents an individual with the literal as name. O-Telos declares
                                                     several predefined literals like the In literal stating instantiation, the
                                                     IsA literal stating inheritance, etc.
                                                        As an example for the translation process we will focus on just
                                                     one RDF resource description. The translation of the other resource
                                                     descriptions of the example book database follows basically the same
                                                     procedure varying in small details only. The RDF statements for the
                                                     example resource http://www.xyz.com/jv.html describe a
                                                     book with its properties “Just Java” of type dc:title and “Peter van
                                                     der Linden” of type dc:author. The resource itself is of the rdf:type
                                                     http://www.lit.edu/ types#Book.
                                                        The RDF-triple representation of this resource description is given
                                                     in table 1.

                                                             Nr.       triple
                                                             1         http://www.xyz.com/jv.html,
                                                                       http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
                                                                       http://www.lit.edu/types#Book
                                                             2         http://www.xyz.com/jv.html,
                                                                       http://purl.org/dc/elements/1.1/author,
                                                                       ”Peter van der Linden”
                                                             3         http://www.xyz.com/jv.html,
                                                                       http://purl.org/dc/elements/1.1/title,
                                                                       ”Just Java”


Figure 1.   RDF graph of the example book database                     Table 1. RDF triples of the book ”Just Java”




                                                                 Nr.     Quadruple
                                                                 1       sid1, sid1, http www xyz com jv html, sid1
                                                                 2       sid2, sid1, In, #Book
                                                                 3       sid3, sid1, In, #DCElements11
                                                                 4       sid4, sid1, title1, ”Just Java”
                                                                 5       sid5, sid4, In, #DCElements11.title
                                                                 6       sid6, sid1, author1, ”Peter van der Linden”
                                                                 7       sid7, sid6, In, #DCElements11.author
                                                                 8       sid8, sid1, namespace1, ”http://www.xyz.com/”
                                                                 9       sid9, sid8, In, #Book.namespace


                                                                 Table 2. O-Telos quadruples of the book ”Just Java”
   The O-Telos quadruples that describe the example re-
source      http://www.xyz.com/jv.html                    are      given
in table 2. Statement #1 represents a individual name
http www xyz com jv html. This individual is instance
of a class #Book and a class #DCElements11 (statements #2 and
#3). The individual has an attribute named title1 connecting it to the
object ”Just Java”. The attribute is instance of #DCElements11.title.
The individual is also connected to the object ”Peter van der
Linden” with the author1 attribute. This attribute is instance of
#DCElements11.author. Also the individual is connected via the
namespace1 attribute to ”http://www.xyz.com/” which is an instance
of #Book.namespace.
   The translation from RDF triple to O-Telos quadruple representa-
tion employ the axioms from O-Telos-RDF. Especially the axioms
describing instantiation, property and type translation are used. Note
                                                                                    Figure 2.   O-Telos graph of the example book database
that each RDF statement obtains a unique id to form the O-Telos
statement. The ids are the statement identifiers really and as such
are unique globally (except when exactly the same statements are
made in two different places. In our example the ids are represented        in the ConceptBase database. Thus figure 2 shows the O-Telos graph
by a short form sidx to enhance readability which would expand              of the same part of the book database which is shown as RDF graph
to namespace:resourcename, e.g. here sid1 is the abbreviated                in figure 1
form for http://www.xyz.com:jv.html.                                           The comparison of both graphs of the book database (figure 1 for
   If a RDF statement includes elements from other than the current         RDF and figure 2 for O-Telos) shows their equivalence. They are dif-
schema, identified by a different than the current namespace, these         ferent representations of the same book database using various dif-
elements are grouped in specially created O-Telos classes. For exam-        ferent notations and serializations (triple/quadruple and XML/frame
ple the properties of the “Just Java” books’ RDF description dc:title       syntax). Thus by employing the translation described above it is pos-
and dc:author, originating in the Dublin Core schema, are grouped           sible to store RDF(S) data in the O-Telos meta data language. The
in an O-Telos class called DCElements11 (see table 2). Note that the        next chapter shows how the lossless transformation of the RDF(S)
sids prefixed with ’#’ are stated for simplicity reasons and denote         data from its O-Telos representation is realized.
the respective class names. In reality these are again statements with
own ids which would enlarge the example without adding any new
insight. We therefore use the shortcut with the ’#’ prefix and the class    3   The peer query service
name instead.
                                                                            The chapter will provide some insight in how the data stored in an O-
   Also the O-Telos attribute namespace is introduced to hold the
                                                                            Telos provider-peer is regained using RDF queries. The RDF queries
namespace of each RDF resource and property. Usually the names-
                                                                            are posed to the peer by using the RDF-QEL exchange language as
pace is part of the unique id of each statement as hinted in the exam-
                                                                            described in [10]. Based on Datalog [11] RDF-QEL abstracts the
ple 2.1 but unfortunately the O-Telos frame syntax and parser forbids
                                                                            various RDF storage layer query languages (e.g. SQL) and user level
the possible special characters like dot, slash, dash, backslash, etc. of
                                                                            query languages (e.g. RDQL) thus providing the syntax and seman-
URLs in the element name. Therefore we introduce the namespace
                                                                            tics for an overall standard query interface across heterogeneous peer
attribute that is assigned to each element and attribute. This attribute
                                                                            repositories for any kind of RDF meta data.
holds the namespace or resource URL respectively as a work around.
                                                                               RDF-QEL does not distinguish between data and schema levels
                                                                            thus enabling the querying of different modeling levels. In doing
Individual http___www_xyz_com_jv_html
                                                                            so RDF-QEL conforms with the RDF(S) schema definitions and
  in Book, DCElements
                                                                            the more recent RDF model theory [4]. In order to describe and
  with
                                                                            handle different query capabilities of this particular peer, we defined
    title
                                                                            several RDF-QEL-i exchange language levels with increasing
        title1 : "Just Java"
                                                                            expressiveness: RDF-QEL-1 (conjunctive queries) is expressed
    author
                                                                            as unreified RDF graphs while the higher levels use reified RDF
        author1 : "Peter van der Linden"
                                                                            statements for increased expressiveness (e.g. RDF-QEL-3 covers
    attribute
                                                                            relational algebra, RDF-QEL-4 incorporates full Datalog). In
        namespace : "http://www.xyz.com/"
                                                                            this paper we will use examples in RDF-QEL-1 only for sim-
end
                                                                            plicity reasons. More advanced working examples can be found at
                                                                            http://cip1-s.cip1.uni-hannover.de:3120/rdf2cb
Example 2.1: O-Telos frame representation of the book ”Just Java”
                                                                            where advanced features like negation are demonstrated.
                                                                               The RDF-QEL queries are translated into O-Telos queries which
   The frame representation of the O-Telos quadruples of table 2 is         than are posed to and answered by the ConceptBase database. The
stated in example 2.1.                                                      O-Telos answers are translated back to RDF in XML serialization. In
   From the small example of the book ”Just Java” in its RDF and            order to clarify the translation further we will stick with the exam-
O-Telos descriptions we have gained an insight on the translation           ple from above. There the RDF description of the resource with the
of RDF to O-Telos. When applied to the whole book database the              URL http://www.xyz.com/jv.html and the title “Just Java”
respective complete O-Telos representation is generated and stored          is stored in the database.
                                   QueryClass EduQuery isA Individual with
                                         namespace : String
                                           varX : $ exists Y/Individual
                                                    and A(this,title,"Just Java") $
    
  ]>                                                                          Example 3.2: The O-Telos frame representation of the query example

                                                               namespace
                                                                                      nam1 : "http://www.xyz.com/"
                                         end
     
                                          Example 3.3: Frame syntax of ConceptBases’ answer for the query
     
                                                                                 The answer consists of RDF statements declaring that there is a
   
                                                                              resource with URL http://www.xyz.com/jv.html. This re-
                                                                              source is the domain of a property named title which has the range
   
                                                                                 The above example completes our presentations on how RDF(S)
     
                                                                              can be translated to O-Telos and back. The previous chapter intro-
   
                                                                              duced the ability of translating RDF to O-Telos thus enabling the
                                                                              storing capabilities of the meta database ConceptBase. This chapter
  
                                                                              retrieved and presented in RDF.


                                                                              4   The peer’s implementation

Example 3.1: The RDF-QEL XML representation of the example                    The Edutella peer described is fully implemented in Java as is the
query                                                                         whole EDUTELLA-Project. The actual implementation consists of
                                                                              three parts: the servlet enables a simple user interface, the Edutel-
                                                                              laPeer implementation realizes the Edutella peer service and the
   Now we want to know from the book database which books have                EdutellaProvider provides the actual query service.
the title “Just Java”. The respective query expressed in RDF-QEL-1               The       demo        and     test     servlet     running      at
and XML is stated in example 3.1.                                             http://www.cip1.uni-hannover.de :3120/rdf2cb/
   The query asks for at least one resource in the database which             runs within a SUN JavaWebServer 2.0. The servlet itself realizes the
has a property called dc:title with a value “Just Java”. The resulting        user interface for testing purposes only thus enabling users to pose
resource(s) are returned in XML notation. The peer constructs from            RDF-QEL queries in the same way the Edutella peer service will do
this RDF representation the respective O-Telos representation. Thus
the query is reformulated in O-Telos so that it now states that there         
is at least one resource in the database which has a property called          
Individual thus has as answers other instances of the class Individ-          
String. The constraint varX declares that all instances of the answer         
   The namespace of the title attribute is derived from ConceptBase           
with a second query. For simplicity reasons we omit this query here.
The query answers are than translated to RDF as shown in exam-                Example 3.4: The XML serialization of the query answer expressed
ple 3.4.                                                                      in RDF
and inspecting the respective answers.                                      [5] M. A. Jeusfeld, M. Jarke, H. W. Nissen, and M. Staudt. Concept-
   Figure 3 shows that the Servlet as well as the Edutella peer                 Base - Managing Conceptual Models about Information Systems. In
                                                                                P. Bernus, K. Mertins, and G. Schmidt, editors, Handbook on Architec-
pose EduQuery-objects to the Edutella provider implementation.                  tures of Informations Systems. Springer Verlag, 1998.
The EduQuery-objects contain the queries. They are built using the          [6] B. M. Kramer, V. K. Chandhri, M. Koubarakis, T. Topaloglon, H. Wang,
classes of the Edutella software package, especially employing the              and J. Mylopoulos. Implementing Telos. SIGART Bulletin, 2(3), June
parser that is based on an adaptation of the Jena RDF parser API [2].           1991.
                                                                            [7] O. Lassila and R. Swick. W3C Resource Description framework (RDF)
                                                                                Model and Syntax Specification, 2001. http://www.w3.org/TR/REC-
                                                                                rdf-syntax/.
                                                                            [8] J. Mylopoulos, A. Borgida, M. Jarke, and M. Koubarakis. Telos: A
                                                                                language for representing knowledge about information systems. ACM
                                                                                Transactions on Information Systems, 8(4), 1990.
                                                                            [9] W. Nejdl, H. Dhraief, and M. Wolpers.            O-Telos-RDF: a re-
                                                                                source description format with enhanced metamodeling functionali-
                                                                                ties based on O-Telos. In Workshop on Knowledge Markup and Se-
                                                                                mantic Annotation at the First International Concerence on Knowl-
                                                                                edge Capture (K-CAP’2001), October 2001. http://www.kbs.uni-
                                                                                hannover.de/Arbeiten/Publikationen/2001/kcap01 final.pdf.
                                                                           [10] W. Nejdl, B. Wolf, C. Qu, S. Decker, M. Sintek, A. Naeve, M. Nils-
                                                                                son, M. Palmér, and T. Risch. EDUTELLA: a P2P Networking
                                                                                Infrastructure based on RDF. In WWW 11 Conference Proceed-
                                                                                ings, Hawaii, USA, May 2002. http://edutella.jxta.org/reports/edutella-
                                                                                whitepaper.pdf.
                                                                           [11] J. D. Ullmann. Principles of database and knowledgebase systems.
                                                                                Principles of computer science series. Computer Science Press, Inc.,
                                                                                Maryland, USA, 1988.
         Figure 3. Schematic representation of the architecture




   As shown in figure 3 the ProviderAdapter receives EduQuery ob-
jects. In a first step these are translated to O-Telos query objects by
the QueryWorker. In a second step the ResponseWorker establishes
a connection to the ConceptBase database, poses the query, receives
the answer and returns the EduResult objects constructed from Con-
ceptBases’ answer. The ProviderAdapter itself returns the EduResult
objects to either the servlet or the Edutella peer which in turn process
them as according to their respective needs.


5   Summary
The evolving Edutella P2P network combines provider and client
peers of various kinds. In this paper we have described a prototypi-
cal implementation of a provider peer which provides extended rea-
soning capabilities for RDF data. The provider peer uses the Con-
ceptBase database which implements the meta modeling language O-
Telos. Based on this database the basic Edutella services storage and
querying are realized: a repository for storing RDF data and query
facilities for the stored data.
   The storage service uses a translation from RDF(S) to O-Telos
and vice versa where property-centered RDF(S) data is translated to
and from object-centered O-Telos data. Based on this translation the
query service translates RDF-QEL queries to O-Telos query classes
and translates the answers to these queries, instances of O-Telos
query classes, back into RDF(S) graphs.


REFERENCES
[1] D. Brickley and R. V. Guha. Resource Description Framework (RDF)
    Schema Specification 1.0, 2002. http://www.w3.org/TR/rdf-schema.
[2] Hewlett-Packard Company. The Jena Semantic Web Toolkit, 2001.
    http://www.hpl.hp.com/semweb/jena-tob.html.
[3] Edutella Project Homepage. http://edutella.jxta.org.
[4] P. Hayes. RDF model theory. W3C working draft, February 2002.
    http://www.w3.org/TR/rdf-mt/.