1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đối sánh tự động lược đồ xml

114 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 114
Dung lượng 1,19 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC S KHOA HC đối sánh tự động lợc đồ XML NGÀNH: CÔNG NGHỆ THÔNG TIN MS: ……………………… VÕ SỸ NAM NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HUỲNH QUYẾT THẮNG HÀ NỘI - 2006 Mục lục Danh mục từ viết tắt, thuật ngữ Error! Bookmark not defined Danh mục bảng biểu Error! Bookmark not defined Danh mục hình vẽ Error! Bookmark not defined Mở đầu Error! Bookmark not defined Giới thiệu chung Error! Bookmark not defined Nội dung luận văn Error! Bookmark not defined Chương Đối sánh lược đồ Error! Bookmark not defined 1.1 Tổng quan đối sánh lược đồ Error! Bookmark not defined 1.1.1 Các khái niệm đối sánh lược đồ Error! Bookmark not defined 1.1.2 Các lĩnh vực ứng dụng đối sánh lược đồ Error! Bookmark not defined 1.2 Các tiếp cận đối sánh lược đồ Error! Bookmark not defined 1.2.1 Phân loại tiếp cận đối sánh lược đồ Error! Bookmark not defined 1.2.2 Các tiếp cận đối sánh lược đồ Error! Bookmark not defined 1.2.3 Các phương pháp đối sánh lược đồ Error! Bookmark not defined 1.3 Các hệ thống đối sánh lược đồ XML Error! Bookmark not defined 1.3.1 Cupid (trung tâm nghiên cứu Microsoft) Error! Bookmark not defined 1.3.2 Similarity Flooding (Đại học Stanford đại học Leipzig) Error! Bookmark not defined 1.3.3 LSD (Đại học Washington) Error! Bookmark not defined 1.3.4 Clio (IBM Almaden đại học Toronto) Error! Bookmark not defined 1.3.5 Một số hệ thống đối sánh lược đồ khác Error! Bookmark not defined 1.4 Kết chương Error! Bookmark not defined Chương Các định nghĩa hình thức Error! Bookmark not defined 2.1 Vấn đề đối sánh lược đồ XML Error! Bookmark not defined 2.1.1 Đối sánh ngữ nghĩa đối sánh cú pháp Error! Bookmark not defined 2.1.2 Thông tin đầu vào tiến trình đối sánh Error! Bookmark not defined 2.1.3 Thơng tin đầu tiến trình đối sánh Error! Bookmark not defined 2.1.4 Các định nghĩa hình thức Error! Bookmark not defined 2.2 Mô hình hóa lược đồ XML Error! Bookmark not defined 2.2.1 Các nút đồ thị lược đồ Error! Bookmark not defined 2.2.2 Các cạnh đồ thị lược đồ Error! Bookmark not defined 2.2.3 Các ràng buộc đồ thị lược đồ Error! Bookmark not defined 2.2.4 Các định nghĩa hình thức Error! Bookmark not defined 2.3 Ánh xạ nguồn–đích Error! Bookmark not defined 2.4 Kết chương Error! Bookmark not defined Chương Đối sánh tự động lược đồ XML Error! Bookmark not defined 3.1 Tổng quan đối sánh tự động lược đồ XML Error! Bookmark not defined 3.2 Đo độ tương đồng ngôn ngữ Error! Bookmark not defined 3.2.1 WordNet quan hệ ngữ nghĩa từ Error! Bookmark not defined 3.2.2 Thuật toán Hirst St-Onge Error! Bookmark not defined 3.2.3 Giải pháp hệ thống Cupid Error! Bookmark not defined 3.3 Xét tính tương thích kiểu liệu lược đồ XML phân tích phân cấp kiểu người thiết kế Error! Bookmark not defined 3.3.1 Xét tính tương thích kiểu liệu lược đồ XML Error! Bookmark not defined 3.3.2 Phân tích phân cấp kiểu người thiết kế Error! Bookmark not defined 3.4 Đo độ tương đồng cấu trúc Error! Bookmark not defined 3.4.1 Định nghĩa ngữ cảnh nút Error! Bookmark not defined 3.4.2 Đo độ tương tự đường dẫn Error! Bookmark not defined 3.4.3 Đo độ tương đồng ngữ cảnh nút Error! Bookmark not defined 3.5 Đo độ tương đồng nút tạo ánh xạ phần tử Error! Bookmark not defined 3.5.1 Đo độ tương đồng nút Error! Bookmark not defined 3.5.2 Tạo ánh xạ nút cạnh đối sánh Error! Bookmark not defined 3.6 Đánh giá tiến trình đối sánh lược đồ XML Error! Bookmark not defined 3.6.1 Các phương pháp đánh giá Error! Bookmark not defined 3.6.2 Đánh giá giải pháp Error! Bookmark not defined 3.7 Áp dụng đối sánh lược đồ toán chuyển đổi tài liệu có cấu trúc Error! Bookmark not defined 3.7.1 Tổng quan tài liệu có cấu trúc Error! Bookmark not defined 3.7.2 Chuyển đổi tự động tài liệu có cấu trúc Error! Bookmark not defined 3.7.3 Mơ hình cho hệ thống chuyển đổi tự động tài liệu XML Error! Bookmark not defined 3.8 Kết chương Error! Bookmark not defined Kết luận hướng phát triển Error! Bookmark not defined Đóng góp luận văn Error! Bookmark not defined Hướng phát triển Error! Bookmark not defined Danh mục tài liệu tham khảo Error! Bookmark not defined Phụ lục Error! Bookmark not defined Phụ lục A: Ngôn ngữ đánh dấu mở rộng - XML Error! Bookmark not defined Phụ lục B: Lược đồ XML Error! Bookmark not defined Phụ lục C: Thuật toán Hirst St-Onge Error! Bookmark not defined BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUN VN THC S KHOA HC đối sánh tự động lợc đồ XML NGNH: CễNG NGH THễNG TIN MS: VÕ SỸ NAM NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HUỲNH QUYẾT THẮNG HÀ NỘI - 2006 i Đối sánh tự động lược đồ XML Lời cảm ơn Luận văn đánh dấu kết thúc hai năm cao học trường đại học Bách Khoa Hà Nội Trong quãng thời gian chưa dài khơng phải ngắn đó, trưởng thành nhiều kiến thức khả nghiên cứu Tơi xin bày tỏ lịng biết ơn sâu sắc tới thầy giáo – TS Huỳnh Quyết Thắng, người hướng dẫn, giúp đỡ tận tình trình thực luận văn tốt nghiệp Thầy người cung cấp ý tưởng, tài liệu ban đầu đề tài, hướng dẫn quan trọng suốt trình thực luận văn, dành thời gian đọc sửa chữa báo cáo có góp ý quan trọng cho tơi suốt q trình hồn thiện luận văn Tơi xin cám ơn thư viện trường EPFL, Thụy Sỹ cung cấp cho số tài liệu tham khảo bổ ích, xin cảm ơn nhóm sinh viên K48 khoa Công nghệ thông tin, trường đại học Bách Khoa Hà Nội tận tình làm việc tơi góp nhiều cơng sức q trình cài đặt thử nghiệm chương trình Tơi xin gửi lời cám ơn sâu sắc tới thầy giáo, cô giáo trường đại học Bách Khoa Hà Nội, khoa Công nghệ thông tin tận tình giảng dạy, trang bị kiến thức cho chúng tôi, xin gửi lời cám ơn môn Kỹ thuật hệ thống, khoa Công nghệ thông tin, trường đại học Xây dựng Hà Nội tạo điều kiện thời gian cho tơi hồn thành luận văn Tôi xin gửi lời cám ơn tới bạn tôi, người chia sẻ với nhiệt huyết niềm say mê học tập & nghiên cứu khoa học, chia sẻ với kiến thức phương pháp tìm hiểu vấn đề, cung cấp cho tơi tài liệu thiết thực ý tưởng bổ sung cho luận văn, góp phần giúp tơi thực luận văn cố gắng nỗ lực cao Cuối điều quan trọng nhất, cho gửi lời cảm ơn sâu sắc tới bố, mẹ, em trai người thân tôi, người giúp đỡ nhiều vật chất lẫn tinh thần suốt trình học tập công tác, động viên lúc khó khăn chia sẻ niềm vui với lúc thành công Một lần xin chân thành cám ơn tất cả./ Hà Nội, tháng 11 năm 2006 Võ Sỹ Nam Võ Sỹ Nam Luận văn cao học – ngành công nghệ thông tin ii Đối sánh tự động lược đồ XML Mục lục Danh mục từ viết tắt, thuật ngữ iv Danh mục bảng biểu v Danh mục hình vẽ v Mở đầu 1 Giới thiệu chung Nội dung luận văn Chương Đối sánh lược đồ 1.1 Tổng quan đối sánh lược đồ 1.1.1 Các khái niệm đối sánh lược đồ 1.1.2 Các lĩnh vực ứng dụng đối sánh lược đồ 1.2 Các tiếp cận đối sánh lược đồ 14 1.2.1 Phân loại tiếp cận đối sánh lược đồ 14 1.2.2 Các tiếp cận đối sánh lược đồ 15 1.2.3 Các phương pháp đối sánh lược đồ 17 1.3 Các hệ thống đối sánh lược đồ XML 20 1.3.1 Cupid (trung tâm nghiên cứu Microsoft) 21 1.3.2 Similarity Flooding (đại học Stanford đại học Leipzig) .23 1.3.3 LSD (đại học Washington) 24 1.3.4 Clio (IBM Almaden đại học Toronto) 25 1.3.5 Một số hệ thống đối sánh lược đồ khác 26 1.4 Kết chương .28 Chương Các định nghĩa hình thức 29 2.1 Vấn đề đối sánh lược đồ XML 30 2.1.1 Đối sánh ngữ nghĩa đối sánh cú pháp 30 2.1.2 Thông tin đầu vào tiến trình đối sánh 32 2.1.3 Thông tin đầu tiến trình đối sánh 34 2.1.4 Các định nghĩa hình thức 35 2.2 Mơ hình hóa lược đồ XML 36 2.2.1 Các nút đồ thị lược đồ 37 2.2.2 Các cạnh đồ thị lược đồ 37 2.2.3 Các ràng buộc đồ thị lược đồ .38 2.2.4 Các định nghĩa hình thức 40 2.3 Ánh xạ nguồn–đích 43 2.4 Kết chương .46 Võ Sỹ Nam Luận văn cao học – ngành công nghệ thông tin iii Đối sánh tự động lược đồ XML Chương Đối sánh tự động lược đồ XML 47 3.1 Tổng quan đối sánh tự động lược đồ XML .48 3.2 Đo độ tương đồng ngôn ngữ 49 3.2.1 WordNet quan hệ ngữ nghĩa từ .49 3.2.2 Thuật toán Hirst St-Onge 50 3.2.3 Giải pháp hệ thống Cupid 52 3.3 Xét tính tương thích kiểu liệu lược đồ XML phân tích phân cấp kiểu người thiết kế 53 3.3.1 Xét tính tương thích kiểu liệu lược đồ XML 53 3.3.2 Phân tích phân cấp kiểu người thiết kế 55 3.4 Đo độ tương đồng cấu trúc 56 3.4.1 Định nghĩa ngữ cảnh nút 56 3.4.2 Đo độ tương tự đường dẫn 58 3.4.3 Đo độ tương đồng ngữ cảnh nút 63 3.5 Đo độ tương đồng nút tạo ánh xạ phần tử .66 3.5.1 Đo độ tương đồng nút 66 3.5.2 Tạo ánh xạ nút cạnh đối sánh 67 3.6 Đánh giá tiến trình đối sánh lược đồ XML 68 3.6.1 Các phương pháp đánh giá .68 3.6.2 Đánh giá giải pháp .70 3.7 Áp dụng đối sánh lược đồ toán chuyển đổi tài liệu có cấu trúc 72 3.7.1 Tổng quan tài liệu có cấu trúc .73 3.7.2 Chuyển đổi tự động tài liệu có cấu trúc 76 3.7.3 Mơ hình cho hệ thống chuyển đổi tự động tài liệu XML 78 3.8 Kết chương .80 Kết luận hướng phát triển 81 Đóng góp luận văn 81 Hướng phát triển 84 Danh mục tài liệu tham khảo 86 Phụ lục 88 Phụ lục A: Ngôn ngữ đánh dấu mở rộng - XML 89 Phụ lục B: Lược đồ XML 97 Phụ lục C: Thuật toán Hirst St-Onge 100 Võ Sỹ Nam Luận văn cao học – ngành công nghệ thông tin iv Đối sánh tự động lược đồ XML Danh mục từ viết tắt, thuật ngữ Từ viết tắt/ thuật ngữ Giải nghĩa CSDL Cơ sở liệu TTNT Trí tuệ nhân tạo XML eXtended Markup Language DTD Document Type Definition XSD XML Schema Definition SGML Standard Generalized Markup Language LCS Longest Common Subsequence Võ Sỹ Nam Luận văn cao học – ngành công nghệ thông tin Ghi v Đối sánh tự động lược đồ XML Danh mục bảng biểu Bảng Đặc điểm lược đồ thử nghiệm 70 Bảng Kết đo chất lượng đối sánh 71 Danh mục hình vẽ Hình Ví dụ đồ thị lược đồ 36 Hình Tiến trình tính tốn độ tương đồng phần tử 49 Hình Ngữ cảnh phần tử lược đồ 57 Hình 3 So sánh đối sánh thực với đối sánh suy diễn 70 Hình Biểu đồ so sánh kết thực thi 72 Hình Mơ hình cho hệ thống chuyển đổi tự động tài liệu XML 79 Võ Sỹ Nam Luận văn cao học – ngành công nghệ thông tin Mở đầu Mở đầu Giới thiệu chung Một vấn đề quan trọng hệ thống xử lý thông tin trao đổi sử dụng lại liệu hệ thống có liệu khơng đồng Tính khơng đồng liệu tổ chức ứng dụng thường tạo liệu cho dựa yêu cầu riêng biệt Các yêu cầu hầu hết thường đặc tả mơ hình liệu trừu tượng, cịn gọi lược đồ (chẳng hạn lược đồ quan hệ, lược đồ hướng đối tượng gần lược đồ XML) Trong năm gần đây, phát triển mạnh mẽ nguồn liệu Web với nhiều mơ hình thơng tin cú pháp mã hóa khác dẫn đến nhu cầu ngày cấp thiết việc phát triển phương pháp công cụ hỗ trợ cho việc trao đổi sử dụng lại liệu, có nhiều nghiên cứu quan tâm đến vấn đề Như ta biết, đối sánh lược đồ vấn đề trung tâm hầu hết nghiên cứu Bài tốn đối sánh lược đồ định nghĩa cách phi hình thức sau: [6], [11] “Cho hai lược đồ S1 S2 mơ hình liệu bất kỳ, có thêm thơng tin phụ trợ ánh xạ khởi đầu, tìm ánh xạ phần tử lược đồ thỏa mãn yêu cầu người dùng” Nói cách khác, vấn đề tìm kiếm tương đồng phần tử S1 S2 (hay việc xác định thành phần tương đương hai lược đồ nguồn đích cho) cách khai thác thông tin tồn lược đồ, liệu nguồn thông tin phụ trợ Võ Sỹ Nam Luận văn cao học – ngành công nghệ thơng tin 91 Phụ lục thuộc tính text, ta gán cho số phải đặt dấu nháy kép Nếu chuỗi chứa ký tự định dạng, ta dùng thực thể thay (“'”~”‘”, “"”~”“”) Để mô tả ngôn ngữ liệu, ta dùng thuộc tính xml:lang, ví dụ:

Hello

Hi

Một số vấn đề khác quan trọng không khuôn khổ phần phụ lục ta không nêu khuôn dạng cấu trúc tài liệu XML, phân đoạn CDATA, khơng gian tên XML, Infoset v.v tham khảo [23] 1.2 Định nghĩa kiểu tư liệu (DTD) tính hợp lệ tài liệu XML Định nghĩa kiểu tư liệu - DTD (Document Type Definition) quy định cách thức lưu giữ liệu tài liệu XML Khai báo thường đặt phần khởi đầu tài liệu Có thể định nghĩa lồng phần tử DTD Có thể định nghĩa DTD với nội dung hỗn hợp, ví dụ: , định nghĩa cho phần tử rỗng, ví dụ: Ta nên thích cho phần tử định nghĩa DTD (giống thích XML) - Định nghĩa DTD ngoại: sử dụng từ khóa SYSTEM thị khai báo - Tham chiếu DTD dùng chung: sử dụng từ khóa PUBLIC thay cho SYSTEM Thực tế ta dùng chung hai loại tham chiếu nội ngoại tài liệu XML vào thời điểm Một số vấn đề quan trọng khác khơng gian tên định nghĩa DTD tham khảo [23] 1.3 Thực thể thuộc tính DTD tài liệu XML - Có hai loại thực thể: thực thể tổng quát - dạng & … ; thực thể tham số - dạng % … ; Thực thể nội ngoại, dạng phân tích khơng phân tích - Thuộc tính: sử dụng thị khai báo để định nghĩa danh sách thuộc tính kết hợp với phần tử thẻ DTD - Tạo thực thể tổng quát nội: tạo định nghĩa tham chiếu cho thực thể lồng nhau, không theo kiểu tham chiếu vòng - Tạo thực thể tổng quát ngoại: tương tự DTD, sử dụng SYSTEM PUBLIC cho khai báo thực thể ngoại Có thể sử dụng định nghĩa FPI Có thể sử dụng tham chiếu thực thể ngoại để nhúng liệu từ tài liệu khác vào tài liệu gốc Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 92 Phụ lục - Tham chiếu thực thể tổng quát định nghĩa trước: năm loại định nghĩa trước, ta đưa vào ký tự đặc biệt khác sử dụng mã kí tự - Tạo thực thể tham số nội: tham chiếu thực thể tổng quát không dùng cho định nghĩa DTD, ta sử dụng tham chiếu thực thể tham số dạng % … ; Tuy đưa tham chiếu thực thể tham số nội vào khai báo DTD khác mà sử dụng chúng phần khai báo DTD - Tạo thực thể tham số ngoại: thực thể tham số ngoại dùng đâu khai báo DTD, tránh khai báo lặp lại - Sử dụng INCLUDE IGNORE: để thêm vào hay bỏ qua đoạn định nghĩa DTD Có thể sử dụng chúng kết hợp với tham số thực thể để tham số hóa khai báo DTD, bỏ qua thêm vào tập khai báo DTD cách thay đổi giá trị thực thể tham số Kỹ thuật giúp tập trung hóa thực thể cần dùng để tùy biến Nó sử dụng định nghĩa XHTML 1.1 DTD Một số vấn đề quan trọng khác tính chất thuộc tính, nhúng liệu phi XML vào tài liệu, nhúng nhiều thực thể phi định dạng vào tài liệu v.v tham khảo [23] Xử lý tài liệu XML Để phân tích tài liệu XML ta dùng nhiều thư viện lập trình từ ngơn ngữ khác nhau: XML for Java (XML4J), Microsoft XML Parser, Java Standard Extension for XML, Python XML Parser… Hiện nay, thay cho mã ký tự byte ASCII truyền thống người ta chuyển dần sang mã kí tự hợp hai bytes Unicode Thậm chí đặc tả tập kí tự bytes hình thành UCS (Universal Character System) 2.1 Xử lý Java Script theo mơ hình DOM DOM - mơ hình đối tượng tài liệu (Document Object Model) W3C định nghĩa dạng phân cấp bao gồm nút chứa phần tử, liệu văn bản, thuộc tính… nút Có tất 12 loại nút mơ hình DOM (xem tài liệu tham khảo liệt kê cuối bài) W3C định nghĩa nhiều cấp độ cho mơ hình DOM, thơng dụng cấp độ Cấp độ tập trung vào kết hợp tài liệu HTML XML - Có hai cách để nạp tài liệu XML vào trình duyệt JavaScript: sử dụng lớp đối tượng Microsoft.XMLDOM dùng phần tử nạp liệu Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 93 Phụ lục Để lấy nút tài liệu, trước hết ta lấy nút gốc phương thức documentElement, sau qua nút phương thức fistChild, nextChild, previousChild, lastChild, nút cấp firstSibling, nextSibling, previousSibling, lastSibling, sau hiển thị thơng tin trình duyệt Đối với cách thứ hai, ta sử dụng thẻ nạp trực tiếp liệu XML vào trang HTML để xử lý JavaScript Ngồi ta dùng trực tiếp tên phần tử để lấy danh sách nút phương thức getElementByTagName(“NODE_NAME”) Bên cạnh đó, ta lấy danh sách thuộc tính nút phương thức attributes, sau gọi phương thức getNameItem để lấy tham chiếu đến nút cụ thể theo tên, cuối ta dùng phương thức value lấy giá trị thực tế thuộc tính - Phân tích tồn tài liệu XML: sử dụng thủ tục đệ quy Phương thức childNodes dùng để lấy danh sách nút có, sau đệ quy duyệt tiếp xuống phần tử Mơ hình DOM gồm 12 kiểu nút, ta sử dụng giá trị nodeType để xác định kiểu liệu thuộc tính nodeValue để trích rút nội dung liệu nút Ta dùng kiện onreadstatechange kiểm tra trạng thái nạp hủy liệu XML trình duyệt Sự kiện ondataavailable cho biết trình nạp liệu dã hoàn tất liệu trạng thái sẵn sàng để xử lý Ta kiểm tra tính hợp lệ tài liệu XML JavaScript với mơ hình tài liệu DOM Dựa vào đối tượng parseError liệu nguồn để biết thơng tin lỗi Có thể xem chi tiết [23] - Ngoài khả xử lý tài liệu, JavaScript cịn thay đổi nội dung cấu trúc tài liệu (dùng phương thức createElement(), insertBefore(), createTexxtNode(), appendChild()…) 2.2 Xử lý Java theo mơ hình DOM Dùng Java xử lý tài liệu XML mà khơng phụ thuộc vào trình duyệt Thư viện xử lý phân tích tài liệu XML mà ta sử dụng XML4J Ta mô tả vài phương thức xử lý gói thư viện Giả sử ta có tập tin XML “order.xml” với thẻ định dạng theo mơ hình phân cấp (đã xem xét phần trước) Để xử lý Java, trước hết ta đưa vào thư viện xử lý DOM: Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 94 Phụ lục import org.w3c.dom.*; import org.apache.xerces.parsers.DOMParser; Sau quy trình xử lý tương tự sử dụng JavaScript Để đếm số phần tử tài liệu XML, ta dùng phương thức getLength() Để đọc hiển thị toàn nội dung tài liệu, ta dùng kĩ thuật đệ quy Một chương trình có phương thức sau: - Xử lý nút tài liệu (nút phần tử, nút thuộc tính…): cài đặt phương thức display() để kiểm tra xử lý nút liệu tài liệu DOM Đối với kiểu nút, ta so khớp kiểu nút nhận với định nghĩa sẵn (có 12 loại nút mơ hình DOM) Với nút phần tử, để xử lý thuộc tính, ta dùng phương thức getAttributes(), trả mảng danh sách thuộc tính có phần tử Ta dùng vòng lặp for để duyệt qua phần tử thuộc tính Mỗi phần tử bao gồm danh sách phần tử con, ta gọi phương thức getChildNodes() để lấy danh sách phần tử có phần tử hành Tiếp đến vịng lặp for gọi để đến nút gọi đệ quy lại phương thức display() Cách thức xử lý nút phân đoạn CDATA, nút liệu văn bản, nút thị xử lý, thẻ đóng… hồn tồn tương tự Bằng cách xử lý này, ta xây dựng chương trình tìm kiếm thơng tin tài liệu XML Thay kết xuất hình văn bản, ta kết xuất hình đồ họa, ta ứng dụng XML cho hiển thị đồ họa - Duyệt đến nút cụ thể tài liệu: tương tự JavaScript, ta sử dụng phương thức Java getFirstChild(), getNextSibling()… để duyệt đến nút tài liệu - Thay đổi nội dung tài liệu: việc đọc phân tích nội dung tài liệu, ta thêm thay đổi cấu trúc liệu đầu vào để tạo cấu trúc tài liệu XML Tương tự JavaScript, Java ta dùng phương thức createElement(), createTexxtNode(), appendChild()… 2.3 Xử lý Java theo mơ hình SAX - SAX (Simple API for XML) mơ hình xử lý liệu XML theo hướng kiện Dữ liệu mà ta mong muốn tự động gửi đến kiện phát sinh thay phải lấy liệu cách lần đến nút Trong mô hình DOM, để chọn kiểu nút cần xử lý, ta dùng mệnh đề case so sánh với định nghĩa Cịn mơ hình SAX, trình phân tích chịu trách nhiệm đọc diễn dịch toàn nội dung tài liệu Khi phát Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 95 Phụ lục kiểu nút đó, kiện tương ứng phát sinh hàm xử lý kiện dành cho nút gọi đến Thư viện XML4J hỗ trợ hai mơ hình DOM SAX Trong chương trình Java sử dụng khối thư viện: org.xml.sax.*, org.xml.sax.helpers.DefaultHandler, org.apache.xerces.parsers.SAXParser Sau quy trình xử lý bao gồm: khởi tạo phân tích SAX, nạp liệu vào phân tích (tương tự mơ hình DOM) Sử dụng phương thức startElement(), endDocument(), ta xử lý thẻ tập tin, chẳng hạn so sánh xem thẻ đọc có phải có tên “NAME” không startElement() bao gồm số tham số địa nguồn, tên thẻ mở khơng có tiếp đầu ngữ không gian tên, tên thẻ đầy đủ, danh sách thuộc tính có phần tử thẻ Một số phương thức khác startDocument(), startCDATA(), characters(), processingInstruction() phương thức xử lý kiện tương ứng với kiểu nút DOCUMENT_NODE, ELEMENT_NODE, CDATA_SECTION_NODE, TEXT_NODE PROCESSING_INSTRUCTION_NODE Cách thức sử dụng phương thức tương tự phương thức - Để tìm kiếm lọc phần tử tài liệu XML, ta cài đặt điều kiện lọc phương thức startElement() thơng qua cờ printFlag, tức có phần tử thỏa mãn điều kiện lọc cờ printFlag bật (true) - Trong mơ hình SAX, khác với DOM, tài liệu không xem cấu trúc cây, ta đến nút có kiện phát sinh, khơng thể dùng phương thức dạng firstChild()… mà phải tự đánh dấu tìm phần tử dựa vào kiện Khác với DOM, mơ hình SAX ta khơng thể đến mục liệu trực tiếp, để thay đổi cấu trúc liệu XML, chẳng hạn chèn nút mới, phải dựa vào kiện startElement() XML vấn đề khác 3.1 Ràng buộc liệu XML IE theo mơ hình DSO - Ràng buộc liệu cho phép kết nối liệu tài liệu XML vào mơ hình ADO Microsoft Bằng cách này, xử lý liệu tài liệu đơn giản dễ dàng tương tự làm việc hệ CSDL thực Kỹ thuật cho phép chuyển liệu từ hệ CSDL vào tài liệu ngược lại Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 96 Phụ lục - DSO cung cấp đầy đủ phương thức, thuộc tính kiện để xử lý liệu tập recordset Do khn khổ phần phụ lục này, ta khơng trình bày vấn đề Chi tiết xem [23] 3.2 Một số khái niệm XML mới: XPath, XLink, XBase, XPointer - XPath dạng đường dẫn tài liệu XML, tương tự đường dẫn hệ thống tập tin XPath có nhiều ứng dụng quan trọng xử lý tài liệu chuyển dịch XSL, đặc tả XPointer… - XLink dạng mở rộng HTML Link, có nhiều tùy biến linh hoạt liên kết HTML liên kết giản đơn, liên kết mở rộng, định vị, cung liên kết, tài nguyên liên kết, tiêu đề liên kết, tùy biến… - XBase khái niệm định địa sở cho tài liệu XML, hiểu cách định nghĩa địa gốc giúp thu gọn địa liên kết - XPointer trỏ mục giúp xác vị trí nút tài liệu, xây dựng dựa khái niệm XPath XPointer định nghĩa vị trí liệu dựa điểm trỏ (point) 3.3 Hiển thị tài liệu XML: CSS XSL - CSS XSL có tác dụng tạo định dạng hiển thị cho trang XML CSS tập mẫu định dạng kiểu cho XML XSL tài liệu tuân theo quy tắc cú pháp xây dựng tài liệu XML XSL có quy định chặt chẽ kiểu nút theo cấu trúc cây, nhìn chung có cách xử lý tương tự mơ hình DOM hay SAX Có thể lập trình biến đổi liệu XML nhờ thẻ điều khiển mà XSL cung cấp (xem chi tiết [23]) 3.4 Ứng dụng XML: XHTML, CDF, RDF, VML, WML, SOAP, AppML Các ứng dụng XML phát triển phong phú: XHTML - HTML mở rộng, CML - ngôn ngữ định dạng hóa học, MathML - ngơn ngữ định dạng tốn học, CDF khuôn dạng định nghĩa kênh, RDF – khung định nghĩa tài ngun, SMIL - ngơn ngữ tích hợp đa phương tiện đồng bộ, EBRL - ngôn ngữ định dạng báo cáo, XUL - ngơn ngữ cấu hình giao diện người dùng, VML - ngôn ngữ định dạng vector, WML - ngôn ngữ định dạng mạng không dây, SOAP - giao thức truy cập đối tượng giản lược, v.v Đặc biệt AppML Microsoft hứa hẹn mơ hình ứng dụng tương lai Có thể tìm hiểu thêm [23] Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 97 Phụ lục Phụ lục B: Lược đồ XML Lược đồ XML W3C (World Wide Web Consortium) bắt đầu quan tâm từ năm 1998 phiên cơng bố thức vào 5/2001 [24], [25], [26], với mục đích tạo ngơn ngữ lược đồ có ý nghĩa DTD Cấu trúc tài liệu XML định nghĩa lược đồ XML dạng quan hệ phân cấp định nghĩa trước phần tử XML và/hoặc thuộc tính với ràng buộc đặc trưng có liên quan (ví dụ thứ tự số yếu tố) Trong mục này, ta đưa tính cần quan tâm ngôn ngữ lược đồ XML định nghĩa vấn đề đối sánh lược đồ XML Các kiểu liệu lược đồ XML Một kiểu liệu lược đồ XML (sử dụng thuật ngữ [26]) bộ-3, bao gồm: - Một tập giá trị phân biệt, gọi không gian giá trị (miền), - Một tập biểu diễn từ vựng, gọi không gian từ vựng, - Một tập giới hạn kiểu mô tả thuộc tính khơng gian giá trị, giá trị riêng lẻ mục từ vựng Kiểu lược đồ XML đơn giản phức hợp Kiểu đơn giản cho phép nội dung liệu ký tự phần tử thuộc tính Kiểu phức hợp cho phép có phần tử thuộc tính Khuyến nghị lược đồ XML định nghĩa 44 kiểu đơn giản nội mô tả kiểu liệu sử dụng chung Chúng bao gồm kiểu xâu (string), kiểu số (numerical) (ví dụ float, decimal, integer), kiểu ngày tháng (date) thời gian (time) (ví dụ date, duration, time) Lược đồ XML cho phép người dùng dẫn xuất kiểu riêng từ kiểu nội cách áp dụng số giới hạn kiểu, ví dụ hạn chế phạm vi hợp lệ giá trị số cách thiết lập giá trị lớn nhất/nhỏ giới hạn chiều dài giá trị xâu Lược đồ XML đề nghị hai cách khác để định nghĩa kiểu đơn giản dẫn xuất: dẫn xuất theo danh sách dẫn xuất theo hợp Không gian giá trị kiểu liệu danh sách tập dãy chiều dài hữu hạn giá trị nguyên tố Kiểu liệu nguyên tố định nghĩa kiểu liệu danh sách xem itemType kiểu liệu danh sách Khai báo thuộc tính phần tử Định nghĩa thuộc tính định nghĩa phần tử cho phép toàn cục cục Nếu toàn cục, chúng định nghĩa trực tiếp phần tử , sau tham chiếu từ phần tử tùy ý Nếu cục bộ, chúng Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 98 Phụ lục định nghĩa phần tử Định nghĩa thuộc tính cho phần tử tên, kiểu (luôn kiểu đơn giản), số yếu tố nhỏ (tùy chọn yêu cầu) lớn giá trị mặc định giá trị cố định Khai báo phần tử kết hợp tên với định nghĩa kiểu (đơn giản phức hợp), giá trị mặc định (tùy chọn) tập định nghĩa ràng buộc đồng (có thể rỗng) Sự kết hợp toàn cục giới hạn phạm vi định nghĩa kiểu phức hợp Các kiểu phức hợp Ngược lại với kiểu đơn giản, kiểu phức hợp cho phép có phần tử định nghĩa thuộc tính Các kiểu liệu sau sử dụng cho việc định nghĩa kiểu phần tử Đây khác biệt lược đồ với DTD: phần tử (tức thẻ sử dụng tài liệu) khác với kiểu liệu (định nghĩa kiểu phức hợp) Kiểu liệu phức hợp dẫn xuất từ kiểu liệu tồn cách hạn chế kiểu liệu phức hợp khác (trong thành phần cấu trúc nó) mở rộng kiểu liệu đơn giản phức hợp Định nghĩa kiểu phức hợp bao gồm thuộc tính sau: - Tên - Kiểu sở phương pháp dẫn xuất (nếu kiểu dẫn xuất) - Khai báo thuộc tính chứa phần tử mô tả trước - Kiểu nội dung (elementOnly, empty, mixed kiểu đơn giản) - Mơ hình nội dung (trong trường hợp elementOnly): chứa phần tử (như mô tả dưới) khai báo cấu trúc nội dung phần tử Nội dung phần tử lồng thêm vào phần tử , , cho phép thuộc tính tương đồng DTD Khả thay phần tử kiểu Lược đồ XML cung cấp chế nhóm thay cho phép phần tử (kiểu) thay phần tử (kiểu) khác Cụ thể hơn, phần tử gán cho nhóm phần tử đặc biệt mà xem có khả thay cho phần tử có tên đặc biệt gọi phần tử đầu Các phần tử nhóm thay phải có kiểu phần tử đầu, có kiểu dẫn xuất từ kiểu phần tử đầu Tương tự thay phần tử, lược đồ XML đưa khả thay kiểu, tức khả thay nội dung phần tử nội dung khác Nguyên lý thay kiểu kiểu sở thay kiểu dẫn xuất Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 99 Phụ lục Kiểu trừu tượng phần tử trừu tượng Lược đồ XML đưa khái niệm kiểu trừu tượng phần tử trừu tượng Như thường thấy mơ hình hóa hướng đối tượng, kiểu trừu tượng khơng trực tiếp có kiểu cụ thể Nếu phần tử khai báo kiểu trừu tượng tài liệu thể XML mơ hình nội dung phần tử khơng phải kiểu trừu tượng kiểu dẫn xuất kiểu trừu tượng Khái niệm trừu tượng áp dụng cho phần tử Nếu phần tử khai báo trừu tượng tài liệu thể XML phần tử khơng xuất phần tử thuộc nhóm thay cho phần tử trừu tượng lại xuất vị trí Ràng buộc tồn vẹn Lược đồ XML hỗ trợ ràng buộc toàn vẹn ràng buộc tồn vẹn tham chiếu biết mơ hình quan hệ: nhất, khóa khóa tham chiếu Duy nhất/khóa danh sách thuộc tính phải nhận dạng mục tập nút đánh địa chọn (là biểu diễn XPath hạn chế) Cơ chế mạnh khái niệm ID/IDREF DTD Lược đồ XML có nhiều ràng buộc tham chiếu đồng như: - Nội dung phần tử định nghĩa - Các thuộc tính khơng mục (non-ID) khai báo khóa - Sự kết hợp nội dung phần tử thuộc tính khai báo khóa, tức khơng mà diện không rỗng - Lược đồ XML phân biệt khóa - So sánh trường khóa tham chiếu trường khóa so sánh giá trị mà xâu Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thơng tin 100 Phụ lục Phụ lục C: Thuật tốn Hirst St-Onge Quan hệ từ Kỹ thuật đối sánh thuật ngữ đề xuất chương sử dụng ba loại quan hệ: quan hệ mạnh (extra-strong) từ nhắc lại nguyên thể nó, quan hệ mạnh (strong): gồm ba kịch giải thích mục 3.2.2 chương quan hệ trung bình (medium), xảy có đường dẫn phép kết nối synset liên kết với từ Các định nghĩa đường dẫn phép sử dụng phân loại quan hệ synset WordNet thành liên kết lên, xuống ngang Bảng C.1 sau đưa ví dụ quan hệ synset WordNet hướng tương ứng chúng Cịn hình C.1 sau ví dụ đường dẫn phép không phép Dựa định nghĩa đường dẫn phép lấy chiều dài lớn đường dẫn phép 4, ta phân biệt bảy trường hợp minh họa hình C.2 Quan hệ Hướng Also see Horizontal Attribute Horizontal Cause Down Entailment Down Holonymy Down Hypernymy Up Hyponymy Down Meronymy Up Pertinence Horizontal Similarity Horizontal Bảng C.1 Phân loại quan hệ WordNet thành hướng Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thơng tin 101 Phụ lục Hình C.1 Đường dẫn phép khơng phép thuật tốn Hirst St-Onge 1 5 5 4 3 3 7 6 6 2 Các nút đồ thị mô tả synset từ (word) Các quan hệ ngữ nghĩa từ chai thành bốn loại: Tương đương (Equivalent): tồn hay nhiều liên kết ngang synset từ (trường hợp 3) Rộng (Broader than): tồn hay nhiều liên kết lên hai synset (trường hợp 1) liên kết lên theo sau liên kết ngang (trường hợp 5) Liên quan tới (Related-to): tồn liên kết lên theo sau liên kết xuống liên kết ngang (hai từ có từ bao (hypernym) chung) (trường hợp 4) Hẹp (Narrower than): tồn (hoặc nhiều) liên kết xuống hai synset (trường hợp 2) liên kết xuống theo sau liên kết ngang (trường hợp 7) Hình C.2: Phân loại quan hệ ngữ nghĩa WordNet Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 102 Phụ lục Thuật toán đối sánh thuật ngữ // Quan hệ mạnh if (word1=word2) return 24; else // Quan hệ mạnh S1=synsetsOf(word1); S2=synsetsOf(word2); foreach s1 in S1 H1=horizontalSynsets(word1); U1=UpwardSynsets(word1); D1=DownwardSynsets(word1); foreach s2 in S2 H2=horizontalSynsets(word2); U2=UpwardSynsets(word2); D2=DownwardSynsets(word2); if s1=s2 then return 16; if (s1 is In(H2) or s2 is In(H1)) return 16; if (s1 is In(U2) or s1 is In(D2)) return 16; if (s2 is In(U1) or s2 is In(D1)) return 16; endif // Quan hệ trung bình listOfWeight=medStrong(0,0,0,s1,S2); return (max(listOfWeight)); MedStrong (state, distance, chdir, from, To) if ((from is In(To) and (distance > 1)) // tìm thấy đường dẫn listOfWeigth.add(8-distance-chdir); return true; endif if (distance >= 5) // đường dẫn dài return false; endif if (state = 0) H=horizontalSynsets(from); U=UpwardSynsets(from); D=DownwardSynsets(from); retU=retD=retH=false; foreach u in U retU=retU or medStrong(1,distance+1,0,h, To); // thử lên (state =1) foreach d in D retD=retD or medStrong(2,distance+1,0,d, To); // thử xuống (state =2) foreach h in H retH=retH or medStrong(3,distance+1,0,d, To); // thử ngang (state =3) return (retU or retD or retH); endif if (state = 1) // thay đổi hướng lên, sau chuyển sang lên ngang H=horizontalSynsets(from); U=UpwardSynsets(from); D=DownwardSynsets(from); retU=retD=retH=false; foreach u in U retU=retU or medStrong(1,distance+1,0,h, To); // thử lên (state =1) foreach d in D retD=retD or medStrong(4,distance+1,1,d, To); // thử xuống (state =4) foreach h in H retH=retH or medStrong(5,distance+1,1,d, To); // thử ngang (state =5) return (retU or retD or retH); endif Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin 103 if (state = 2) // xuống H=horizontalSynsets(from); D=DownwardSynsets(from); retD=retH=false; foreach d in D retD=retD or medStrong(2,distance+1,0,d, // thử xuống (state =2) foreach h in H retH=retH or medStrong(6,distance+1,0,d, // thử ngang (state =6) return (retD or retH); endif if (state = 3) // ngang H=horizontalSynsets(from); D=DownwardSynsets(from); retD=retH=false; foreach d in D retD=retD or medStrong(7,distance+1,0,d, // thử xuống (state =7) foreach h in H retH=retH or medStrong(3,distance+1,0,d, // thử ngang (state =3) return (retD or retH); endif if (state = 4) // lên xuống D=horizontalSynsets(from); retD=false; foreach d in D retD=retD or medStrong(4,distance+1,0,d, // thử ngang (state =4) return (retD); endif if (state = 5) // lên ngang H=horizontalSynsets(from); D=DownwardSynsets(from); retD=retH=false; foreach d in D retD=retD or medStrong(4,distance+1,2,d, // thử xuống (state =4) foreach h in H retH=retH or medStrong(5,distance+1,1,d, // thử ngang (state =5) return (retD or retH); endif if (state = 6) // xuống ngang H=horizontalSynsets(from); retH=false; foreach h in H retH=retH or medStrong(6,distance+1,1,d, // thử ngang (state =6) return (retH); endif if (state = 7) // ngang xuống D=horizontalSynsets(from); retD=false; foreach d in D retD=retD or medStrong(7,distance+1,1,d, // thử ngang (state =7) return (retD); endif Phụ lục To); To); To); To); To); To); To); To); To); Võ Sỹ Nam Luận văn cao học – chuyên ngành công nghệ thông tin Danh mục tài liệu tham khảo [1] S Amer-Yahia, S Cho, D Srivastava Tree Pattern Relaxation, EDBT, 2002 [2] A Budanitsky, G Hirst Semantic distance in WordNet: An experimental, application oriented evaluation of five measures, 2003 [3] D Carmel, N Efraty, G.M Landau, Y.S Maarek, Y Mass An Extension of the vector space model for querying XML documents via XML fragments Second Edition of the XML and IR Workshop, In SIGIR Forum, Volume 36 Number 2, Fall 2002 [4] G Cobena, S Abiteboul, A Marian Detecting changes in XML Documents In ICDE, 2002 [5] H.H Do, S Melnik, E Rahm Comparison of schema matching evaluations In Proceedings of the second International Workshop on Web Databases, 2002 [6] A.H Doan Learning to map between structured representations of data PhD thesis, University of Washington, 2002 [7] Lexical chains as representations of context for the detection and correction of malapropisms In: Christiane Fellbaum (editor), WordNet: An electronic lexical database, Cambridge, MA: The MIT Press, 1998 [8] ISO, Information Processing- Text and Office systems- Standard Generalization Markup Language (SGML), (ISO 8879:1986), International Organisation for Standardisation, Geneva, 1986 [9] P Leinonen Automating XML Document Structure Transformations In Proceedings of the ACM Symposium on Document Engineering, France, 2003 [10] G Linden Structured document transformations Report A-1997-2 CS Department of University of Helsinki, Finland, 1997 [11] J Madhavan, P.A Bernstein, E Rahm Generic schema matching with Cupid In Proceedings of the International Conference on Very Large Databases (VLDB), 2001 [12] S Melnik, H Garcia-Molina, E Rahm Similarity Flooding: A versatile Graph Matching Algorithm and its Application to Schema Matching In Proceedings of the 18th International Conference on Data Engineering, 2002 [13] R Miller The Clio Project: managing heterogeneity ACM SIGMOD Record 30(1): 78-83, 2001 [14] A G Miller (1995) WordNet: A lexical Database for English ACM 38 (11), pages 39-41, 1995 [15] Mong Li Lee, Liang Huai Yang, Wynne Hsu, Xia Yang XClust: Clustering XML Schemas for Effective Integration, in 11th ACM International Conference on Information and Knowledge Management, McLean, Virginia, November 2002 [16] E Pietriga, J-Y Vion-Dury, V Quint Vxt: a visual approach to XML transformations In Proceedings of the ACM Symposium on Document Engineering, 2001 [17] E Rahm and P.A Bernstein A survey of approaches to automatic schema matching In VLDB Journal, pages 10: 334-350, 2001 [18] N Routledge, L Bird, A Goodchild UML and XML Schema, ADC, 2002 [19] D Shasha, J Wang, K Zhang, and F Shih Fast algorithms for the unit cost editing distance between trees In Journal of Algorithms, pages 581-621, 1990 [20] L Xu Source Discovery and Schema Mapping for Data Integration, PhD thesis, 2003 [21] L Zamboulis XML Schema Matching & XML Data Migration & Integration: A Step Towards The Semantic Web Vision Technical Report, 2003 [22] A Boukottaya Schema Matching for Transforming Structured Documents In DocEng'05, 2-4, 2005 [23] A Vernet XML transformation languages Có thể xem tại: http://www.scdi.org/~avernet/misc/xml-transformation [24] XML Schema, W3C Recommendation, 2004 Có thể xem tại: http://www.w3.org/TR/REC-xml/ [25] XML Schema Part 0: Primer, W3C Recommendation, 2004 Có thể xem tại: http://www.w3.org/TR/xmlschema-0/ [26] XML Schema Part 1: Structures, W3C Recommendation, 2004 Có thể xem tại: http://www.w3.org/TR/xmlschema-1/ [27] XML Schema Part 2: Datatypes, W3C Recommendation 2004 Có thể xem tại: http://www.w3.org/TR/xmlschema-2/ [28] XSL Transformations (XSLT), W3C Recommendation, 2004 Có thể xem tại: http://www.w3.org/TR/xslt/ ... công nghệ thông tin iii Đối sánh tự động lược đồ XML Chương Đối sánh tự động lược đồ XML 47 3.1 Tổng quan đối sánh tự động lược đồ XML .48 3.2 Đo độ tương đồng ngôn ngữ ... Chương 3: Đối sánh tự động lược đồ XML Chương mô tả giải pháp đối sánh tự động lược đồ XML, đánh giá giải pháp mơ tả ứng dụng điển hình cho đối sánh lược đồ, vấn đề chuyển đổi tự động tài liệu XML. .. đề đối sánh lược đồ XML 2.1.1 Đối sánh ngữ nghĩa đối sánh cú pháp Như đề cập chương trước, đối sánh lược đồ thường định nghĩa trình tìm kiếm tương đồng lược đồ dựa ngữ nghĩa chúng Do đối sánh lược

Ngày đăng: 17/05/2021, 23:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN