=Paper= {{Paper |id=Vol-143/paper-4 |storemode=property |title=Query translation between RDF and XML: A case study in the educational domain |pdfUrl=https://ceur-ws.org/Vol-143/paper04.pdf |volume=Vol-143 |authors=Zoltán Miklós,Stefan Sobernig }} ==Query translation between RDF and XML: A case study in the educational domain== https://ceur-ws.org/Vol-143/paper04.pdf
 Query translation between RDF and XML: A case study in
                  the educational domain

                           Zoltán Miklós                                      Stefan Sobernig
         Department of Information Systems and New                Department of Information Systems and New
                             Media                                                    Media
         Vienna University of Economics and Business              Vienna University of Economics and Business
                        Administration                                           Administration
                         Augasse 6-9                                              Augasse 6-9
                       Vienna, Austria                                          Vienna, Austria
                    zmiklos@wu-wien.ac.at                               stefan.sobernig@wu-wien.ac.at


General Terms                                                     context and motivation of our work. In Section 3 we ana-
RDF, XML, Semantic Web, eLearning                                 lyze mapping strategies originally proposed for integrating
                                                                  XML sources and their applicability to our problem. Sec-
                                                                  tion 4 then introduces our transformation method. Section
ABSTRACT                                                          5 presents related work and Section 6 concludes the paper.
RDF is used as a central building block for the Semantic
Web. Considering providers of learning resources, it is com-      2.    ELENA – INTEGRATION IN AN EDU-
monplace to store and exchange meta-information in XML
rather than RDF. Instead of transforming meta-data arte-
                                                                        CATIONAL CONTEXT
facts into RDF, we integrate these meta-data by translating          In the scope of ELENA1 we are developing a mediation
users’ queries issued against RDF into queries over XML           infrastructure for learning services including web-based, but
meta-data. We demonstrate the applicability of our query          also traditional courses and learning materials. A com-
translation method in a concrete application scenario taken       mon use scenario is the following: Providers offer meta-data
from the educational domain.                                      about learning materials and services at their web portals.
                                                                  The web allows users to search for, visit and scan these
                                                                  pages for relevant courses or learning materials. Our goal is
1.   INTRODUCTION                                                 to improve this situation and provide an infrastructure that
   The World Wide Web becomes more and more a market-             enables users to search for relevant information and create
place for various informational goods and services. Providers     their own marketplace for learning resources. This joint ef-
of educational materials and services intensively use the Web     fort can be seen as a step towards an Educational Semantic
as distribution channel and search engines help learners to       Web, as envisioned for example in [6].
find and access appropriate learning resources. The Seman-           The mediation infrastructure, called Smart Spaces for Learn-
tic Web vision [1] depicts a possible alternative to this situ-   ing [7, 8], integrates meta-data provided by a number of
ation: Learning resources are described with a set of meta-       learning service providers. Though it is not intended to
data linked to some ontology and human searchers can issue        build a web-scale application, the integrated information
queries against these ontologies to bring to light the learn-     opens way for personalized services and intelligent applica-
ing resources needed. There are still many efforts needed to      tions. An operative prototype designed for a human resource
turn this vision into reality, even for a limited domain.         development scenario using the mediation infrastructure is
   In this paper we concentrate on one particular issue we        available at http://www.hcd-online.com/ubp.
faced when trying to realize an Educational Semantic Web.            The currently connected providers cover a large spectrum
The W3C has established several working groups to create          of heterogeneous sources, ranging from EducaNext [9], a
standards for meta-data formats and ontology representa-          web-based knowledge brokerage platform, and ULI 2 , a Ger-
tion (RDF [2], OWL[3]), but currently there is a consider-        man academic network for sharing learning resources, to
able amount of meta-data about learning resources available       Amazon’s media store3 or the Edutella P2P network [10].
which is exported into and exchanged in XML rather than
RDF. Therefore, we sought for a technique to integrate these      2.1    Integration Architecture
meta-data with meta-data already represented in RDF. In             Learning object repositories hold information on learning
particular, we analyzed how to transform queries expressed        objects (meta-data). Our research was motivated by the
in a specific query language designed for RDF, QEL (Query         need to integrate the meta-data available at distributed and
Exchange Language, [4]) into corresponding XQuery queries         heterogeneous learning repositories.
[5] that can be evaluated over XML repositories.                    We apply the Learning Object Resource Interoperability
   The paper is organized as follows: Section 2 describes the
                                                                  1
                                                                    See http://www.elena-project.org
Copyright is held by the author/owner(s).                         2
WWW2005, May 10–14, 2005, Chiba, Japan.                             See http://www.uli-campus.de
                                                                  3
.                                                                   See http://www.amazon.com
(LORI) framework [11] which has lately become subject of          rowing from conceptual modelling, have applied these map-
an international standardization process. LORI is a layered       ping strategies in their specific integration scenarios. The
integration architecture, which defines services to achieve in-   terms node and path are considered as general as possible
teroperability among learning repositories. The framework         for the purpose of the following evaluation. It will turn
includes core services, for example authentication, session       out that the actual conceptualization of nodes and paths
management and application services like query manage-            for the respective mediating representations differ consider-
ment or provision facilities.                                     ably from approach to approach depending on the underly-
   In most of the systems we aim at integrating meta-data         ing data models.
already stored in RDF (real RDF repositories) or being
bridged to RDF (virtual RDF repositories). The latter case        3.1.1    node-to-node (tag-to-tag)
we experienced with various systems storing, providing or            When establishing correspondences between individual nodes
exchanging valuable meta-data in XML. The providers of            – referring to XML elements in this case – mappings do not
these learning repositories cooperate during the integration      consider the document structure. Therefore, they do not
process in different manners, either by publishing their lo-      take into account semantic information expressed in struc-
cally used meta-data schemes or by providing mappings to          tural configurations. Mapping relations resulting from node-
ELENA’s common schema.                                            to-node mappings consist of tuples of mediating nodes and
                                                                  multiple corresponding nodes in the local information repre-
3.    MAPPING STRATEGIES                                          sentations. The query translation algorithm simply replaces
   In this section we review some generic mapping strategies      the label of a mediating node with its local correspondences
originally outlined for the integration of XML only. We           in the respective query body issued against the mediating
examine these methods briefly and evaluate in how far they        schema.
are applicable to our integration scenario.                          Figure 1 illustrates this mapping style for two mediat-
   The automated or assisted process of creating mappings         ing nodes, a learning resource and its title. A node-to-node
of two different representations of data is called represen-      mapping relation would thus be defined as MR1 whereas
tation matching. In our paper we assume that mappings             the resource’s title would be identified by the local sources’
are created manually unlike discussed in [12, 13]. The con-       elements in MR2:
ceptualization and representation of matchings or mappings                  MR1( L e a r n i n g R e s o u r c e , P u b l i c a t i o n )
differ in various domains of application, e.g. schema inte-                 MR2( T i t l e , T i t l e )
gration, data warehousing and data mining, knowledge base
construction and finally information integration systems [12,        If we consider both the mediating schema and its local
13]. We restrict our work to the domain of information inte-      sources being expressed in XML, a query over the mediating
gration aiming at incorporating heterogeneous XML sources         schema might be expressed in XPath as e.g. /LearningRe-
into a RDF environment. Therefore, we consider conflicting        source/Title. An algorithm based on these mapping rela-
or at least varied structured representations of meta-data        tions would, for instance, generate a corresponding XPath
characterizing learning resources as subject to our integra-      statement over local source A of the form //Activity/Activ-
tion method. These meta-data representations might be             ityLabel. As for local source B, the translation would result
either encoded in XML described by Document Type De-              in a corresponding query //Publication/Title with the latter
scriptions (DTDs) or XML Schemata (XML/S) or in RDF               being invalid considering the structure of this repositorium.
described by RDF Schema (RDF/S). This concrete run-time           Therefore, node-to-node mappings will certainly result in
scenario has also been coined semantic query processing [13]      erroneous query transformations as the mappings and map-
as opposed to the practice of establishing mappings when          ping relations do not reflect the structural configuration of
designing federated information systems.                          the underlying information sources.
   The term mapping denotes a set of mapping statements              Node-to-node mappings or atomic element-level mappings
consisting of mapping elements and mapping expressions            [13] are thus easily perceivable but considerably limited in
with the former declaring correspondences between repre-          terms of mapping precision and mapping complexity. The
sentation or syntactic elements of the source representations.    increased complexity is due to the multiplicity of node-to-
The latter describe the very nature of these relationships.       node mapping resulting from the entire set of possible cor-
Mappings might be either organized as mapping relations           respondences.
or mapping tables. The latter denote relations allowing for
the usage of variables [14].                                      3.1.2    tree-to-tree
                                                                     This mapping strategy resembles characteristics of defin-
3.1    Mapping between different XML repre-                       ing and creating views in a relational setting. Views as no-
       sentations                                                 tion and concrete technique have been discussed both as
  Aguliera et al. [15] compare several approaches for map-        derived and encapsulating constructs, for example rules or
ping XML data. Here we outline their cases and analyze            classes, and as subschemas of any underlying schema-like
whether they can be applied to our RDF scenario. The map-         representation. In either case, views are essentially query
ping strategies discussed consider different levels of struc-     definitions or unions of individual query bodies over a tar-
tural information and distinguish three types of mappings         geted schema. Tree-to-tree mappings are comparable to
between XML trees.                                                defining views inasmuch as any node in the mediating rep-
  Nevertheless, the mapping strategies are derived from gen-      resentation points to a set of concrete, isolated queries over
eral tree-structured data so that they can equally be applied     the various source representations. The union of these in-
to other data models than XML. As the following sections          dividual query definitions bound to individual mediating
will show, various follow-up approaches, in particular bor-       nodes describe the entire mediating representation and thus
                                                                   Figure 1: Mapping strategies


its structure. Tree-to-tree mappings may therefore be con-                         this case correspondences between paths in the mediating
ceived as an ordered set of node-to-path mappings from the                         representation and paths in the various local source repre-
mediating representation’s perspective in a global- as-view                        sentations are created.
setting. In Figure 1 only such a single node-to-path map-                             The conceptualization of path constructs varies consider-
ping stands representatively for additional ones needed for                        able in various approaches adopting the path-to-path strat-
each node of the mediating representation. To sum it up,                           egy depending on the data models used for the mediating
tree-to-tree mappings are stored queries or unions of sub-                         representation and local information sources. Early contri-
queries over local information sources, XPath expressions in                       butions defined them as conventional XPath location paths
this case. Figure 1 depicts such a scenario. The mapping                           or derivates thereof considering only XML element types, so
relations outlined above for local source B transform into:                        called tree paths [16, 17]. XPath location paths as mapping
MR1( L e a r n i n g R e s o u r c e , / O r g a n i z a t i o n /
                                                                                   elements are not limited to XML-like mediating represen-
     PublicationList / Publication )                                               tations. A recent approach uses location paths as mapping
MR2( T i t l e , / O r g a n i z a t i o n / P u b l i c a t i o n L i s t /       elements to create correspondences with a mediating rep-
     Publication / Description / Title )                                           resentation based on the datalog model (see [18]). Follow-
                                                                                   up approaches (see e.g. [19, 20, 21]) employed conceptual
   The query /LearningResource/Title would therefore be
                                                                                   models (Entity-Relationship model, ORA-SS and others) as
translated into a single view-generating query. Unless the es-
                                                                                   mediating representation and offer a different path concept.
tablished mapping relations are extended to mapping tables,
                                                                                   Amann et al. [21] identify for instance two types of so called
this basic practice of tree-to-tree-mappings would create a
                                                                                   conceptual paths: On the one hand role paths, on the other
certain redundancy in terms of irrelevant mapping elements
                                                                                   hand concept paths. The former are either constituted by
i.e. path constructs. This becomes evident when considering
                                                                                   single roles, i.e. ER relationship types, or a conjunction of
that MR1 is implicitly reflected in any mapping pointing to
                                                                                   single roles, also referred to as derived roles as they link two
subtrees below the entry node. Introducing an appropriate
                                                                                   distanced concepts directly. Concept paths consist either of
variable syntax and therefore extending mapping relations
                                                                                   a single ER entity, i.e. concept, or a chain of concepts and
to mapping tables would allow for a certain reduced map-
                                                                                   roles. Considering paths in RDF we adopted the concept
ping complexity. These more flexible mapping tables could
                                                                                   of triple paths as mapping element for ELENA’s mediating
take the following form:
                                                                                   representation (see Section 4.1 for details).
MT1( L e a r n i n g R e s o u r c e , / O r g a n i z a t i o n /                    Mapping between paths resembles and combines major
     PublicationList / Publication )                                               characteristics of the previously sketched techniques: On
MT2( T i t l e , MT1/ A c t i v i t y L a b e l , MT1/ T i t l e )
                                                                                   the one hand it inherits the property of node-to-node map-
  This mapping strategy, similarly described as higher-level                       pings allowing multiple occurrences of a mapping element,
or non-atomic element-level mappings by [13], considers a                          for example nodes and paths respectively, within the same
high level of structural information. These view-like map-                         set of mapping relations. On the other hand they increase
pings do not cause redundant or irrelevant mapping state-                          the degree of how much structural information is considered,
ments for a single local source. Nonetheless, they do not al-                      though to a lesser extent than tree-to-tree mappings. They
low for any factorization between mappings of different local                      incorporate rather substructures than the entire structural
sources although there might occur considerable structural                         configuration of mediating and local representations into the
similarities within a common domain, as the educational one                        mapping.
for instance.                                                                         An example for path-to-path mappings can be constructed
                                                                                   within the scope of Figure 1. The path /LearningResource/Ti-
 3.1.3       path-to-path                                                          tle can be mapped to the local path //Organization/Publi-
  The next available mapping strategy aside from node-to-                          cationList/Publication/Description/Title for local source B.
node and tree-to-tree mappings is called path-to-path. In                             As compared to tree-to-tree mappings, this last strategy
does not preserve the structure of entire (sub-)trees but                         in a FLWOR expression. In other words, the values of doc-
rather the structural context of single nodes. At the same                        ument and contextNode will constitute the required input
time it allows for the factorization of mapping elements, i.e.                    expression of such a FLWOR statement.
path constructs, as path structure might reveal consider-                            We now drop the initial assumption the logical informa-
able similarities for a single and even different local sources.                  tion source under consideration consists only of a single
Therefore the path-to-path approach represents an option                          physical XML Document. We continue our considerations
that inherits advantages of both previous strategies and al-                      assuming a logical source that is splitted up into several
lows for the design of a mapping language convenient for the                      physical carriers. Just imagine the aforementioned example
human integration engineer.                                                       featuring a publication list and publications being a generic
                                                                                  XML dump of a relational storage system. In that case,
4.     TRANSFORMING QEL QUERIES INTO                                              the original relations publication list and publications will
                                                                                  constitute two separate XML documents to be joined.
       XQUERY
                                                                                  
                                                                                  
ting up mappings between elements of ELENA’s mediating
representation expressed in RDF and local educational in-                         In order to combine these two physical data sources into a
formation sources casted in XML. The mapping information                          single logical one, the proposed mapping language provides
is then used by the query translation algorithm in order to                       another bridging facility to XQuery’s FLWOR expression
transform QEL into corresponding XQuery queries.                                  and its WHERE clause [23]. By expanding the header sec-
   A single mapping is an XML application which comprises                         tion with q2xq:source elements for each physical information
three logical sections: a header section and two body sec-                        source, the query translation algorithm is instructed to cre-
tions.                                                                            ate a join between them.

 4.1.1      Defining the target                                                    4.1.2     Setting-up mapping statements
   We distinguish between logical and physical information                           Referring to the methodological taxonomy presented in
sources. A logical source may contain several physical ones,                      Section 3, we opted for a path-to-path mapping strategy
a logical information source does not necessarily correspond                      for the reasons already discussed. Therefore, the mapping
to a single XML document. A logical entity might be ei-                           elements to be related to one another are path constructs.
ther casted in a single XML document or scattered across                             Paths in RDF: In a general sense, a RDF path is con-
a collection of XML documents. The header section of the                          sidered a sequence of the form node - predicate - node as
entire mapping requires to state a single, logical information                    depicted in [2]. To put it differently, paths are equated with
source.                                                                           the concept of triples in RDF and corresponding serializa-
   The header section may take the following form when ap-                        tion formats such as N-Triples [24] for instance. Therefore,
plied to information source B in Figure 1, assuming first                         RDF paths can be conceived as directed sequences of the
that we are dealing with a both logically and physically sole                     form subject node - predicate or property edge - object node
information source:                                                               and might be coined triple paths.
                                                                                     Triple paths especially fulfil the requirement of unambi-

                                                                                  model can be seen as a directed, vertex- and edge-labelled
                                                                                  graph. The labels attached to graph edges correspond to
The q2xq:source element contains three attributes. First,                         RDF predicates or properties. This raises the issue of un-
name allows for defining a name for a physical – and under                        ambiguity of edge labels or predicates as the multiple occur-
the current assumption also logical – information source .                        rence of predicate titles is not restricted or prohibited in the
The second attribute provides information on the storage                          RDF syntax.
name of the XML information source, i.e. a XML Document                              Consider first that path constructs in RDF are only iden-
either physically stored in the SQI target’s filesystem or in                     tified by their predicates’ labels. This assumption can be
a native XML data base system such as eXist [22]. The last                        represented in a N-Triples-like style with <∗> denoting an
attribute, contextNode, marks the node of entry or rather                         arbitrary, unspecified node element:
the absolute context node for the resulting XQuery query
                                                                                                <∗> 

<∗> . statement. It is absolute insofar as it serves as absolute point of reference for the subsequent mapping statements in Consider the two examples given in Figure 2. Both cases the second body section. refer to the case of a publication list linking to publications Take the example of local source B in Figure 1. The but in two different settings. Setting 1 shows a publication source’s structure embeds the actual learning resource, i.e. list (n1 ) that contains a single publication (n2 ) both hav- the Publication element, into a superordinate element, i.e. ing either one or more detailed descriptions (n3 , n4 , n5 ) at- PublicationList, that can be structurally and semantically tached. Setting 2 exhibits a publication list (n1 ) containing neglected in the subsequent correspondences between iden- two publications (n2 , n3 ) with both of them being described tified mapping elements. In this respect, the header section in further detail (n4 , n5 ) but having the same title (n6 ). The provides an optional selection of relevant subtrees of the fact that these two settings point to the multiple occurrence source’s document structure and thus facilitates establish- of semantically identical predicates, both at the same or ing the actual mapping statements. In terms of the result- different structural levels, might be considered an artifical ing XQuery expression, the header element will be casted construction. Whereas it is not appropriate with respect to designing mediating representations for meta-data, it is not XQuery 1.0 and XPath 2.0 data model. XQuery path ex- restricted or prohibited in the RDF model as such. There- pressions are considered proper location paths as in XPath fore, this assumption is satisfactory to outline the problem of 1.0 [25] and are therefore identical to XPath 2.0. Nonethe- unambiguity. When identifying paths in RDF only by edge less, the common data model of XQuery 1.0 and XPath 2.0 introduces various modifications compared to XPath 1.0. These include ordered sequences of nodes as return type of path expressions instead of unordered node-sets and both limitations and extensions in terms of location steps avail- able, e.g. a reduced set of axis, generalized predicate state- ments and minor syntactic deviations in terms of comparison operators etc [23]. The proposed mapping language thus al- lows for the usage of XQuery path expressions or XPath 2.0 location paths as mapping elements with respect to local Figure 2: Unambuigity of paths XML sources. We refer to the mapping statement depicted in the path- labels, only two distinct paths can be identified in Setting to-path scenario in Figure 1 for the following remarks. The 1, i.e. containsPub and dc:description. Establishing a single establishment of a correspondence between the RDF triple correspondence between dc:description and a corresponding path and the seman- XML element at the local information source containing de- tically analogous XML location Path /Organisation/PublicationList /Publication/Description/Title is realized in the second body scription information about a learning resource would not be unambiguous as it would be equally applied to describe section of a mapping. This section binds the afore-created the entire publication list. Even establishing multiple cor- descriptions of RDF triple paths to the corresponding lo- respondences would not resolve the problem as they could cation path and completes the mapping statements as such. not be assigned uniquely. The right-hand-side mapping element and the necessary bind- In order to resolve the problem of unambiguity, a first step ing to the first body section are achieved by the q2xq:mapping could be the further identification of paths by considering elements shown in Example 2 at lines 11-27. further subject or object nodes: The mapping language thus describes mapping statements as a binding between two XML elements. The left-hand or <s u b j e c t> <p r e d i c a t e> <∗> . RDF side is represented by a q2xq:triplepath element in the first body section, the right-hand or XML side is casted <∗> <p r e d i c a t e> <o b j e c t> . into a q2xq:mapping element in the second body section. In Setting 1 the predicate path dc:description could only be The latter allows for declaring a XPath location path in a located twice provided that the source node, i.e. the subject, specific XML document by referring to the header section is considered. When identifying a path by its target node, and its target definitions by passing the respective value to i.e. the object, all three occurrences could be uniquely de- the attribute source. termined. The latter is not correct when applied to Setting 2 as the predicate path dc:title could not be characterized clearly by its target node. Therefore, considering only a sin- gle identifier, either subject or object node, does not allow to construct unambiguous correspondences with mapping elements at the local information sources that hold in both settings. Concluding from that, resolving the issue related to iden- tifying paths unambiguously can only be achieved by pin- Figure 3: A cyclic mediating structure pointing paths both by their source and object nodes, i.e. the subject and object connected. We therefore consider in Mapping of graph cycles: Concluding this section on accordance with the RDF specification triple paths the ap- the expressivity of the mapping language proposed, we would propriate path construct and mapping element in the scope like to drop the simplifying assumption about directed acyclic of our mapping language. Triple paths are thus RDF pred- graphs and consider the case of simple cycles in the RDF icates extended by two node identifiers. mediating representation. The description of the mediat- <s u b j e c t> <p r e d i c a t e> <o b j e c t> . ing RDF structure in terms of triple paths allows for the representation of graph cycles with cycles forming predicate The first body section of a mapping thus contains an un- paths such that the first node of the path corresponds to the ambiguous set of triple paths, expressed in a straight forward last. Consider an extended example of the mediating repre- XML format. Referring to Figure 1, the triple paths that sentation given in Figure 1. Meta-data on learning resources are derived from the simplified mediating representation de- are likely to comprise description information about related scribing learning resources are shown in Example 2 at lines or even recommended learning resources, e.g. references. 6-9. In that case the mediating representation in Figure 1 could The triple notation is entirely adopted with the attribute be enriched by an additional node Reference representing a id of each triplepath element serving as the binding variable learning resource in the scope of ELENA’s common schema: to the right-hand or XML side of the mapping statements. This cycle can be easily represented by two triple path state- Paths in XML: Considering XML and the query model ments. Cycles having a predicate path length greater than targeted, i.e. XQuery, path constructs are gathered from 1 may be represented as well. Cycles can be recognized by looking for a node occurring at least once as subject and tions of all learning resources containing the term ”educa- once as object in two distinct triple paths. A mapping for tion” in its title. the cycle in Figure 3 takes the following form: The key concept borrowed from datalog are predicate ex- pressions with QEL distinguishing between matching and <q 2 x q : t r i p l e p a t h i d=”A” s u b j e c t=” L e a r n i n g R e s o u r c e ” p r e d i c a t e=” d c : r e l a t i o n ” constraint predicates. The most important pre-defined match- o b j e c t=” R e f e r e n c e ” /> ing predicate in QEL is qel:s denoting a so called statement <q 2 x q : t r i p l e p a t h i d=”B” s u b j e c t=” R e f e r e n c e ” literal. The underlying common data model considers RDF p r e d i c a t e=” r d f : t y p e ” o b j e c t=” data being organized in triple structures of the form subject L e a r n i n g R e s o u r c e ” /> - predicate - object. The range of allowed value types for subjects, predicates and objects are in accordance with the Note that in a global-as-view setting such a self-referential RDF specification [2]. The QEL matching predicate (qel:s) structure has to occur and find its correspondence within resembles this structure of RDF triples and serves as match- a single logical local source. The actual mapping element ing or binding facility to be used in queries. Corresponding at the local XML source depends on the realization of the to the range of value types in a RDF triple, each argument in conceptual self-reference in terms of document structure. In a qel:s construct might be filled with an appropriate value XML this might be achieved for instance vertically by nest- type. Literals are thus proper values in datalog predicate ing elements of the same type in a recursive way or hori- expressions, URI references correspond to constant names. zontally by making use of ID-IDREF relations. Both can In addition, arguments can represent variables identified by be reflected in XQuery syntax, either using recursive func- capitalized names. Predicate expressions that contain vari- tions in the former or ID-IDREF-based navigational func- ables as arguments are also referred to as query literals. tions built in XQuery such as xf:id [5] in the latter case. The When examining the first matching predicate in Exam- representability of cyclic structures is nevertheless limited to ple 1 qel : s(LearningResource,dc:title , Title ) both subject and simple cycles. On the one hand this is due to the manual object are variables whereas the predicate corresponds to generation of mappings and thus to the human perception of a proper URI reference. Variables in qel:s constructs are complex cyclic structures. On the other hand the processing bound to the entire spectrum of possible subject and ob- of complex cycles in RDF has to be considered non-trivial ject values stored in a RDF triple repository. Therefore, the as documented for instance in [26, 27]. qel:s construct taken from Example 1 selects all triples that contain the RDF predicate ”dc:title” without any further 4.2 Query translation algorithm restrictions. Our query translation algorithm transforms the input QEL Apart from matching predicates, the QEL syntax com- query into a XQuery query by making use of the mapping prises another category of pre-defined predicates. This set of rules. Regarding the global-as-view approach adopted in predicates helps constraining further the selection of matched ELENA, query transformation basically consists of a trans- triples based upon comparison operations on the RDF triples’ lation of an input into an output query to be evaluated over values. They are referred to as constraint predicates a local XML source. Query transformations in local-as-view and provide conventional value-based comparisons such as settings are usually referred to as query rewriting and in- equals-, like-, greater-than- and less-than operators and ver- volve an incomparably more complex transformation. ifications for node types and language encodings [4]. The construct qel : like ( Title , ’%education%’) in Listing 1 shows 4.2.1 A primer for QEL such a value constraint, a like-operator more precisely, on Query Exchange Language (QEL) is a query language spe- all matching triples pre-selected by the qel:s construct men- cially designed for RDF, and is based on datalog. The QEL tioned before. specification provides two different encoding styles, on the one hand datalog-QEL, on the other hand RDF/XML-QEL 4.2.2 Translating a simple QEL query [4]. For reasons of clarity, the following section is in accor- dance with QEL’s datalog notation. Consider a simple QEL In the following, we outline an algorithm to transform a query over the mediating representation described in Figure QEL query as depicted in Example 1 into a corresponding 1: XQuery query according to the mapping example given in Section 4.1. The entire mapping can be found in Example 2 attached to this paper. The translation algorithm is guided Example 1: A sample input QEL query by the syntactic structure of XQuery’s FLWOR expression @ p r e f i x q e l : <h t t p : / /www. e d u t e l l a . o r g / q e l #>. (see [5]). QEL queries require to iterate through instances @ p r e f i x lom−r i g h t s : <h t t p : / / l t s c . i e e e . o r g of learning resource elements. The analogous iteration can /2002/09/ lom−r i g h t s #>. be achieved by a FLWOR expression in XQuery. @ p r e f i x dc : <h t t p : / / p u r l . o r g / dc / e l e m e n t s / 1 . 1 / > . ?− q e l : s ( L e a r n i n g R e s o u r c e , dc : t i t l e , T i t l e ) , The translation algorithm uses only FOR, WHERE and q e l : l i k e ( T i t l e , ’%e d u c a t i o n% ’ ) , RETURN blocks. The algorithm is therefore organized in q e l : s ( L e a r n i n g R e s o u r c e , dc : c o n t r i b u t o r , three block declaring steps with the latter two distinguishing Contributor ) , between a phase of query parsing and a phase of mapping q e l : s ( L e a r n i n g R e s o u r c e , dc : l a n g u a g e , Language ) , correspondences. The parsing of the input QEL query aims q e l : s ( L e a r n i n g R e s o u r c e , lom−r i g h t s : at identifying relevant query elements, particularly constrain- copyright and other restrictions , LegalRestriction ) . ing and matching constructs. In addition, all mapping state- ments relevant to this specific query elements are identified. The given datalog-QEL query might be intuitively inter- The binding phase refers to the construction of an output preted as the following request: Give me the title, the con- XQuery query based on the previously identified QEL con- tributor or provider, the language and possible legal restric- structs and mapping statements. Declaring the FOR clause: In a first step, the algo- order of result tuples. The qel:s constructs contain the in- rithm parses the mapping information of the header section formation needed, particularly the result variables. of a given mapping file (see Section 4.1.1). Each q2xq:source The two result sections are produced by another parsing element is considered and based on its attributes’ value a and binding procedure. At first, the algorithm examines the FOR block is created. A XQuery FOR construct binds cus- input QEL query for all matching predicates and extracts tom variables to some sort of input expression, e.g. the their respective RDF objects, the result variables in QEL’s input function doc in our case. This input function returns terminology. By finding all mapping statements and thus lo- the document node or some sub-level node of the physical cation path correspondences to the triple paths represented XML document identified by both the attribute document by the matching predicates the first section is constructed. and contextNode, pointing to a specific subtree as entry point Each matching predicate is transformed into a RDF list item for the iteration. This node of entry is bound to the variable (rdf:li) whose value is determined by a corresponding XML defined by the attribute id. The heading mapping element element. This is identified by an absolute XPath location given in Example 4.1.1 is thus transformed into the following path composed of the context node variable and the location partial XQuery expression: path from the respective mapping statement. Finally the ob- ject element of the respective matching predicate is added f o r $pub to the sequential list of result variables and thus bound to doc ( ” s o u r c e B . xml” ) / O r g a n i z a t i o n / P u b l i c a t i o n L i s t / Publication the previously rendered value. The entire output XQuery query resulting from the QEL query in Example 1 and the Provided that several q2xq:source elements are recognized underlying mapping in Example 2 are attached to this pa- they are attached to this initiating FOR block in terms of an per. The two result section described above are shown at additional variable-node binding and can be used to create lines 14-29. joins between multiple XML documents at a later stage. Declaring the WHERE clause: In a next step, the 4.2.3 Issues algorithm aims at extracting relevant constraint predicates At this stage we would like to discuss important aspects in order to build a WHERE clause. This WHERE state- concerning more complex transformations. They include ment eliminates XML elements which do not match certain brief accounts on the correspondence of negation operators conditions. First, the algorithm identifies required mapping as well as transforming conjunctive and disjunctive QEL statements to map the constraining RDF elements. Then, queries into their XQuery representations. the XPath location paths expressed in the identified map- Negation: As there is no negation of matching predicates ping statements are attached to the previously defined path available in QEL, negations in a limited sense may exclu- variables being context nodes. The XML element identified sively be applied to constraint predicates. In the course of thereby serves as basis for the conditional operation. The parsing the input QEL query when declaring the WHERE extracted constraint predicate constructs specify the nature clause the identified constraint predicates are checked for of these filtering conditions with conventional comparison QEL’s negation operator (”-”). Following this, they are operators (e.g. qel:equals, qel:greaterThan) being trans- transformed similar to non-negated constraint predicates where formed into their XQuery equivalents (e.g. ”=”, ”>”). More the negation operator (”not”) is added. The negated con- complex operators such as qel:like are equated with specific straint predicate − qel:like ( Title , ’%education%’) would there- built-in functions of XQuery, contains() for instance. The fore be transformed into not( fn:contains ($pub/Description/Title constraint predicate statement qel : like ( Title,’%education%’) ,”education”)) in Listing 1 would therefore be transformed in to the follow- Conjunction: Conjunctions in QEL are represented by ing WHERE clause: comma-separated sequences of predicate expressions [4]. Once again matching and constraint predicates have to be distin- where f n : c o n t a i n s ( $ pub/ D e s c r i p t i o n / T i t l e , ” guished: Conjunctive sets of the former as given in Exam- education ” ) ple 1 pre-select a set of triples subject to further restric- tions. Conjunctions between constraint predicates are di- The WHERE block is equally relevant when considering rectly translated into a logical AND operator in the WHERE the transformation of conjunctions, disjunctions and nega- clause of the corresponding XQuery. tions expressed in the input QEL query. Disjunction: Disjunctions are expressed as in datalog: Declaring the RETURN clause: The closing block, several rules with the same rule head. The rule head itself is the RETURN clause, builds the result of the previously de- a query literal on the left-hand side of a rule definition while fined for-where expression. In other words, it exclusively re- at the right-hand side an arbitrary order of query literals, turns tuples that match the constraints and allows for cast- both matching and constraint predicates, can be specified. ing them in an user-defined XML output format. The latter A disjunction comprising constraint predicates is trans- is determined by QEL which requires a specific result for- formed into conditional elements of a WHERE clause, con- mat serialized in RDF/XML. The entire QEL result block nected by a logical OR operator. comprises two interrelated sections, on the one hand the actual QEL ResultSet in terms of a RDF sequence contain- ing result values, on the other hand another RDF sequence 5. RELATED WORK carrying the QEL result variables [4]. The two collections Several fields of research emerged as relevant and related are related insofar as the sequential ordering determines the to our efforts. In the educational domain, in particular in the binding of result variables in the latter to the result values in scope of Edutella, Qu and Nejdl [28] staged a comparable ap- the former. In order to populate these two result sections, proach to integrate a SCORM meta-data repository stored the algorithm needs to identify all matching predicates of in XML with a RDF-based P2P infrastructure by means of the input QEL query. Unlike datalog, QEL determines the – though not exclusively – query translation. The entire in- tegration involves first a replication and modification of the quires the employment of a single mapping methodology targeted XML repository into a generic RDF-graph-based which provides the expressivity to represent all data mod- meta-data view which is represented in a XML serialization els subject to integration. SWIM achieves this by using a of RDF triples. Second, they offer a complementary wrap- datalog-based mapping language which incorporates XPath per implementation that translates between users’ QEL and location paths as datalog atoms. As for query transforma- XQuery queries over the replicated, normalized and XML- tion, the proposed algorithm translates between RQL over encoded RDF meta-data repository. Their contribution dif- the virtual mediating RDF/S representation and XQuery fers at least in two aspects: On the one hand they provide queries over local XML repositories. a technique to integrate arbitrary common RDF represen- Piazza [32] is also a mediating infrastructure that enables tations and QEL queries with a specific and complex lo- the integration of XML data into a RDF-based environment. cal meta-data representation (SCORM) whereas we provide Zachary et al. adopt a local-as-view integration technique a facility to target arbitrary and less complex local XML and apply an extenstion to XQuery as mapping language to meta-data storages through a specific and pre-defined RDF expose XML meta-data as virtual RDF repositories. Due mediating representation. On the other hand their approach to the usage of an extended XQuery syntax they propose reflects an integration scenario which allows replicating en- a necessary query evaluation algorithm. In contrast to Pi- tire repositories with our translation technique being appli- azza our approach can be applied to any standard XQuery cable to more restricted scenarios where only pre-selected processor. meta-data are exposed by integration partners. Other aspects relevant to our work are handling RDF In the more general discussion on integrating heteroge- cycles and designing mapping languages. Barton [26], for neous XML sources some key approaches can be distin- instance, applies indexing to RDF structures and resolve guished. One group applies XML itself as mediating rep- cycles in this context. Various mapping languages are pro- resentation. Their relevance to our efforts results from their posed in the context of integrating heterogeneous XML sources. analysis of mapping strategies, already discussed in Section A rule-based XML syntax called LMX (Language for Mapping 3. Important contributions in this group include Xyleme [17, XML) has been applied by [33] underlining its applicabil- 29, 15] and Lee et al. [30]. A second group of authors [20, ity for the tool-assisted mapping generation by human in- 21] criticize the use of XML as a mediating schema and pro- tegration engineers. Other approaches on integrating XML posed conceptual models for the integration of XML sources use datalog syntax [18], RDF/XML [34] and XQuery [32] as instead. Although they use self-defined conceptual models mapping languages. or ER derivates, they adopt the mapping strategies devel- oped for XML. Relevant projects include STyX [20, 21] and 6. CONCLUSION AND FUTURE WORK ORA-SS [19]. We realized a query translation method, and successfully Finally, we identified several approaches using the RDF integrated XML data with a RDF-based application based graph model, i.e. either RDF or RDF/S, as mediating ve- on a manually created mapping language. These efforts hicle for integrating XML. PEPSINT [31] is a Peer-to-Peer involved an analysis of existing XML mapping techniques system based upon a super-peer infrastructure and a global that we adapted for our RDF-XML scenario, resulting in a RDF ontology against which RDQL queries are evaluated. XML-encoded mapping language and a corresponding query Depending on the target’s meta-data model the original translation algorithm. We were able to translate all user RDQL query is either simply reformulated according to map- queries in our application and integrate entire XML meta- ping rules or syntacticly translated into a XQuery query over data repositories into ELENA’s RDF environment. The a XML repository. In a global-as-view setting the mapping mapping language enables engineers to design complex map- is realized - in contrast to our solution - semi-automatically pings, however in case of big structures it can become im- both at the global and local stage. First a local RDF/S on- practicably complex. Translating QEL queries and evaluat- tology is generated for each RDF and XML repository with ing the resulted XQuery performed equally well as process- the local ontology preserving structural or nesting informa- ing the same QEL query on a RDF meta-data set of the tion of XML trees. At the local level PEPSINT applies a same size. tree-to-tree mapping strategy as each concept in the local We did not formally analyze the soundness of our method. RDF/S ontology is mapped to a XML location path. In a Therefore, we are currently pursuing a number of research second step, a node-to-node mapping is established between directions to identify limitations to our prototype imple- single concepts of the global and local RDF/S meta-data memtation. If we also formalize the application specific con- representations. Based upon this combined mapping strat- straints, such a formal proof is thinkable. In the context of egy the query translation algorithm provides for a transla- meta-data integration we consider this kind of translation tion back and forth between XQuery and RDQL. Contrast- technique complementary to the use of emerging versatile ing to PEPSINT, query translation in ELENA is performed query languages [35] applicable both to RDF and XML. only in a single direction (from RDF to XML). Another research project focusing on integration of RDF and XML is SWIM [18]. The SWIM server hosts the mediat- Acknowledgements ing and query transformation facilities, which integrate not The authors would like to express their gratitude to Michael only XML meta-data but also relational databases. SWIM Kamleitner for his contributions. does not apply the mediator-wrapper architecture but it re- lies on a single wrapper solution. This implies that SWIM 7. REFERENCES is based on a centralized mapping methodology whereas [1] Berners-Lee, T., Hendler, J., Lassila, O.: The ELENA and PEPSINT operate in a decentralized manner Semantic Web. Scientific American (2001) with respect to mappings and query translation. This re- [2] RDF. (http://www.w3.org/RDF/) [3] OWL. (http://www.w3.org/TR/owl-features/) International Workshop on Semantic Web and [4] QEL. (http://edutella.jxta.org/spec/qel.html) Databases (SWDB) 2003. (2003) 349–357 [5] XQuery. (http://www.w3.org/TR/xquery/) [21] Amann, B., Beeri, C., Fundulaki, I., Scholl, M.: [6] Anderson, T., Whitelock, D.: The Educational Ontology-Based Integration of XML Web Resources. Semantic Web: Visioning and Practicing the Future of In: Proceedings of the 1st International Semantic Web Education. Volume 1 of Journal of Interactive Media Conference (ISWC 2002). (2002) 117–131 In Education. (2004) [22] eXist. (http://exist.sourceforge.net/) [7] Simon, B., Miklós, Z., Nejdl, W., Sintek, M., [23] Chamberlin, D., Draper, D., Fernández, M., Kay, M., Salvachua, J.: Smart Space for Learning: A Mediation Robie, J., Rys, M., Soméon, J., Tivy, J., Wadler, P.: Infrastructure for Learning Services. In: Proceedings XQuery from the Experts - A Guide to the W3C XML of the Twelfth International World Wide Web Query Language. Addison-Wesley, Boston (2004) Conference (WWW2003), Budapest (2003) [24] N-Triples. [8] Simon, B., Dolog, P., Miklós, Z., Olmedilla, D., (http://www.w3.org/2001/sw/RDFCore/ntriples/) Sintek, M.: Conceptualising smart spaces of learning. [25] XPath. (http://www.w3.org/TR/xpath) Journal of Interactive Media in Education 9 (2004) [26] Barton, S.: Designing Indexing Structure for Special Issue on the Educational Semantic Web. Discovering Relationsships in RDF Graphs. In: [9] Law, E., Maillet, K., Quemada, J., Simon, B.: Databáze, Texty, Specifikace a Objekty (DATESO) Educanext: A service for knowledge sharing. In: 2004. (2004) 7–17 Proceedings of the 3rd Annual Ariadne Conference. [27] Matono, A., Amagasa, T., Yoshikawa, M., Uemura, S.: (2003) Katholieke Univeriteit Leuven. An Indexing Scheme for RDF and RDF Schema based [10] Edutella. (http://edutella.jxta.org/) on Suffix Arrays. In: First International Workshop on [11] Simple Query Interface (SQI) for Learning Semantic Web and Databases (SWDB) 2003. (2003) Repositories. http://www.prolearn-project.org/lori 151–168 (2004) [28] Nejdl, W., Qu, C.: Integrating XQuery-enabled [12] Doan, A.: Learning to Map between Structured SCORM XML Metadata Repositories into a Representations of Data. PhD thesis, University of RDF-based E-Learning P2P Network. Educational Washington (2002) Technology & Society 7 (2004) 51–60 [13] Rahm, E., Bernstein, P.A.: A survey of approaches to [29] Rousset, M.C., Reynaud, C.: Knowledge automatic schema matching. The VLDB Journal 10 representation for information integration. (2001) 334–350 Information Systems (2004) 3–22 [14] Kementsietsidis, A., Arenas, M., Miller, R.J.: [30] Lee, M.L., Yang, L.H., Hsu, W., Yang, X.: XClust: Mapping Data in Peer-to-Peer Systems: Semantics Clustering XML Schemas for Effective Integration. In: and Algorithmic Issues. In: ACM SIGMOD 11th ACM International Conference on Information International Conference on Mangement of Data. and Knowledge Management (CIKM), McLean, (2003) 325–336 Virginia (2002) [15] Aguilera, V., Cluet, S., Milo, T., Veltri, P., Vodislav, [31] Cruz, I.F., Xiao, H., Hsu, F.: An Ontology-based D.: Views in a Large Scale XML Repository. VLDB Framework for Semantic Interoperability between Journal 11 (2002) 238–255 XML Sources. In: Eighth International Database [16] Reynaud, C., Sirot, J.P., Vodislav, D.: Semantic Engineering & Applications Symposium (IDEAS Integration of XML Heterogeneous Data Sources. In: 2004). (2004) Proceedings of the International Database Engineering [32] Ives, Z.G., Halevy, A.Y., Mork, P., Tatarinov, I.: & Applications Symposium, IEEE Computer Society Piazza: mediation and integration infrastructure for (2001) 199–208 Semantic Web data. Web Semantics: Science, Services [17] Delobel, C., Reynaud, C., Rousset, M.C., Sirot, J.P., and Agents on the World Wide Web 1 (2004) 155–175 Vodislav, D.: Semantic Integration in Xyleme: a [33] Vdovjak, R., Houben, G.: RDF Based Architecture uniform tree-based approach. Data & Knowledge for Semantic Integration of Heterogeneous Information Engineering (2003) 267–298 Sources. In Simon, E., Tanaka, A., eds.: International [18] Christophides, V., Karvounarakis, G., Koffina, I., Workshop on Information Integration on the Web - Kokkinidis, G., Magkanaraki, A., Plexousakis, D., WIIW2001. (2001) 51–57 Serfiotis, G., Tannen, V.: The ics-forth swim: A [34] Barrett, T., Jones, D., Yuan, J., Sawaya, J., Uschold, powerful semantic web integration middleware. In: M., Adams, T., Folger, D.: RDF Representation of First International Workshop on Semantic Web and Metadata for Semantic Integration of Corporate Databases - VLDB 2003, Berlin, Information Sources. In: WWW2002. (2002) Humboldt-Universität (2003) [35] Bry, F., Koch, C., Furche, T., Schaffert, S., Badea, L., [19] Yang, X., Lee, M.L., Ling, T.W.: Resolving Structural Berger, S.: Querying the Web Reconsidered: Design Conflicts in the Integration of XML Schemas: A Principles for Versatile Web Query Languages. Semantic Approach. In: Conceptual Modeling - ER International Journal on Semantic Web and 2003. Volume 2813 of Lecture Notes in Computer Information Systems 1 (2005) 1–20 Science. (2003) 520–533 [20] Fundulaki, I., Marx, M.: Mediation of XML Data through Entity Relationsip Models. In: First Example 2: A sample mapping 1 <?xml version=” 1 . 0 ” e n c o d i n g=” i s o −8859−1” ?> 2 <QEL2XQueryMapping x m l n s : q 2 x q=” h t t p : //www. e l e n a −p r o j e c t . o r f / ns#q2xq ”> 3 4 <q 2 q x : s o u r c e i d=”pub” document=” s o u r c e B . xml” contextNode=” / O r g a n i z a t i o n / P u b l i c a t i o n L i s t / P u b l i c a t i o n ” /> 5 6 <q 2 x q : t r i p l e p a t h i d=”A” s u b j e c t=” L e a r n i n g R e s o u r c e ” p r e d i c a t e=” d c : c o n t r i b u t o r ” o b j e c t=” C o n t r i b u t o r ” /> 7 <q 2 x q : t r i p l e p a t h i d=”B” s u b j e c t=” L e a r n i n g R e s o u r c e ” p r e d i c a t e=” d c : t i t l e ” o b j e c t=” T i t l e ” /> 8 <q 2 x q : t r i p l e p a t h i d=”C” s u b j e c t=” L e a r n i n g R e s o u r c e ” p r e d i c a t e=” l o m : c o p y r i g h t a n d o t h e r r e s t r i c t i o n s ” o b j e c t=” L e g a l R e s t r i c t i o n ” /> 9 <q 2 x q : t r i p l e p a t h i d=”D” s u b j e c t=” L e a r n i n g R e s o u r c e ” p r e d i c a t e=” d c : l a n g u a g e ” o b j e c t=” Language ” /> 10 11 <q2xq:mapping> 12 <q 2 x q : l h s t r i p l e p a t h=”A” /> 13 <q 2 x q : r h s s o u r c e=”pub” l o c a t i o n p a t h=” / Author ” /> 14 </ q2xq:mapping> 15 <q2xq:mapping> 16 <q 2 x q : l h s t r i p l e p a t h=”B” /> 17 <q 2 x q : r h s s o u r c e=”pub” l o c a t i o n p a t h=” / D e s c r i p t i o n / T i t l e ” /> 18 </ q2xq:mapping> 19 <q2xq:mapping> 20 <q 2 x q : l h s t r i p l e p a t h=”C” /> 21 <q 2 x q : r h s s o u r c e=”pub” l o c a t i o n p a t h=” / C o p y r i g h t ” /> 22 </ q2xq:mapping> 23 <q2xq:mapping> 24 <q 2 x q : l h s t r i p l e p a t h=”D” /> 25 <q 2 x q : r h s s o u r c e=”pub” l o c a t i o n p a t h=” / Language ” /> 26 </ q2xq:mapping> 27 28 </QEL2XQueryMapping> Example 3: A sample output XQuery query 1 xquery v e r s i o n ” 1 . 0 ” ; 2 <rdf:RDF 3 x m l n s : r d f=” h t t p : //www. w3 . o r g /1999/02/22 − r d f −syntax−ns#” 4 x m l n s : e d u=” h t t p : //www. e d u t e l l a . o r g / q e l#” 5 xmlns:RDF/S=” h t t p : //www. w3 . o r g /2000/01/ r d f −schema#” 6 x m l n s : d c=” h t t p : // p u r l . o r g / dc / e l e m e n t s / 1 . 1 / ”> 7 < r d f : D e s c r i p t i o n> 8 <r d f : t y p e r d f : p a r s e T y p e=” L e a r n i n g R e s o u r c e ” /> 9 <r d f : t y p e r d f : r e s o u r c e=” h t t p : //www. e d u t e l l a . o r g / q e l#R e s u l t S e t ” /> 10 { 11 f o r $pub doc ( ” s o u r c e B . xml” ) / O r g a n i z a t i o n / P u b l i c a t i o n L i s t / P u b l i c a t i o n 12 where f n : c o n t a i n s ( $ pub/ D e s c r i p t i o n / T i t l e , ” e d u c a t i o n ” ) 13 return 14 < e d u : r e s u l t> 15 <r d f : S e q> 16 < r d f : l i > { s t r i n g ( $ pub/ Author ) } </ r d f : l i > 17 < r d f : l i > { s t r i n g ( $ pub/ D e s c r i p t i o n / T i t l e ) } </ r d f : l i > 18 < r d f : l i > { s t r i n g ( $ pub/ C o p y r i g h t ) } </ r d f : l i > 19 < r d f : l i > { s t r i n g ( $ pub/ Language ) } </ r d f : l i > 20 </ r d f : S e q> 21 </ e d u : r e s u l t> 22 <e d u : r e s u l t V a r i a b l e s> 23 <r d f : S e q> 24 < r d f : l i r d f : r e s o u r c e=”#C o n t r i b u t o r ” /> 25 < r d f : l i r d f : r e s o u r c e=”#T i t l e ” /> 26 < r d f : l i r d f : r e s o u r c e=”#L e g a l R e s t r i c t i o n ” /> 27 < r d f : l i r d f : r e s o u r c e=”#Language ” /> 28 </ r d f : S e q> 29 </ e d u : r e s u l t V a r i a b l e s> } 30 </ r d f : D e s c r i p t i o n> 31 </ rdf:RDF> </pre>