<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">An XML-to-Relational User-Driven Mapping Strategy Based on Similarity and Adaptivity *</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Irena</forename><surname>Mlynkova</surname></persName>
							<email>irena.mlynkova@mff.cuni.cz</email>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Faculty of Mathematics</orgName>
								<orgName type="department" key="dep2">Physics Department of Software Engineering</orgName>
								<orgName type="institution">Charles University</orgName>
								<address>
									<addrLine>Malostranske nam. 25 118 00</addrLine>
									<settlement>Prague 1</settlement>
									<country key="CZ">Czech Republic</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">An XML-to-Relational User-Driven Mapping Strategy Based on Similarity and Adaptivity *</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">4C186BD514186581B0EBBBD332A2B216</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T02:43+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>As XML has become a standard for data representation, it is inevitable to propose and implement techniques for efficient managing of XML data. A natural alternative is to exploit features and functions of (object-)relational database systems, i.e. to rely on their long theoretical and practical history. The main concern of such techniques is the choice of an appropriate XML-to-relational mapping strategy.</p><p>In this paper we focus on enhancing of userdriven techniques which leave the mapping decisions in hands of users. We propose an algorithm which exploits the user-given annotations more deeply searching the user-specified "hints" in the rest of the schema and applies an adaptive method on the remaining schema fragments. We describe the algorithm theoretically, discussing the key ideas of the approach, chosen solutions, their reasons, and consequences. Finally, we overview the open issues related to implementation of the proposed algorithm and its experimental testing on real XML data.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Without any doubt the eXtensible Markup Language (XML) <ref type="bibr" target="#b8">[9]</ref> is currently de-facto a standard for data representation and manipulation. Its popularity is given by the fact that the basic W3C recommendations are welldefined, easy-to-learn, and at the same time still enough powerful. The popularity naturally invoked a boom of their efficient implementations based on various storage strategies from the traditional ones such as file systems to brand-new ones proposed particularly for XML structures, so-called native approaches or directly native XML databases.</p><p>Probably the most natural and practically used approach involves techniques which exploit features of (object-)relational database systems, though they are not Proceedings of the Spring Young Researcher's Colloquium on Database and Information Systems, Moscow, <ref type="bibr">Russia, 2007</ref> as efficient as the native ones due to the key problem of structural differences between XML data and relations. The reason for the popularity is that relational databases are still regarded as universal and powerful data processing tools and their long theoretical and practical history can guarantee a reasonable level of reliability and efficiency. Contrary to native methods it is not necessary to start "from scratch" but we can rely on a mature and verified technology, i.e. properties that no native XML database can offer yet. On this account we believe that these methods and their possible improvements should be further enhanced.</p><p>The main concern of the database-based <ref type="foot" target="#foot_0">1</ref> XML techniques is the choice of an appropriate XML-to-relational mapping strategy, i.e. the way the given XML data are stored into relations. We can distinguish the following three types approaches <ref type="bibr" target="#b3">[4]</ref> [15]:</p><p>• fixed mapping methods based on predefined set of mapping rules and appropriate heuristics (e.g. <ref type="bibr" target="#b10">[11]</ref> [21]),</p><p>• adaptive methods which adapt the target database schema to the intended application (e.g. <ref type="bibr" target="#b11">[12]</ref> [8]), and</p><p>• methods which leave the mapping decisions in hands of users (e.g. <ref type="bibr">[3] [5]</ref>).</p><p>The first set of methods can be further divided <ref type="bibr" target="#b3">[4]</ref> into generic and schema-driven ones depending on omitting or exploiting the existence of corresponding XML schema. However, both the types use a straightforward mapping strategy regardless the intended future usage. On the contrary, adaptive methods automatically adapt the database schema of a fixed method to the given additional information. The best known representatives, so-called cost-driven methods, usually search a space of possible XML-to-relational mappings and choose the one which conforms to the required application, specified using a sample set of XML data and XML queries, the most, i.e. where the provided queries over the given data can be evaluated most efficiently. Finally, the last mentioned type of methods can be also divided into two groups. We distinguish so-called user-defined and userdriven methods <ref type="bibr" target="#b14">[15]</ref> which differentiate in the amount of necessary user interaction. In the former case a user is expected to define both the target database schema and the required mapping strategy, i.e. to do all the work "manually". In the latter case a default mapping strategy is defined but a user can specify local mapping changes from the predefined set of other allowed mapping strategies, usually using schema annotations. In other words, the user-driven approach solves the main disadvantage of the user-defined one -the requirement of a user skilled in two complex technologies who is, in addition, able to specify an optimal database schema for a particular application. Note that the user-driven techniques can be regarded as a type of adaptive methods too <ref type="bibr" target="#b14">[15]</ref>, since they also adapt the default target schema to additional information, in particular to user-specified requirements.</p><p>In this paper we focus on further enhancing of userdriven techniques, particularly on their (in our opinion) two main persisting disadvantages. The first one is the fact that the default mapping strategy is (to our knowledge) always a fixed one. It is quite a surprising finding since we know that the proposed systems are able to store schema fragments in various ways. From this point of view an adaptive enhancing of the fixed method seems to be quite natural and suitable. The second key shortcoming we are dealing with is weak exploitation of the user-given information. We believe that the schema annotations a user provides can not only be directly applied on particular schema fragments, but the information they carry can be further exploited. The main idea is quite simple -we regard the annotations as "hints" how a user wants to store particular XML patterns and we use this information twice again. Firstly, we search for similar patterns in the rest of the schema and store the found fragments in a similar way. And secondly, we exploit the information in the adaptive strategy for not annotated parts of the schema.</p><p>To sum up, the main contribution of this paper is a proposal of an algorithm which enhances classical userdriven strategies using the following two approaches:</p><p>• a deeper exploitation of the information carried in user-given schema annotations and</p><p>• an adaptive mapping strategy for not annotated parts of the schema.</p><p>We describe the proposed algorithm theoretically. We discuss the key ideas and problems, their possible solutions, reasons for our particular decisions, and their consequences. Finally, we overview the related problems and open issues of a particular implementation of the proposal.</p><p>The rest of the paper is structured as follows: Section 2 contains a motivation for focusing on user-given information. Section 3 overviews the existing related works in the area of user-driven methods, adaptive methods, and similarity of XML data. In the fourth section we describe and discuss the proposed algorithm in more detail and in the fifth section we sum up the corresponding implementation open issues. Finally, Section 6 provides conclusions and outlines our future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Motivation</head><p>The key concern of this paper is to exploit the user-given information as much as possible. We result from the idea of user-driven enhancing of the user-defined techniques, where a user is expected to help the mapping process, not to perform it. We want to go even farther. But first of all we discuss why user-given information is so important to deal with.</p><p>A simple demonstrative example can be a set of XML documents which contain various XHTML <ref type="bibr" target="#b0">[1]</ref> fragments. A classical fixed schema-driven mapping strategy (e.g. <ref type="bibr">[21] [14]</ref>) would decompose the fragments into a number of relations. Since we know that the standard XHTML DTD allows, e.g., complete subgraphs on up to 10 nodes, the reconstruction of such fragments would be a really expensive operation in terms of the number of join operations. But if we knew that the real complexity of such fragments is much simpler (and the analysis of real XML data shows that it is quite probable <ref type="bibr" target="#b16">[17]</ref>), e.g. that each of the fragments can be described as a simple text with tags having the depth of 2 at most, we could choose a much simpler storage strategy including the extreme one -a CLOB column.</p><p>Another example can be the crucial feature of database storage strategies -updatability of the data. On one hand, we could know that the data will not be updated too much or at all but we need an effective query evaluation. On the other hand, there could be a strong demand for effective data updates, whereas the queries are of marginal importance. And there are of course cases which require effective processing of both. Naturally, the appropriate storage strategies differ strongly. In case of effective query processing a number of indices and numbering schemes can be exploited but at the cost of corresponding expensive updates. Effective updates, conversely, require the simplest information of mutual data relationships. And if both the aspects are required, it is unavoidable to compromise. And such decision can be again made correctly only if we have an appropriate information on the required future usage.</p><p>Last but not least, let us consider the question of data redundancy. Without any additional information the optimal storage strategy is so-called 4NF schema decomposition into relations <ref type="bibr" target="#b4">[5]</ref>, where 4NF stands for the fourth normal form, which can be achieved, e.g., using the classical Hybrid algorithm <ref type="bibr" target="#b20">[21]</ref>, a representative of fixed mapping methods. The decomposition does not involve data redundancy or violation of any normal form, i.e. it results in a database schema with the lowest number of relations and null attributes. But, similarly to database design, there can be reasonable real-world cases when the data should not strictly follow the rules of normal forms and their moderation can lead to more effective query processing.</p><p>Both the cost-driven and user-driven methods are based on the idea of exploiting additional user-given information and they appropriately adapt the target database schema. In the former case it is extracted from a sample set of XML documents and/or XML queries which characterize the typical future usage, in the latter case it is specified by user-given annotations, i.e. the user directly specifies the required changes of the default mapping. But although there is a plenty of existing repre-sentatives of the two approaches, there are still numerous weak points and open issues that should be improved and solved <ref type="bibr" target="#b14">[15]</ref>.</p><p>As mentioned above, our first improvement is searching for identical or similar fragments in the not annotated schema parts. This approach has two main advantages:</p><p>1. The user is not forced to annotate all schema fragments that have to be stored alternatively, but only those with different structure. Thus the system is not endangered of unintended omitting of annotating all similar cases.</p><p>2. The system can reveal structural similarities which are not evident "at first glance" and which could remain hidden to the user.</p><p>Thus the first main concern of our proposal is how to identify identical or similar fragments within the schema.</p><p>Our second enhancing focuses on the choice of the mapping strategy for schema fragments which were neither annotated by the user, nor identified as fragments similar to the annotated ones. In this case we combine the idea of cost-driven methods with the fact that a userdriven technique should support various storage strategies too. Hence our second concern is how to find the optimal mapping strategy for the remaining schema fragments and, in addition, with exploitation of the information we already have, i.e. the user-specified annotations, as much as possible.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Related Work</head><p>As we have mentioned, methods which involve a user in the mapping process can be divided into user-defined and user-driven. Probably due to simple implementation the former ones are supported in most commercial database systems <ref type="bibr" target="#b1">[2]</ref>. On the other hand, the set of techniques of the latter type is surprisingly small. To our knowledge there are just two main representatives of the approach -so-called Mapping Definition Framework (MDF) <ref type="bibr" target="#b2">[3]</ref> and XCacheDB System <ref type="bibr" target="#b4">[5]</ref>. Both support inlining and outlining of an element / attribute, mapping an element / attribute to a CLOB column, renaming target tables / columns, and redefining column data types. The former approach furthermore supports the Edge mapping <ref type="bibr" target="#b10">[11]</ref> strategy and enables to specify the required capturing of the structure of the whole schema. The latter one, in addition, allows a certain degree of redundancy.</p><p>In both the cases the mapping for not annotated parts is fixed and the annotations are applied just directly on the annotated schema fragments. The two ideas we want to use for their enhancing are adaptivity <ref type="bibr" target="#b14">[15]</ref> and similarity <ref type="bibr" target="#b15">[16]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Adaptive XML-to-Relational Mapping</head><p>Probably the first proposal of an adaptive cost-driven method can be found in <ref type="bibr" target="#b11">[12]</ref>. It is based on the idea of storing well structured parts of XML documents into relations (using the 4NF decomposition) and semistructured parts using an XML data type, which supports path queries and XML-aware full-text operations. The main concern of the method is to identify the structured and semi-structured parts. For this purpose a sample set of XML documents and XML queries is used.</p><p>The other existing cost-driven approaches <ref type="bibr" target="#b7">[8]</ref> [24] [26] use a different strategy. They define a set of XMLto-XML transformations (e.g. inlining / outlining of an element / attribute, splitting / merging of a shared element<ref type="foot" target="#foot_1">2</ref> , associativity, commutativity, etc.), a fixed XMLto-relational mapping, and a cost function which evaluates a relational schema against a given sample set of XML data and/or queries. Using a search algorithm a space of possible relational schemes is searched and the optimal one is selected. Since it can be proven that even a simple set of transformations causes the problem to be NP-hard, the corresponding search algorithms in fact search for suboptimal solutions and exploit, e.g., heuristics, terminal conditions, approximations, etc.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Similarity of XML Data</head><p>Exploitation of similarity of XML data can be found in various XML technologies, such as, e.g., document validation, query processing, data transformation, storage strategies based on clustering, data integration systems, dissemination-based applications, etc. Consequently, the number of existing works is enormous. We can search for similarity among XML documents, XML schemes, or between the two groups. Furthermore, we can distinguish several levels of similarity that can be taken into account during the search process -a structural level (i.e. considering only the structure of the given XML fragments), a semantic level (i.e. taking into account also the meaning of element / attribute names), a constraint level (i.e. taking into account also various text value constraints), etc.</p><p>In case of document similarity we distinguish techniques expressing the similarity of two documents D 1 and D 2 by measuring how difficult is to transform D 1 into D 2 (e.g. <ref type="bibr" target="#b18">[19]</ref>) and techniques which specify a simple and reasonable representation of D 1 and D 2 that enables their efficient comparison and similarity evaluation (e.g. <ref type="bibr" target="#b25">[25]</ref>). In case of similarity of document D and schema S there are also two types of strategies -techniques which measure the number of elements which appear in D but not in S and vice versa (e.g. <ref type="bibr" target="#b5">[6]</ref>) and techniques which measure the closest distance between D and all documents valid against S (e.g. <ref type="bibr" target="#b17">[18]</ref>). Finally, methods for measuring similarity of two XML schemes S 1 and S 2 exploit and combine various supplemental information and measures such as, e.g., predefined similarity rules, similarity of element / attribute names, equivalence of data types and structure, schema instances, thesauri, previous results, etc. (e.g. <ref type="bibr" target="#b12">[13]</ref> [10] <ref type="bibr" target="#b21">[22]</ref>)</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Proposed Algorithm</head><p>The general idea of fixed schema-driven XML-torelational mapping methods is to decompose the given XML schema S into a set of schema fragments</p><formula xml:id="formula_0">F = {f 1 , f 2 , ..., f n }. Each f i ∈ F is</formula><p>then mapped to a corresponding relation r i using a mapping strategy s f rag . The relationship between fragments is kept using a mapping strategy s rel . In other words, the 3-tuple τ = &lt; F, s f rag , s rel &gt; specifies a particular XML-torelational mapping method. An extreme case is when S is considered as a single fragment which results in a single relation, usually with many null values. Other extreme occurs when each element in S is considered as a single fragment resulting in a huge number of relations and thus numerous join operations.</p><p>Note that fixed generic methods can be described using the 3-tuple τ as well. Each of the techniques views an XML document as general directed tree with several types of nodes. And the view can be considered as a special kind of XML schema.</p><p>In user-driven strategies the three characteristics are influenced by user-defined annotations which specify how a particular user wants to store selected fragments</p><formula xml:id="formula_1">F = {f 1 , f 2 , ..., f m }.</formula><p>The user usually provides S with annotating attributes from the predefined set of attribute names Σ A , which represent various fixed mapping strategies, resulting in an annotated schema S . Obviously, annotated fragments in F do not have to correspond to schema fragments in F . For instance, a user may specify that whole S should be stored using a 4NF decomposition and thus F = {S } is a singleton, whereas corresponding F can contain several schema fragments depending on the complexity of S. Also note that while F should cover whole S, F usually does not.</p><p>A classical user-driven strategy consists of the following steps:</p><p>1. S is provided with annotations from Σ A resulting in S and F .</p><p>2. Annotated fragments from F are decomposed into corresponding schema fragments</p><formula xml:id="formula_2">F 1 = {f 1 , f 2 , ..., f k }.</formula><p>3. Not annotated fragments of S are decomposed into schema fragments F 2 = {f k+1 , f k+2 , ..., f n } using a default (predefined or user-defined) fixed strategy s def .</p><p>4. F = F 1 ∪ F 2 is mapped to R using s f rag and s rel .</p><p>Using this notation our proposed enhancing simply adds the following steps between the step 1 and 2: a. For ∀ f ∈ F we identify a set F f of all fragments similar to f occurring in S \{f }.</p><p>b. For ∀ f ∈ F all fragments in F f are annotated with annotating attributes of f and</p><formula xml:id="formula_3">F = F ∪ F f .</formula><p>c. S \F is annotated using an adaptive strategy which adds new annotated fragments to F .</p><p>The mapping process is schematically depicted in Figure <ref type="figure" target="#fig_0">1</ref> where the given schema S with two annotated fragments f and g is mapped to a database schema R. If the proposed enhancing (i.e. steps 1.a -1.c) is included, the system gradually identifies and adds new annotated fragments f 1 , f 2 , g 1 , g 2 , and g 3 which are mapped using user-required mapping strategies. If the enhancing is not included (i.e. in case of a classical user-driven strategy), only fragments f and g are annotated using user-required strategies and the rest of the schema using s def .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Searching for Similar Fragments</head><p>As we have mentioned, there are numerous approaches to measuring similarity of XML data. Nevertheless, most of them cannot be directly used for our case since our demanded key characteristics differ. In particular, we search for similarity within the scope of a single schema, the similarity measure should not depend on similarity of element / attribute names but primarily on complexity of content models, and the similarity measure cannot obviously depend on the context of fragments.</p><p>Considering the problem in more depth, several fundamental questions arise:</p><p>1. How are the annotated fragments defined?</p><p>2. What types of annotations, i.e. fixed mapping strategies, are supported?</p><p>3. What measure is used for measuring similarity of two schema fragments?</p><p>4. Can we optimize the exhaustive search strategy?</p><p>The answers for the questions mutually influence each other and specify the algorithm. Furthermore, the definition of annotated fragments together with the question of their mutual intersection are closely related to supported mapping strategies.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.1">Annotated Fragments</head><p>First of all, for easier processing we define a graph representation of an XML schema S, no matter if annotated or not. For easier explanation we assume that the given XML schema S is expressed in DTD<ref type="foot" target="#foot_2">3</ref>  <ref type="bibr" target="#b8">[9]</ref>, nevertheless the algorithm can be applied to schemes expressed using, e.g., XML Schema <ref type="bibr" target="#b22">[23]</ref> [7] language as well.</p><formula xml:id="formula_4">Definition 1 A schema graph of an XML schema S is a directed, labelled graph G S = (V, E, Σ E , Σ A , lab), where • V is a finite set of nodes, • E ⊆ V × V is a set of edges, • Σ E is a set of element names in S,</formula><p>• Σ A is a set of attribute names in S, and <ref type="figure">"*", "+", "?", ","} ∪</ref> {pcdata} is a surjective function which assigns a label to ∀v ∈ V .</p><formula xml:id="formula_5">• lab : V → Σ E ∪ Σ A ∪ {"|",</formula><p>Definition 2 A fragment of a schema S is each subgraph of S consisting of an element e, all its descendants, and corresponding edges.</p><p>Φ is a set of all fragments of S.</p><p>Next, we assume that each annotated fragment f ∈ F is uniquely determined by the element e which was annotated using an annotating attribute a ∈ Σ A .</p><p>Definition 3 An annotated element e of schema S is an element provided with an annotated attribute from Σ A . As we want to support shared elements and recursion, since both the constructs are widely used in real XML data <ref type="bibr" target="#b16">[17]</ref>, we must naturally allow the annotated fragments to intersect almost arbitrarily. To simplify the situation, we define an expanded schema graph, which exploits the idea that both the constructs purely indicate repeated occurrence of a particular pattern.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 5 An expanded schema graph G ex</head><p>S is a result of the following transformations of schema graph G S :</p><p>1. Each shared element is duplicated for each sharer using a deep copy operation, i.e. including all its descendants and corresponding edges.</p><p>2. Each recursive element is duplicated for each repeated occurrence using a shallow copy operation, i.e. only the element node itself is duplicated.</p><p>An illustrative example of a schema graph G S and its expanded schema graph G ex S is depicted in Figure <ref type="figure" target="#fig_1">2</ref>. A shared element is highlighted using a dotted rectangle, a recursive element is highlighted using a dotted circle. As it is obvious, in case of shared elements the expansion is lossless operation. It simply omits the key advantage of shared elements which allows reusing of previously defined schema fragments. The situation is more complicated in case of recursive elements which need to be treated in a special way henceforth. For this purpose we exploit results of statistical analysis of real-world recursive elements <ref type="bibr" target="#b16">[17]</ref>, particularly the fact that the most common type of recursion is linear 4 and that the number 4 Consisting of a single recursive element that does not branch out. of repetitions of a recursive element is small, on average less than 5. The two findings enable to treat recursive elements not as elements with theoretically infinite depth, but in a much simpler way. We discuss the details later in the text.</p><p>In the following text we assume that a schema graph of an XML schema is always an expanded schema graph, if not explicitly stated alternatively.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.2">Types of Annotations</head><p>From Definitions 4 and 5 we can easily prove the following two statements:</p><formula xml:id="formula_6">Lemma 1 Each expanded schema graph G ex S is a tree.</formula><p>Lemma 2 Two annotated fragments f x and f y of an expanded schema graph</p><formula xml:id="formula_7">G ex S can intersect only if f x ⊆ f y or f x ⊆ f y .</formula><p>Furthermore, we can observe that the common schema fragment, i.e. the intersection, contains all descendants of a particular element.</p><p>We distinguish three types of the annotation intersection depending on the way the corresponding mapping strategies influence each other. Redundant annotations can be exploited, e.g., when a user wants to store XHTML fragments both in a single CLOB column (for fast retrieval of the whole fragment) and, at the same time, into a set of tables (to enable querying particular items). An example of overriding annotations can occur when a user specifies a general mapping strategy for the whole schema S and then annotates fragments which should be stored differently. Naturally, in this case the strategy which is applied on the common schema fragment is always the one specified for its root element. The last mentioned type of annotations can be used in a situation when a user specifies, e.g., the 4NF decomposition for a particular schema fragment and at the same time an additional numbering schema which speeds up processing of particular types of queries. In this case the numbering schema is regarded as a supplemental index over the data stored in relations of 4NF decomposition, i.e. the data are not stored redundantly as in the first case.</p><p>We assume that each pair of annotations implemented in a corresponding system is assigned its intersection type or, if necessary, a particular combination of annotations can be denoted as forbidden. The existing systems <ref type="bibr" target="#b2">[3]</ref> [5] mostly support overriding annotations, the XCacheDB system <ref type="bibr" target="#b4">[5]</ref>, in addition, supports a type of redundant intersection similar to the above described example. Furthermore, we assume that the implemented annotations are assigned priorities which specify the order in which they are composed when applied on common schema fragment.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.3">Search Algorithm</head><p>The similarity measure, the search algorithm, and its possible optimization are closely related. However, the main idea of the enhancing of user-driven techniques remains the same regardless the chosen measure and algorithm. The choice of the measure influences the precision and scalability of the system, whereas the algorithm influences the efficiency of finding the required fragments. In case of "classical" adaptive methods this can be a marginal aim, since the schema adaptation is performed only once, before the schema is created. But its importance significantly rises when the system needs to be dynamic and adapt continuously.</p><p>Let us suppose that we have a similarity measure sim(f x , f y ) ∈ [0, 1] expressing similarity of two fragments f x and f y of an expanded graph, where 1 represents strong similarity and 0 strong dissimilarity, and a similarity threshold T sim ∈ [0, 1]. A naive strategy would exploit an exhaustive search as depicted by Algorithm 1.</p><p>The algorithm evaluates similarity of each annotated fragment f ∈ F and each fragment f e rooted at an element e ∈ S \{f }. We can assume that if the storage strategy for any f e should not change, the user would mark it as final. For such fragment either the default strategy s def or the strategy specified by corresponding user-defined annotation will be used, regardless the results of the search or adaptive algorithm. As such this situation is rather the problem of implementation than a theoretical one and thus we further assume that there are no such fragments in S . On the other hand, we naturally regard fragments annotated by a user to be final by default.</p><p>The resulting similarity values are stored into socalled similarity matrix {sim[f , f e ]} f ∈F , e∈S . An element e is annotated if there exists a fragment f max ∈ F with the highest similarity value sim(f max , f e ) &gt; T sim . In Algorithm 1 we assume that there is always one such candidate at most. Otherwise, the system can ask for user intervention when necessary. We call this approach a single annotation strategy (SAS). </p><formula xml:id="formula_8">f max ← f ∈ F s.t. sim[f , f e ] = max e 15:</formula><p>if max e &gt; T sim then 16:</p><formula xml:id="formula_9">f e .annotation ← f max .annotation 17: F ← F ∪ {f e } 18:</formula><p>end if 19: end for 20: return F The question is whether this approach is correct actually. From another point of view it could be more reasonable to annotate an element e using annotations of all fragments f ∈ F s.t. sim(f , f e ) &gt; T sim . Together with the assumption that for each pair of annotations the result of their composition is predefined and that the annotations have priorities according to which they are composed, this approach seems to be a better choice since it does not omit important information. But, on the other hand, let us consider the situation depicted in Figure <ref type="figure" target="#fig_3">3</ref>, where for i ∈ {1, 2, 3} sim(f , f i ) &gt; T sim and f is the annotated fragment. The problem is whether we can annotate all the three fragments f 1 , f 2 , f 3 using the annotation of f , especially what will be the result of intersection in case of f 1 and f 3 or f 2 and f 3 , i.e. fragments occurring on the same root path <ref type="foot" target="#foot_3">5</ref> . We can naturally assume that intersection of two identical annotations is overriding and as such has no effect. Thus we could annotate only the topmost fragment on each root path. In case of example in Figure <ref type="figure" target="#fig_3">3</ref> this rule would be applied twice, resulting in a single annotation of fragment f 3 . But what if we knew, in addition, that sim(f , f 1 ) &gt; sim(f , f 3 ) and sim(f , f 2 ) &gt; sim(f , f 3 )? As it is obvious, in such case it is seems to be more reasonable and natural to annotate fragments f 1 and f 2 rather than whole f 3 . Or this situation can be again a case for user intervention, depending on the point of view of it. We will further consider the former one.</p><p>If we generalize the idea, the algorithm annotates an element e using annotations of all fragments f ∈ F s.t. sim(f , f e ) &gt; T sim and ∃ element e on any root path traversing e s.t. sim(f , f e ) &gt; sim(f , f e ). The resulting algorithm, so-called multiple annotation strategy (MAS), is depicted by Algorithm 2, where e.ancs denotes a set of (direct or undirect) ancestors of element e and e.descs denotes a set of (direct or undirect) descendants of e. The process of construction of the similarity matrix remains the same as in case of Algorithm 1. end for 10: end for 11: return F Using this approach we should consider what will happen in case a user annotates two structurally identical (or too similar) fragments using different annotations. We cannot simply rely on predefined type of their intersection and corresponding priorities, because the situation is a slightly different one. In this case the system should rather ask for user intervention whenever it is not able to decide. And this is again a problem of the particular implementation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.4">Similarity Measure and Optimization of the Search Algorithm</head><p>Now let us consider the search strategy from the point of view of complexity of the algorithm. Figure <ref type="figure">4</ref> depicts an example of processing a single annotated fragment, in particular the amount of similarity comparisons. Annotated fragments f and g are highlighted using rectangles, all schema fragments, which are compared with f are highlighted using dotted ovals.</p><p>Figure <ref type="figure">4</ref>: Exhaustive search strategy If we do not know any features of the measure, there are not many ways how to avoid the exhaustive search. Also the order in which fragments in F are processed is then unimportant. But although we can assume that card(F ) = m is small, i.e. that a user annotates several fragments but the number is not large, the exhaustive search can be expensive due to the size of G ex S . And even from the simple example in Figure <ref type="figure">4</ref> it is obvious that there are pairs of schema fragments which do not have to be compared at all. Another problem is the complexity of the if condition of Algorithm 2 (line 5) which can in the worst case lead to multiple searching through the whole G ex S . So in both the cases we need to avoid the unnecessary similarity evaluations.</p><p>It seems promising to borrow the idea of clustering, similarly to paper <ref type="bibr" target="#b21">[22]</ref>, where the distance between schema fragments is determined by their mutual similarity, e.g. dist(f x , f y ) = 1 − sim(f x , f y ). An example is depicted in Figure <ref type="figure" target="#fig_5">5</ref> for the sample schema in Figure <ref type="figure">4</ref>. The construction is usually performed using a kmeans algorithm or its variations (e.g. <ref type="bibr" target="#b21">[22]</ref>), where the initial clusters are selected randomly and then iteratively improved. In the i-th iteration each fragment is compared with centroids of all clusters and assigned to the closest one. The algorithm terminates if none of the clusters changes, otherwise new centroids are computed and (i + 1)-th iteration follows. The complexity of the construction is O(I • |Φ| • k), where I is the number of iterations. In case of complexity of similarity evaluation the worst case is when either k = 1 or all k clusters mutually intersect, i.e. when we cannot avoid any of the similarity comparisons. Hence in the worst case the number of comparisons is the same as in the exhaustive search strategy and the complexity can worsen only the pre-processing, i.e. the construction of clusters. And this is the step we want to remove too.</p><p>For further optimization we can exploit characteristics of the chosen similarity measure. The existing algorithms for measuring similarity on schema level usually exploit various supplemental matchers <ref type="bibr" target="#b19">[20]</ref>, i.e. functions which evaluate similarity of a particular feature of the given schema fragments, such as, e.g., similarity of number and types of leaf nodes, similarity of root element names, similarity of context, etc. Definition 9 A matcher is a function m : Φ 2 → [0, 1] which evaluates similarity of a particular feature of two schema fragments f x , f y ∈ Φ.</p><p>Definition 10 A partial similarity measure is a function m part : Φ 2 → [0, 1] p which evaluates similarity of the given schema fragments f x , f y ∈ Φ using matchers m 1 , m 2 , ..., m p : Φ 2 → [0, 1] and returns a p-tuple of their results.</p><p>Then the partial results are combined using an appropriate approach, usually a kind of a weighted sum, into the resulting composite similarity value.</p><p>Definition 11 A composite similarity measure is a function m comp : [0, 1] p → [0, 1] which combines the results of particular matchers and returns the total similarity value.</p><p>Due to the features of selected partial matchers the existing techniques usually exploit a bottom-up strategy, i.e. starting from leaf nodes towards the root node. Together with the previously mentioned problem of similar intersecting fragments this is why we need to know the behavior of the similarity measure on particular root paths.</p><p>For instance, if we knew that the similarity measure is concave, i.e. that it has only one global maximum, we could skip processing of all the ancestors on the current root path whenever we reach the fragment with the extreme value. A sample situation can be seen in Figure <ref type="figure" target="#fig_6">6</ref> which depicts an example of a graph of similarity function for an annotated fragment f and fragments f 1 , f 2 , ..., f r on a single root path. From the graph we can see, that only fragments f 1 , f 2 , f 3 , f 4 need to be processed (f 4 for testing the extremity), then the similarity evaluation can terminate, skipping fragments f 5 , f 6 , ..., f r .</p><p>As it is obvious, this way we can decrease the number of unnecessary similarity evaluations as well as avoid pre-processing of the schema and expensive checking of the if condition of Algorithm 2. Naturally, the efficiency of such approach depends strongly on the position of the extreme on the root path. The key problem is how to define such similarity measure. For our purpose we need a measure which focuses especially on the structure of the compared fragments, known equivalences or relations between regular expressions, differences between simple and complex types, etc., i.e. on features that influence the efficiency of database processing the most. But it is hard, if not impossible, to propose a measure with concave behavior which is at the same time enough precise in relation to these requests. Nevertheless, we can exploit a relaxed version of this idea as a kind of heuristic of the bottom-up strategy.</p><p>Although we can hardly ensure that m comp is concave, we can assume that at least q of the matchers, where 1 ≤ q ≤ p, have this property. Without loss of generality we suppose that these are m 1 , m 2 , ..., m q . For instance a trivial matcher with such behavior can compare the number of distinct element or attribute names, the amount of similar operators, the depth of the corresponding regular expression, etc. The heuristic is then based on the idea that if at least "sufficient amount" of the q matchers exceed their extreme value, we can terminate processing of the current root path too. There are just two differences from the previously mentioned idea. Firstly, the exceeding of the particular extreme is expressed using a threshold T ex ∈ [0, 1] which guarantees that processing of the current root path does not terminate neither too soon (to reach the optimum of the composite similarity measure) nor too late (to avoid unnecessary similarity evaluations). Secondly, as it is obvious, the matchers themselves are not precise in terms of similarity evaluation. Hence each of them is assigned a user-specified reliability r 1 , r 2 , ..., r q ∈ [0, 1], where 0 expresses strong unreliability and 1 strong reliability of the matcher. The reliabilities then influence the real value of threshold T ex for particular matchers multiplying its value.</p><p>The whole optimization of the approach, so-called basic annotation strategy (BAS), is depicted by Algorithm 3, where function terminate returns true if the search algorithm should terminate in the given node, otherwise it returns false. Furthermore, we assume that each element of the graph is assigned an auxiliary list of candidates consisting of pairs &lt; f ragment, similarity &gt;, i.e. references to fragments (and corresponding similarity values) within its subtree that are candidates for annotation.</p><p>The algorithm processes schema graph starting from leaf nodes. For each root path the optimal similarity value and the reference to corresponding fragment are propagated until a better candidate is found or the condition of the heuristic is fulfilled. Then the processing of the current root path is terminated and current candidates are annotated. The complexity of the algorithm depends on the heuristics. In the worst case it does not enable to skip processing of any node that results in the exhaustive search. But in contrast to the clustering approach we have avoided the expensive preprocessing of the algorithm.</p><p>In general we could use an arbitrary similarity measure, not exactly the above defined composite one. It is also possible to use disjoint sets of matchers for the heuristic and for the composite similarity measure. Nevertheless, we will deal with the above described ones, since it is the typical and verified way for evaluating similarity among XML schemes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.5">Recursive Elements</head><p>Last but not least, we have to solve the open problem of expanded recursive elements, since the expansion is not a lossless operation as in case of shared elements. As we have already indicated, we will exploit the results of analysis of real-world XML data which shows two important aspects <ref type="bibr" target="#b16">[17]</ref>:</p><p>1. Despite it is generally believed that recursive elements are of marginal importance, they are used in a significant portion of real XML data. If we realize that we need the "lost" information about recursion only at one stage of the algorithm, the solution is quite obvious. We analyze the structure of schema fragments when evaluating matchers m 1 , m 2 , ..., m p , whereas each of the matchers describes similarity of a particular feature of the given fragments. In case the fragments contain recursive elements we will not use the exact measure, but its approximation with regard to the real complexity of recursive elements. For instance if the matcher analyzes the maximum depth of fragment containing a recursive element, the resulting depth is not infinite, but considers the average depth of real-world recursive elements.</p><p>The question is whether it is necessary to involve a matcher which analyzes the amount of recursive elements in schema fragments. On one hand it can increase the precision of the composite measure. But from another point of view the approximation transforms the recursive element to a "classical" element and hence such matcher can be misleading.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Adaptive Mapping Strategy</head><p>At this stage of the algorithm we have a schema S and a set of annotated fragments F which involve the userdefined fragments and fragments identified by Algorithm 3. As the second enhancing we want to apply an adaptive mapping strategy to the remaining parts of the schema.</p><p>As mentioned previously, the key idea of adaptive strategies is to adapt the target relational schema R to the expected future application, which is specified by a sample set of XML data and/or XML queries. The techniques define a set of XML-to-XML transformations which produce a space of equivalent or more general XML schemes. A search algorithm is used to find a schema, where the evaluation of the given queries is most efficient. Thus at first glance the user-driven techniques have nothing in common with the adaptive ones. Or, we could expect that the user provides not only a set of annotations, but also sample XML documents and XML queries. Then we could use a classical adaptive strategy for not annotated parts of schema S . Such combination should not be difficult considering the fact that userdriven techniques enable to store various schema fragments in various ways. Nevertheless, the key shortcoming of such approach is that the user is expected to provide too many information.</p><p>Under a closer investigation we can see that the usergiven annotations provide a similar information -they say how particular schema fragments should be stored to enable efficient data querying and processing. Thus we can simply reuse the user-given information. For this purpose we define an operation contraction which enables to omit those schema fragments, where we already know the storage strategy, and focus on the remaining ones.</p><p>Definition 12 A contraction of an expanded schema graph G ex S with annotated fragment set F is an operation which replaces each fragment f ∈ F with a single auxiliary node called a contracted node.</p><p>The resulting graph is called a contracted graph G con S .</p><p>From Definitions 4 and 12 we can easily prove the following simple statement which enables to reuse the search algorithm on the contracted graph.</p><formula xml:id="formula_10">Lemma 3 Contracted graph G con S of a connected ex- panded schema graph G ex S is connected.</formula><p>The basic idea of the adaptive strategy is as follows: Having a contracted graph G con S we repeat the search algorithm (in particular its slight modification) and operation contraction until there can be found any fragment to annotate. Contrary to the previous situation the search algorithm has the following differences:</p><p>• It searches for schema fragments which are not involved in the schema, i.e. it searches among all nodes of the given (contracted) graph and returns the (eventually empty) set of found fragments.</p><p>• For similarity evaluation we do not take into account contracted nodes, i.e. neither their current, nor their previous structure or any other features. These were already analyzed and processed in previous steps of the algorithm.</p><p>• The annotations of contracted nodes are always overriding in relation to the newly defined ones.</p><p>• The required threshold is more precise, i.e. we use a threshold T con &lt; T sim .</p><p>We denote this modification of BAS as a contractionaware annotation strategy (CAS). (We omit its formal description for obviousness and the paper length.) The resulting annotating strategy, so called global annotation strategy (GAS), is depicted by Algorithm 4, where function contract applies operation contraction on expanded graph of the given schema and corresponding fragments, Algorithm 3 Basic Annotation Strategy (BAS) Input: S , F , m 1 , m 2 , ..., m q , m q+1 , ..., m p , r 1 , r 2 , ..., r q , T ex , m comp , T sim Output: F , i.e. F ∪ newly annotated fragments f .annotation ← f .annotation 23:</p><formula xml:id="formula_11">F ← F ∪ {f } 24:</formula><p>end for </p><formula xml:id="formula_12">F tmp ← CAS(S , F , m 1 , m 2 , ..., m p , r 1 , r 2 , ..., r q , T ex , m comp , T con ) 6:</formula><p>F ← F ∪ F tmp 7: end while 8: expand contractions(S , F ) 9: return F and function expand contractions expands all the contracted nodes of the given schema to the original ones.</p><p>The resulting complexity of the algorithm depends on the number of iterations of the cycle (lines 3 -7). In the worst case each iteration results in annotating of a single element, i.e. the search algorithm repeats (|Φ|−|F |+1) times.</p><p>Considering the whole approach, we are especially interested in the efficiency of the resulting XML-torelational storage strategy which can be verified only through appropriate tests on real XML data. We discuss it in the following section.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Open Issues</head><p>In the previous section we have described and discussed the proposed algorithm on theoretical level. We have mentioned several possible solutions and discussed their consequences and disadvantages as well as reasons for the choices we have made. But despite the detailed description there are still several open issues. We distinguish two main categories:</p><p>1. Features of the particular implementation and 2. Behavior of the algorithm on real XML data.</p><p>As for the former case the key implementation decisions are especially:</p><p>• the set of supported schema annotations, types of their mutual intersection (or forbiddance), and their priorities,</p><p>• the matchers m 1 , m 2 , ..., m q , m q+1 , ..., m p and corresponding reliabilities r 1 , r 2 , ..., r q ,</p><p>• the composite similarity measure m comp , and</p><p>• the thresholds T sim , T ex , and T con .</p><p>The key problem lies especially in tuning of reliabilities and thresholds, since both influence the precision and efficiency of the system strongly. The remaining characteristics are related rather to its usefulness and versatility. There are also marginal questions such as, e.g., whether the system will support final elements or user intervention if there are more candidates for a particular situation. But these features do not have the key influence on the proposed approach itself.</p><p>The latter category of open issues is quite unpredictable, despite the existing statistics of real XML data <ref type="bibr" target="#b16">[17]</ref>. It is caused mainly by two facts. Firstly, although we know the usual characteristics of the real data, we cannot predict especially the behavior of more complex similarity measures due to the above mentioned tuning of the characteristics. And secondly, we cannot predict the behavior of the proposed adaptive strategy, since we have no information about the structure of contracted graphs of real data. Furthermore, the choice of particular schema fragments will be strongly related to the type of the tested data and thus the efficiency of the resulting storage strategy can vary remarkably.</p><p>As it is obvious, both the categories are also related significantly. And though some particular features can be estimated or preset according to the existing user-driven systems and statistical analysis of data, most of them will still require a series of experimental tests.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion</head><p>The main aim of this paper was to illustrate that since the idea of database-based XML processing methods is still up-to-date, the techniques should and can be further enhanced. On this account we have proposed a user-driven mapping algorithm which is able to exploit the user given information, i.e. schema annotations, more deeply and, at the same time, to find the mapping strategy for the not annotated parts more efficiently -using an adaptive approach. We have described and discussed the algorithm on theoretical level as well as summed up the corresponding open issues related to particular implementation decisions.</p><p>A natural next step of our work is the implementation of the proposed algorithm and especially experimental tests of its behavior on real data. For this purpose we are enhancing our previous implementation of a fixed XML-to-relational mapping strategy <ref type="bibr" target="#b13">[14]</ref>, which exploits object-oriented features of XML Schema language together with features of object-relational database systems. For the testing we will exploit information about categories of real XML data and their typical features <ref type="bibr" target="#b16">[17]</ref> as well as existing related works which could help with tuning the system.</p><p>A possible further enhancing of our approach can be found in focussing on statistically frequent XML schema patterns. They can be used in several ways -e.g. as a reasonable default setting or as XML patterns with a higher priority.</p><p>Another improvement can be an exploitation of the semantic of element and/or attribute names. The similarity can be searched not only on structural level, but using a kind of thesaurus or appropriate user-given information. Although our proposal focuses mainly on structural similarities related to efficiency of database processing, it is at least worth testing whether the semantic of the names carries additional important information useful for this purpose too.</p><p>Next interesting task could be also a combination of our approach with a real cost-driven one, i.e. an exploitation of both user-given annotations and a sample set of XML data and XML queries together. As we have already mentioned, the key disadvantage is in the amount of required input data. But, on the other hand, the combination of the two approaches could bring interesting results or the efficiency of the two approaches can be at least compared.</p><p>And last but not least, the key enhancing lies in dynamic adaptability of the system <ref type="bibr" target="#b14">[15]</ref>. This challenging but non-trivial task would solve the remaining disadvantage of the adaptive methods -the fact that the schema is adapted only once, at the beginning but not in case the application changes.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Schema of the mapping process Definition 4 An annotated fragment f of schema S is a fragment of S rooted at an annotated element e excluding all annotating attributes from Σ A .</figDesc><graphic coords="5,64.80,54.24,468.00,143.30" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: A schema graph G S and an expanded schema graph G ex S</figDesc><graphic coords="5,64.80,540.04,225.00,71.54" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Definition 6 Definition 7 Definition 8</head><label>678</label><figDesc>Intersecting annotations are redundant if the corresponding mapping strategies are applied on the common schema fragment separately. Intersecting annotations are overriding if only one of the corresponding mapping strategies is applied on the common schema fragment. Intersecting annotations are influencing if the corresponding mapping strategies are combined resulting in one composite storage strategy applied on the common schema fragment.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: Similar fragments on the same root path</figDesc><graphic coords="6,341.56,496.92,157.50,70.65" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Algorithm 2</head><label>2</label><figDesc>Multiple Annotation Strategy (MAS) Input: S , F , sim(f x , f y ), T sim Output: F , i.e. F ∪ newly annotated fragments 1: F ← F {construction of the similarity matrix} 2: -//-{annotation strategy} 3: for all f ∈ F do 4: for all element e ∈ S do 5: if (sim[f , f e ] &gt; T sim ) ∧ ( ∃e a ∈ e.ancs : sim[f , f ea ] &gt; sim[f , f e ]) ∧ ( ∃e d ∈ e.descs : sim[f , f e d ] &gt; sim[f , f e ]) then 6: f e .annotation ← f .annotation 7: F ← F ∪ {f e }</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Figure 5 :</head><label>5</label><figDesc>Figure 5: Exploitation of clustering All schema fragments (depicted using black-filled circles) are divided into clusters C 1 , C 2 ,..., C k (depicted using black circular lines) having their centroids c 1 , c 2 ,..., c k and radii r 1 , r 2 ,..., r k (or one common radius r, depending on the implementation). Having this information, only those schema fragments have to be compared with fragment f , whose clusters intersect the cluster with centroid f and radius T sim . In case of Figure 5 these are clusters C 1 and C 2 . Obviously, if the clusters were selected appropriately, the amount of comparisons would decrease rapidly. Hence the key concern of all clustering algorithms is mainly the construction of the clusters.The construction is usually performed using a kmeans algorithm or its variations (e.g.<ref type="bibr" target="#b21">[22]</ref>), where the initial clusters are selected randomly and then iteratively improved. In the i-th iteration each fragment is compared with centroids of all clusters and assigned to the closest one. The algorithm terminates if none of the clusters changes, otherwise new centroids are computed and (i + 1)-th iteration follows. The complexity of the construction is O(I • |Φ| • k), where I is the number of iterations. In case of complexity of similarity evaluation the worst case is when either k = 1 or all k clusters mutually intersect, i.e. when we cannot avoid any of the similarity comparisons. Hence in the worst case the number of comparisons is the same as in the exhaustive search strategy and the complexity can worsen only the pre-processing, i.e. the construction of clusters. And this is the step we want to remove too.For further optimization we can exploit characteristics of the chosen similarity measure. The existing algorithms for measuring similarity on schema level usually</figDesc><graphic coords="7,341.56,282.50,157.50,94.05" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Figure 6 :</head><label>6</label><figDesc>Figure 6: Exploitation of behavior of similarity function 2. Although the recursive elements can have arbitrarily complex structure, the most common type of recursion is linear and the average depth of recursion is low.</figDesc><graphic coords="9,135.00,54.25,327.60,99.14" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>Algorithm 1 Single Annotation Strategy (SAS) Input: S , F , sim(f x , f y ), T sim Output: F , i.e. F ∪ newly annotated fragments {construction of the similarity matrix} 1: F ← F 2: for all f ∈ F do</figDesc><table><row><cell>3:</cell><cell>for all element e ∈ S do</cell></row><row><cell>4:</cell><cell>f e ← subgraph rooted at e</cell></row><row><cell>5:</cell><cell>if e ∈ S \{f } then</cell></row><row><cell>6: 7:</cell><cell>sim[f , f e ] ← sim(f , f e ) else</cell></row><row><cell>8:</cell><cell>sim[f , f e ] ← 0</cell></row><row><cell>9:</cell><cell>end if</cell></row><row><cell>10:</cell><cell>end for</cell></row><row><cell cols="2">11: end for</cell></row><row><cell></cell><cell>{annotation strategy}</cell></row><row><cell cols="2">12: for all element e ∈ S do</cell></row><row><cell>13:</cell><cell>max e ← max f ∈F {sim[f , f e ]}</cell></row><row><cell>14:</cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>Global Annotation Strategy (GAS) Input: S , F , m 1 , m 2 , ..., m q , m q+1 , ..., m p , r 1 , r 2 , ..., r q , T ex , m comp , T sim , T con Output: F , i.e. F ∪ newly annotated fragments T ex , m comp , T sim ) 2: F tmp ← F 3: while F tmp = ∅ do</figDesc><table><row><cell>25:</cell><cell>else</cell></row><row><cell>26:</cell><cell></cell></row><row><cell>27:</cell><cell>listToProcess ← listToProcess ∪ {e.parent}</cell></row><row><cell>28:</cell><cell>end if</cell></row><row><cell>29:</cell><cell>end if</cell></row><row><cell>30:</cell><cell>listToProcess ← listToProcess \ {e}</cell></row><row><cell>31:</cell><cell>listOfProcessed ← listOfProcessed ∪ {e}</cell></row><row><cell>32:</cell><cell>end for</cell></row><row><cell>33:</cell><cell>end while</cell></row><row><cell cols="2">34: end for</cell></row><row><cell cols="2">35: return F</cell></row><row><cell cols="2">Algorithm 4 4: contract(S , F tmp )</cell></row></table><note>if ∀ s ∈ e.siblings : s ∈ listOfProcessed then 1: F ← BAS(S , F , m 1 , m 2 , ..., m p , r 1 , r 2 , ..., r q , 5:</note></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">In the rest of the paper the term "database" represents an (object-) relational database.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">An element with multiple parent elements in the schema -see<ref type="bibr" target="#b20">[21]</ref>.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">We omit supplemental constructs such as entities, CDATA sections, comments, etc.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_3">A path from the root node to a leaf node.</note>
		</body>
		<back>

			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>* This work was supported in part by the National Programme of Research (Information Society Project number 1ET100300419).</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">0 The Extensible HyperText Markup Language (Second Edition). W3C Recommendation</title>
		<ptr target="http://www.w3.org/TR/xhtml1/" />
	</analytic>
	<monogr>
		<title level="m">XHTML 1</title>
				<imprint>
			<date type="published" when="2002-08">August 2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Storage Techniques and Mapping Schemas for XML</title>
		<author>
			<persName><forename type="first">S</forename><surname>Amer-Yahia</surname></persName>
		</author>
		<idno>TD-5P4L7B</idno>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
		<respStmt>
			<orgName>AT&amp;T Labs-Research</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">A Comprehensive Solution to the XML-to-Relational Mapping Problem</title>
		<author>
			<persName><forename type="first">S</forename><surname>Amer-Yahia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Du</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Freire</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">WIDM&apos;04: Proceedings of the 6th Annual ACM International Workshop on Web Information and Data Management</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="31" to="38" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">Overview of Existing XML Storage Techniques</title>
		<author>
			<persName><forename type="first">S</forename><surname>Amer-Yahia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Fernandez</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
		<respStmt>
			<orgName>AT&amp;T Labs-Research</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Storing and Querying XML Data Using Denormalized Relational Databases</title>
		<author>
			<persName><forename type="first">A</forename><surname>Balmin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Papakonstantinou</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">The VLDB Journal</title>
		<imprint>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="30" to="49" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">A Matching Algorithm for Measuring the Structural Similarity between an XML Document and a DTD and its Applications</title>
		<author>
			<persName><forename type="first">E</forename><surname>Bertino</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Guerrini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mesiti</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Inf. Syst</title>
		<imprint>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="23" to="46" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">V</forename><surname>Biron</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Malhotra</surname></persName>
		</author>
		<ptr target=".www.w3.org/TR/xmlschema-2/" />
		<title level="m">XML Schema Part 2: Datatypes (Second Edition)</title>
				<imprint>
			<date type="published" when="2004-10">October 2004</date>
		</imprint>
	</monogr>
	<note>W3C Recommendation</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">From XML Schema to Relations: A Cost-based Approach to XML Storage</title>
		<author>
			<persName><forename type="first">P</forename><surname>Bohannon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Freire</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Roy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Simeon</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICDE &apos;02: Proceedings of the 18th International Conference on Data Engineering</title>
				<meeting><address><addrLine>Washington, DC, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="64" to="75" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<author>
			<persName><forename type="first">T</forename><surname>Bray</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Paoli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">M</forename><surname>Sperberg-Mcqueen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Maler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Yergeau</surname></persName>
		</author>
		<ptr target="http://www.w3.org/TR/REC-xml/" />
		<title level="m">Extensible Markup Language (XML) 1.0</title>
				<imprint>
			<date type="published" when="2006-09">September 2006</date>
		</imprint>
	</monogr>
	<note>W3C Recommendation</note>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">COMA -A System for Flexible Combination of Schema Matching Approaches</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">H</forename><surname>Do</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Rahm</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB&apos;02: Proceedings of the 28th International Conference on Very Large Data Bases</title>
				<meeting><address><addrLine>Hong Kong, China</addrLine></address></meeting>
		<imprint>
			<publisher>Morgan Kaufmann Publishers Inc</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="610" to="621" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Storing and Querying XML Data using an RDMBS</title>
		<author>
			<persName><forename type="first">D</forename><surname>Florescu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Kossmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Data Eng. Bull</title>
		<imprint>
			<biblScope unit="volume">22</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="27" to="34" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">XML and Object-Relational Database Systems -Enhancing Structural Mappings Based on Statistics</title>
		<author>
			<persName><forename type="first">M</forename><surname>Klettke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Meyer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Selected papers from the Third International Workshop WebDB 2000 on The World Wide Web and Databases</title>
				<meeting><address><addrLine>London, UK</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="151" to="170" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Generic Schema Matching with Cupid</title>
		<author>
			<persName><forename type="first">J</forename><surname>Madhavan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">A</forename><surname>Bernstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Rahm</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB &apos;01: Proceedings of the 27th International Conference on Very Large Data Bases</title>
				<meeting><address><addrLine>San Francisco, CA, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Morgan Kaufmann Publishers Inc</publisher>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="49" to="58" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">From XML Schema to Object-Relational Database -an XML Schema-Driven Mapping Algorithm</title>
		<author>
			<persName><forename type="first">I</forename><surname>Mlynkova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pokorny</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of IADIS International Conference WWW/Internet</title>
				<meeting>IADIS International Conference WWW/Internet<address><addrLine>Madrid, Spain</addrLine></address></meeting>
		<imprint>
			<publisher>IADIS</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="115" to="122" />
		</imprint>
	</monogr>
	<note>ICWI&apos;04</note>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Adaptability of Methods for Processing XML Data using Relational Databases -the State of the Art and Open Problems</title>
		<author>
			<persName><forename type="first">I</forename><surname>Mlynkova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pokorny</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">RCIS&apos;07: Proceedings of the 1st International Conference on Research Challenges in Information Science (to appear)</title>
				<meeting><address><addrLine>Ouarzazate, Morocco</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2007-04">April 2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<title level="m" type="main">Exploitation of Similarity and Pattern Matching in XML Technologies</title>
		<author>
			<persName><forename type="first">I</forename><surname>Mlynkova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pokorny</surname></persName>
		</author>
		<idno>2006/13</idno>
		<ptr target="http://kocour.ms.mff.cuni.cz/~mlynkova/doc/tr2006-13.pdf" />
		<imprint>
			<date type="published" when="2006">2006</date>
			<pubPlace>Prague, Czech Republic; November</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Charles University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Statistical Analysis of Real XML Data Collections</title>
		<author>
			<persName><forename type="first">I</forename><surname>Mlynkova</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Toman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Pokorny</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 13th International Conference on Management of Data</title>
				<meeting>the 13th International Conference on Management of Data<address><addrLine>New Delhi, India</addrLine></address></meeting>
		<imprint>
			<publisher>Tata McGraw-Hill Publishing Company Limited</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="20" to="31" />
		</imprint>
	</monogr>
	<note>COMAD&apos;06</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Structural Similarity between XML Documents and DTDs</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">K L</forename><surname>Ng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">T Y</forename><surname>Ng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICCS&apos;03: Proceedings of the International Conference on Computational Science</title>
				<meeting><address><addrLine>Berlin / Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="412" to="421" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Evaluating Structural Similarity in XML Documents</title>
		<author>
			<persName><forename type="first">A</forename><surname>Nierman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">V</forename><surname>Jagadish</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">WebDB&apos;02: Proceedings of the Fifth International Workshop on the Web and Databases</title>
				<meeting><address><addrLine>Madison, Wisconsin, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="61" to="66" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">A Survey of Approaches to Automatic Schema Matching</title>
		<author>
			<persName><forename type="first">E</forename><surname>Rahm</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">A</forename><surname>Bernstein</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">The VLDB Journal</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="334" to="350" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">Relational Databases for Querying XML Documents: Limitations and Opportunities</title>
		<author>
			<persName><forename type="first">J</forename><surname>Shanmugasundaram</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Tufte</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>He</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">J</forename><surname>Dewitt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">F</forename><surname>Naughton</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB&apos;99: Proceedings of 25th International Conference on Very Large Data Bases</title>
				<meeting><address><addrLine>San Francisco, CA, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Morgan Kaufmann Publishers Inc</publisher>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="302" to="314" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Using Element Clustering to Increase the Efficiency of XML Schema Matching</title>
		<author>
			<persName><forename type="first">M</forename><surname>Smiljanic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Van Keulen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Jonker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICDEW&apos;06: Proceedings of the 22nd International Conference on Data Engineering Workshops</title>
				<meeting><address><addrLine>Los Alamitos, CA, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society Press</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="45" to="54" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">XML Schema Part 1: Structures (Second Edition)</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">S</forename><surname>Thompson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Beech</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Maloney</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Mendelsohn</surname></persName>
		</author>
		<ptr target=".www.w3.org/TR/xmlschema-1/" />
	</analytic>
	<monogr>
		<title level="m">W3C Recommendation</title>
				<imprint>
			<date type="published" when="2004-10">October 2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">An Adaptable and Adjustable Mapping from XML Data to Tables in RDB</title>
		<author>
			<persName><forename type="first">W</forename><surname>Xiao-Ling</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Jin-Feng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Yi-Sheng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the VLDB&apos;02 Workshop EEXTT and CAiSE 2002</title>
				<meeting>the VLDB&apos;02 Workshop EEXTT and CAiSE 2002</meeting>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<monogr>
		<title level="m">Workshop DTWeb</title>
				<meeting><address><addrLine>London, UK</addrLine></address></meeting>
		<imprint>
			<publisher>Springer-Verlag</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="117" to="130" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Similarity Metric for XML Documents</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Cao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">FGWM03: Proceedings of Workshop on Knowledge and Experience Management</title>
				<meeting><address><addrLine>Karlsruhe, Germany</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Cost-Driven Storage Schema Selection for XML</title>
		<author>
			<persName><forename type="first">S</forename><surname>Zheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Wen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Lu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">DASFAA&apos;03: Proceedings of the 8th International Conference on Database Systems for Advanced Applications</title>
				<meeting><address><addrLine>Kyoto, Japan</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="337" to="344" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
