Schema matching

The terms schema matching and mapping are often used interchangeably. For this article, we differentiate the two as follows: Schema matching is the process of identifying that two objects are semantically related (scope of this article) while mapping refers to the transformations between the objects. For example, in the two schemas DB1.Student (Name, SSN, Level, Major, Marks) and DB2.Grad-Student (Name, ID, Major, Grades); possible matches would be: DB1.Student ≈ DB2.Grad-Student; DB1.SSN = DB2.ID etc. and possible transformations or mappings would be: DB1.Marks to DB2.Grades (100-90 A; 90-80 B: etc.).

Automating these two approaches has been one of the fundamental tasks of data integration. In general it is not possible to determine fully automatically the different correspondences between two schemas, primarily because of the differing and often not explicated or documented semantics of the two schemas.

Impediments to Schema Matching

Among others, common challenges to automating matching and mapping have been previously classified in[1] especially for relational DB schemas; and in[2] - a fairly comprehensive list of heterogeneity not limited to the relational model recognizing schematic vs semantic differences/heterogeneity. Most of these heterogeneities exist because schemas use different representations or definitions to represent the same information (schema conflicts); OR different expressions, units, and precision result in conflicting representations of the same data (data conflicts).[1] Research in schema matching seeks to provide automated support to the process of finding semantic matches between two schemas. This process is made harder due to heterogeneities at the following levels[3]

Schema Matching

[4][5][6][7][8]

Methodology

Discusses a generic methodology for the task of schema integration or the activities involved.[5] According to the authors, one can view the integration

Approaches

Approaches to schema integration can be broadly classified as ones that exploit either just schema information or schema and instance level information.[4][5]

Schema-level matchers only consider schema information, not instance data. The available information includes the usual properties of schema elements, such as name, description, data type, relationship types (part-of, is-a, etc.), constraints, and schema structure. Working at the element (atomic elements like attributes of objects) or structure level (matching combinations of elements that appear together in a structure), these properties are used to identify matching elements in two schemas. Language-based or linguistic matchers use names and text (i.e., words or sentences) to find semantically similar schema elements. Constraint based matchers exploit constraints often contained in schemas. Such constraints are used to define data types and value ranges, uniqueness, optionality, relationship types and cardinalities, etc. Constraints in two input schemas are matched to determine the similarity of the schema elements.

Instance-level matchers use instance-level data to gather important insight into the contents and meaning of the schema elements. These are typically used in addition to schema level matches in order to boost the confidence in match results, more so when the information available at the schema level is insufficient. Matchers at this level use linguistic and constraint based characterization of instances. For example, using linguistic techniques, it might be possible to look at the Dept, DeptName and EmpName instances to conclude that DeptName is a better match candidate for Dept than EmpName. Constraints like zipcodes must be 5 digits long or format of phone numbers may allow matching of such types of instance data.

Hybrid matchers directly combine several matching approaches to determine match candidates based on multiple criteria or information sources. Most of these techniques also employ additional information such as dictionaries, thesauri, and user-provided match or mismatch information[9]

Reusing matching information Another initiative has been to re-use previous matching information as auxiliary information for future matching tasks. The motivation for this work is that structures or substructures often repeat, for example in schemas in the E-commerce domain. Such a reuse of previous matches however needs to be a careful choice. It is possible that such a reuse makes sense only for some part of a new schema or only in some domains. For example, Salary and Income may be considered identical in a payroll application but not in a tax reporting application. There are several open ended challenges in such reuse that deserves further work.

Sample Prototypes Typically, the implementation of such matching techniques can be classified as being either rule based or learner based systems. The complementary nature of these different approaches has instigated a number of applications using a combination of techniques depending on the nature of the domain or application under consideration.[4][5]

Identified Relationships

The relationship types between objects that are identified at the end of a matching process are typically those with set semantics such as overlap, disjointness, exclusion, equivalence, subsumption. The logical encodings of these relationships are what they mean. Among others, an early attempt to use description logics for schema integration and identifying such relationships was presented.[10] Several state of the art matching tools today[4][7] and those benchmarked in the Ontology Alignment Evaluation Initiative[11] are capable of identifying many such simple (1:1 / 1:n / n:1 element level matches) and complex matches (n:1 / n:m element or structure level matches) between objects.

See also

References

  1. 1 2 Kim, W. and Seo, J. (Dec 1991). "Classifying Schematic and Data Heterogeneity in Multidatabase Systems.". Computer 24, 12.
  2. Sheth, A. P. and Kashyap, V. (1993). "So Far (Schematically) yet So Near (Semantically)". In Proceedings of the IFIP WG 2.6 Database Semantics Conference on interoperable Database Systems.
  3. Sheth, A. P. (1999). "Changing Focus on Interoperability in Information Systems: From System, Syntax, Structure to Semantics". In Interoperating Geographic Information Systems. M. F. Goodchild, M. J. Egenhofer, R. Fegeas, and C. A. Kottman (eds.), Kluwer, Academic Publishers. line feed character in |booktitle= at position 56 (help)
  4. 1 2 3 4 Rahm, E. and Bernstein, P (2001). "A survey of approaches to automatic schema matching". The VLDB Journal 10, 4.
  5. 1 2 3 4 Batini, C., Lenzerini, M., and Navathe, S. B. (1986). "A comparative analysis of methodologies for database schema integration.". ACM Comput. Surv. 18, 4.
  6. Doan, A. and Halevy, A. (2005). "Semantic-integration research in the database community". AI Mag. 26, 1.
  7. 1 2 Kalfoglou, Y. and Schorlemmer, M. (2003). "Ontology mapping: the state of the art". Knowl. Eng. Rev. 18, 1.
  8. Choi, N., Song, I., and Han, H. (2006). "A survey on ontology mapping". SIGMOD Rec. 35, 3.
  9. Hamdaqa, Mohammad; Tahvildari, Ladan. "Prison Break: A Generic Schema Matching Solution to the Cloud Vendor Lock-in Problem". IEEE 8th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems: 37–46. doi:10.1109/MESOCA.2014.13.
  10. Ashoka Savasere, Amit P. Sheth, Sunit K. Gala, Shamkant B. Navathe, H. Markus (1993). "On Applying Classification to Schema Integration". RIDE-IMS.
  11. Ontology Alignment Evaluation Initiative::2006

External links

This article is issued from Wikipedia - version of the Thursday, November 05, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.