Logics for Data and Knowledge Representation

Slides:



Advertisements
Similar presentations
Discovering Missing Background Knowledge in Ontology Matching Pavel Shvaiko 17th European Conference on Artificial Intelligence (ECAI06) 30 August 2006,
Advertisements

Schema Matching and Query Rewriting in Ontology-based Data Integration Zdeňka Linková ICS AS CR Advisor: Július Štuller.
XML: Extensible Markup Language
S-Match: an Algorithm and an Implementation of Semantic Matching Fausto Giunchiglia July 2004, Hannover, Germany work in collaboration with Pavel Shvaiko.
S-Match: an Algorithm and an Implementation of Semantic Matching Pavel Shvaiko 1 st European Semantic Web Symposium, 11 May 2004, Crete, Greece paper with.
1 A Description Logic with Concrete Domains CS848 presentation Presenter: Yongjuan Zou.
C-OWL: contextualizing ontologies Fausto Giunchiglia October 22, 2003 Paolo Bouquet, Fausto Giunchiglia, Frank van Harmelen, Luciano Serafini, and Heiner.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Designing clustering methods for ontology building: The Mo’K workbench Authors: Gilles Bisson, Claire Nédellec and Dolores Cañamero Presenter: Ovidiu Fortu.
Slides adapted from A. Silberschatz et al. Database System Concepts, 5th Ed. Entity-Relationship Model Database Management Systems I Alex Coman, Winter.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
Programming by Example using Least General Generalizations Mohammad Raza, Sumit Gulwani & Natasa Milic-Frayling Microsoft Research.
4/20/2017.
Partners Using NLP Techniques for Meaning Negotiation Bernardo Magnini, Luciano Serafini and Manuela Speranza ITC-irst, via Sommarive 18, I Trento-Povo,
Knowledge Mediation in the WWW based on Labelled DAGs with Attached Constraints Jutta Eusterbrock WebTechnology GmbH.
OMAP: An Implemented Framework for Automatically Aligning OWL Ontologies SWAP, December, 2005 Raphaël Troncy, Umberto Straccia ISTI-CNR
Ontology Matching Basics Ontology Matching by Jerome Euzenat and Pavel Shvaiko Parts I and II 11/6/2012Ontology Matching Basics - PL, CS 6521.
Semantic Matching Pavel Shvaiko Stanford University, October 31, 2003 Paper with Fausto Giunchiglia Research group (alphabetically ordered): Fausto Giunchiglia,
Web Explanations for Semantic Heterogeneity Discovery Pavel Shvaiko 2 nd European Semantic Web Conference (ESWC), 1 June 2005, Crete, Greece work in collaboration.
LDK R Logics for Data and Knowledge Representation Semantic Matching.
Reasoning with context in the Semantic Web … or contextualizing ontologies Fausto Giunchiglia July 23, 2004.
Ontology Alignment/Matching Prafulla Palwe. Agenda ► Introduction  Being serious about the semantic web  Living with heterogeneity  Heterogeneity problem.
1 Introduction to Modeling Languages Striving for Engineering Precision in Information Systems Jim Carpenter Bureau of Labor Statistics, and President,
Logics for Data and Knowledge Representation Semantic Matching.
BACKGROUND KNOWLEDGE IN ONTOLOGY MATCHING Pavel Shvaiko joint work with Fausto Giunchiglia and Mikalai Yatskevich INFINT 2007 Bertinoro Workshop on Information.
An Introduction to Description Logics. What Are Description Logics? A family of logic based Knowledge Representation formalisms –Descendants of semantic.
Automatic Lexical Annotation Applied to the SCARLET Ontology Matcher Laura Po and Sonia Bergamaschi DII, University of Modena and Reggio Emilia, Italy.
PART IV: REPRESENTING, EXPLAINING, AND PROCESSING ALIGNMENTS & PART V: CONCLUSIONS Ontology Matching Jerome Euzenat and Pavel Shvaiko.
LDK R Logics for Data and Knowledge Representation Lightweight Ontologies.
Semantic Matching Fausto Giunchiglia work in collaboration with Pavel Shvaiko The Italian-Israeli Forum on Computer Science, Haifa, June 17-18, 2003.
A view-based approach for semantic service descriptions Carsten Jacob, Heiko Pfeffer, Stephan Steglich, Li Yan, and Ma Qifeng
LDK R Logics for Data and Knowledge Representation Application of (Ground) ClassL.
Dimitrios Skoutas Alkis Simitsis
RRXS Redundancy reducing XML storage in relations O. MERT ERKUŞ A. ONUR DOĞUÇ
Logics for Data and Knowledge Representation Applications of ClassL: Lightweight Ontologies.
A Classification of Schema-based Matching Approaches Pavel Shvaiko Meaning Coordination and Negotiation Workshop, ISWC 8 th November 2004, Hiroshima, Japan.
P2P Concept Search Fausto Giunchiglia Uladzimir Kharkevich S.R.H Noori April 21st, 2009, Madrid, Spain.
Semantic web course – Computer Engineering Department – Sharif Univ. of Technology – Fall Knowledge Representation Semantic Web - Fall 2005 Computer.
Logics for Data and Knowledge Representation
Element Level Semantic Matching Pavel Shvaiko Meaning Coordination and Negotiation Workshop, ISWC 8 th November 2004, Hiroshima, Japan Paper by Fausto.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  The concept of Data, Information and Knowledge  The fundamental terms:  Database and database system  Database.
LDK R Logics for Data and Knowledge Representation ClassL (part 2): Reasoning with a TBox 1.
Lecture 7: Foundations of Query Languages Tuesday, January 23, 2001.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
LDK R Logics for Data and Knowledge Representation Propositional Logic Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto Giunchiglia,
Enable Semantic Interoperability for Decision Support and Risk Management Presented by Dr. David Li Key Contributors: Dr. Ruixin Yang and Dr. John Qu.
Presented by Kyumars Sheykh Esmaili Description Logics for Data Bases (DLHB,Chapter 16) Semantic Web Seminar.
Semantic Interoperability in GIS N. L. Sarda Suman Somavarapu.
Of 24 lecture 11: ontology – mediation, merging & aligning.
1 Representing and Reasoning on XML Documents: A Description Logic Approach D. Calvanese, G. D. Giacomo, M. Lenzerini Presented by Daisy Yutao Guo University.
COP Introduction to Database Structures
Logics for Data and Knowledge Representation
A Simple Syntax-Directed Translator
ece 720 intelligent web: ontology and beyond
Chapter 7: Entity-Relationship Model
Element Level Semantic Matching
Compiler Lecture 1 CS510.
WELCOME TO COSRI IBADAN
Logics for Data and Knowledge Representation
Information Retrieval
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
ece 627 intelligent web: ontology and beyond
Software Construction Lecture 2
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Information Networks: State of the Art
Logics for Data and Knowledge Representation
Logics for Data and Knowledge Representation
Presentation transcript:

