Use this component when you wish to match attributes across two schemas or merge two schemas into one.
We often must establish semantic correspondence between the attributes of different schemas. For example, we want to know that attribute “address” in one table is the same as attribute “location” in another table. This is necessary, among others, for the schema merging (combining different schemas into one) or data exchange (translating data that adheres to one schema into another).
While there has been research carried out on schema merging or schema integration, we are not aware of any publicly available tools. For schema matching, also sometimes referred to as field mapping or schema alignment, we distinguish between schema matching and ontology matching (described below).
For schema matching, some of the tools are listed below in no particular order (and this list is by no means exhaustive). Coma and Harmony include a graphical user interface for matching schemas while the rest of the tools are driven by command line.
- Coma: Coma 3.0 is a schema matching prototype that includes a graphical user interface for schema matching. Coma 3.0 also includes ontology merging feature. The community edition of Coma 3.0 can be downloaded from here. This tool is built by University of Leipzig in Java.
- Harmony is a schema matching tool that is developed as part of the open information integration project. Harmony is able to match schemas in different formats, such as XSD, SQL data definition language, OWL, and spreadsheets. Also written in Java.
- FlexMatcher (in Python): a schema matching package that uses a number of machine learning techniques to train a schema matcher using information from the schema and/or available data. The upcoming version of FlexMatcher would allow users to deploy a wide range of machine learning techniques (from Python’s scikit-learn) to train more efficient models for the schema-matching task.
- There is also a number of schema-matching on github which we list below:
*There are more cool tools to add to the list? Tell us about it.