• No se han encontrado resultados

The goal of schema mapping is to reduce manual eort as much as possible by a semi- automatic matching process. For an example, a user wants to buy a computer under 500 dollars. He starts to search Web-based databases of dierent shops that sell electronic products. A Web service application provides services for searching computers in the databases of dierent retailers based on users' input parameters. The problem is that all of the databases have been created independently, and the same product may have dierent names. For example, "select computers from database where brand is 'Toshiba' and UnitPrice is $500". The query will not work for all databases. For making the query workable, schema mapping is required. After determining mappings between pairs of elements of two schemas, it is necessary to generate query expressions to translate data instances of the mapped schema elements under an integrated schema (Shvaiko and Euzenat, 2005). If users provide the query to the integrated database, it will then work to retrieve the appropriate answer.

Schema/ontology mapping is necessary in many applications such as data integra- tion, data exchange, schema evolution and e-business (Glavic et al., 2010; Shvaiko and Euzenat, 2005). The applications are described below:

2.2.1 Data Integration

Data integration involves combining data residing at heterogeneous sources and pro- viding users with a unied view of these data (Lenzerini, 2002). In data integration, schema mapping is used to translate queries from a source schema into a global schema from heterogeneous data sources. A typical example of data integration system accord- ing to Lenzerini (2002) is given in Figure 2.7.

Figure 2.7: A data integration system

Data integration is performed incrementally by starting with a global schema and adding new schemas when needed. As schemas are developed by dierent people in various domains such as purchase order, education, music and agriculture, the schemas are dierent structurally and terminologically. For data integration of these schemas, two steps are required. In the rst step, schema matching is performed to create map- pings/correspondences between semantically similar pairs of elements of the schemas. In the second step, mapped elements are used to generate queries for transforming their instances from the source schema into the global schema. Some systems use schema mappings for data integration. Among them, the system developed by McBrien and Poulovassilis (2003) uses both−as−view (BAV) for data integration in the relational

views over a local source schema (also known as global-as-view (GAV)) and the def- inition of a local schema is achievable as views over a global schema (also known as local-as-view (LAV)). The BAV approach supports the evolution of global and local schemas. This system (McBrien and Poulovassilis, 2003) is called bi-directional be- cause it uses the BAV approach and bi-directional transformation rules to integrate a source schema into a target schema.

Another system (Dos Santos Mello and Heuser, 2005) uses a semi-automatic inte- gration process for XML schema called BInXS, to provide a unied view of a lot of heterogeneous XML schemas on the Web. BInXS adopts the global-as-view integra- tion approach that maps all elements and attributes denitions of XML schemas using the XPath language that maintains mappings among global concepts and data. Dur- ing mapping, information of original schemas is to be preserved to retrieve the source XML schema when needed. Information preservation is needed for data integration (Lenzerini, 2002) and peer-to-peer database systems (Arenas and Libkin, 2005). For performing information preservation, two criteria: invertibility and query preservation (Bohannon et al., 2005) are used. Invertibility means one can retrieve a source schema from a target schema. Query preservation means the queries used for querying a source schema for a particular XML query language must be used for a target schema. The system (Bohannon et al., 2005) operates schema embedding for XML DTD schemas from which an instance-level XML mapping is automatically derived. Three types of problems: information preservation, type checking, and accommodation of multiple source schemas are therefore to be solved by using only simple navigational queries.

2.2.2 Data Exchange

During data exchange, schema mappings generate transformations that produce target instances into source instances. Mecca et al. (2009) explained that given a mapping sce- nario, it is possible to compute the core solutions for the data exchange problem. They also explained that mappings are executable transformations that specify how source instances can be translated into target instances by using SQL or XQuery scripts. Arenas and Libkin (2005) described some problems of XML data exchange such as source-to-target constraints, data exchange settings, consistency and query answering where XML schema mapping is required. Here they use navigational queries as well

as simple tree patterns binding several attribute values. Later, Amano et al. (2009) developed a language that considers three types of problems: static analysis of map- pings, their complexity, and their composition of XML schema mappings. The static analysis problem is described based on consistency such as whether it is possible to map some elements of a source schema onto an element of a target schema or whether all elements of a source schema can be mapped. The FlexMap framework (Ramanath et al., 2003) for XML-to-relational mapping incorporates sets of schema transforma- tions. In this framework, the impact of schema transformations and query workload on search algorithms and optimizations to speed up the algorithms is also dened. The mapping between XML schemas and relational databases and vice versa must be described in such a way that the structure and content can be preserved and retrieved when needed. The system developed by Barbosa et al. (2004) denes lossless mapping schemes. It preserves the structures and contents of the schemas. It also validates mapping schemas so that valid schemas can be mapped onto legal databases.

2.2.3 Schema Evolution

Schema evolution is dened as the ability to change deployed schemas such as rela- tional databases schemas and XML schemas into the new format. Schema evolution is necessary for managing new requirements for propagating schema changes to instances, correcting deciencies in the existing schemas, and migrating to a new platform (Har- tung et al., 2011). In schema evolution, schema mapping involves the discovery of a query or a set of queries that transform a source schema to a new structure. In heterogeneous data sources, schemas evolve over time, and new data added to the ex- iting schema needs a new schema structure. When schemas change, mappings between these schemas may become invalid. It is necessary to facilitate adaptation and reuse the existing schema mappings. Yu and Popa (2005) developed a mapping adapta- tion system that combines mapping composition and mapping pruning techniques for adapting schema mappings to reect schema evolution. Beyer et al. (2005) described a taxonomy of changes for XML schema evolution. They discuss the impact of schema evolution on schema validation and query evaluation. They also introduce a means of controlling schema changes, and write queries across schema versions for managing XML schema evolution.

2.2.4 E-Business

With the availability of the internet, trading partners can handle business transactions such as exchanging product information, placing purchase orders, and conrming and paying orders by exchanging electronic documents or messages. The contents of the messages are expressed in knowledge representation languages that are referred to some ontologies (Shvaiko and Euzenat, 2005). Ontologies that are designed independently may vary because of dierent names, data types, ranges of values, grouping of elds and languages. It is therefore necessary to match the ontologies for translating messages so that trading partners can understand the messages. The matching of ontologies establishes the semantic mappings between concepts called ontology alignment. As a consequence, trading partners exchanging their messages in dierent ontologies would be able to negotiate the matching of concepts in their respective ontologies and to translate the contents of the messages they exchange with the help of the mappings.