Phương pháp đối sánh dựa trên lược đồ chủ yếu xem xét các thông tin về lược đồ, tùy thuộc vào việc sử dụng ngôn ngữ định nghĩa lược đồ ta có các thuộc tính khác nhau của phần tử lược đồ như: Tên, kiểu dữ liệu, mô tả, các ràng buộc,… và các quan hệ giữa chúng. Đối sánh mức lược đồ bao gồm: Đối sánh mức element và mức cấu trúc, đối sánh dựa trên mối quan hệ số lượng các phần tử (cardinality), đối sánh mức ngôn ngữ, đối sánh dựa trên ràng buộc.
2.4.2.1. Đối sánh mức element và mức cấu trúc
Đối sánh mức element và mức cấu trúc khai thác các quan hệ giữa các phần tử và đối sánh kết hợp các phần tử xuất hiện trong cùng một cấu trúc. Tùy thuộc vào
các ngôn ngữ mô tả lược đồ khác nhau mà có các kiểu quan hệ giữa các phần tử khác nhau.
2.4.2.2. Đối sánh dựa trên mối quan hệ số lượng các phần tử (Cardinality)
Một phần tử (R1 hoặc R2) có thể tham gia hoặc không tham gia vào một hay nhiều phần ánh xạ của kết quảđối sánh giữa hai lược đồđầu vào R1 và R2. Hơn nữa, trong một phần tử ánh xạ đơn lẻ, một hoặc nhiều phần tử của R1 có thểđối sánh với một hoặc nhiều phần tử của R2. Vì vậy chúng ta có các quan hệ về số lượng 1:1, 1:n, n:1, m:n.
Bảng 2.2: Một ví dụ vềđối sánh dựa trên mối quan hệ số lượng các phần tử
2.4.2.3. Đối sánh mức ngôn ngữ
Đối sánh mức ngôn ngữ sử dụng các tên và văn bản để tìm kiếm các phần tử lược đồ tương tự về ngữ nghĩa. Thuộc tính tên có thểđược so sánh qua hai dạng là: Cú pháp và ngữ nghĩa.
- Đối sánh tên dựa trên cú pháp là tính toán độ tương đồng chỉ dựa trên các chuỗi biểu diễn tên. Có nhiều thuật toán đã được phát triển và ứng dụng trong các lĩnh vực khác nhau như: Sửa lỗi chính tả, thu thập thông tin, … Trong đó ba thuật toán đã được áp dụng vào bài toán đối sánh lược đồ là: EditDistance, N- Gram và SoundEX.
• EditDistance: Sử dụng kỹ thuật quy hoạch động để xác định khoảng cách soạn thảo. Độ tương tự của hai chuỗi được tính từ số lần thực hiện các thao tác:
Xóa, thêm, thay thế của một ký tự cần thiết để chuyển một chuỗi này thành một chuỗi khác.
• N- Gram: Chuỗi được so sánh theo tập N- Gram của nó. Ví dụ chuỗi doc và Document là tương đương theo tập tri-gram, {doc} và {doc, ocu, cum, ume, men, ent} chia sẻ phần tử doc. Trong tiếng Việt, N- Gram dùng n từ liên tiếp trước nó để tạo thành một cụm từ.
• SoundEx: Tính độ tương đồng về âm giữa các các tên tương ứng với mã SoundEx. Phương pháp này hiệu quả cho các từđược viết khác nhau nhưng có khả năng là giống nhau như: document, documention.
- Đối sánh tên dựa trên ngữ nghĩa sử dụng các quan hệ về mặt thuật ngữ để ước lượng độ tương đồng giữa các tên như: synonymy, hypenymy, hyponymy. Ví dụ từ client và từ customer là đồng nghĩa nên tương đương. Cách tiếp cận này cần sự trợ giúp của các thông tin hỗ trợ như: Từ điển, từ điển gần nghĩa, bản thể học (ontology) hoặc các bảng định nghĩa từđồng nghĩa cho các ngôn ngữ khác nhau.
Ngoài ra trên thực tế các lược đồ còn có nhiều sự xung đột như:
• Từđược ghép bởi nhiều từ khác.
• Từđược viết gọn lại. Ví dụ: id (identifier), doc (document), …
• Từ có nhiều nghĩa.
2.4.2.4. Đối sánh dựa trên ràng buộc
Các lược đồ thường chứa các thông tin ràng buộc như kích thước, kiểu dữ liệu, khóa, miền, tính duy nhất, … cho mỗi phần tử. Nếu các thông tin này xuất hiện trong cả hai lược đồ thì nó sẽđược khai thác để ước lượng mức độ tương đồng. Ví dụ, có thể tính toán độ tương đồng giữa hai phần tử dựa vào kiểu dữ liệu, khóa, … Đối với các thông tin này, cách tiếp cận chung là tạo một bảng trong đó chứa hệ số tương tự của các ràng buộc.