<?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">Learning data-consistent mappings from a relational database to an ontology</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Benjamin</forename><surname>Habegger</surname></persName>
							<email>habegger@dis.uniroma1.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Informatica e Sistemistica</orgName>
								<orgName type="institution">Università di Roma</orgName>
								<address>
									<addrLine>1, La Sapienza&quot;, Via Salaria 113</addrLine>
									<postCode>00198</postCode>
									<settlement>Rome</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Learning data-consistent mappings from a relational database to an ontology</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">954C05A16A42A07D649BD1A58C4FB765</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T06:55+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>Determining how to map information between different representational models is an essential task of semantic integration. Up to now, most research in this field has concentrated on the problem of finding pairs of elements which could have similar semantics (ie. finding matches). From the work we have seen, it is not clear that any guarantees can be given that the obtained matches respect the intended semantics of the target model. We also argue that matches are not sufficient to clearly define mappings which respect the intended interpretation of the target model. In this paper, we define mapping consistency with respect to an intended interpretation and derive a notion of data-consistency, a necessary condition for consistency. From this, we propose a relational learning algorithm to construct data-consistent mappings.</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>Building mappings between schema and/or ontologies is one of the central issues of semantic integration <ref type="bibr" target="#b0">[1]</ref>. Hand crafting mappings is a complex, tedious and error-prone task. Much research on how to (partially) automate semantic integration has been lead in both the database <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b2">3]</ref> and ontology <ref type="bibr" target="#b3">[4]</ref> communities. Most of this work has concentrated on finding correspondences, also called matches, between schema/ontology elements using some form of heuristics.</p><p>There are two major drawbacks to existing approaches. Firstly, the approaches we have knowledge of do not rely on any formal notion of intended interpretation. Most implicitly rely on the quite arguable intuition that two separately conceived models of similar "worlds" (eg. a computer science department) will contain similar concepts/roles with similar characteristics. They therefore can give no guarantee on the correctness (with respect to the intended interpretation) of the obtained matchings. Secondly, having matches is far from being sufficient in order to correctly be able to map data between representations. Correct reasoning (and in particular querying) over integrated ontologies and/or databases requires having mappings which respect the intended interpretation of the integration system. In formal frameworks which have been proposed for both database and ontology integration <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b0">1]</ref>, mappings usually take the form of complex queries. The few systems which do allow to build mappings <ref type="bibr" target="#b5">[6]</ref>, require extra knowledge (eg. foreign keys) and only produce mapping suggestions with no guarantee of their correctness.</p><p>In this paper, we propose a framework defining mapping consistency with respect to an intended interpretation (ie. the one given by an expert) and derive a notion of data-consistency allowing to check if a mapping is compatible with a previously given set of positive and negative examples. Given that the examples are in accordance with the intended interpretation, data-consistency is a necessary condition for consistency. From this we adapt existing inductive logic programming techniques to build data-consistent mappings. We consider here the problem of mapping a relational database into an ontology in a global as view setting. There are mainly two aspects which make mapping databases (rather than ontologies) a particular problem. First, databases usually have very few (if any) intentional knowledge which can be exploited to build mappings. Second, the objects which are described by a relational database do not have an explicit representation as they do in ontologies. The mappings we consider consist of a set of horn clauses where the head of each clause is a concept or role of the target ontology and the body is a conjunctive query over the relations of the source schema. In the work presented here, we will consider the case where each concept or role of the target schema can be described by a unique rule.</p><p>The contributions of this paper are the following : <ref type="bibr" target="#b0">(1)</ref> We introduce the notion of mapping consistency with respect to a given intended interpretation. <ref type="bibr" target="#b1">(2)</ref> We show how a reduced form of consistency, data-consistency, can be tested in the presence of examples. <ref type="bibr" target="#b2">(3)</ref> We propose a relational learning algorithm allowing to build data-consistent mappings.</p><p>This paper is organized as follows. Section 2 presents related work in semantic integration an positions our work. Section 3 presents how we handle instancelevel mappings. Section 4 introduces our working example. Mapping consistency and data-consistency are presented in section 5. Section 6 proposes a framework which allows to learn data-consistent mappings. Finally, in section 7 we conclude and discuss future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Background and related work</head><p>Building mappings from one model to another requires to overcome multiple difficulties both at the conceptual and instance levels. At the conceptual level choices such as which information should be made explicit, how detailed the information should be or how it should be organized may differ. For example, one model might explicitly define a CSP rof essor concept while in another model this information might be left implicit (as a professor who teaches a computer science course). At the instance level, different levels of detail may exist between attribute values. For example, one source may split into pieces an "address" field which another source may represent as a whole. Another important aspect at the instance level is that sharing instances between sources requires having a common naming. The major difficulty to overcome is that any instance (eg. a particular person) should be represented by a unique object identifier in a target ontology while it is represented as a particular instance of a table in a database.</p><p>Integrating data from one source to another has two major requirements : (1) knowing how instances are represented (identified) in each of the models and how to map from one representation to the other and (2) knowing how to translate relationships which hold between instances. In both cases, mappings may be used to represent the relationships. The problems of instance mapping and schema mapping respectively seek in resolving these two requirements.</p><p>Defining mappings between sources is a tedious and error-prone task. Researchers have therefore looked to (partially) automate semantic integration. Up to now most research, whether in the database <ref type="bibr" target="#b1">[2]</ref> or the ontology <ref type="bibr" target="#b3">[4]</ref> communities, has concentrated on methods which semi-automatically search for correspondences between schema elements (eg. attributes in the relational case). A correspondence between a set of elements A of one schema to a set of elements B of another schema is called a match (noted A ∼ = B). When a set of elements is greater than one, one must also define how to combine the values. A particular match might put into correspondence an attribute name of a relation P erson S of a source schema with the pair of attributes f irstN ame and lastN ame of a M ember T relation of a target schema using the concatenation function to join the first and last names.</p><p>Different approaches to finding matches have been proposed. Many systems (eg. <ref type="bibr" target="#b6">[7]</ref><ref type="bibr" target="#b7">[8]</ref><ref type="bibr" target="#b8">[9]</ref><ref type="bibr" target="#b9">[10]</ref>) search for pairs of "similar" elements according to different heuristics. Typical heuristics are of the form, "concepts with similar names are likely to be similar". The heuristics are usually formalized as similarity measures which may take into account different types of information including for example the names and textual descriptions (eg. comments in the schema) of the elements, constraints on the values the elements can take (eg. primary key, type, uniqueness). <ref type="bibr" target="#b10">[11]</ref> give a list of the most commonly used informations. Most approaches also consider the similarity of related elements. <ref type="bibr" target="#b6">[7]</ref> base their similarity measures on the basis of a distance to elements known a priori to be the same.</p><p>Other approaches such as the LSD <ref type="bibr" target="#b11">[12]</ref> and GLUE <ref type="bibr" target="#b12">[13]</ref> systems make use of machine learning over instance data to build matches. LSD learns classifiers based on previously hand-coded matches to predict how to match unseen schemas and combines multiple classifiers some of which rely on having instance data. GLUE learns to predict similarity between two elements of two sources by estimating the joint probability that an instance belongs to both elements. Until recently most systems were only able to suggest one-to-one matches between elements. More recent systems such as iMAP allow to suggest complex matches (eg. price = rate * (1 + taxes)) <ref type="bibr" target="#b13">[14]</ref>. The suggestions are obtained by multiple predefined searchers such as text searchers looking for concatenations.</p><p>While matches can be helpful to integrate data, we argue that they are not sufficient to define mappings, since a set of matches can be interpreted in several ways and some information may be missing. For example, knowing that P rof essor T matches M ember S does not allow to determine a mapping such as P rof essor T (x) ← M ember S (x), P rof ession(x, "prof essor")</p><p>In the literature there have only been few attempts to (partially) automate mapping construction. An example, is the Clio system <ref type="bibr" target="#b5">[6]</ref>, which suggests mappings given a set of matches. In particular it searches for joins between relations by following foreign keys. Depending on existing matches and the possible presence of constraints can be restrictive. This work does provide a notion of correctness with respect to the constraints of the source and target schemas but not to the intended interpretation. The approach proposed in this paper suggests learning by examples the constraints which must be satisfied by the data to correctly reflect the intended meaning the mappings should expose.</p><p>In this paper, we consider using machine learning to build the mappings of an integration system between a source database and a target ontology in a global as view perspective. Following <ref type="bibr" target="#b4">[5]</ref>, we are building an integration system I = G, S, M where G (resp. S) is the global ontology (resp. source schema) expressed in a language L G (resp. L S ) over an alphabet Σ G (resp. Σ G ) and M is the mapping between G and S. In our framework M is a set of horn clauses</p><formula xml:id="formula_0">p G ( − → x ) ← conj S ( − → x , − → x ) where p G ∈ Σ G and conj S ( − → x , − → x ) is a conjunctive query over Σ S .</formula><p>When learning will we consider a particular interpretation domain ∆ and a given database instance DB of S over ∆ as well as a set of positive and negative instantiation assertions (resp. KB + and KB − ) over Σ S and ∆. As usual, the semantics of an ontology (similarly for a database) O defined over an alphabet Σ O is given by an interpretation I = (∆, • I ) where ∆ is the domain of interpretation and • I is an interpretation function which associates each concept</p><formula xml:id="formula_1">C (resp. each role R) in Σ O a subset of elements (resp. couples) of ∆.</formula><p>The objects of the interpretation domain ∆ will have been obtained after an initial identification of unique object identifiers as described in section 3. Our framework currently only considers that the source is a flat database and therefore contains only positive assertions and no intentional knowledge. Also, we currently require learning independent mappings for each concept and role of the target ontology.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Mapping instances to objects</head><p>T elephone F name Lname T elephone people("Mary","Green") "Mary" "Green" 0768 people("Mary","Green") "Mary" "Green" 0679 people("John","White") "John" "White" 0687 It is common to hypothesize that both the target and source databases are defined over a common fixed interpretation domain ∆. In the following we will be proceeding similarly. However, this requires having a common object space, ie knowing how to map the representation of objects in the concrete source database (eg. the instance of the table members whose attribute id have the value 165) into a unique representation at the conceptual level of the target ontology (eg. the person 'john'). In this section we describe how such identifiers can be obtained.</p><p>For any given database, we can consider that each line of a table contained in the database corresponds to an object. In the most favorable case, primary and foreign keys have be defined in order to determine relationships between tables. This information can be used to define object instances and relationships between them. In some cases no primary keys have been given and connections between tables have not been made explicit or the keys do not give the correct view of the data and therefore we will not rely on having such data.</p><p>We will rather simply, consider that the user provides for each relation R a set of attributes ident(R) allowing to construct an identifier for each instance which corresponds to the target view he wishes to have of the data. This identifier will be considered to refer to a unique object. Consider a relation R of a given database DB and a set of identification attributes</p><formula xml:id="formula_2">K = ident(R) for R. Any instance of R is a tuple ( − → x ) which can be uniquely identified in R by − → y = π R K ( − → x ), where π R K ( − → x )</formula><p>represents the selection of values in − → x corresponding to the attributes K in R. If we have a set of identification attributes for each relation and associate to each relation a unique functor f R , any object described by the database can be assigned a unique identifier by applying this functor to the values of the identification attributes. We can complete the domain of interpretation of the original database ∆ v (v for values) with a domain of interpretation for objects</p><formula xml:id="formula_3">∆ o = R∈Σ S f R (π R K ( − → x ))/( − → x ) ∈ R, K = ident(R)</formula><p>Figure <ref type="figure" target="#fig_0">1</ref> gives an example relation where the attributes F N ame and LN ame have been specified as the identification attributes. The relation also includes a specific object identifier where the values correspond to the unique object identifiers for the table. As the figure shows, an identifier is not necessarily a primary key for the table. For example, in the figure both "Mary Green" instances are considered to refer to the same person and which in this case would have two telephone numbers.</p><p>In the remainder of this work we will consider that identifiers have been previously determined and added explicitly to the relations of the database and the domain of interpretation shared between the target ontology and source database will be the set ∆ = ∆ o ∪ ∆ v . For readability, we will use short names for each object. For example, we will use john as an object identifier instead of a functor notation such as people("John", "W hite").</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Introductory example</head><p>Let us consider the following example situation. We have a university with different departments, one of which is the computer science department. The uni-versity wishes to make use of the data which is already made available in existing department databases. However, it wants to have access to this data given its own predefined ontology. This requires building mappings between the department schema's and its own ontology. Our working example will consider building the mappings from the CS department schema to the university ontology.  The CS department schema contains four relations : P eople d which describes the members of the department, T eams d which describes the teams of the department and who they are directed by, T eaches d which relates members to the courses they teach and Courses d which contains the set of courses members of the department participate in. In this department, all professors both direct a team and teach a (computer science) course. This information is implicit and has not directly been modeled. Figure <ref type="figure" target="#fig_1">2</ref>(a) gives an example partial database using the schema of the CS department. The relations have a d index to denote that they belong to the department's schema.</p><p>We will consider two scenarios. In the first, the university ontology contains (among others) a P rof essor u concept and, in the second, it contains a more specific CSP rof essor u concept. In the first (resp. second) scenario, the intended interpretation of P rof essor u (resp. CSP rof essor u ) is any member of the computer science department which teaches any course (resp. a computer science course) and directs a team. Figure <ref type="figure" target="#fig_1">2</ref>(b) gives the set of instances which appear in the partial database of figure <ref type="figure" target="#fig_1">2</ref>(a) and should (resp. should not) belong to each of the two target concepts and the correct target mappings for each of them. In the approach we will describe afterwards, these mappings can be learned by generalizing the descriptions of a set of example instances (not necessarily all) we know to belong (or not) to the target concept or role.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Intended interpretation</head><p>In the context of this paper we only consider the alphabet Σ of symbols associated to the elements of an ontology or schema. In the following, the word schema may therefore often refer to its associated alphabet.</p><p>During the conception of a schema or ontology, the conceiver has in mind a specific semantics for the schema elements : their "intended" semantics. In some way, this means that if the conceiver was presented any "world" to be modeled by his schema he would be capable of giving the "intended" semantics of his schema for this world (ie. construct the (extensional) database for which this "world" is a model). Therefore the conceiver or any person or entity having a complete understanding of the schema can be modeled as an "expert oracle".</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Definition 1 (Expert oracle). An expert oracle for a given alphabet Σ can be modeled as a function O Σ which returns for any domain of interpretation ∆ an interpretation function • I</head><p>In the previous definition, the oracle is defined as a function and thus each alphabet yields a unique interpretation for each world. This simply suggests that there is no ambiguity in the idea the conceiver has of the predicates appearing in Σ. Once we have an oracle O Σ for our schema, the intended interpretation of a given world is the one returned by the oracle.</p><p>Definition 2 (Intended interpretation). Given a schema Σ an expert oracle O Σ , and a world ∆, the intended interpretation of Σ over ∆ according to</p><formula xml:id="formula_4">O Σ is I = (∆, • I = O Σ (∆)).</formula><p>As previously stated, we will consider working over a common domain of interpretation ∆. Given a schema Σ what remains to be determined by the intended interpretations is the set of tuples belonging to each relation in Σ. In the following we will denote this set by ∆ I given the intended interpretation I.</p><p>From a general point of view, a mapping from a source schema Σ S to a target schema Σ T can be seen as a function m which transforms any database over Σ S into a database over Σ T . To simplify discourse, we will consider a database to be a set of ground atoms, which is the case when we have no intentional knowledge.</p><p>A mapping m is consistent when the intended interpretation of Σ T (over ∆) contains the database obtained by applying m to the intended interpretation of Σ S (over ∆). m is complete when its application to the intended interpretation of Σ S contains the intended interpretation of Σ T . Whenever it is both consistent and complete, we say that m is a perfect mapping. Definition 3 (Mapping consistency and completeness). Let m be a mapping from a source schema Σ S to a target schema Σ T , I S and I T respectively be the intended interpretations for Σ S and Σ T over ∆.</p><formula xml:id="formula_5">-m is consistent iff m(∆ I T ) ⊆ ∆ I S -m is complete iff ∆ I S ⊆ m(∆ I T ) -m is perfect if it is both complete and consistent (ie. ∆ I S = m(∆ I T ))</formula><p>When working with real databases, we only have access to a subset of ∆. Furthermore in many cases, the effective database we work with is incomplete in the sense that some relations holding among objects of ∆ we know of, might not appear in the database. In some cases it might be inconsistent with the intended interpretation in that some relations which appear in the effective database do not hold in the intended interpretation. In the following work on learning mappings, we will consider that we may have incomplete data but that it is consistent with intended interpretation. If Σ denotes a schema, DB denotes the effective database over Σ and ∆ e ⊆ ∆ denotes the subset of objects we have a description for in DB and I denotes the intended interpretation of Σ over ∆ we have DB ⊆ ∆ I e ⊆ ∆ I . When considering mapping a source schema S into a target ontology T we will consider situations where we have an effective database DB S over an effective subset of objects ∆ S ⊆ ∆. Also we will consider two effective sets of instantiation assertions KB + T and KB − T over an effective subset of objects ∆ T ⊆ ∆ (usually ∆ T ⊆ ∆ S will also hold). KB + T (resp. KB − T ) is a subset of assertions we know that hold (resp. do not hold) among objects of ∆ T in ∆ I .</p><p>In this context and given a mapping m we can define a notion of consistency with respect to the effective data we have which we will call data-consistency. Of course, data-consistency is a necessary condition for consistency. We now propose an approach to learning mappings which is data-consistent.</p><p>As an inductive hypothesis, we will consider that having seen sufficient data will allow us to consider the mapping to hold for remaining data. Therefore, to learn a mapping between a source schema Σ S and a target schema Σ T , we will consider having a database DB S over Σ S and two sets of respectively positive and negative instantiation assertions KB + T and KB − T .</p><p>In our framework, we consider mappings which are defined as a set of horn clauses where the predicate of the head is in the target schema and the predicates of the atoms of the body are in the source schema. A mapping only exists between the source and target languages if the target concept can be described precisely using the source predicates. When building mappings, we will consider this to be true. When learning a target concept C (resp. role R) we will consider the restriction of KB + T (and KB − T ) to the subset of atoms which belong to C (resp. R). DB S will however not be restricted in any manner.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.1">Instance descriptions</head><p>When building a mapping for a target concept C (and similarly for a role R), we are trying to build a mapping rule which with the given database DB S entails at least the positive examples and no negative examples (ie. ensures dataconsistency). If we consider a particular concept P rof essor u , we are looking for a description of the instances of the concept P rof essor u using the language constructs of the schema Σ S . In some sense, we hypothesize that the whole database describes that each particular instance belongs to the target concept. For each instance of the target concept, we could build a clause C(o 1 ) ← DB(o 1 ) where DB(o 1 ) denotes that we have a special focus on the instance o 1 . The most specific clause which is consistent with a set of positive instance C + = {o 1 , . . . , o n }, would therefore be the least general generalization of the clauses C(o i ) ← DB(o i ). However, such an approach will likely require many positive examples in order to generalize over common content of DB and still contain sub-clauses which are specific to the database itself and not to the examples.  Given a particular instance of interest, there are some facts (atoms of the database) which have a greater importance depending on there "proximity" to the target instance. Given an instance x, we will denote by desc 1 DB (x) the set of atoms which appear in DB where x appears as one of the arguments. For example, the first equation of figure <ref type="figure" target="#fig_1">2</ref>(a) gives the description of john if the database DB is the one of figure <ref type="figure" target="#fig_1">2(a)</ref>.</p><p>In order to take into account more distant relationships which could be required to define the target concepts, the description of an instance/value can be extended with the descriptions of the instances/values of the atoms to which it is connected. For example, john is connected to the values 2 and "John" through the P eople d relation. The description of john can be extended as show in figure 3. It should be noted that in the presence of foreign keys, we may restrict description extensions to only follow foreign keys.</p><p>Definition 5 (Description of an instance). Given a database DB and an instance x, the descriptions of level i are defined recursively as follows :</p><formula xml:id="formula_6">desc 1 DB (x) = {A(. . . , x, . . .) ∈ DB} desc i DB (x) = y∈instances(desc i−1 DB (x)) desc i−1 (y)</formula><p>The complete description of an instance x is the fix point obtained by gradually incrementing in level, desc * DB (x) = desc n DB (x) where n is the smallest integer such that desc n DB (x) = desc n+1 DB (x). It should be noted that, without any intentional knowledge, a database is always a finite set of atoms. In this case, the complete description of any instance always exists and is finite (at worst it is the whole database itself). Also, given a database DB where the underlying relational structure which has only one connected component then for any instance x we have desc * (x) = DB. Otherwise, desc * (x) is the set of atoms which form the connected component to which x belongs.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.2">Learning mappings from instance descriptions</head><p>In this section we present our mapping learning approach based on the generalization of instance descriptions. The general idea behind our approach is that the description of an instance can be seen as a query which will at least return the instance itself as a result. Generalizing the complete descriptions of the set of instances we know to belong to the target concept will generate a query which will return the initial instances and a subset of the target concept as long as the mapping can be described as a conjunctive query over the source database. However, generalizing the complete descriptions will likely be both infeasible and generate over specific mappings. The approach we propose is to initially learn mappings using only a local context (low description depth) which will be gradually augmented if required. The intuition is that, what is likely to characterize a concept are the features which are the most directly related to the instance.</p><p>The generalization operator we will be using is the least general generalization (lgg) defined by Plotkin <ref type="bibr" target="#b14">[15]</ref> which is based on the notion of θ-subsumption. Plotkin has shown that the least general generalizations of two clauses is unique and can be calculated in polynomial time. However, the obtained clause is not necessarily reduced. Reducing a clause requires testing θ-subsumption between clauses which is know to be NP-complete. Recent work have shown that efficient implementations <ref type="bibr" target="#b15">[16]</ref> remain tractable in many practical cases. Furthermore, in most mappings will likely not require high depths of descriptions and therefore the clauses to generalize will likely remain small. The mapping generation process can easily be made interactive. The user starts by given some positive examples from which the system builds a mapping and applies it to the source ontology. This results in a set of tuples which the mapping would transform into the target concept. From these results, the user can either remove instances which have wrongly been added (generating negative examples) and/or add new instances as positive examples.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7">Conclusion and future work</head><p>In this paper we have proposed an approach to learning mappings between a database containing the effective data and an ontology. An important distinction with related work is that our approach builds mappings which completely define how to transform the representation of instances from one model to another. Currently, most existing efforts to automate semantic integration have concentrated on building matches which only relate schema elements together. Furthermore, we have propose a notion of data-consistency which allows to have a minimum of guarantee that the semantics of the obtained mappings are correct.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. An example relation and the object identifiers of each tuple</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. An example mapping learning problem</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Definition 4 (</head><label>4</label><figDesc>Data-consistency). Given the effective databases DB S , KB + T and (eventually) KB − T , a mapping m is data-consistent with respect to DB S , KB + T and KB − T iff KB + T ⊆ m(DB S ) and KB − T ∩ m(DB S ) = ∅ 6 Learning mapping rules</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>desc 1 DB</head><label>1</label><figDesc>(john) =P eople d (john, 2, "John"). desc 1 DB (2) =P eople d (john, 2, "John"), T eaches(2, 1), T eaches(2, 3), T eams d (tcteam, 2, "T heoreticalCS", 4),T eams d (dbteam, 1, "Databases", 2). desc 2 DB (john) =desc 1 DB (john), desc 1 DB (2), desc 1 DB ("John").</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Description of level 1 and 2 of the instance john</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Definition 6 (</head><label>6</label><figDesc>θ-subsumption). A clause C θ-subsumes a clause C (noted C C ) iff there exists a substitution θ such that C ⊆ C θ. Plotkin's least general generalization, given two clauses C and C , produces the most specific (with respect to θ-subsumption) clause lgg(C, C ) which generalizes both C and C . Definition 7 (Least general generalization). The least general generalization lgg(C 1 , C 2 ) of two clauses C 1 and C 2 is a clause C such that : (1) C C 1 , (2) C C 2 and (3) no other clause C such that C C , verifies (1) and (2).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Algorithm 1</head><label>1</label><figDesc>Algorithm learn(DB, E + , E − ) Input A database base DB, positive examples E + and negative examples E − Output A mappings M which covers all E + and no E − d ← 0; M ← ∅ while M is not consistent with the examples do {Expand description depth and restart learning} d ← d + 1; M ← ∅ while M consistent with E − and there is aT ( − → v ) ∈ E + do C ← description d ( − → v ) M ← lgg(E ← C, M ) end while end while return MAlgorithm 1 gives describes how a mapping is learned given a set of positive and negative examples. The lgg operator is the one given in definition 7. The description function calculates the description of an instance as described previously.</figDesc></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The current work is mostly at its beginning. We have already started an implementation of the ideas developed in this paper and plan to finish them in a near future. We are also willing to test the approach on real-world mapping construction problems. If the tests are successful we plan to extend the framework to handling multiple sources. The current approach does not yet consider existing matches which could be made available by using existing semantic integration approaches. We have started studying how these could be used to generate initial mappings which could then be corrected with respect to data-consistency.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Data integration: A theoretical perspective</title>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
		<editor>Popa, L.</editor>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>ACM</publisher>
			<biblScope unit="page" from="233" to="246" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Semantic Integration Research in the Database Community : A Brief Survey</title>
		<author>
			<persName><forename type="first">A</forename><surname>Doan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Y</forename><surname>Halevy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AI Magazine</title>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<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">VLDB J</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="page" from="334" to="350" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Semantic integration: A survey of ontology-based approaches</title>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">F</forename><surname>Noy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIGMOD Record</title>
		<imprint>
			<biblScope unit="volume">33</biblScope>
			<biblScope unit="page" from="65" to="70" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Ontology of integration and integration of ontologies</title>
		<author>
			<persName><forename type="first">D</forename><surname>Calvanese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">D</forename><surname>Giacomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lenzerini</surname></persName>
		</author>
		<ptr target="CEUR-WS.org" />
	</analytic>
	<monogr>
		<title level="m">Description Logics</title>
		<title level="s">CEUR Workshop Proceedings</title>
		<editor>
			<persName><forename type="first">C</forename><forename type="middle">A</forename><surname>Goble</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><forename type="middle">L</forename><surname>Mcguinness</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><surname>Möller</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><forename type="middle">F</forename><surname>Patel-Schneider</surname></persName>
		</editor>
		<imprint>
			<date type="published" when="2001">2001</date>
			<biblScope unit="volume">49</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<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><forename type="middle">J</forename><surname>Miller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Hernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Fagin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">VLDB</title>
				<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="598" to="609" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">The PROMPT suite: interactive tools for ontology merging and mapping</title>
		<author>
			<persName><forename type="first">N</forename><forename type="middle">F</forename><surname>Noy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Musen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal Human-Computer Studies</title>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Similarity-based ontology alignment in owl-lite</title>
		<author>
			<persName><forename type="first">J</forename><surname>Euzenat</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Valtchev</surname></persName>
		</author>
		<editor>de Mántaras, R.L., Saitta, L.</editor>
		<imprint>
			<date type="published" when="2004">2004</date>
			<publisher>ECAI, IOS Press</publisher>
			<biblScope unit="page" from="333" to="337" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Dike: a system supporting the semiautomatic construction of cooperative information systems from heterogeneous databases</title>
		<author>
			<persName><forename type="first">L</forename><surname>Palopoli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Terracina</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Ursino</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Softw., Pract. Exper</title>
		<imprint>
			<biblScope unit="volume">33</biblScope>
			<biblScope unit="page" from="847" to="884" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Artemis: A process modeling and analysis tool environment</title>
		<author>
			<persName><forename type="first">S</forename><surname>Castano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><forename type="middle">D</forename><surname>Antonellis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Melchiori</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>Ling, T.W., Ram, S., Lee, M.L.</editor>
		<imprint>
			<biblScope unit="volume">1507</biblScope>
			<biblScope unit="page" from="168" to="182" />
			<date type="published" when="1998">1998</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Ontology mapping -an integrated approach</title>
		<author>
			<persName><forename type="first">M</forename><surname>Ehrig</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Sure</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ESWS</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">C</forename><surname>Bussler</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Davies</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">D</forename><surname>Fensel</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">R</forename><surname>Studer</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">3053</biblScope>
			<biblScope unit="page" from="76" to="91" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Reconciling schemas of disparate data sources: A machine-learning approach</title>
		<author>
			<persName><forename type="first">A</forename><surname>Doan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Domingos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Y</forename><surname>Halevy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SIGMOD Conference</title>
				<imprint>
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Learning to map between ontologies on the semantic web</title>
		<author>
			<persName><forename type="first">A</forename><surname>Doan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Madhavan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Domingos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Y</forename><surname>Halevy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">WWW</title>
		<imprint>
			<biblScope unit="page" from="662" to="673" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">imap: Discovering complex mappings between database schemas</title>
		<author>
			<persName><forename type="first">R</forename><surname>Dhamankar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Lee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Doan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Y</forename><surname>Halevy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Domingos</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SIGMOD Conference</title>
				<editor>
			<persName><forename type="first">G</forename><surname>Weikum</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">A</forename><forename type="middle">C</forename><surname>König</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Deßloch</surname></persName>
		</editor>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="383" to="394" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">A note on inductive generalization</title>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">D</forename><surname>Plotkin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Machine Intelligence</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<date type="published" when="1970">1970</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Fast theta-subsumption with constraint satisfaction algorithms</title>
		<author>
			<persName><forename type="first">J</forename><surname>Maloberti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sebag</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Machine Learning</title>
		<imprint>
			<biblScope unit="volume">55</biblScope>
			<biblScope unit="page" from="137" to="174" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

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