Graph Matching
Copy this iframe to your website:
1 | |
Run Matching Demo in Fullscreen
Description
Many people don't list matching problems as simply graph problems. Perhaps this is because people try to use spreadsheets to attack matching problems. However, as we will see, graphs are ideal at helping people optimize matching problems.
Types of Matching Problems
-
Schema Matching - Occurs when importing new data into a database and mapping new data elements to existing elements. The schema matching problem is a key cost factor when building data warehouse systems.
-
Resource Matching - Matching things like people to positions, students to mentors, or people to projects within constraints. For example, matching students with five preferences to 20 potential projects.
-
Entity Resolution - Adding new records to an existing database where they must be linked to the correct record. Also known as Record Linkage or data matching.
How to Use
- Observe how curved lines connect matched elements
- Notice how the visualization shows relationships between source and target items
- Consider how this approach could visualize different matching scenarios
Sample p5.js Matching Examples
- Curved Line Matching
- Data Element Matching
- Custom Curve With Percent - Custom curve() function with percentage parameter for partial line drawing
- curveVertex Demo
Vis.js Matching Examples
- Vis.js Arrow Alignment - Great demo of arrow alignment using curves
Lesson Plan
Learning Objectives
After completing this lesson, students will be able to:
- Identify different types of matching problems (schema, resource, entity)
- Explain how graphs can represent matching relationships
- Understand the role of constraints in matching optimization
- Visualize bipartite matching problems
Target Audience
- Data engineers and software developers
- Prerequisites: Basic understanding of graphs and data integration
Activities
- Exploration Activity: Identify which type of matching problem applies to a given scenario
- Guided Investigation: Compare spreadsheet-based matching to graph-based approaches
- Extension Activity: Design a matching visualization for student-project assignment
Assessment
- What makes schema matching different from entity resolution?
- Why are graphs well-suited for matching problems?
- What constraints might exist in a student-mentor matching problem?
References
- Schema Matching - Wikipedia - Overview of schema matching
- Entity Resolution - Wikipedia - Record linkage problem
- Entity Resolution Guide - Quantexa - Practical guide to entity resolution
- Python Matching Library - Library for matching algorithms