<?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">Information Sharing for the Semantic Web -a Schema Transformation Approach</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Lucas</forename><surname>Zamboulis</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Computer Science and Information Systems</orgName>
								<orgName type="institution" key="instit1">Birkbeck College</orgName>
								<orgName type="institution" key="instit2">University of London</orgName>
								<address>
									<postCode>WC1E 7HX</postCode>
									<settlement>London</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Alexandra</forename><surname>Poulovassilis</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">School of Computer Science and Information Systems</orgName>
								<orgName type="institution" key="instit1">Birkbeck College</orgName>
								<orgName type="institution" key="instit2">University of London</orgName>
								<address>
									<postCode>WC1E 7HX</postCode>
									<settlement>London</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Information Sharing for the Semantic Web -a Schema Transformation Approach</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">D04604E9812D6ED4903355E927471D70</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T09:53+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>This paper proposes a framework for transforming and integrating heterogeneous XML data sources, making use of known correspondences from them to ontologies expressed in the form of RDFS schemas. The paper first illustrates how correspondences to a single ontology can be exploited. The approach is then extended to the case where correspondences may refer to multiple ontologies, themselves interconnected via schema transformation rules. The contribution of this research is an XML-specific approach to the automatic transformation and integration of XML data, making use of RDFS ontologies as a 'semantic bridge'.</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>This paper proposes a framework for the automatic transformation and integration of heterogeneous XML data sources by exploiting known correspondences between them to ontologies expressed as RDFS schemas. Our algorithms generate schema transformation rules implemented in the AutoMed heterogeneous data integration system (http://www.doc.ic.ac.uk/automed/). These rules can be used to transform an XML data source into a target format, or to integrate a set of heterogeneous XML data sources into a common format. The transformation/integration may be virtual or materialised.</p><p>There are several advantages of our approach, compared with say constructing pairwise mappings between the XML data sources, or between each data source and some known global XML format: known semantic correspondences between data sources and domain and other ontologies can be utilised for transforming or integrating the data sources; the correspondences from the data sources to the ontology do not need to perform a complete mapping of the data sources; and changes in a data source, or addition or removal of a data source, do not affect the other sets of correspondences.</p><p>Paper outline: Section 2 compares our approach with related work. Section 3 gives an overview of AutoMed to the level of detail necessary for the purposes of this paper. Section 4 presents the process of transforming and integrating XML data sources which are linked to the same ontology, while Section 5 extends this to the more general case of data sources being linked to different ontologies. Section 6 gives our concluding remarks and plans for future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Related Work</head><p>The work in <ref type="bibr" target="#b13">[4,</ref><ref type="bibr" target="#b14">5]</ref> also undertakes data integration through the use of ontologies. However, this is by transforming the source data into a common RDF format, in contrast to our integration approach in which the common format is an XML schema. In <ref type="bibr" target="#b19">[10]</ref>, mappings from DTDs to RDF ontologies are used in order to reformulate path queries expressed over a global ontology to equivalent XML data sources. In <ref type="bibr" target="#b10">[1]</ref>, an ontology is used as a global virtual schema for heterogeneous XML data sources using LAV mapping rules. SWIM <ref type="bibr" target="#b12">[3]</ref> uses mappings from various data models (including XML and relational) to RDF, in order to integrate data sources modelled in different modelling languages. In <ref type="bibr" target="#b20">[11]</ref>, XML Schema constructs are mapped to OWL constructs and evaluation of queries on the virtual OWL global schema are supported.</p><p>In contrast to all of these approaches, we use RDFS schemas merely as a 'semantic bridge' for transforming/integrating XML data, and the target/global schema is in all cases an XML schema.</p><p>Other approaches to transforming or integrating XML data which do not make use of RDF/S or OWL include <ref type="bibr" target="#b25">[16,</ref><ref type="bibr" target="#b27">[18]</ref><ref type="bibr" target="#b28">[19]</ref><ref type="bibr" target="#b29">[20]</ref><ref type="bibr" target="#b32">23]</ref>. Our own earlier work in <ref type="bibr" target="#b33">[24,</ref><ref type="bibr" target="#b34">25]</ref> also discussed the transformation and integration of XML data sources. However, this work was not able to make use of correspondences between the data sources and ontologies. The approach we present here is able to use information that identifies an element/attribute in one data source to be equivalent to, a superclass of, or a subclass of an element/attribute in another data source. This information is generated from the correspondences between the data sources and ontologies. This allows more semantic relationships to be inferred between the data sources, and hence more information to be retained from a data source when it is transformed into a target format.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Overview of AutoMed</head><p>AutoMed is a heterogeneous data transformation and integration system which offers the capability to handle virtual, materialised and hybrid data integration across multiple data models. It supports a low-level hypergraph-based data model (HDM) and provides facilities for specifying higher-level modelling languages in terms of this HDM. An HDM schema consists of a set of nodes, edges and constraints, and each modelling construct of a higher-level modelling language is specified as some combination of HDM nodes, edges and constraints. For any modelling language M specified in this way (via the API of AutoMed's Model Definitions Repository) AutoMed provides a set of primitive schema transformations that can be applied to schema constructs expressed in M. In particular, for every construct of M there is an add and a delete primitive transformation which add to/delete from a schema an instance of that construct. For those constructs of M which have textual names, there is also a rename primitive transformation.</p><p>Instances of modelling constructs within a particular schema are identified by means of their scheme enclosed within double chevrons . . . . AutoMed schemas can be incrementally transformed by applying to them a sequence of primitive transformations, each adding, deleting or renaming just one schema construct (thus, in general, AutoMed schemas may contain constructs of more than one modelling language). A sequence of primitive transformations from one schema S 1 to another schema S 2 is termed a pathway from S 1 to S 2 and denoted by S 1 → S 2 . All source, intermediate, and integrated schemas, and the pathways between them, are stored in AutoMed's Schemas &amp; Transformations Repository.</p><p>Each add and delete transformation is accompanied by a query specifying the extent of the added or deleted construct in terms of the rest of the constructs in the schema. This query is expressed in a functional query language, IQL, and we will see some examples of IQL queries in Section 4. Also available are extend and contract primitive transformations which behave in the same way as add and delete except that they state that the extent of the new/removed construct cannot be precisely derived from the rest of the constructs. Each extend and contract transformation takes a pair of queries that specify a lower and an upper bound on the extent of the construct. These bounds may be Void or Any, which respectively indicate no known information about the lower or upper bound of the extent of the new construct.</p><p>The queries supplied with primitive transformations can be used to translate queries or data along a transformation pathway S 1 → S 2 by means of query unfolding: for translating a query on S 1 to a query on S 2 the delete, contract and rename steps are used, while for translating data from S 1 to data on S 2 the add, extend and rename steps are used -we refer the reader to <ref type="bibr" target="#b23">[14]</ref> for details.</p><p>The queries supplied with primitive transformations also provide the necessary information for these transformations to be automatically reversible, in that each add/extend transformation is reversed by a delete/contract transformation with the same arguments, while each rename is reversed by a rename with the two arguments swapped. As discussed in <ref type="bibr" target="#b24">[15]</ref>, this means that AutoMed is a both-as-view (BAV) data integration system: the add/extend steps in a transformation pathway correspond to Global-As-View (GAV) rules while the delete and contract steps correspond to Local-As-View (LAV) rules. If a GAV view is derived from solely add steps it will be exact in the terminology of <ref type="bibr" target="#b21">[12]</ref>. If, in addition, it is derived from one or more extend steps using their lower-bound (upper-bound) queries, then the GAV view will be sound (complete) in the terminology of <ref type="bibr" target="#b21">[12]</ref>. Similarly for LAV views. An in-depth comparison of BAV with the GAV, LAV and GLAV <ref type="bibr" target="#b15">[6,</ref><ref type="bibr" target="#b22">13]</ref> approaches to data integration can be found in <ref type="bibr" target="#b24">[15,</ref><ref type="bibr" target="#b18">9]</ref>, while <ref type="bibr" target="#b23">[14]</ref> discusses the use of BAV in a peer-to-peer data integration setting.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Representing XML schemas in AutoMed</head><p>The standard schema definition languages for XML are DTD <ref type="bibr" target="#b30">[21]</ref> and XML Schema <ref type="bibr" target="#b31">[22]</ref>. Both of these provide grammars to which conforming documents adhere, and do not abstract the tree structure of the actual documents. In our schema transformation and integration context, knowing the actual structure facilitates schema traversal, structural comparison between a source and a target schema, and restructuring of the source schema(s) that are to be transformed and/or integrated. Moreover, such a schema type means that the queries supplied with the AutoMed primitive transformations are essentially path queries, which are easily generated and easily translated into XPath/XQuery for interaction with the XML data sources. In addition, it may not be the case that the all data sources have an accompanying DTD or XML Schema they conform to.</p><p>We have therefore defined a simple modelling language called XML Data-Source Schema (XMLDSS) which summarises the structure of an XML document. XMLDSS schemas consist of four kinds of constructs:</p><p>Element: Elements, e, are identified by a scheme e and are represented by nodes in the HDM. Attribute: Attributes, a, belonging to elements, e, are identified by a scheme e, a . They are represented by a node in the HDM, representing the attribute; an edge between this node and the node representing the element e; and a cardinality constraint stating that an instance of e can have at most one instance of a associated with it, and that an instance of a can be associated with one or more instances of e. NestList: NestLists are parent-child relationships between two elements e p and e c and are identified by a scheme e p , e c , i , where i is the position of e c within the list of children of e p . In the HDM, they are represented by an edge between the nodes representing e p and e c ; and a cardinality constraint that states that each instance of e p is associated with zero or more instances of e c , and each instance of e c is associated with precisely one instance of e p .<ref type="foot" target="#foot_0">1</ref> PCData: In any XMLDSS schema there is one construct with scheme PCData , representing all the instances of PCData within an XML document.</p><p>In an XML document there may be elements with the same name occurring at different positions in the tree. In XMLDSS schemas we therefore use an identifier of the form elementN ame$count for each element in the schema, where count is a counter incremented every time the same elementN ame is encountered in a depth-first traversal of the schema. If the suffix $count is omitted from an element name, then the suffix $1 is assumed. For the XML documents themselves, our XML wrapper generates a unique identifier of the form elementN ame$count&amp;instanceCount for each element where instanceCount is a counter identifying each instance of elementN ame$count in the document.</p><p>The XMLDSS schema, S, of an XML document, D, is derived by our XML wrapper by means of a depth-first traversal of D and is equivalent to the tree resulting as an intermediate step in the creation of a minimal dataguide <ref type="bibr" target="#b16">[7]</ref>. However, unlike dataguides, we do not merge common sub-trees and the schema remains a tree rather than a DAG.</p><p>To illustrate XMLDSS schemas, consider the following XML document: The XMLDSS schema extracted from this document is S 1 in Figure <ref type="figure">1</ref>. Note that a new root element r is generated for each XMLDSS schema, populated by a unique instance r&amp;1 This is useful in adopting a more uniform approach to schema restructuring and schema integration by not having to consider whether schemas have the same or different roots.</p><p>As mentioned earlier, after a modelling language has been specified in terms of the HDM, AutoMed automatically makes available a set of primitive transformations for transforming schemas defined in that modelling language. Thus, for XMLDSS schemas there are transformations addElement ( e ,query), addAttribute ( e, a , query), addNestList (( e p , e c , i , query), and similar transformations for the extend, delete, contract and rename of Element, Attribute and NestList constructs.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Transforming and Integrating XML Data Sources</head><p>In this section we consider first a scenario in which two XMLDSS schemas S 1 and S 2 are each semantically linked to an RDFS schema by means of a set of correspondences. These correspondences may be defined by a domain expert or extracted by a process of schema matching from the XMLDSS schemas and/or underlying XML data, e.g. using the techniques described in <ref type="bibr" target="#b26">[17]</ref>. Each correspondence maps an XMLDSS Element or Attribute construct to an IQL query over the RDFS schema (so correspondences are LAV mappings).</p><p>In Section 4.1 we show how these correspondences can be used to generate a transformation pathway from S 1 to an intermediate schema IS 1 , and a pathway from S 2 to an intermediate schema IS 2 . The schemas IS 1 and IS 2 are 'conformed' in the sense that they use the same terms for the same RDFS concepts.</p><p>Due to the bidirectionality of BAV, from these two pathways S 1 → IS 1 and S 2 → IS 2 can be automatically derived the reverse pathways IS 1 → S 1 and</p><formula xml:id="formula_0">IS 2 → S 2 .</formula><p>In Section 4.2 we show how a transformation pathway from IS 1 → IS 2 can then be automatically generated. An overall transformation pathway from S 1 to S 2 can finally be obtained by composing the three pathways</p><formula xml:id="formula_1">S 1 → IS 1 , IS 1 → IS 2 and IS 2 → S 2 .</formula><p>This pathway can subsequently be used to automatically translate queries expressed on S 2 to operate on S 1 , using AutoMed's XML Wrapper over source S 1 to return the query results. Or the pathway can be used to automatically transform data that is structured according to S 1 to be structured according to S 2 , and an XML document structured according to S 2 can be output.</p><p>In Section 4.3 we discuss the automatic integration of a number of XML data sources described by XMLDSS schemas S 1 , . . . , S n , each semantically linked to a single RDFS schema by a set of correspondences. This process extends the approach of Sections 4. <ref type="bibr" target="#b10">1</ref>  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Schema Conformance</head><p>In our approach, a correspondence defines an Element or Attribute of an XMLDSS schema by means of an IQL path query over an RDFS schema<ref type="foot" target="#foot_1">2</ref> . In particular, an Element e may map either to a Class c, or to a path ending with a class-valued property of the form p, c 1 , c 2 , or to a path ending with a literal-valued property of the form p, c, Literal ; additionally, the correspondence may state that the instances of a class are constrained by membership in some subclass. An Attribute may map either to a literal-valued property or to a path ending with a literal-valued property. Our correspondences are similar to path-path correspondences in <ref type="bibr" target="#b10">[1]</ref>, in the sense that a path from the root of an XMLDSS schema to a node corresponds to a path in the RDFS schema. For example, Tables <ref type="table" target="#tab_2">1 and 2</ref> show the correspondences between the XMLDSS schemas S 1 and S 2 and the RDFS schema R 1 (Figure <ref type="figure">1</ref>). In Table <ref type="table" target="#tab_1">1</ref> the 1st correspondence maps element university to class University . The 2nd correspondence states that the extent of element school corresponds to the instances of class School derived from the join of properties belongs, College, University and belongs, School,College on their common class construct, College. 3 In the 4th correspondence, element academic corresponds to the instances of class Staff derived from the specified path expression and that are also members of AcademicStaff. In the 5th correspondence, the IQL function generateElemUID generates as many instances for element name as specified by its second argument i.e. the number of instances of the property name, Staff, Literal in the path expression specified as the argument to the count function. The remaining correspondences in Tables <ref type="table" target="#tab_2">1 and 2</ref> are similar. The conformance of a pair of XMLDSS schemas S 1 and S 2 to equivalent XMLDSS schemas IS 1 and IS 2 that represent the same concepts in the same way is achieved by renaming the constructs of S 1 and S 2 using the sets of correspondences from these schemas to a common ontology.</p><p>For every correspondence i in the set of correspondences between an XMLDSS schema S and an ontology R, a rename AutoMed transformation is generated, as follows:</p><p>1. If i concerns an Element e: 3 The IQL query defining this correspondence may be read as "return all values s such that the pair of values {c, u} is in the extent of construct belongs, College, University and the pair of values {s, c} is in the extent of construct belongs, School, College ". IQL is a comprehensions-based language and we refer the reader to <ref type="bibr" target="#b17">[8]</ref> for details of its syntax, semantics and implementation. Such languages subsume query languages such as SQL-92 and OQL in expressiveness <ref type="bibr" target="#b11">[2]</ref>. There are AutoMed wrappers for SQL and OQL data sources and these translate fragments of IQL into SQL or OQL.</p><p>Translating between fragments of IQL and XPath/XQuery is also straightforward -see Section 4.4 below. Note that not all the constructs of S 1 and S 2 need be mapped by correspondences to the ontology. Such constructs are not affected and are treated as-is by the subsequent schema restructuring phase.</p><p>Figure <ref type="figure">1</ref> shows the schemas IS 1 and IS 2 produced by the application of the renamings to S 1 and S 2 arising from the sets of correspondences in Tables <ref type="table" target="#tab_2">1 and  2</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Schema restructuring</head><p>In order to next transform schema IS 1 to have the same structure as schema IS 2 , we have developed a schema restructuring algorithm that, given a source XMLDSS schema S and a target XMLDSS schema T , automatically transforms S to the structure of T , given that S and T have been previously conformed. This algorithm is able to use information that identifies an element/attribute in S to be equivalent to, a superclass of, or a subclass of an element/attribute in T . This information may be produced by, for example, a schema matching tool or, in our context here, via correspondences to an RDFS ontology. We note that this algorithm is an extension of our earlier schema restructuring algorithm described in <ref type="bibr" target="#b34">[25]</ref>, which could only handle equivalence information between elements/attributes and could not exploit superclass and subclass information. The extended algorithm allows more semantic relationships to be inferred between S and T , and hence more information to be retained from S when it is transformed into T . The restructuring algorithm consists of a "growing phase" where T is traversed in a depth-first fashion and S is augmented with any constructs from T that it is missing, followed by a "shrinking phase" where the augmented S is traversed in a depth-first fashion and any contruct present in S but not in T is removed.</p><p>The AutoMed transformations generated by the schema restructuring algorithm for transforming schema IS 1 to schema IS 2 are illustrated in Table <ref type="table">3</ref>. In the growing phase, the first three transformations concern the element Staff of IS 2 . This element is inserted in IS 1 using Element AcademicStaff , which corresponds to a class that is a subclass of the class Staff corresponds to in The result of applying the transformations of Table <ref type="table">3</ref> to schema IS 1 is IS 2 illustrated in Figure <ref type="figure">1</ref>. There now exists a transformation pathway S 1 → IS 1 → IS 2 → S 2 , which can be used to query S 2 by obtaining data from the data source corresponding to schema S 1 . For example, if this is the XML document of Section 3. We could also use the pathway S 1 → IS 1 → IS 2 → S 2 to materialise S 2 using the data from the data source corresponding to S 1 -see <ref type="bibr" target="#b34">[25]</ref> for details of this process.</p><p>The separation of the growing phase from the shrinking phase ensures the completeness of the restructuring algorithm: the growing phase considers in turn each node in the target schema T and generates if necessary a query defining this node in terms of the source schema S; conversely, the shrinking phase considers in turn each node of S and generates if necessary a query defining this node in terms of T; inserting new target schema constructs before removing any redundant source schema constructs ensures that the constructs needed to define the extent of any construct are always present in the current schema.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Schema integration</head><p>Consider now the integration of a set of XMLDSS schemas S 1 , . . . , S n all conforming to some ontology R into a global XMLDSS schema. The renaming algorithm of Section 4.1 can first be used to produce intermediate XMLDSS schemas IS 1 , . . . , IS n . The initial global schema, GS 1 , is IS 1 . IS 2 is then integrated with GS 1 producing GS 2 . The integration of IS i with GS i−1 to produce GS i proceeds until i = n. This integration consists of first an expansion of GS i−1 with the constructs from IS i that it is missing (again via a growing and a shrinking phase) and then a restructuring, using the algorithm of Section 4.2, of IS i with the resulting schema GS i .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.4">Interacting with XML data sources</head><p>In our framework, XML data sources are accessed using an XMLDSS wrapper. This has SAX and DOM versions for XML files, supporting a subset of XPath. There is also a wrapper over the eXist XML repository which translates IQL queries representing (possibly nested) select-project-join-union queries into (possibly nested) XQuery FLWR expressions.</p><p>The XML wrapper can be used in three different settings: (i) When a source XMLDSS schema S 1 has been transformed into a target XMLDSS schema S 2 , the resulting pathway S 1 → S 2 can be used to translate an IQL query expressed on S 2 to an IQL query on S 1 , and the XML wrapper of the XML data source corresponding to S 1 can be used to retrieve the necessary data for answering the query. (ii) In the integration of multiple data sources with schemas S 1 , . . . , S n under a virtual global schema GS, AutoMed's Global Query Processor can process an IQL query expressed on GS in cooperation with the XML wrappers for the data sources corresponding to the S i . (iii) In a materialised data transformation or data integration setting, where the XML wrapper(s) of the data source(s) retrieve the data and the XML wrapper of the target schema materialises the data into the target schema format.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Handling Multiple Ontologies</head><p>We now discuss how our approach can also handle XMLDSS schemas that are linked to different ontologies. These may be connected either directly via an AutoMed transformation pathway, or via another ontology (e.g. an 'upper' ontology) to which both ontologies are connected by an AutoMed pathway.</p><p>Consider in particular two XMLDSS schemas S 1 and S 2 that are semantically linked by two sets of correspondences C 1 and C 2 to two ontologies R 1 and R 2 . Suppose that there is an articulation between R 1 and R 2 , in the form of an AutoMed pathway between them. This may be a direct pathway R 1 → R 2 . Alternatively, there may be two pathways R 1 → R Generic and R 2 → R Generic linking R 1 and R 2 to a more general ontology R Generic , from which we can derive a pathway R 1 → R Generic → R 2 (due to the reversibility of pathways). In both cases, the pathway R 1 → R 2 can be used to transform the correspondences C 1 expressed w.r.t. R 1 to a set of correspondences C 1 expressed on R 2 . This is using the query translation algorithm mentioned in Section 3 which performs query unfolding using the delete, contract and rename steps in</p><formula xml:id="formula_2">R 1 → R 2 .</formula><p>The result is two XMLDSS schemas S 1 and S 2 that are semantically linked by two sets of correspondences C 1 and C 2 to the same ontology R 2 . Our approach described for a single ontology in Section 4 can now be applied. There is a proviso here that the new correspondences C 1 must conform syntactically to the correspondences accepted as input by the schema conformance process of Section 4.1 i.e. their syntax is as described in the first paragraph of Section 4.1. Determining necessary conditions for this to hold, and extending our approach to handle a more expressive set of correspondences, are areas of future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Concluding Remarks</head><p>This paper has discussed the automatic transformation and integration of XML data sources, making use of known correspondences between them and one or more ontologies expressed as RDFS schemas. The novelty of our approach lies in the use of XML-specific graph restructuring techniques in combination with correspondences from XML schemas to the same or different ontologies. The approach promotes the reuse of correspondences to ontologies and mappings between ontologies. It is applicable on any XML data source, be it an XML document or an XML database. The data source does not need to have an accom-panying DTD or XML Schema, although if this is available it is straightforward to translate such a schema in our XMLDSS schema type.</p><p>The schema conformance algorithm handles 1-1 mappings between XMLDSS and RDFS constructs, enriched with containment relationships through the use of subclass/superclass and subproperty/superproperty RDFS constraints. This semantic reconciliation of the data source schemas is followed by their structural reconciliation by the schema restructuring algorithm, which handles 1-1 mappings between XMLDSS schemas, utilising the constraints defined in the correspondences. Extending our approach to be capable of utilising 1:n, n:1 and more complex mappings, is a matter of ongoing work. To this end, and at the same time aiming to maintain the current separation of semantic and structural schema reconciliation, we are currently extending the schema conformance algorithm.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>( a )</head><label>a</label><figDesc>If e maps directly to a Class c, rename e to c. If the instances of c are constrained by membership in a subclass c sub of c, rename e to c sub . (b) Else, if e maps to a path in R ending with a class-valued Property, rename e to s, where s is the concatenation of the labels of the Class and Property constructs of the path, separated by '.'. If the instances of a Class c in this path are constrained by membership in a subclass, then the label of the subclass is used instead within s. (c) Else, if e maps to a path in R ending with a literal-valued Property p, c, Literal , rename e as in step 1b, but without appending the label Literal to s. 2. If i concerns an Attribute a, then a must map to a path in R ending with a literal-valued Property p, c, Literal , and it is renamed as Element e in step 1c.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 1 .</head><label>1</label><figDesc>and 4.2 to integrate a set of schemas into a single global XMLDSS schema.Fig. 1. XMLDSS schemas S 1 and S 2 , RDFS schema R 1 and conformed XMLDSS schemas IS 1 and IS 2 . Correspondences between XMLDSS schema S 1 and R 1</figDesc><table><row><cell>S 1</cell><cell>r</cell><cell></cell><cell>S 2</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell>1</cell><cell></cell><cell></cell><cell></cell><cell>r</cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell cols="2">university</cell><cell></cell><cell></cell><cell>1</cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell>1</cell><cell></cell><cell>name</cell><cell>staffMember</cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell cols="2">school</cell><cell cols="2">name</cell><cell>1</cell><cell></cell><cell>R 1</cell><cell></cell><cell cols="2">University</cell><cell>Academic</cell></row><row><cell></cell><cell>1</cell><cell></cell><cell></cell><cell>office</cell><cell></cell><cell cols="2">belongs</cell><cell>name</cell><cell>Staff</cell></row><row><cell cols="2">academic 2 1</cell><cell></cell><cell>name</cell><cell>1 college</cell><cell>2</cell><cell>College</cell><cell>name</cell><cell cols="2">Literal</cell><cell>name office</cell><cell>subClass Staff</cell></row><row><cell>name</cell><cell>office</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>teachesIn</cell><cell>subClass</cell></row><row><cell>1</cell><cell>1</cell><cell></cell><cell></cell><cell>PCData</cell><cell></cell><cell cols="2">belongs</cell><cell>name</cell><cell>belongs</cell><cell>Admin</cell></row><row><cell cols="2">PCData</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell cols="2">School</cell><cell>Staff</cell></row><row><cell>IS 1</cell><cell></cell><cell>r</cell><cell></cell><cell></cell><cell></cell><cell>IS 2</cell><cell></cell><cell></cell></row><row><cell></cell><cell></cell><cell>1</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell cols="3">University 1</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>r</cell></row><row><cell cols="4">School.belongs. AcademicStaff University.belongs.College.belongs. University.belongs.College. belongs. School 1</cell><cell>School. name University.belongs. College.belongs.</cell><cell></cell><cell cols="3">belongs. Staff. name College.belongs.School. University.belongs.</cell><cell>1 School.belongs. Staff University.belongs. College.belongs. 1</cell></row><row><cell cols="3">University.belongs. College.belongs. School.belongs. AcademicStaff. 1</cell><cell>2 University.belongs. College.belongs. School.belongs. AcademicStaff.</cell><cell></cell><cell></cell><cell cols="2">University.belongs. College. name</cell><cell cols="2">University.belongs.College.belongs. School.belongs. Staff. office 1 University.belongs. College</cell><cell>2</cell></row><row><cell></cell><cell>name</cell><cell></cell><cell>office</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell><cell>PCData</cell></row><row><cell></cell><cell>1</cell><cell></cell><cell>1</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell cols="3">PCData</cell><cell></cell><cell></cell><cell></cell><cell></cell><cell></cell></row></table><note>(count[l|{c, u} ← belongs, College, University ; {s 1 , c} ← belongs, School, College ; {s 2 , s 1 } ← belongs, Staff, School ; member s 2 AcademicStaff ; {s 2 , l} ← name, Staff, Literal ])] office [o | o ← generateElemU ID of f ice (count [l|{c, u} ← belongs, College, University ; {s 1 , c} ← belongs, School, College ; {s 2 , s 1 } ← belongs, Staff, School ; member s 2 AcademicStaff ; {s 2 , l} ← office, Staff, Literal ])]</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 2 .</head><label>2</label><figDesc>Correspondences between XMLDSS schema S 2 and R 1 S 2 R 1 staffMember,name [{s 2 , l}|{c, u} ← belongs, College, University ; {s 1 , c} ← belongs, School, College ; {s 2 , s 1 } ← belongs, Staff, School ; {s 2 , l} ← name, Staff, Literal ] staffMember [s 2 | {c, u} ← belongs, College, University ; {s 1 , c} ← belongs, School, College ; {s 2 , s 1 } ← belongs, Staff, School ] office [o |o ← generateElemU ID of f ice (count [{s 2 , l}|{c, u} ← belongs, College, University ; {s 1 , c} ← belongs, School, College ; {s 2 , s 1 } ← belongs, Staff, School ; {s</figDesc><table /><note>2 , l} ← office, Staff, Literal ])] college, name [{c, l}|{c, u} ← name, College, University ; {c, l} ← name, College, Literal ] college [c | {c, u} ← belongs, College, University ]</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head></head><label></label><figDesc>1, the IQL query [{n, p}|{s, n} ← staffMember, name ; {s, o} ← staffMember, office ; {o, p} ← office, PCData ]</figDesc><table><row><cell>returns the following result:</cell></row><row><cell>[{'Dr. G. Grigoriadis','123'}, {'P rof. A. Karakassis','111'}, {'Dr. A. P apas','321'}]</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">Here, the fact that IQL is inherently list-based means that the ordering of children instances of e c under parent instances of e p is preserved within the extent of the NestList ep, ec, i .</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">An RDFS schema can be represented in the HDM using five kinds of constructs: Class, Property, subClassOf, subPropertyOf, Literal. See<ref type="bibr" target="#b35">[26]</ref> for details.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_2">Generally, function generateNestLists either accepts Element schemes a and b , with equal size of extents, and generates the extent of NestList construct a, b ; or, it accepts Element schemes a and b , where the extent of a is a single instance, and generates the extent of NestList construct a, b .</note>
		</body>
		<back>

			<div type="availability">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Data Integration and the Semantic Web Data Integration and the Semantic Web Data Integration and the Semantic Web</p></div>
			</div>

			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>the RDFS ontology; the ren IQL function is used here to rename the instances of Element AcademicStaff appropriately. After that, a NestList is inserted, linking Staff to its parent, which is the root r, using the path from r to AcademicStaff. Staff in T is not linked to the PCData construct, and therefore its attribute is handled next. The addAttribute transformation performs an element-to-attribute transformation by inserting Attribute Staff, name using the extents of AcademicStaff, name and name, PCData . The following three transformations insert Element Staff.office along with its incoming and outgoing NestList constructs in a similar manner. Then the last two transformations insert Element College along with its Attribute and its incoming NestList. Since there is no information relevant to the extents of these constructs in S, extend transformations are used, with Void as the lower-bound query. Note however that the upper-bound query generates a synthetic extent for both the College Element and its incoming NestList (for the latter, the IQL function generateNestLists is used 4 ); this is to make sure that if any following transformations attach other constructs to College , their extent is not lost (assuming that these constructs are not themselves inserted with extend transformations and the constants Void and Any as the lower-bound and upperbound queries). At the end of the growing phase, the transformations applied to schema IS 1 result in the intermediate schema shown in Figure <ref type="figure">2</ref>.</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m">name of an element/attribute needed to uniquely identify it within the schema is used. Growing phase: addElement( Staff</title>
				<imprint/>
	</monogr>
	<note>Transformation pathways IS1 → IS2.. ren a Staf f | a ← AcademicStaff</note>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m">u} ← r, University, 1 ; {u, s} ← University, School, 1 ; {s, a} ← School, AcademicStaff</title>
				<imprint/>
	</monogr>
	<note>addNestList( r, Staff, 2. 1</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m">n} ← AcademicStaff, name, 1 ; {n, p} ← name, PCData</title>
				<imprint/>
	</monogr>
	<note>addAttribute. p} ← [{a. 1</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title/>
	</analytic>
	<monogr>
		<title level="j">Staff.office</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
		</imprint>
	</monogr>
	<note type="report_type">Staff</note>
	<note>o1} ← AcademicStaff. AcademicStaff.office</note>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
	</analytic>
	<monogr>
		<title level="m">← AcademicStaff.office, PCData</title>
				<imprint>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
	<note>ren o1 Staf f.of f ice. extendElement( College ,Void. c|c ← generateElemU ID College AcademicStaff.office</note>
</biblStruct>

<biblStruct xml:id="b5">
	<monogr>
		<title level="m">.name ,Void,Any) Shrinking phase: deleteNestList( r</title>
				<imprint/>
		<respStmt>
			<orgName>extendAttribute( College, College ; , University</orgName>
		</respStmt>
	</monogr>
	<note>{r$1&amp;1, U niversity$1&amp;1}</note>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m">,Void,Any) contractElement( University ,Void,Any) contractNestList( School, AcademicStaff ,Void,Any) contractAttribute( School, name ,Void,Any) contractElement( School ,Void,Any) contractNestList( AcademicStaff, AcademicStaff.name</title>
				<imprint/>
		<respStmt>
			<orgName>University, School</orgName>
		</respStmt>
	</monogr>
	<note>ren o 1 AcademicStaf f ), o 2 }|{o 1 , o 2 , o 3 } ← skolemiseEdge Staff, Staff.name AcademicStaff.name</note>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m">AcademicStaff.name, PCData ,Void</title>
				<imprint>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
	<note>3 } ← skolemiseEdge Staff. Staff.name AcademicStaff.name</note>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m">AcademicStaff.name</title>
				<imprint>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
	<note>3 } ← skolemiseEdge Staff. Staff.name AcademicStaff.name</note>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m">contractNestList( AcademicStaff, AcademicStaff.office ,Void, Staff, Staff.office ) contractNestList( AcademicStaff.office, PCData ,Void, Staff.office, PCData ) contractNestList( AcademicStaff.office ,Void, Staff.office ) contractNestList( AcademicStaff ,Void, Staff The shrinking phase operates similarly. The transformations removing AcademicStaff,AcademicStaff.name , AcademicStaff, PCData and AcademicStaff</title>
				<imprint/>
	</monogr>
	<note>and {e p , e c } of e p , e c generates a tuple {e p ,. e, e c }. DISWEB&apos;06</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Ontology-based integration of XML web resources</title>
		<author>
			<persName><forename type="first">B</forename><surname>Amann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Beeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Fundulaki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Scholl</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. International Semantic Web Conference 2002</title>
				<meeting>International Semantic Web Conference 2002</meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="117" to="131" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Comprehension syntax</title>
		<author>
			<persName><forename type="first">P</forename><surname>Buneman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Libkin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Suciu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Tannen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Wong</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIGMOD Record</title>
		<imprint>
			<biblScope unit="volume">23</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="87" to="96" />
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">The ICS-FORTH SWIM: A powerful Semantic Web integration middleware</title>
		<author>
			<persName><forename type="first">V</forename><surname>Christophides</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. SWDB&apos;03</title>
				<meeting>SWDB&apos;03</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Using a layered approach for interoperability on the Semantic Web</title>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">F</forename><surname>Cruz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Xiao</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. WISE&apos;03</title>
				<meeting>WISE&apos;03</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="221" to="231" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">An ontology-based framework for XML semantic integration</title>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">F</forename><surname>Cruz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Xiao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Hsu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. IDEAS&apos;04</title>
				<meeting>IDEAS&apos;04</meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="217" to="226" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Navigational plans for data integration</title>
		<author>
			<persName><forename type="first">M</forename><surname>Friedman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Levy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Millstein</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of the 16th National Conference on Artificial Intelligence</title>
				<meeting>of the 16th National Conference on Artificial Intelligence</meeting>
		<imprint>
			<publisher>AAAI</publisher>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="67" to="73" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">DataGuides: enabling query formulation and optimization in semistructured databases</title>
		<author>
			<persName><forename type="first">R</forename><surname>Goldman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Widom</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. VLDB&apos;97</title>
				<meeting>VLDB&apos;97</meeting>
		<imprint>
			<date type="published" when="1997">1997</date>
			<biblScope unit="page" from="436" to="445" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Processing IQL queries and migrating data in the AutoMed toolkit</title>
		<author>
			<persName><forename type="first">E</forename><surname>Jasper</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Poulovassilis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Zamboulis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AutoMed Tech. Rep</title>
		<imprint>
			<biblScope unit="volume">20</biblScope>
			<date type="published" when="2003-06">June 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">View generation and optimisation in the AutoMed data integration framework</title>
		<author>
			<persName><forename type="first">E</forename><surname>Jasper</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Tong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Brien</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Poulovassilis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 6th International Baltic Conference on Databases &amp; Information Systems</title>
				<meeting>6th International Baltic Conference on Databases &amp; Information Systems<address><addrLine>Riga, Latvia</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004-06">June 2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">XML interoperability</title>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">V S</forename><surname>Lakshmanan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Sadri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of WebDB&apos;03</title>
				<meeting>of WebDB&apos;03</meeting>
		<imprint>
			<date type="published" when="2003-06">June 2003</date>
			<biblScope unit="page" from="19" to="24" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">XML data integration with OWL: Experiences and challenges</title>
		<author>
			<persName><forename type="first">P</forename><surname>Lehti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Fankhauser</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Symposium on Applications and the Internet (SAINT 2004)</title>
				<meeting>Symposium on Applications and the Internet (SAINT 2004)<address><addrLine>Tokyo</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Data integration: A theoretical perspective</title>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. PODS&apos;02</title>
				<meeting>PODS&apos;02</meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="233" to="246" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Composing mappings among data sources</title>
		<author>
			<persName><forename type="first">J</forename><surname>Madhavan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Halevy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. VLDB&apos;03</title>
				<meeting>VLDB&apos;03</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="572" to="583" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Defining peer-to-peer data integration using both as view rules</title>
		<author>
			<persName><forename type="first">P</forename><surname>Mcbrien</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Poulovassilis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. Workshop on Databases, Information Systems and Peer-to-Peer Computing (at VLDB&apos;03)</title>
				<meeting>Workshop on Databases, Information Systems and Peer-to-Peer Computing (at VLDB&apos;03)<address><addrLine>Berlin</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">Data integration by bi-directional schema transformation rules</title>
		<author>
			<persName><forename type="first">P</forename><surname>Mcbrien</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Poulovassilis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ICDE&apos;03. ICDE</title>
				<meeting>ICDE&apos;03. ICDE</meeting>
		<imprint>
			<date type="published" when="2003-03">March 2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Translating web data</title>
		<author>
			<persName><forename type="first">L</forename><surname>Popa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Velegrakis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Miller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Hernandez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Fagin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. VLDB&apos;02</title>
				<meeting>VLDB&apos;02</meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="598" to="609" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<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><surname>Bernstein</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">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="b27">
	<analytic>
		<title level="a" type="main">Semantic integration of XML heterogeneous data sources</title>
		<author>
			<persName><forename type="first">C</forename><surname>Reynaud</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sirot</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Vodislav</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. IDEAS</title>
				<meeting>IDEAS</meeting>
		<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="199" to="208" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">A semantic approach to XML-based data integration</title>
		<author>
			<persName><forename type="first">P</forename><surname>Rodriguez-Gianolli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Mylopoulos</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ER&apos;01</title>
				<meeting>ER&apos;01</meeting>
		<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="117" to="132" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Automating the transformation of XML documents</title>
		<author>
			<persName><forename type="first">H</forename><surname>Su</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Kuno</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">A</forename><surname>Rudensteiner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. WIDM&apos;01</title>
				<meeting>WIDM&apos;01</meeting>
		<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="page" from="68" to="75" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">Guide to the W3C XML specification (</title>
		<author>
			<persName><surname>W3c</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">XMLspec&quot;) DTD</title>
				<imprint>
			<date type="published" when="1998-06">June 1998</date>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<monogr>
		<author>
			<persName><surname>W3c</surname></persName>
		</author>
		<ptr target="http://www.w3.org/XML/Schema" />
		<title level="m">XML Schema Specification</title>
				<imprint>
			<date type="published" when="2001-05">May 2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">Resolving structural conflicts in the integration of XML schemas: A semantic approach</title>
		<author>
			<persName><forename type="first">X</forename><surname>Yang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">W</forename><surname>Ling</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ER&apos;03</title>
				<meeting>ER&apos;03</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="520" to="533" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<analytic>
		<title level="a" type="main">XML data integration by graph restructuring</title>
		<author>
			<persName><forename type="first">L</forename><surname>Zamboulis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. BNCOD&apos;04</title>
				<meeting>BNCOD&apos;04</meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">3112</biblScope>
			<biblScope unit="page" from="57" to="71" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Using AutoMed for XML data transformation and integration</title>
		<author>
			<persName><forename type="first">L</forename><surname>Zamboulis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Poulovassilis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. DIWeb&apos;04 (at CAiSE&apos;04)</title>
				<meeting>DIWeb&apos;04 (at CAiSE&apos;04)<address><addrLine>Riga, Latvia</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004-06">June 2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">Information sharing for the Semantic Weba schema transformation approach</title>
		<author>
			<persName><forename type="first">L</forename><surname>Zamboulis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Poulovassilis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AutoMed Tech. Rep</title>
		<imprint>
			<biblScope unit="volume">31</biblScope>
			<date type="published" when="2006-02">February 2006</date>
		</imprint>
	</monogr>
</biblStruct>

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