Logics for Data and Knowledge Representation Semantic Matching

Outline Introduction: Kinds of matching: Syntactic versus Semantic Why matching? The matching problem Kinds of matching: Syntactic versus Semantic Steps in matching Kinds of schemas S-Match MinSMatch

Approaching the heterogeneity problem INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Knowledge can be represented using graphs. These graphs can be very different: Different structure (RDBs, OODB, XML, thesauri, formal ontologies) Different conceptualizations: they reflect different visions of the world They contain different terminology and polysemous terms They have different degrees of specificity, scope and coverage They can be expressed in different languages Heterogeneity of these graphs demands the exposition of relations between them, such as semantically equivalent. From paper: Giunchiglia, Fausto and Soergel, Dagobert and Maltese, Vincenzo and Bertacco, Alessandro. Mapping large-scale Knowledge Organization Systems. Proc. of the 2nd International Conference on the Semantic Web and Digital Libraries (ICSD), 2009. 3 3

The Matching Problem INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Matching Problem: given two finite graphs, finds all nodes in the two graphs that syntactically or semantically correspond to each other. Given two graph-like structures (e.g., classifications, XML and database schemas, ontologies), a matching operator produces a mapping between the nodes of the graphs. Solution: A possible solution consists in the conversion of the two graphs in input into lightweight ontologies and then matching them semantically. 4

A Matching Problem INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH ? 5

Kinds of Matching: Syntactic versus Semantic (I) INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Syntactic matching Matching of nodes as objects or strings (without meaning) “Virus” partially matches with “Computer virus” “Wives” is an exceptional form for “Wife” Semantic matching Matching of nodes as concepts “Car” is equivalent to “Automobile” Car ≡ Automobile “Dog” is more specific than “Animal” Dog ⊑ Animal

Kinds of Matching: Syntactic versus Semantic (II) INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Syntactic matching Relations are computed between labels at nodes. The similarity is given in a range [0,1]. Most of the tools developed so far are syntactic. Semantic matching Relations are computed between concepts at nodes. They return a semantic similarity, namely R ∈ {, ≡, ⊑, ⊒, ⊓}, sometimes with a confidence value in the range [0,1]. There are a few tools of this kind, but they are recently increasing. They return different kinds of semantic relations. 7

Steps in matching A matching problem can be decomposed in three steps: INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH A matching problem can be decomposed in three steps: Extract the graphs from the conceptual models under consideration; Convert the graphs into formal ontologies Match the formal ontologies In the next slides we show some examples of step 1 From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

Relational DB Schemas INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Let us consider the following relational database (RDB) model, say “BANK”: From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003. We can represent the RDB model “BANK” as a graph (i.e. a tree) with root “BANK”.

Relational DB Schemas: Representation #1 INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH The RDB model is first partitioned into relations, then attributes and data instances. From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

Relational DB Schemas: Representation #2 INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH The model is partitioned into relations, then into tuples, attributes and data instances. From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

Relational DB Schemas: notes INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Which of the two representations is more preferable depends on the concrete task. It is always possible to transform one representation into the other. In contrast to the example of RDB “BANK”, DB schemas are seldom trees. More often, DB schemas are translated into Directed Acyclic Graphs (DAG’s) and then approximated into trees. From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

OODB Schemas INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Let us consider the RDB “BANK” in terms of an object- oriented DB (OODB) schema: BRANCH (Street, City, Zip) PERSON (F_Name, L_Name) STAFF : PERSON (Position, Salary, Manager) The resulting graph is: From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

OODB Schemas: notes OODB schemas capture more semantics than the RDBs. INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH OODB schemas capture more semantics than the RDBs. In particular, an OODB schema: explicitly expresses subsumption relations between elements; admits special types of arcs for part/whole relationships in terms of aggregation and composition. From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

Semi-structured Data INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Neither RDBs nor OODBs capture all the features of semi- structured or unstructured data (Buneman, 1997): semi-structured data do not possess a regular structure (schemaless); the “structure” of semi-structured data could be partial or even implicit. Typical examples are: HTML and XML. From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

XML Schemas XML schemas can be represented as DAGs. INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH XML schemas can be represented as DAGs. The graph from the RDB “BANK” could also be obtained from an XML schema. From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

XML Schemas: notes INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Often XML schemas represent hierarchical data models. In this case the only relationships between the elements are “is-a”. Attributes in XML are used to represent extra information about data. There are no strict rules telling us when data should be represented as elements, or as attributes. From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

Concept Hierarchies INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH A concept hierarchy is a semi-formal conceptualization of an application domain in terms of concepts and relationships. From paper: SEMANTIC MATCHING Fausto Giunchiglia and Pavel Shvaiko April 2003 Technical Report # DIT-03-013 Also in : Knowledge Engineering Review, 18(3):265–280, 2003.

S-Match: the matching problem INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Semantic Matching Given two graphs G and H, for any node ni  G and mj  H, find the strongest semantic relation R holding between them The strength of the relations is given by a partial order, that is: disjointness (), equivalence (≡), more/less specific (⊑,⊒), overlap (⊓). A mapping element is a 4-tuple <IDij, ni, mj , R>, where: IDij is a unique identifier of the given mapping element; ni is the i-th node of the first graph; mj is the j-th node of the second graph; R specifies a semantic relation between the concepts at the given nodes A mapping is a set of mapping elements 19

