Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
408 KB
Nội dung
Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu - Mục lục PHẦN I: TỔNG QUAN VỀ HỆ THỐNG TÍCH HỢP DỮ LIỆU BẰNG XML I)GIỚI THIỆU II)CÁC KIẾN THỨC CƠ SỞ CỦA HỆ THỐNG 1)XML 2)RDF 3)Ontology III)KIẾN TRÚC VÀ CÁC THÀNH PHẦN CỦA HỆ THỐNG 1)Kiến trúc: 2)Các thành phần hệ thống .7 a)Meta Data b)Khối tương tác MetaData c)Wrapper .9 d)Query Engine e)Tách truy vấn f)Hợp liệu 10 g)Giao tiếp mạng: 10 PHẦN II: TÁCH TRUY VẤN VÀ HỢP DỮ LIỆU TRONG HỆ THỐNG TÍCH HỢP DỮ LIỆU BÁN CẤU TRÚC 11 I)TÁCH TRUY VẤN: 11 1)Biểu diễn truy vấn người dùng: 11 2)Truy vấn liệu XQuery: 13 3)Tách truy vấn: 16 a)Phân tích từ vựng 18 b)Phân tích cú pháp 19 c)Phân tích cấu trúc 19 d)Lấy ánh xạ tương ứng từ MetaData .20 e)Xây dựng câu truy vấn cho nguồn: 21 II)HỢP DỮ LIỆU: 22 PHẦN III: CÀI ĐẶT HỆ THỐNG TÍCH HỢP DỮ LIỆU .23 1)CÀI ĐẶT BỘ CÔNG CỤ TRUY VẤN DỮ LIỆU XML 23 2)CÀI ĐẶT CÁC THÀNH PHẦN CỦA HỆ THỐNG 23 a)Giao tiếp mạng: .23 b)Khối giao tiếp Meta Data: .25 c)Khối tách truy vấn hợp liệu 25 PHẦN IV:KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 28 1)KẾT QUẢ ĐÃ ĐẠT ĐƯỢC 28 2)HƯỚNG PHÁT TRIỂN .28 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu - Tổng quan Trong thời đại bùng nổ thông tin nay, nguồn thông tin vô dồi phong phú Chúng tồn nhiều nơi nhiều dạng khác Dữ liệu lưu dạng có cấu trúc sở liệu quan hệ, sở liệu hướng đối tượng dạng cấu trúc liệu Text: Doc, Excel Hiện nay, việc thu thập, tích hợp để lấy thông tin cần thiết vô quan trọng có ý nghĩa sống cá nhân tổ chức Nhờ nắm bắt thông tin cách nhanh chóng xác mà cá nhân hay tổ chức đưa định cách đắn kịp thời.Tuy nhiên với nguồn liệu vô phong phú đa dạng việc tập hợp thông tin cần thiết khó khăn nhân tổ chức Do vậy, việc xây dựng hệ thống tích hợp liệu yêu cầu cấp thiết Trong hệ thống tích hợp gồm nhiều phân hệ Mỗi phân hệ vấn đề nghiên cứu Trong phạm vi đồ án thực tập tốt nghiệp này, em nghiên cứu cài đặt thành phần tách truy vấn hợp liệu hệ thống tích hợp liệu bán cấu trúc Đây thành phần quan trọng hệ thống Thành phần đảm nhiệm việc nhận câu truy vấn từ người dùng tiến hành tách truy vấn xây dựng câu truy vấn cho nguồn liệu Sau có kết truy vấn thành phần tiến hành hợp liệu để thông tin cần thiết Bản báo cáo đồ án có phần Phần I trình bày tổng quan hệ thống tích hợp liệu bán cấu trúc XML Phần II trình bày việc tách truy vấn hợp liệu Phần III trình bày công việc cài đặt thành phần tách truy vấn hợp liệu hệ thống Phần IV trình bày kết đạt hướng phát triển Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu - Phần I: Tổng quan hệ thống tích hợp liệu XML I)Giới thiệu Hệ thống tích hợp liệu cung cấp cho người sử dụng giao diện đơn giản dễ dùng để lấy thông tin cần thiết Hệ thống lấy liệu từ nhiều nguồn khác Các nguồn liệu tồn nhiều nơi nhiều dạng khác liệu có cấu trúc, bán cấu trúc Hệ thống ta không đơn tìm thông tin từ nguồn mà phải tích hợp nguồn thông tin khác thành nguồn thông tin cần thiết cho người sử dụng Tuy nhiên việc hợp liệu vấn đề đơn giản Các nguồn liệu nhiều dạng khác Do để hợp ta cần đưa dạng thống Không vậy,vấn đề hệ thống tích hợp liệu tồn liệu không đồng ngữ nghĩa cấu trúc: • Tồn trường hợp nhiều nguồn liệu có khái niệm tên khái niệm khác • Nhiều nguồn liệu có khái niệm khác tên khái niệm • Một khái niệm nguồn liệu hợp nhiều khái niệm nguồn khác • Các khái niệm nguồn có cấu trúc khác Những vấn đề khó khăn cho hệ thống tích hợp liệu Trên giới có nhiều công trình nghiên cứu liên quan đến vấn đề có nhiều giải pháp khác Trong hệ thống tích hợp liệu ta, ta sử dụng liệu XML liệu thống cho tích hợp XML ngôn ngữ đánh dấu mở rộng tổ chức W3C phát triển chuẩn hoá cho mục đích biểu diễn trao đổi liệu Web XML ngôn ngữ linh hoạt có số ưu việt nên sử Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu dụng chuẩn biểu diễn liệu bán cấu trúc Các nguồn liệu khác hệ thống chuyển dạng chuẩn thống XML tích hợp Để giải vấn đề hỗn tạp ngữ nghĩa cấu trúc, hệ thống sử dụng thông tin từ khối MetaData để tích hợp liệu Khối MetaData chứa lược đồ tổng thể ánh xạ lược đồ tổng thể với nguồn cục Người sử dụng dựa vào lược đồ tổng thể để đưa câu truy vấn lấy liệu Hệ thống tiến hành phân tích câu truy vấn, lấy ánh xạ tương ứng với khái niệm lược đồ tổng thể từ lược đồ cục bộ, xây dựng câu truy vấn cho nguồn cục Wrapper nguồn dựa vào câu truy vấn thông tin tiến hành lấy liệu từ nguồn trả lại kết dạng XML Sau có kết từ nguồn cục hệ thống dựa vào MetaData để tiến hành tích hợp liệu II)Các kiến thức sở hệ thống 1)XML XML, ngôn ngữ đánh dấu mở rộng- Extensible Markup Language, tổ chức W3C phát triển chuẩn hóa cho mục đích biểu diễn trao đổi liệu Web Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu XML ngôn ngữ đánh dấu giống HTML HTML định dạng cách thể liệu liệu phải hiểu người Trong với XML liệu hiểu máy nhờ máy tính dễ dàng trao đổi xử lý liệu Bên cạnh XML biểu diễn liệu không theo khuân dạng định trước thẻ định nghĩa người tự đặt Do XML cho phép lưu trữ liệu theo mô hình ta dễ dàng chuyển đổi liệu từ định dạng khác XML Tài liệu XML nhóm liệu phần tử giới hạn thẻ đóng, mở phần tử liệu Các thẻ đóng mở lồng nhờ ta biểu diễn cấu trúc đối tượng Có kiểu tài liệu XML : • Tài liệu XML hợp khuân dạng (well-formed Document ): tài liệu phải thể theo chuẩn cấu trúc cú pháp định • Tài liệu XML hợp lệ (valid Document ): Trong tài liệu ta phải có định nghĩa kiểu tư liệu DTD để khai báo tư liệu cấu trúc tài liệu DTD (Document Type Definition): Khi định nghĩa thẻ XML, ta tuỳ ý định cách sử dụng chúng Ví dụ ta định phần tử chứa liệu Text chứa phần tử khác , Phần tử chứa thêm thẻ < PAGE_COUNT> hay đơn giản lưu nội dung text trang sách Tuy nhiên để rõ ràng, ta nên định nghĩa kiểu liệu mà phần tử biểu diễn Một tài liệu XML xem hợp lệ có giá trị toàn phần tử tài liệu định nghĩa kiểu (type definition) mà chứa Việc định nghĩa kiểu liệu cho phần tử thẻ gọi định nghĩa kiểu tư liệu (DTD - Document Type Definition) Khi tài liệu XML có định nghĩa DTD, rõ ràng chưa cần xem qua toàn nội dung tài liệu ta biết ý nghĩa cấu trúc toàn tài liệu 2)RDF RDF cung cấp cách thức định nghĩa mô tả tài nguyên cách chuẩn hóa RDF tảng để xử lý siêu liệu đặc biệt tài nguyên Web RDF dựa mô hình liệu đồ thị sử dụng định dạng XML để xử lý siêu liệu RDF phân biệt làm loại lược đồ RDF mô tả RDF Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu RDF sử dụng để mô tả kiểu tài nguyên mà chúng định danh URI Mô hình liệu RDF gồm thành phần : • Resource : thể đối tượng thông tin giới thực qua URI (định danh tài nguyên thống ) • Property: mô tả thuộc tính, tính chất quan hệ tài nguyên • Statement : Một tài nguyên cụ thể với thuộc tính giá trị gọi RDF statement Có thành phần độc lập statement gọi subject, predicate, object Ngôn ngữ đặc tả lược đồ RDF ngôn ngữ kiểu khai báo sử dụng để định nghĩa RDF schema Ngôn ngữ kết hợp từ mô hình biểu diễn ngữ nghĩa, ngôn ngữ định nghĩa lược đồ sở liệu mô hình đồ thị Một lược đồ RDF định nghĩa lớp thuộc tính mà chúng thể RDF Trong hệ thống tích hợp liệu ta RDF schema dùng để biểu diễn Ontology 3)Ontology Ontology đặc tả hình thức tường minh quy cho khái niệm thuộc lĩnh vực Ontology biểu diễn cho cấu trúc thông tin bao gồm khái niệm mối quan hệ khái niệm.Xét hình thức Ontology không khác so với lược đồ khái niệm Ontology có tính tổng quát Lược đồ khái niệm nguồn liệu phải biểu diễn cấu trúc thông tin nguồn Ontology không biểu diễn cấu trúc thông tin nguồn cụ thể mà đưa cấu trúc liên ứng nhóm nguồn liệu, diễn giải cụ thể với nguồn thông qua chế ánh xạ thông tin Trong hệ thống tích hợp liệu bán cấu trúc ta, nguồn liệu biểu diễn dạng khác nên trình tích hợp liệu dễ dàng xác ta phải chuyển thể liệu từ mức vật lý thành mức khái niệm Ontology đựơc dùng để thể mức khái niệm nguồn liệu Nhờ có Ontology mà ta biểu diễn liệu từ nguồn không đồng thành dạng thống mức khái niệm Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu - III)Kiến trúc thành phần hệ thống 1)Kiến trúc: Client Client Client Giao tiÕp m¹ng Server TÝch hîp T¬ng Hîp d÷ liÖu t¸c Meta Data Giao tiÕp m¹ng T¸ch truy vÊn Giao tiÕp m¹ng Wrapper Query Engine D÷ liÖu XML Text Meta Data Giao tiÕp m¹ng Query Engine D÷ liÖu XML ODB 2)Các thành phần hệ thống a)Meta Data Lưu thông tin Lược đồ tổng thể ánh xạ lược đồ tổng thể lược đồ cục Về lược đồ tổng thể ánh xạ xây dựng dựa lược đồ cục Các nguồn liệu phong phú nhiều chủ đề khác Wrapper đưa lược đồ cục cho nguồn (DTD) Kỹ sư tri thức dựa vào lược đồ cục để xây dựng lược đồ tổng thể ánh xạ Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu Lược đồ tổng thể ánh xạ biểu diễn mô hình Ontology mô tả xác đầy đủ mối quan hệ thành phần nguồn liệu Đồng thời giải vấn đề hỗn tạp ngữ nghĩa, cấu trúc tích hợp liệu Mô tả lược đồ SubClassof xy Man Relation "xy" Woman Workfor Company Class Person Employ Property Name Address Mô tả ánh xạ SemanticBridgeAlt ConceptBridge ConceptBridge Man Woman Workfor Company Employ Workfor Sex ConceptBridge Person AttributeBridge Person AttributeBridge AttributeBridge Name Address Name Address Mapping Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu Các mô hình thể lưu trữ file XML RDF XML linh hoạt với tag người dùng tự định nghĩa nên ta hoàn toàn dùng XML để biểu diễn mô hình RDF chuẩn để biểu diễn Ontology b)Khối tương tác MetaData Khối thực giao tiếp với MetaData để phục vụ cho trình tách truy vấn hợp liệu Đầu vào khái niệm cần tìm ứng với lược đồ tổng thể Đầu các khái niệm cục tương ứng ánh xạ c)Wrapper Nhiệm vụ Wrapper nhận câu truy vấn, phân tích câu truy vấn chuyển liệu cần thiết từ dạng khác liệu dạng XML Ngoài Wrapper phải đưa lược đồ cục (DTD) cho nguồn liệu để phục vụ cho công việc tích hợp lược đồ Do kích thước sở liệu vô lớn nên ta thực việc chuyển đổi toàn sở liệu dạng XML sau tích hợp vừa lãng phí tài nguyên lưu trữ thời gian chuyển đổi Do Wrapper ta có nhiệm vụ chính: • Đưa lược đồ cục cho nguồn liệu việc đưa DTD • Chuyển đổi liệu yêu cầu dạng XML để phục vụ cho truy vấn tiến hành truy vấn để đưa kết quả.Ví dụ truy vấn yêu cầu đưa tên tác giả sách Wrapper chuyển đổi liệu tên tác giả thành XML Dữ liệu XML liệu chuyển đổi theo yêu cầu Khi có truy vấn Query Engine tìm liệu XML, có truy vấn Nếu chưa có thực chuyển đổi Wrapper d)Query Engine Query Engine thành phần Wrapper truy vấn nguồn liệu XML đưa kết dạng XML Truy vấn XML sử dụng XQuery để truy vấn Hiện hệ thống sử dụng thư viện QLogic để tiến hành truy vấn XQuery nguồn liệu XML e)Tách truy vấn Khối tách truy vấn thực phân tích câu truy vấn tổng thể để tìm khái niệm cần tìm, từ khoá, điều kiện Khối tách truy vấn dựa khối tương tác MetaData để lấy khái niệm tương ứng nguồn cục Từ xây dựng nên câu truy vấn ứng với nguồn Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu - f)Hợp liệu Khối lấy kết liệu từ nguồn, dựa vào khối tương tác Meta để tìm mối liên hệ tiến hành hợp kết Việc hợp phải tuân theo số tiêu chuẩn định Những tiêu chuẩn người sử dụng yêu cầu kỹ sư tri thức quy định Việc hợp phải giải vấn đề khó khăn việc tích hợp liệu hỗn tạp ngữ nghĩa, cấu trúc Việc hợp liệu truy vấn XQuery Engine Bộ tiến hành xây dựng liệu XML từ liệu có g)Giao tiếp mạng: Khối đảm bảo việc truyền thông qua mạng Nó phải đảm bảo xây dựng gói liệu để lưu câu truy vấn kết để truyền thông Khối có công việc • Kết nối • Truyền thông - 10 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu {$a/price/text()} {$b/price/text()} } Thay đổi cấu trúc: Ví dụ: Đối với tác giả liệt kê tên tác giả tựa đề tất sách viết tác giả Kết đặt tag Result { for $a in distinct-values($bib//author) return { $a }{ for $b in $bib/book where some $ba in $b/author satisfies $ba = $a return $b/title } } Truy vấn lồng nhau: XQuery có khả hỗ trợ truy vấn lồng Ví dụ cho ta thấy điều Sắp xếp liệu sau truy vấn: Ví dụ : Đưa titles years tất sách xuất Addison-Wesley sau năm 1991, xếp theo thứ tự { for $b in $bib/book where $b/publisher = "Addison-Wesley" and $b/@year > 1991 return { $b/@year }{ $b/title } sortby (./title) } Hợp nhiều nguồn liệu thành liệu thống Ta đưa ví dụ dựa nguồn XML sau: • parts.xml chứa đựng nhiều part Mỗi part chứa đựng partno description • suppliers.xml chứa đựng nhiều supplier Mỗi supplier chứa đựng suppno suppname • catalog.xml chứa quan hệ parts suppliers Nó chứa nhiều item Mỗi item chứa partno,suppno price Ví dụ: Hợp liệu từ nguồn thành nguồn thống với tag gốc Nó tương tự catalog.xml thay partno descriptions thay suppno suppname - 15 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu { for $i in document("catalog.xml")//:item, $p in document("parts.xml")//part[partno = $i/partno], $s in document("suppliers.xml")//supplier[suppno = $i/suppno] return { $p/description, $s/suppname, $i/price } sortby(description, suppname) } Truy vấn số lượng ( quantifier) Sử dụng từ khoá some, every theo sau với mệnh đề để thể biểu thức số lượng Với từ khoá some biểu thức số lượng có giá trị Với từ khoá every biểu thức số lượng tất giá trị Ví dụ: Biểu thức sau thành phần part có thuộc tính discounted every $part in //part satisfies $part/@discounted Biểu thức sau có thành phần employee thoả mãn biểu thức so sánh some $emp in //employee satisfies ($emp/bonus > 0.25 * $emp/salary) 3)Tách truy vấn: Từ truy vấn người dùng đưa vào hệ thống tiến hành phân tích tách câu truy vấn, xây dựng câu truy vấn XQuery cho nguồn Qúa trình tách truy vấn gồm công việc sau: • Phân tích từ vựng • Phân tích cú pháp • Phân tích cấu trúc • Lấy ánh xạ tương ứng từ MetaData • Xây dựng câu truy vấn cho nguồn Sau ta vào chi tiết phần Để minh hoạ cho việc tách truy vấn ta sử dụng ví dụ xuyên suốt phần công việc tách truy vấn Ví dụ: Có nguồn cục Nguồn cục lưu dạng liệu XML với DTD thể cấu trúc liệu XML sau: - 16 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu DTD nguồn 2: ]> DTD nguồn 1: ]> Lược đồ cục nguồn lược đồ tổng thể sau: - 17 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu - a)Phân tích từ vựng Phân tích từ vựng trình đọc dòng ký tự nguồn từ trái sang phải để nhóm thành thẻ từ, chuỗi ký tự liền nhóm lại với để tạo ngữ nghĩa chung ví dụ phân tích biểu thức đại số điều kiện truy vấn cần phải phân tách dòng ký tự thành thành phần tên khái niệm cần lấy điểu kiện vế trái, dấu so sánh (,=,>=,,=,) Từ câu truy vấn đầu vào hệ thống dựa ký tự để tách câu truy vấn thành thẻ từ Mỗi gặp ký tự cách, ký tự so sánh xác định thẻ từ Khi gặp kí tự bao gặp kí tự đóng xác định thẻ từ Ví dụ: Đưa tên sách tác giả tên 'Tom Franki" 'David Thomson' viết sách xếp theo thứ tự bảng chữ Câu truy vấn người dùng: Select Book.Title as Sach.Tuade where Book.Author.Name='Tom Franki' and Book.Author.Name='David Thomson' Orderby Book.Title - 18 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu Từ câu truy vấn đầu vào hệ thống tách thành thẻ từ có nghĩa sau:Select, Book.Title, as, Sach.Tuade, where, Book.Author.Name, =, 'Tom Franki', and, =, 'David Thomson', Orderby, Book.Title b)Phân tích cú pháp Phân tích cú pháp kiểm tra đảm bảo thành phần câu truy vấn kết lại với cách có nghĩa.Giai đoạn kiểm tra lỗi ngữ nghĩa câu truy vấn.Giai đoạn xác định cấu trúc, từ khoá thành phần câu truy vấn Mỗi có lỗi hệ thống thông báo lỗi thoát Trong câu truy vấn thẻ từ phải Select Nếu không báo lỗi thiếu từ khoá Sau thẻ từ từ khoá khái niệm( trừ từ khoá DECS ASC) Nếu chương trình kiểm tra thấy có từ khóa gần hay sau từ khoá mà khái niệm chương trình báo lỗi Sau từ khoá where phải xác định được biểu thức điều kiện Nếu không chương trình báo lỗi Ví dụ: Câu truy vấn ta viết sau thông báo lỗi Book.Title as Sach.Tuade where Select as Sach.Tuade where ='Tom Franki' c)Phân tích cấu trúc Phân tích cấu trúc xác định từ khoá từ lấy cấu trúc câu truy vấn gồm thành phần Câu truy vấn gồm thành phần lựa chọn (Select) điều kiện (where) Chương trình dựa vào để xác định thành phần câu truy vấn thành phần lựa chọn liệu, định dạng liệu trả ( sau từ khoá as), biểu thức điều kiện, xếp (order) Ví dụ: Câu truy vấn đầu vào Select Book.Title as Sach.Tuade where Book.Author.Name='Tom Franki' and Book.Author.Name='David Thomson' Orderby Book.Title Chương trình phân tích thành phần sau: • Thành phần lựa chọn: Book.Title • Thành phần định dạng liệu trả về: Sach.Tuade • Thành phần biểu thức điều kiện: Book.Author.Name, =, 'Tom Franki', and, Book.Author.Name, =, 'David Thomson' • Thành phần xếp: Book.Title - 19 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu Tuy nhiên chương trình công đoạn thực xen kẽ Mô hình phân tích minh hoạ sau d)Lấy ánh xạ tương ứng từ MetaData B Sau câu truy vấn phân tích thành thành phần lựa chọn, định dạng đầu ra, điều kiện, xếp hệ thống tiến hành lấy ánh xạ thành phần tương ứng nguồn cục ánh xạ lấy thông qua khối giao tiếp với MetaData hệ thống Đầu vào khối thành phần lược đồ tổng thể Đầu khối thành phần tương ứng nguồn cục Lược đồ tổng thể biểu diễn dạng Ontology Nó thể lớp mối quan hệ lớp với nhau.Các xâu thành phần ứng với lược - 20 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu đồ tổng thể có dạng Lớp.Thuộc tính hay thể quan hệ lớp với Lược đồ cục xây dựng từ DTD XML nên có cấu trúc phân cấp gốc Do ánh xạ khái niệm thể theo lớp, thuộc tính lược đồ tổng thể khái niệm nguồn cục thể xâu gốc Ví dụ: Với lược đồ câu truy vấn Sau tách thành thành phần ánh xạ tương ứng O: Book.Title O1: Writer.Book O2: Publication.Title(Publication.Book) O:Book.Author.Name O1:Writer.Name O2:Publication.Author.Name (Publication.Book) Với ánh xạ đơn giản khái niệm lược đồ tổng thể tương ứng với khái niệm lược đồ cục với thể từ gốc Tuy nhiên với ánh xạ thành phần cấu trúc không đồng với ánh xạ 1-n ta cần có thể khác Khó khăn: Cấu trúc không đồng Trên lược đồ tổng thể ta lấy tựa đề sách Book.Title Lớp Book kế thừa từ lớp Publishcation nên thừa hưởng thuộc tính Title lớp Publiction Tuy khái niệm trả lại nguồn cục thể từ gốc chưa đủ Như ta thấy nguồn khái niệm Title bắt nguồn từ gốc Publication chưa thể xác định yêu cầu tìm Book.Title thẻ nguồn ngang cấp Do ta phải cung cấp thêm thông tin để xây dựng câu truy vấn e)Xây dựng câu truy vấn cho nguồn: Câu truy vấn cho nguồn xây dựng theo cú pháp câu truy vấn XQuery Từ khái niệm nguồn cục lấy phần lấy ánh xạ ta tiến hành xây dựng câu truy vấn Ví dụ với câu truy vấn: Select Author.Name as Tacgia.Ten Where Author.Style=‘Study’ Câu truy vấn cho nguồn sau: Nguồn 1: for $b in document(‘Dulieu.xml’)/ Document/Writer, $c in $b/Name where $b/WritingStyle=‘Study’ return {$c} Nguồn 2: for $b in document(‘Dulieu.xml’)/Document/Publication/Author, $c in $b/Name where $b/Style=‘Study’ return {$c} - 21 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu Việc xây dựng câu truy vấn cho nguồn đồng thời quy định cấu trúc kết trả Cấu trúc kết trả cấu trúc mà người sử dụng yêu cầu hệ thống Nhờ việc quy định cấu trúc trả thống mà việc hợp kết dễ dàng Các nguồn cục sau nhận câu truy vấn tiến hành thực thi câu truy vấn liệu XML trả lại kết cho phận tích hợp liệu II)Hợp liệu: Dữ liệu sau nhận từ nguồn cần tích hợp để có kết Tích hợp liệu không đơn giản ghép liệu nguồn với Khó khăn: • Hỗn tạp ngữ nghĩa • Cấu trúc khác • Dữ liệu có số nguồn • Mỗi nguồn có phần kết Ví dụ: Chọn Author.Name, Author.University Nguồn 1: Author.Name Boehman Kyoko Koler Author.University Offord Null Brenber Nguồn 2: Author.Name Author.University Boehman Offord Kyoko Tokyo Maculini Milan Từ liệu trả từ nguồn ta thấy: Các liệu trùng lặp Author.Name Boehman Author.University Offord ta hợp Nhưng có liệu trùng phần liệu thứ nguồn Ta hợp không hợp Những tiêu chuẩn để hợp đưa vào hệ thống để quy định cách hợp Đối với liệu thông thường không trùng lặp ta ghép liệu nguồn lại với Trong phạm vi thực tập tốt nghiệp việc hợp liệu đảm bảo ghép liệu nguồn loại bỏ liệu trùng lặp Câu truy vấn XQuery dùng cho truy vấn hợp liệu: Ghép nguồn liệu for $b in document(‘Dulieu1.xml')/Document ,$a in document(‘Dulieu2.xml')/ Document return {$b/Tacgia}{$a/Tacgia} - 22 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu - Loại liệu trùng lặp for $b in DISTINCT(document('Result.xml')/ Document /Tacgia/node()) return {$b} Phần III: Cài đặt hệ thống tích hợp liệu 1)Cài đặt công cụ truy vấn liệu XML Truy vấn liệu XML sử dụng câu truy vấn XQuery Câu truy vấn XQuery thực thi nhờ truy vấn liệu QuiLogic Đây truy vấn liệu cho liệu XML liệu quan hệ Truy vấn liệu XML sử dụng XQuery, truy vấn liệu quan hệ dùng SQL Bộ truy vấn hỗ trợ cho việc lập trình hầu hết ngôn ngữ VC++,VB,Delphi, Trong hệ thống ta, ta cài đặt ngôn ngữ VC++ Việc cài đặt cho truy vấn liệu XML thực Server liệu Server liệu lưu liệu XML nguồn cục Khi server liệu nhận câu truy vấn XQuery cho nguồn cục Nó thực truy vấn trả lại kết dạng file XML Cài đặt: Để sử dụng truy vấn QuiLogic với ngôn ngữ VC++ Ta phải lấy file thư viện IMDBvc.lib file Header imdb.h vào chương trình Thêm file thư viện vào chương trình Từ câu truy vấn XQuery nhận tiến hành truy vấn đưa kết CIMDb db; if( !db.ExecXql(pXQuery) ) { errCode = db.GetLastErrorNumber(); pErrText = db.GetErrorDescription(errCode); } pResult = db.Serialize(&resultSize,1,"Document"); ResultFile.Write(pResult,resultSize); 2)Cài đặt thành phần hệ thống a)Giao tiếp mạng: Giao tiếp mạng sử dụng Socket Hệ thống sử dụng lớp CSocket để thực việc chuyển gói liệu Gói liệu CMyPackage gồm thành phần mã lỗi liệu class CMyPackage : public CObject { DECLARE_SERIAL(CMyPackage) private: CString Message; int Error; - 23 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu public: CMyPackage(); virtual ~CMyPackage(); void Serialize(CArchive &ar); }; Khi truyền câu truy vấn thành phần liệu câu truy vấn Khi kết trả File XML File XML chia thành nhiều gói liệu truyền đến Server tích hợp liệu Cơ chế giao tiếp Socket Server Client // construct a socket // construct a socket CSocket sockSrvr; CSocket sockClient; // create the SOCKET // create the SOCKET sockSrvr.Create(nPort);1,2 sockClient.Create( );2 // start listening sockSrvr.Listen( ); // seek a connection sockClient.Connect(strAddr, nPort);3,4 // construct a new, empty socket CSocket sockRecv; // accept connection sockSrvr.Accept( sockRecv ); // construct file object CSocketFile file(&sockRecv); // construct file object CSocketFile file(&sockClient); // construct an archive // construct an archive CArchive arIn(&file, CArchive::load); CArchive arIn(&file, CArchive::load); -or- -or- CArchive arOut(&file, CArchive::store); CArchive arOut(&file, CArchive::store); – or Both – – or Both – - 24 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn hợp liệu data: // use the archive to pass data: // use the arIn >> dwValue; arIn >> dwValue; -or- -or- arOut [...].. .Đồ án thực tập tốt nghiệp- Tách truy vấn và hợp dữ liệu - Phần II: Tách truy vấn và hợp dữ liệu trong hệ thống tích hợp dữ liệu bán cấu trúc I )Tách truy vấn: Người sử dụng sẽ lấy thông tin qua việc thực hiện các câu truy vấn Thường người sử dụng là những người không chuyên, do vậy câu truy vấn của hệ thống cho người sử dụng phải là câu truy vấn đơn... đợt thực tập tốt nghiệp này em cũng đã nghiên cứu các phương pháp tách truy vấn và hợp dữ liệu để hình thành hướng phát triển tiến tới đồ án tốt nghiệp 2)Hướng phát triển Xây dựng hoàn thiện hệ thống tích hợp dữ liệu Đưa ra và cài đặt các phương pháp tách truy vấn và tích hợp dữ liệu một cách tổng quát - 28 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- ... HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn và hợp dữ liệu - - 27 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn và hợp dữ liệu - Phần IV:Kết quả đạt được và hướng phát triển 1)Kết quả đã đạt được Do yêu cầu của đợt thực tập tốt nghiệp là... nghiệp- Tách truy vấn và hợp dữ liệu - Loại các dữ liệu trùng lặp for $b in DISTINCT(document('Result.xml')/ Document /Tacgia/node()) return {$b} Phần III: Cài đặt hệ thống tích hợp dữ liệu 1)Cài đặt bộ công cụ truy vấn dữ liệu XML Truy vấn dữ liệu XML sử dụng câu truy vấn XQuery Câu truy vấn XQuery được thực thi nhờ bộ truy vấn dữ liệu QuiLogic Đây là bộ truy. .. bộ truy vấn dữ liệu cho dữ liệu XML và dữ liệu quan hệ Truy vấn trên dữ liệu XML sẽ sử dụng XQuery, còn truy vấn trên dữ liệu quan hệ sẽ dùng SQL Bộ truy vấn này hỗ trợ cho việc lập trình trên hầu hết các ngôn ngữ VC++,VB,Delphi, Trong hệ thống của ta, ta sẽ cài đặt trên ngôn ngữ VC++ Việc cài đặt cho bộ truy vấn dữ liệu XML được thực hiện trên Server dữ liệu Server dữ liệu sẽ lưu các dữ liệu XML... vi thực tập tốt nghiệp việc hợp dữ liệu mới chỉ đảm bảo ghép các dữ liệu ở các nguồn và loại bỏ các dữ liệu trùng lặp Câu truy vấn XQuery dùng cho truy vấn hợp dữ liệu: Ghép các nguồn dữ liệu for $b in document(‘Dulieu1.xml')/Document ,$a in document(‘Dulieu2.xml')/ Document return {$b/Tacgia}{$a/Tacgia} - 22 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- ... trúc • Xây dựng câu truy vấn con • Hợp dữ liệu Giao diện chương trình - 25 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn và hợp dữ liệu Để có thể truy vấn dữ liệu trên các nguồn Server tích hợp cần nối đến các nguồn đó Trong hình dưới Server tích hợp được nối với 2 server dữ liệu bằng việc cung... đây ta sẽ đi vào chi tiết từng phần Để minh hoạ cho việc tách truy vấn ta sẽ sử dụng một ví dụ xuyên suốt trong các phần của công việc tách truy vấn Ví dụ: Có 2 nguồn cục bộ Nguồn cục bộ được lưu dưới dạng dữ liệu XML với DTD thể hiện cấu trúc dữ liệu XML như sau: - 16 Hồ Văn Phong - HTTT - K43 Đồ án thực tập tốt nghiệp- Tách truy vấn và hợp dữ liệu ... nguồn cục bộ sau khi nhận được câu truy vấn sẽ tiến hành thực thi câu truy vấn trên dữ liệu XML và trả lại kết quả cho bộ phận tích hợp dữ liệu II )Hợp dữ liệu: Dữ liệu sau khi được nhận từ các nguồn cần được tích hợp để có được kết quả Tích hợp dữ liệu không đơn giản chỉ là ghép các dữ liệu ở các nguồn với nhau Khó khăn: • Hỗn tạp ngữ nghĩa • Cấu trúc khác nhau • Dữ liệu chỉ có ở một số nguồn • Mỗi nguồn... ánh xạ • Xây dựng câu truy vấn con Câu truy vấn con ứng với mỗi nguồn được xây dựng theo dạng truy vấn XQuery 1)Biểu diễn truy vấn người dùng: Đây là query được tự định nghĩa nhằm phục vụ việc truy vấn dữ liệu của người dùng Hệ thống thực hiện việc truy vấn trên dữ liệu XML bằng XQuery để lấy về kết quả Nhưng câu truy vấn XQuery,một loại chuẩn truy vấn do W3C đưa ra là khá phức tạp và không thân thiện