Semantic matching is a type of ontology matching technique that relies on semantic information encoded in lightweight ontologies to identify nodes that are semantically related. Given any two graph-like structures, like classifications, database or XML schemas and ontologies, matching is an operator that identifies those nodes in the two structures which semantically correspond to one another. For example, applied to file systems it can identify that a folder labeled “car” is semantically equivalent to another folder “automobile” because they are synonyms in English. This information can be taken from a linguistic resource like WordNet.
Semantic matching represents a fundamental technique in many applications in areas such as resource discovery, data integration, data migration, query translation, peer to peer networks, agent communication, schema and ontology merging. It has been proposed as a valid solution to the semantic heterogeneity problem, namely managing the diversity in knowledge. Interoperability among people of different cultures and languages, having different viewpoints and using different terminology has always been a huge problem. Especially with the advent of the Web and the consequential information explosion, the problem seems to be emphasized. People face the concrete problems to retrieve, disambiguate and integrate information coming from a wide variety of sources.
Figure 1 shows an example that compares extracts of two University course catalogs. This is a typical example of data integration where we need to match these course catalogs in the case of a transfer of a student from one University to another, where the receiving university has to decide which courses to recognize from the former University. In Figure 1 we can see the set of mappings between each node in the both course catalogs. There are different semantic matching approaches, in the Examples and Comparison page you can find a comparison between the different set of mappings returned by each approach.
In the recent years many semantic matching operators has been offered. A good survey is presented by Pavel Shvaiko and Jérôme Euzenat. S-Match is an example of semantic matching operator. It works on lightweight ontologies, namely on graph structures where each node is labeled by a natural language sentence, for example in English. These sentences are translated into a formal logical formula (according to an artificial unambiguous language) codifying the meaning of the node taking into account its position in the graph. For example, in case the node “College of Arts and Sciences” is under another node “Courses” (as in Figure 1) we can say that the meaning of the node “College of Arts and Sciences” is “Courses of College of Arts and Sciences” in this case. This is translated into the logical formula “Courses AND College of Arts and Sciences”.
The output of S-Match is a mapping, namely a set of semantic correspondences between the nodes in the two schemas in input. Semantic relations are in the set: disjointness, equivalence, more specific and less specific. See Figure 1 for an example.