Example ⊑ ≡ ⊒ < ID22, 2, 2, ≡ > < ID21, 2, 1, ⊑ > INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH 4 Images Europe Italy Austria 2 3 1 Wine and Cheese Pictures 5 ⊑ ≡ ⊒ < ID22, 2, 2, ≡ > < ID21, 2, 1, ⊑ > < ID24, 2, 4, ⊒ > A mapping A mapping element 20

S-Match: the algorithm INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Four Macro Steps: Given two labeled trees T1 and T2, do: For all labels in T1 and T2 compute concepts at labels For all nodes in T1 and T2 compute concepts at nodes For all pairs of labels in T1 and T2 compute relations between concepts at labels For all pairs of nodes in T1 and T2 compute relations between concepts at nodes Steps 1 and 2 constitute the preprocessing phase (off-line), and are executed once and each time after the schema/ontology is changed (graphs are converted into lightweight ontologies) Steps 3 and 4 constitute the matching phase (on-line), and are executed every time the two schemas/ontologies are to be matched (the two lightweight ontologies are matched) 21

Step 1: compute concepts at labels INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Natural language expressions are translated into a formal language Concepts are computed by disambiguating among all possible senses of words in a label and their interrelations Computation: Tokenization. Labels are parsed into tokens. Lemmatization. Tokens are morphologically analyzed in order to find their possible basic forms. Building atomic concepts. An oracle (WordNet) is used to extract senses of lemmatized tokens. Building complex concepts. Prepositions, conjunctions, etc. are translated into logical connectives and used to build complex concepts out of the atomic concepts. 22

Step 1: compute concepts at labels INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Tokenization. “Images and text”  <Images, and, text>; Lemmatization. “Images”  Image; Building atomic concepts. “Image” has 8 senses in WordNet, 7 as a noun and 1 as a verb. Some might be filtered out analyzing the context. The rest are kept: “Image”  Image#1 ⊔ Image#3 ⊔ Image#7; Building complex concepts  (Image#1 ⊔ Image#3 ⊔ Image#7) ⊔ text#2 23

Step 2: compute concepts at nodes INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Concepts at labels are extended by taking into account the context of the node, i.e. the position of the node in the tree Computation: The concept at a node for some node n is computed as the conjunction of the concepts at labels along the path from the root till the node n itself 24

Step 2: compute concepts at nodes INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH 4 Italy Europe Wine and Cheese Austria Pictures 1 2 3 5 C4 = CEurope ⊓ CPictures ⊓ CItaly 25

Step 3: compute relations between concepts at labels INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Exploit a priori knowledge, e.g., lexical, domain knowledge with the help of element level semantic matchers Computation: Concepts at labels of each pair of nodes from the two trees are compared to determine semantic relations between them (without caring about their context) The set of semantic relations computed with this step constitute the set of axioms that will be used to compute the mapping, i.e. our TBox! 26

Step 3: compute relations between concepts at labels INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Italy Europe Wine and Cheese Austria Pictures 1 2 3 4 5 Images T1 T2 T2  ≡ CItaly CAustria CEurope CImages CPictures T1 CWine CCheese 27

Step 4: compute relations between concepts at nodes INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH The matching problem is reduced to a set of node matching problems Each node matching problem is reduced to a validity problem TBox T: the relations between concepts at labels (from step 3) Given the pair of nodes (n, m), deciding if a given semantic relation holds between them corresponds to verifying that a certain relation holds between corresponding concepts at node: Subsumption: T ⊨ Cn ⊑ Cm or T ⊨ Cn ⊒ Cm Equivalence: T ⊨ Cn ⊑ Cm and T ⊨ Cn ⊒ Cm Disjointness: T ⊨ Cn ⊓ Cm ⊑  This is done by eliminating the TBox T and verifying that the negation of each formula is unsatisfiable. The strongest relation holding between the two nodes is returned

Step 4: compute relations between concepts at nodes INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Suppose we want to check if C12 ≡ C22 (C1Images  C2Pictures)  (C1Europe  C2Europe)  (C12  C22 ) Goal Context (the relevant part of the TBox) T2  = C14 C13 C12 C11 C25 C24 C23 C22 C21 T1

≡  The final result T1 T2 T1 T2 T1 T2 T1 T2 Italy Europe Wine and INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH ≡ Italy Europe Wine and Cheese Austria Pictures 1 2 3 4 5 Images T1 T2 Italy Europe Wine and Cheese Austria Pictures 1 2 3 4 5 Images T1 T2  Italy Europe Wine and Cheese Austria Pictures 1 2 3 4 5 Images T1 T2 Italy Europe Wine and Cheese Austria Pictures 1 2 3 4 5 Images T1 T2

Problems with S-Match It is slow. Can we make the algorithm faster? INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH JOURNALS journals#1 A ⊑ D PROGRAMMING AND DEVELOPMENT programming#2 ⊔ development#1 ⊒ ⊑ ⊑ ⊑ DEVELOPMENT AND PROGRAMMING LANGUAGES (development#1 ⊔ programming#2) ⊓ languages#3 ⊓ journals#1 ⊑ LANGUAGES languages#3 ⊓ (programming#2 ⊔ development#1) B E ⊒ ⊑ ⊑ ⊑ JAVA (development#1 ⊔ programming#2) ⊓ languages#3 ⊓ journals#1 ⊓ Java#3 C F JAVA Java#3 ⊓ languages#3 ⊓ (programming#2 ⊔ development#1) ⊑ ≡ G MAGAZINES Magazines#1 ⊓ Java#3 ⊓ languages#3 ⊓ (programming#2 ⊔ development#1) It is slow. Can we make the algorithm faster? Too many relations between nodes are returned by S-Match. Are there some relations which are “more important” than others? 31 31

Redundancy patterns INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH A B E D C F ⊑ ⊒ ⊥ ≡ (1) (2) (3) (4) There are some axioms (the dashed arrows) which can be derived from others (the solid ones) Note that (4) is a combination of (1) and (2) Note that (1) and (2) are still true in case of equivalence 32 32

Minimal and redundant mappings INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH A redundant mapping element is a mapping element which can be derived from the others using the patterns. A redundant mapping is a set containing redundant mapping elements The minimal mapping is the biggest subset of mapping elements among those without redundant elements The minimal mapping always exists and it is unique Advantages in visualization, validation and maintenance The mapping of maximum size is the set containing the maximum number of mapping elements it can be obtained from the propagation of the elements in the minimal set using the intuitions encoded in the patterns. 33 33

The minimal mapping A ⊑ D ⊒ ⊑ ⊑ ⊑ ⊑ B E ⊒ ⊑ ⊑ ⊑ C F ⊑ ≡ G 34 JOURNALS INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH JOURNALS journals#1 A ⊑ D PROGRAMMING AND DEVELOPMENT programming#2 ⊔ development#1 ⊒ ⊑ ⊑ ⊑ DEVELOPMENT AND PROGRAMMING LANGUAGES (development#1 ⊔ programming#2) ⊓ languages#3 ⊓ journals#1 ⊑ LANGUAGES languages#3 ⊓ (programming#2 ⊔ development#1) B E ⊒ ⊑ ⊑ ⊑ JAVA (development#1 ⊔ programming#2) ⊓ languages#3 ⊓ journals#1 ⊓ Java#3 C F JAVA Java#3 ⊓ languages#3 ⊓ (programming#2 ⊔ development#1) ⊑ ≡ G MAGAZINES Magazines#1 ⊓ Java#3 ⊓ languages#3 ⊓ (programming#2 ⊔ development#1) 34 34

MinSMatch: the algorithm INTRODUCTION :: KINDS OF MATCHING :: STEPS :: KINDS OF SCHEMAS :: S-MATCH :: MINSMATCH Computing the minimal mapping M: function TreeMatch(tree T1, tree T2) { TreeDisjoint(root(T1),root(T2)); direction := true; TreeSubsumedBy(root(T1),root(T2)); direction := false; TreeSubsumedBy(root(T2),root(T1)); TreeEquiv(); }; Computing the set of maximum size: function Propagate(M) (3) (1) (2) (4), from (1) and (2) 35 35