Công nghệ XML và ứng dụng

241 717 3
Công nghệ XML và ứng dụng

Đ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

TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN  TS PHẠM THỊ THU THÚY GIÁO TRÌNH NHA TRANG - 2017 Công nghệ XML ứng dụng MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT .7 LỜI MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ XML 1.1 Vì XML? 1.1.1 Ðôi nét lịch sử XML 1.1.2 XML gì? 10 1.1.3 Mục đích sử dụng XML? 10 1.1.4 XML có phải ngôn ngữ lập trình? 11 1.1.5 XML thực nào? 11 1.2 Trình soạn thảo XML (XML Editors) 11 1.3 Trình duyệt XML 12 1.4 Bộ phân tích XML (XML Parser) 13 1.5 Quy tắc cú pháp XML 14 1.5.1 Khai báo định dạng XML (XML Declaration) 15 1.5.2 Thẻ phần tử (Tags and Elements) 15 1.5.3 Quy tắc cú pháp cho thuộc tính XML 17 1.5.4 Tham chiếu XML 18 1.5.5 Text XML 18 1.6 Các kiểm tra XML (XML Validators) 18 BÀI TẬP CHƯƠNG 21 CHƯƠNG TẠO TÀI LIỆU XML HỢP KHUÔN DẠNG 22 2.1 XML hợp khuôn dạng 22 2.1.1 Điều tạo nên tài liệu XML hợp khuôn dạng? 22 2.1.2 Tạo tài liệu XML mẫu 22 2.2 Các ràng buộc hợp khuôn dạng 24 2.3 Sử dụng không gian tên XML 25 2.3.1 Xử lý xung đột tên phần tử 25 2.3.2 Sử dụng không gian tên 26 2.3.3 Thuộc tính không gian tên 26 2.3.4 Định nghĩa không gian tên với URI 27 2.3.5 Tạo không gian tên cục 28 2.3.6 Không gian tên mặc định 29 BÀI TẬP CHƯƠNG 30 CHƯƠNG ĐỊNH NGHĨA KIỂU TÀI LIỆU - DTD 31 3.1 Định nghĩa kiểu tài liệu (DTD) 31 3.1.1 Giới thiệu DTD 31 Công nghệ XML ứng dụng 3.1.2 DTD nội XML (Internal DTD) 32 3.1.3 DTD bên XML (External DTD) 33 3.1.4 Quản lý không gian tên DTD 34 3.2 Các thành phần DTD 35 3.2.1 Phần tử (Element) 35 3.2.2 Thuộc tính (Attribute) 38 3.2.3 Thực thể (Entity) 43 3.3 Dùng DTD kiểm tra tính hợp lệ XML 48 BÀI TẬP CHƯƠNG 49 CHƯƠNG LƯỢC ĐỒ XML 52 4.1 Vì dùng lược đồ XML? 52 4.2 Khai báo phần tử kiểu liệu 55 4.3 Tạo kiểu đơn giản 58 4.4 Tạo phần tử 60 4.4.1 Tạo phần tử rỗng 60 4.4.2 Tạo phần tử có nội dung hỗn hợp 61 4.4.3 Lược đồ giải (annotation schema) 62 4.4.4 Tạo lựa chọn (choices) 62 4.4.5 Tạo khai báo (sequence) 63 4.4.6 Tạo nhóm thuộc tính nhóm (attribute group) 63 4.4.7 Tạo nhóm all 64 BÀI TẬP CHƯƠNG 66 CHƯƠNG TRUY XUẤT TÀI LIỆU XML 68 5.1 Mô hình đối tượng tài liệu (DOM – Document Object Model) 68 5.2 Nạp liệu XML 70 5.2.1 Truy xuất giá trị nút 71 5.2.2 Nạp chuỗi XML 71 5.3 Giao diện lập trình 72 5.3.1 Thuộc tính XML DOM 72 5.3.2 Phương pháp XML DOM (XML DOM Methods) 72 5.3.3 Các nút DOM (DOM nodes) 72 5.4 Truy cập vào nút XML DOM 74 5.5 Truy cập vào nút 77 5.5.1 Phương thức getElementsByTagName () 77 5.5.2 Duyệt qua nút 78 5.5.3 Điều hướng nút 79 5.6 Các thuộc tính nút XML DOM 80 Công nghệ XML ứng dụng 5.6.1 Thuộc tính nodeName 80 5.6.2 Thuộc tính nodeValue 80 5.6.3 Thuộc tính nodeType 81 5.7 Danh sách nút XML DOM 81 5.7.1 Chiều dài danh sách nút 82 5.7.2 Danh sách thuộc tính DOM 83 5.8 Duyệt nút XML DOM 84 5.8.1 Khoảng trắng dòng DOM (White Spaces and New Lines) 85 5.8.2 Dữ liệu ký tự phân tích (Parsed Character Data - PCDATA) 86 5.8.3 Dữ liệu ký tự không phân tích (Unparsed Character Data - CDATA) 86 5.9 Duyệt qua nút DOM 87 5.9.1 Nút cha (ParentNode) 87 5.9.2 Tránh nút rỗng 87 5.9.3 Lấy phần tử 88 5.9.4 Lấy phần tử cuối 89 5.9.5 Lấy nút anh em 89 5.9.6 Lấy nút anh em trước 90 5.10 Lấy giá trị nút 91 5.11 Thao tác giá trị nút 92 5.11.1 Thay đổi giá trị nút 92 5.11.2 Gỡ bỏ nút (Remove nodes) 93 5.11.3 Thay nút (Replace nodes) 95 5.11.4 Tạo nút (Create nodes) 96 5.11.5 Sao chép nút (Copy nodes) 101 BÀI TẬP CHƯƠNG 103 CHƯƠNG XPATH 106 6.1 Giới thiệu XPath 106 6.2 Các nút XPath 106 6.3 Cú pháp XPath 107 6.4 Các ví dụ minh họa XPath 112 6.4.1 XPath_Cú pháp 112 6.4.2 XPath_Axis 114 BÀI TẬP CHƯƠNG 120 CHƯƠNG ĐỊNH DẠNG TÀI LIỆU XML VỚI XSLT 121 7.1 Giới thiệu XSLT 121 7.1.1 XSLT ngôn ngữ khai báo 121 7.1.2 XSLT ngôn ngữ chức 122 Công nghệ XML ứng dụng 7.1.3 Quá trình thực chương trình XSLT 123 7.2 Các phần tử XSLT 125 7.2.1 Phần tử 126 7.2.2 Phần tử 126 7.2.3 Phần tử 127 7.2.4 Phần tử 127 7.2.5 Phần tử 128 7.2.6 Phần tử 133 7.2.7 Phần tử logic có điều kiện (conditional logic) 138 7.2.8 Phần tử 141 7.2.9 Phần tử 142 7.2.10 Phần tử 143 7.2.11 Phần tử 145 BÀI TẬP CHƯƠNG 148 CHƯƠNG XQUERY 150 8.1 Cài đặt BaseX thực truy vấn 150 8.2 Câu lệnh FLWOR 151 8.2.1 Mệnh đề For 151 8.2.2 Mệnh đề let 152 8.2.3 Mệnh đề where 152 8.2.4 Mệnh đề return 152 8.2.5 Mệnh đề Order by 152 8.3 Một số ví dụ XQuery 153 8.4 Một số khái niệm XQuery nâng cao 164 BÀI TẬP CHƯƠNG 167 CHƯƠNG XML VÀ CƠ SỞ DỮ LIỆU QUAN HỆ 168 9.1 Cơ sở liệu quan hệ XML 168 9.2 Sử dụng MySQL với XML 168 9.2.1 Cài đặt MySQL 168 9.2.2 Tạo nạp CSDL MySQL 169 9.2.3 Truy vấn MySQL 170 9.2.4 Cập nhật XML MySQL 173 9.3 Sử dụng SQL Server với XML 173 9.3.1 Cài đặt SQL Server 173 9.3.2 Trình bày liệu quan hệ dạng XML 174 9.3.3 Tạo tài liệu XML SQL Server 185 BÀI TẬP CHƯƠNG 192 Công nghệ XML ứng dụng CHƯƠNG 10 LINQ VÀ MỘT SỐ ỨNG DỤNG XML 193 10.1 LINQ gì? 193 10.2 Sử dụng LINQ 193 10.2.1 Tạo tài liệu XML với LINQ 195 10.2.2 Tạo tài liệu XML với không gian tên 196 10.3 Xử lý liệu XML với LINQ 198 10.3.1 Trích xuất liệu phương thức Elements() 198 10.3.2 Sửa đổi tài liệu XML với LINQ 203 10.4 Chuyển đổi tài liệu XML 206 10.4.1 Chuyển đổi XML với LINQ 206 10.4.2 Chuyển đổi XML cách sử dụng tính XML Literals VB.NET 207 10.4.3 Hiểu thuộc tính Axis VB.NET 210 10.5 Một số ứng dụng liên quan XML 211 10.5.1 Đọc tin nhanh RSS 211 10.5.2 Chuyển đổi CSDL quan hệ sang XML 212 10.5.3 Xây dựng ứng dụng quản lý với XML 217 BÀI TẬP CHƯƠNG 10 222 CHƯƠNG 11 XML VÀ WEB NGỮ NGHĨA 224 11.1 Web ngữ nghĩa gì? 224 11.2 Kiến trúc Web ngữ nghĩa 224 11.2.1 Tầng Unicode URI 225 11.2.2 Tầng XML, NS XML Schema 225 11.2.3 Tầng RDF RDF Schema 225 11.2.4 Tầng từ vựng Ontology 225 11.2.5 Tầng Logic 226 11.2.6 Tầng Proof tầng Trust 226 11.3 RDF – Khung mô tả tài nguyên 227 11.3.1 Cấu trúc RDF/XML 228 11.3.2 RDF Container 229 11.3.3 RDF Collection 230 11.4 Ngôn ngữ Ontology 230 11.4.1 RDF Schema 231 11.4.2 OWL (Ontology Web Language) 236 11.5 Công cụ xây dựng quản trị ontology 237 11.5.1 Giới thiệu 237 11.5.2 Protégé 238 11.5.3 Các ứng dụng Web ngữ nghĩa 239 Công nghệ XML ứng dụng TÀI LIỆU THAM KHẢO 240 Công nghệ XML ứng dụng DANH MỤC CÁC TỪ VIẾT TẮT XML SGML HTML CSDL CDF XSL IE ADO W3C DOM XPath XSLT FLWOR LINQ RDF OWL URL URI Extensible Markup Language (ngôn ngữ đánh dấu mở rộng) Standard Generalized markup Language Hypertext Markup Languageh Cơ sở liệu Channel Definition Format eXtensible Style Language Internet Explorer ActiveX Data Object World Wide Web Consortium Document Object Model XML Path Language eXtensible Stylesheet Language For, Let, Where, Order by, Return Language Integrated Query Resource Description Framework Ontology Web Language Uniform Resource Locator Uniform Resource Identifier Công nghệ XML ứng dụng LỜI MỞ ĐẦU XML viết tắt eXtensible Markup Language (ngôn ngữ đánh dấu mở rộng) ngôn ngữ đánh dấu mà sử dụng để tạo thẻ riêng Nó tạo nên Liên minh mạng toàn cầu nhằm khắc phục hạn chế HTML - ngôn ngữ đánh dấu siêu văn bản, sở trang Web Giống HTML, XML dựa SGML – Standard Generalized Markup Language XML đời để thay HTML mà XML tồn HTML thành công Như XML kết hợp nhiều tính thành công HTML XML tồn HTML đáp ứng nhu cầu Ngày hầu hết nhà cung cấp phần mềm Microsoft, Oracle, IBM, Sun,… hàng trăm công ty cung cấp phần mềm khác đưa XML vào sản phẩm họ Bằng cách tiếp cận vấn đề đơn giản, dễ hiểu với nhiều ví dụ minh họa, sách cung cấp cho người đọc kiến thức tài liệu XML như: cách tạo lập, kiểm tra tính hợp lệ hợp khuôn dạng, truy xuất liệu XML ứng dụng XML Cuối chương có tập thực hành, giúp người đọc ứng dụng kiến thức học hiểu sâu nội dung chương Cuốn sách nhằm mục đích phù hợp với người học bắt đầu tìm hiểu XML Nó phù hợp với nhà phát triển có kinh nghiệm lĩnh vực khác chưa có tảng XML Cuối cùng, sách sử dụng làm tài liệu tham khảo người học cần viết ứng dụng nhỏ liên quan đến XML Hầu hết nội dung trình bày sách có phần ví dụ minh họa liên quan đến chúng, điều giúp người học bắt đầu thực với ví dụ đơn giản sau biết cách làm để nâng cao kiến thức có Tác giả Phạm Thị Thu Thúy Công nghệ XML ứng dụng CHƯƠNG TỔNG QUAN VỀ XML 1.1 Vì XML? XML sử dụng với hai mục đích chính: Một là, cách để đại diện cho liệu cấp thấp, ví dụ tập tin cấu hình Thứ hai, cách để thêm siêu liệu văn bản; Ví dụ, muốn nhấn mạnh câu đặc biệt báo cáo cách đặt in nghiêng in đậm Với mục đích thứ nhất, XML thay cho cách truyền thống thực trước, thường danh sách cặp tên/giá trị nhìn thấy tập tin INI Windows tập tin thuộc tính Java Mục đích thứ hai XML tương tự cách làm việc tập tin HTML Các văn tài liệu chứa chứa tổng quát, phần tử đoạn văn bao quanh thẻ thẻ XML hình thành giải pháp để truyền tải liệu dễ dàng làm giảm cần thiết định dạng khác đầu vào đầu ra, giúp nhà phát triển tập trung vào khía cạnh quan trọng khác việc xử lý liệu XML xem giải pháp để phần mềm máy tính người đọc hiểu nội dung tập tin 1.1.1 Ðôi nét lịch sử XML XML triển khai nhờ đóng góp nhiều người mười năm qua Ngôn ngữ đánh dấu tiêu chuẩn tổng quát (SGML - Standard Generalized Markup Language), ngôn ngữ biểu thị liệu ứng dụng xử lý văn đa dạng có cấu trúc tinh vi Nhược điểm rắc rối, khó học, khó sử dụng Chính lẽ vào năm 1990 Tim Berners-Lee CERN, tạo HTML (là ứng dụng SGML), phần nhỏ SGML, người lại dễ dùng Không ngờ thành công HTML vượt sức tưởng tượng tác giả Nhưng đến ngày vào năm 1995 người ta bắt đầu thấy giới hạn HTML, Netscape, Microsoft cố gắng thêm thắt, thịnh hành Web Do đó, nhiều người có ý định quay trở lại SGML, lại ngại Ðúng lúc vào 1996, Jon Bosak Sun Microsystem khởi đầu nhóm cộng tác (working group) W3C SGML, gọi nhóm XML Mục đích đơn giản hoá SGML để dễ dùng HTML mà đồng thời mạnh mẽ, dễ dùng Tim Bray C.M Sperberg-McQueen viết hầu hết Specification (bản điều kiện kỹ thuật) nguyên thủy XML Trước đó, Bray có kinh nghiệm nhiều năm quản lý dự án "New Oxford English Dictionary" Ông muốn XML hội điều kiện sau: • Ðơn giản đủ cho lập trình viên áp dụng • Dễ cho Search Engine (như AltaVista, Yahoo, Infoseek, ) phân loại • Không giới hạn tiếng Anh nước Mỹ Chính lẽ đó, Specification XML đời vào tháng 11 năm 1996 Tháng năm 1997 Microsoft áp dụng loại văn XML, Channel Definition Format (CDF) Họ dùng CDF để xuất trang Web đến khách đóng tiền tháng (subscribers) CDF phần Internet Explorer 4.0 Tháng năm 1997 Microsoft Inso Corporation xuất XSL (eXtensible Style Language) để làm Style Sheet diễn tả cách trình bày trang XML Ðến tháng năm 1998 Microsoft cho chương trình miễn phí tên MSXSL để sản xuất trang HTML từ cặp trang XML XSL Sau Internet Explorer 5.0 hiển thị trực tiếp trang XML (bên có ghi phải tìm trang XSL đâu), không cần cho thấy kết trang HTML Công nghệ XML ứng dụng liệu RDF cung cấp thực chưa đủ để đạt mà Web ngữ nghĩa mong đợi Từ mà tầng Ontology cần thiết xây dựng Ontology cho phép mở rộng từ vựng để miêu tả thuộc tính lớp, chẳng hạn mối quan hệ khác lớp mà không đơn quan hệ cha Có thể nói RDFS giống kiểu tài nguyên sử dụng tài liệu RDF Nhờ định nghĩa kiểu cách thống mà phần ngữ nghĩa thêm vào RDF Đến lượt Ontology ngữ nghĩa thêm vào với mức từ vựng chia sẻ Internet 11.2.5 Tầng Logic Tầng Logic phát triển chưa có công bố có tính chất chuẩn hoàn thiện tầng Nhóm phát triển Web ngữ nghĩa W3C thực phát triển tầng chưa đưa miêu tả hoàn chỉnh tầng Bản chất tầng logic cung cấp sở để siêu liệu RDF trở thành tri thức, áp dụng để thực suy luận logic nhằm chứng minh đưa thông tin từ thông tin có 11.2.6 Tầng Proof tầng Trust Proof Trust tầng cuối kiến trúc Web ngữ nghĩa Hiện tại, chưa có nhiều miêu tả tầng giải pháp thực cho chúng Một điều đơn giản để hiểu khắc nghiệt thật vấn đề mâu thuẫn thông tin Chẳng hạn có người nói x có màu xanh, lại có người nói x có màu khác xanh, phải Web ngữ nghĩa sụp đổ với trường hợp này? Câu trả lời dĩ nhiên không, hai lý sau:  Một là, ứng dụng Web ngữ nghĩa thường dựa tảng ngữ cảnh cụ thể  Hai ứng dụng tương lai thường chứa đựng kỹ thuật kiểm tra chứng cớ xác thực điện tử(digital signatures) Các ứng dụng Web ngữ nghĩa dựa ngữ cảnh thường để người xác thực đắn liệu Ngữ cảnh sở tốt tin tưởng mà không cần phải nhờ vào thẩm định phức tạp hệ thống kiểm tra Tuy nhiên vấn đề xuất hiên đối tượng thứ ba, kẻ giả mạo không tránh khỏi đòi hỏi đời digital signature (“chữ ký số” hay gọi “chữ ký điện tử”) Việc áp dụng công nghệ mã hóa chữ ký điện tử RDF đảm bảo nguồn tài liệu mà ta sử dụng xác nhà cung cấp mà ta tin tưởng Điều giống xác thực điện tử mà an toàn thông tin đề cập đến Trong kiến trúc Web ngữ nghĩa, chữ ký điện tử đóng vai trò quan trọng Nó gắn liền với tầng kiến trúc Web ngữ nghĩa kể từ tầng thứ ba RDF, với vai trò mở rộng cho tầng để đảm bảo thông tin tài liệu xác thực nhà cung cấp Điều giúp ngăn chặn sụp đổ Web ngữ nghĩa đặc tính đơn giản phổ cập mang đến Với chữ ký điện tử, ứng dụng có để sử dụng thông tin xác nhà cung cấp mà ứng dụng tin tưởng Phần chương này, tìm hiểu cụ thể ngôn ngữ sử dụng Web ngữ nghĩa, cụ thể RDF OWL 226 Công nghệ XML ứng dụng 11.3 RDF – Khung mô tả tài nguyên Khung mô tả tài nguyên (RDF) ngôn ngữ siêu liệu để biểu diễn liệu Web cung cấp mô hình để mô tả tạo mối quan hệ tài nguyên RDF định nghĩa nguồn tài nguyên (resource) đối tượng có khả xác định URI Các nguồn tài nguyên có thuộc tính kèm Các thuộc tính (predicate/property) xác định kiểu thuộc tính kiểu thuộc tính có giá trị tương ứng Kiểu thuộc tính biểu diễn mối quan hệ giá trị kết hợp với tài nguyên Mô hình liệu RDF ba (triple) gồm: , biểu diễn Hình 11.2 Object Subject Literal = URI = Literal () = Literal () Hình 11.2: Bộ ba RDF  Subject (Chủ thể): xác định URI cụ thể  Predicate (Thuộc tính): thuộc tính siêu liệu, xác định URI  Object (Đối tượng): giá trị thuộc tính, giá trị (literal) URI  Literal sử dụng để biểu diễn giá trị số, ngày tháng, chuỗi Bất biểu diễn giá tri Literal biểu diễn dạng URI Một Literal object phát biểu subject predicate RDF mô tả siêu liệu tài nguyên Web RDF dựa cú pháp XML nhiên XML mô tả liệu, RDF có khả biểu diễn ngữ nghĩa chúng thông qua tài nguyên định danh URI Thông tin tri thức Web ngữ nghĩa sử dụng liên kết URIs RDF Giống Web văn bản, Web ngữ nghĩa (hay gọi “Web liệu”) xây dựng dựa tài liệu Web Tuy nhiên, không giống Web văn bản, liên kết quan văn biểu diễn dạng HTML, Web liệu liên kết “thực thể đặt tên” thông qua RDF URIs xác định loại đối tượng khái niệm RDF tảng trung tâm web ngữ nghĩa Trong XML cung cấp cú pháp để mã hóa liệu RDF mô tả siêu liệu tài nguyên Web RDF dựa cú pháp XML nhiên XML mô tả liệu, RDF có khả biểu diễn ngữ nghĩa chúng thông qua tài nguyên định danh URI 227 Công nghệ XML ứng dụng 11.3.1 Cấu trúc RDF/XML Mô hình RDF thể mô hình mức trừu tượng để định nghĩa metadata Cú pháp RDF dùng để tạo trao đổi metadata RDF dựa cú pháp XML Cú pháp RDF có dạng sau: [1] RDF ::= [''] description* [''] [2] description ::= '' propertyElt* '' [3] idAboutAttr ::= idAttr | aboutAttr [4] aboutAttr ::= 'about="' URI-reference '"' [5] idAttr ::= 'ID="' IDsymbol '"' [6] propertyElt ::= '' value ''| '' [7] propName ::= Qname [8] value ::= description | string [9] resourceAttr ::= 'resource="'tham chiếu URI'"' [10] Qname ::= [ NSprefix ':' ] name [11] URI-reference ::= string, interpreted per [URI] [12] IDsymbol ::= (bất kỳ ID hợp lệ XML) [13] name ::= (bất kỳ tên hợp lệ XML) [14] NSprefix ::= (bất kỳ tiếp đầu ngữ namespace hợp lệ nào) [15] string ::= (bất kỳ chuỗi nào) Ví dụ : Xét phát biểu ex:index.html exterms:creation-date "August 16, 1999" Cú pháp RDF/XML để biểu diễn cho phát biểu sau: August 16, 1999 Trong đó: Dòng 1: khai báo XML, cho biết nội dung theo sau dựa cú pháp XML phiên XML dùng Dòng 3: bắt đầu với thẻ rdf:RDF , cho biết nội dung XML mô tả RDF Từ khóa xác định tài liệu biểu diễn dạng RDF Tiếp theo phần khai báo XML namespace sử dụng tài liệu, tùy vào nhu cầu mục đích sử dụng mà ta dùng namespace khác cho tài liệu Dòng 4, 5, 6: mô tả mệnh đề RDF Để mô tả phát biểu dạng RDF/XML dùng rdf:Description, rdf:about , subject phát biểu Thẻ bắt đầu rdf:Description dòng cho biết bắt đầu mô tả resource, tiếp tục định danh resource dùng thuộc tính rdf:about để URI subject resource Dòng cung cấp phần tử thuộc tính, với Qname exterms:creation-date thẻ Nội dung phần tử thuộc tính object statement, có giá trị kiểu plain literal “August 19, 1999 “ Dòng 7: cho biết kết thúc thẻ rdf:RDF bắt đầu dòng thẻ kết thúc tài liệu RDF 228 Công nghệ XML ứng dụng 11.3.2 RDF Container Để mô tả tập hợp nhiều đối tượng sách viết nhiều tác giả, danh sách học viên khoá học, v.v RDF cung cấp nhiều kiểu nhiều thuộc tính tích hợp sẵn giúp mô tả tập vậy, có kiểu khai báo container, dùng để lưu danh sách tài nguyên kiểu giá trị Các phần tử container tài nguyên URI (có thể blank nodes) giá trị literals RDF định nghĩa loại đối tượng container: Bag, Sequence, Alternative - Bag danh sách thứ tự tài nguyên giá trị Bag cho phép giá trị trùng lặp - Sequence danh sách có thứ tự tài nguyên giá trị Chẳng hạn dùng Sequence để lưu trữ giá trị theo thứ tự bảng chữ Sequence cho phép giá trị trùng lặp - Alternative danh sách tài nguyên giá trị, dùng để biểu diễn giá trị lựa chọn thuộc tính Ví dụ 11.1: Xét phát biểu sau “Book with ISBN 978-0-596-15381-6 wrote by Toby Segaran, Colin Evans, Jamie Taylor" Có mô hình RDF Hình 11.3: Mô hình RDF phát biểu Ví dụ 11.1 Ta biểu diễn dạng cú pháp RDF/XML sau: 229 Công nghệ XML ứng dụng 11.3.3 RDF Collection RDF Collection cho phép khai báo tập hợp đóng, tương tự danh sách, có phần tử đầu (rdf:first), phần tử kế (rdf:rest) phần tử cuối (rdf:nil) Ví dụ 11.2: Xét phát biểu sau “Book with ISBN 978-0-596-15381-6 wrote by Toby Segaran, Colin Evans, Jamie Taylor" Có mô hình RDF Hình 11.4: Mô hình RDF phát biểu Ví dụ 11.2 RDF/XML cung cấp cách định nghĩa để mô tả tập hợp, cách sử dụng thuộc tính có attribute rdf:parseType=”Collection” Ta viết lại ví dụ cách ngắn gọn sau: 11.4 Ngôn ngữ Ontology Thuật ngữ Ontology bắt nguồn từ triết học, sử dụng tên lĩnh vực nghiên cứu tồn tự nhiên, xác định vật thể tự nhiên làm 230 Công nghệ XML ứng dụng để mô tả chúng Chẳng hạn quan sát giới thực, xác định đối tượng sau nhóm chúng lại thành lớp trừu tượng dựa thuộc tính chung Tuy nhiên, năm gần đây, Ontology trở thành thuật ngữ biết đến nhiều lĩnh vực khoa học máy tính có ý nghĩa khác xa so với nghĩa ban đầu Ontology xem “linh hồn” Web ngữ nghĩa Chúng giúp người máy hợp tác, làm việc, giúp máy “hiểu” có khả xử lý thông tin hiệu Các Ontology phát triển lĩnh vực trí tuệ nhân tạo để sử dụng lại chia xẻ tri thức thuận tiện Đầu năm 1990, Ontology trở thành chủ đề nghiên cứu phổ biến Ontology nghiên cứu số cộng đồng nghiên cứu trí tuệ nhân tạo, bao gồm kỹ sư tri thức, xử lý ngôn ngữ tự nhiên biểu diễn tri thức Một định nghĩa chung cho ontology là: Ontology đặc tả hình thức khái niệm hóa lĩnh vực ứng dụng cụ thể Định nghĩa nhấn mạnh hai điểm chính: khái niệm hóa (conceptualisation) hình thức cho phép suy diễn máy tính; ontology thực tế thiết kế cho miền ứng dụng cụ thể Các ontology bao gồm khái niệm (các lớp - classes), quan hệ (các thuộc tính properties), thể (instances) tiên đề (axioms) 11.4.1 RDF Schema Như mô tả trên, RDF dùng để mô tả nguồn tài nguyên lớp, thuộc tính giá trị, cung cấp tính liên thông ứng dụng Tuy nhiên, cần phải định nghĩa lớp thuộc tính ứng dụng chuyên biệt Để làm điều này, phải sử dụng phiên mở rộng RDF, gọi RDFS hay RDF Schema Ngôn ngữ RDF giúp cho thông tin thể dạng ba theo mô hình RDF thông tin chưa thể mặt ngữ nghĩa Bởi vậy, xây dựng RDFS điều cần thiết để hình thành nên ngữ nghĩa cho thông tin, sở để xây dựng công cụ tìm kiếm ngữ nghĩa RDFS RDF có mối liên hệ tương đối gần gũi nên đôi lúc ta gọi ngôn ngữ RDF/RDFS RDFs:  Cho biết DL mô tả RDF diễn dịch  Định nghĩa từ vựng cho RDF  Tổ chức từ vựng dạng phân cấp  Khả khai báo tường minh quan hệ ngữ nghĩa vocabulary terms Hình 11.5: Mối quan hệ RDFS RDF : 231 Công nghệ XML ứng dụng Ví dụ 11.3: Xét lược đồ RDF sau Horse subclass class Animal Hình 11.6: Horse subclass class Animal Ta sử dụng RDF Schema để định nghĩa, thích mối quan hệ: Khi lớp RDFS tài nguyên RDF, ta dùng rdfs:Class thay dùng rdf:Description bỏ qua thông tin rdf:type sau: 11.4.1.1 Định nghĩa lớp (class) Các tài nguyên Web chia thành nhóm gọi class Các thành viên nhóm xem thể lớp Thông qua định danh URI, tài nguyên truy xuất mô tả RDF properties Thuộc tính rdf: type sử dụng để resource thể class 11.4.1.2 Định nghĩa thuộc tính (property) RDF Schema cung cấp từ vựng để mô tả làm mà thuộc tính lớp sử dụng RDF Thuộc tính quan trọng sử dụng trường hợp rdfs:range rdfs:domain 232 Công nghệ XML ứng dụng Hình 11.7: Thuộc tính rdfs:range rdfs:domain Cách sử dụng rdfs:range Thuộc tính rdfs:range dùng để giá trị thuộc tính thể lớp Ví dụ, công ty example.org muốn thuộc tính ex:author có giá trị thể lớp ex:Person, ta viết phát biểu RDF sau: ex:Person rdf:type rdfs:Class ex:author rdf:type rdf:Property ex:author rdfs:range ex:Person Phát biểu ex:Person lớp, ex:author thuộc tính thuộc tính ex:author có object thực thể lớp ex:Person Tuy nhiên, thuộc tính có nhiều rdfs:range, ví dụ sau: ex:hasMother rdfs:range ex:Female ex:hasMother rdfs:range ex:Person Thuộc tính rdfs:range sử dụng để giá trị kiểu typed literal ex:age rdf:type rdf:Property ex:age rdfs:range xsd:integer Cách sử dụng rdfs:domain Thuộc tính rdfs:domain sử dụng để thuộc tính thuộc tính lớp Ví dụ, công ty example.org muốn thuộc tính ex:author thuộc tính lớp ex:Book , ta có phát biểu sau: ex:Book rdf:type rdfs:Class ex:author rdf:type rdf:Property ex:author rdfs:domain ex:Book Và thuộc tính có nhiều thuộc tính rdfs:domain khác exterms:weight rdfs:domain ex:Book exterms:weight rdfs:domain ex:MotorVehicle 11.4.1.3 Luật suy diễn ngữ nghĩa RDFS Có trường hợp suy diễn theo cấp loại lớp, thuộc tính, lớp con, thuộc tính con, miền (domain), dãi (range) Trường hợp 1: Suy diễn loại lớp (type) IF (c2, subClassOf, c1) AND (x, type, c2) THEN (x, type, c1) Ví dụ: IF (Man, subClassOf, Person) AND (Tom, type, Man) THEN (Tom, type, Person) 233 Công nghệ XML ứng dụng Trường hợp 2: Suy diễn thuộc tính lớp (Property) IF (p2, subPropertyOf, p1) AND (x, p2, y) THEN (x, p1, y) Ví dụ: IF (author, subPropertyOf, creator) AND (Tom, author, Report2010) THEN (Tom, creator, Report2010) Trường hợp 3: Suy diễn lớp lớp (subclassOf) IF (c2, subClassOf, c1) AND (c3, subClassOf, c2) THEN (c3, subClassOf, c1) Ví dụ: IF (Person, subClassOf, Animal) AND (Man, subClassOf, Person) THEN (Man, subClassOf, Animal) Trường hợp 4: Suy diễn thuộc tính thuộc tính (subPropertyOf) IF (p2, subPropertyOf, p1) AND (p3, subPropertyOf, p2) THEN (p3, subPropertyOf, p1) Ví dụ: IF (parent, subPropertyOf, ancestor) AND (father, subPropertyOf, parent) THEN (father, subPropertyOf, ancestor) Trường hợp 5: Suy diễn miền (domain) IF (p1, domain, c1) AND (x, p1, y) THEN (x, type, c1) Ví dụ: IF (author, domain, Human) AND (Tom, author, Report2010) THEN (Tom, type, Human) Trường hợp 6: Suy diễn dãy giới hạn (range) IF (p1, range, c1) AND (x, p1, y) THEN (y, type, c1) Ví dụ: IF (author, range, Document) AND (Tom, author, Report2010) THEN (Report, type, Document) 11.4.1.4 Ví dụ xây dựng ontology với RDFS Chúng ta dùng cú pháp sau để biễu diễn cho phát biểu (statement): {subject,predicate,object} Nếu có nhiều thuộc tính cho chủ thể thì: {subject, {predicate1, object1} {predicate2, object2} 234 Công nghệ XML ứng dụng } Nếu có nút trống (blank node) biểu diễn sau: {subject, predicate, {predicate-of-bnode,object-of-bnode} } Một tài nguyên bắt đầu dấu # chẳng hạn #resource_1 có nghĩa tài nguyên khai báo tài liệu mà xây dựng ontology Sau muốn sử dụng tài nguyên ta dùng #resource _1 không cần phải lấy URI cho phức tạp, khó nhìn Bây vào xây dựng Ontology đơn giản, Ontology xây dựng tóm gọn sau: {rdfs:Class {rdf:ID,"StaffMe{rdfs:Class}//Khai báo không tường minh, ko nên dùng {rdf:resource,“http://www.semantic.vn/2009/01/rdf-schema#StaffMember"} } {rdfs:Class {rdf:about,"AcademicStaff"} {rdfs:subClassOf, "# StaffMember"} } {rdfs:Class {rdf:about,"Lecturer"} //Khai báo tường minh {rdfs:subClassOf, #AcademicStaff} } {rdfs:Class {rdf:ID,"Course"} {rdf:resource, “http://www.semantic.vn/2009/01/rdf-schema#Course"} } {rdf:Property { rdf:ID,"phone"} {rdfs:domain, #staffMember} {rdfs:range ,"http://www.semantic.vn/2009/01/rdf-schema#Literal"} } {rdf:Property { rdf:ID,"ID"} {rdfs:domain, #staffMember} {rdfs:range ,"http://www.semantic.vn/2009/01/rdf-schema#Literal"} {rdf:Property { rdf:ID,"involve"} {rdfs:domain, #Course} {rdfs:range ,#AcademicStaff} } {rdf:Property { rdf:ID,"isTaughtBy"} {rdfs:domain, #Course} {rdfs:range ,#AcademicStaff} {rdf:subPropertyOf, “involve”} } 235 Công nghệ XML ứng dụng … Từ Ontology xây dựng ta vẽ sơ đồ phân cấp tài nguyên sau : StaffMember Academic Staff Lecturer Course Nhìn sơ đồ ta thấy có hai tài nguyên StaffMember Course Các lớp AcademicStaff Lecturer thừa kế từ StaffMember 11.4.2 OWL (Ontology Web Language) OWL ngôn ngữ ontology mạnh, đời sau RDFS nên biết kế thừa lợi ngôn ngữ đồng thời bổ sung thêm nhiều yếu tố giúp khắc phục hạn chế RDFS OWL giúp tăng thêm yếu tố logic cho thông tin khả phân loại, ràng buộc lượng số tương đối mạnh Chúng ta tìm hiểu sơ qua lớp thuộc tính OWL để thấy ưu điểm OWL so với RDFS Classes Properties owl:AllDifferent owl:allValuesFrom owl:TransitiveProperty owl:Class owl:backwardCompatibleWith owl:inverseOf owl:DataRange owl:cardinality owl:maxCardinality owl:DataTypeProperty owl:complementOf owl:minCardinality owl:DeprecatedProperty owl:distinctMembers owl:oneOf owl:DeprecatedClass owl:differentFrom owl:onProperty owl:FunctionalProperty owl:disjointWith owl:priorVersion owl:InverseFunctionalProperty owl:equivalentClass owl:sameAs owl:Nothing owl:equivalentProperty owl:sameIndividualAs owl:ObjectProperty owl:hasValue owl:someValuesFrom owl:Ontology owl:imports owl:subClassOf owl:Restriction owl:incompatiblewith owl:unionOf owl:SymmetricProperty owl:intersectionOf owl:versionInfo Trong OWL có thêm số thuộc tính hỗ trợ suy luận ràng buộc *Hỗ trợ suy luận  Tính chất bắt cầu: Nếu có lớp thuộc tính “contain” gán cho thuộc tính owl: transitivePropertive thuộc tính “contain” có tính chất bắt cầu Giả sử ta có thông tin A contain B B contain C, hệ thống tự suy luận thông tin khác A contain C Và biểu diễn thuộc tính contain OWL: {owl:TransitiveProperty {rdf:ID,"contain"} }  Tính chất đảo ngược: Nếu A có thuộc tính hasParent B, suy B có thuộc tính hasChild A 236 Công nghệ XML ứng dụng {owl:OjectProperty {Rdf:ID, ‘hasChild’} {owl:inverseOf, #hasParent} } *Hỗ trợ ràng buộc  Ràng buộc kiểu: Giả sử ta có lớp Human, thừa kế từ hai lớp Man Woman Ta muốn đối tượng thuộc lớp Man thuộc lớp Woman ngược lại {owl :Class {rdf :about, #Man} {owl :disjointWith, #Woman} } Ta muốn người có cha mẹ Tức thuộc tính hasParent gán số lượng {owl :Restriction {owl :onProperty, #hasParent} {owl :cardinality, 2} } Trên vài ví dụ mà RDFS làm Rõ ràng OWL có nhiều ưu điểm việc xây dựng hệ thống ontology thông minh có phân loại tốt Với đặc điểm đó, OWL ngày trở thành ngôn ngữ ontology thức cho việc xây dựng phát triển hệ thống Semantic Web Có loại OWL: -OWL đầy đủ (OWL Full): không giới hạn việc từ vựng xây dựng -OWL DL (Description Logic): sử dụng logic mô tả để dẫn đến suy luận -OWL Lite: dạng đơn giản để cài đặt OWL DAML + OIL DAML + OIL kết từ hai dự án nghiên cứu độc lập với DAML (DARPA Agent Markup Language) OIL (Ontology Inference Layer) nhằm khắc phục hạn chế kiểu liệu ngôn ngữ Ontology trước RDF, RDFS DAML + OIL (gọi tắt DAML) ngôn ngữ đánh dấu cho tài nguyên Web, có hỗ trợ suy luận Ngôn ngữ xây dựng có kế thừa từ chuẩn W3C XML, RDF, RDFS, Một số điểm đáng ý ngôn ngữ là:  Cho phép giới hạn kiểu liệu định nghĩa XML Schema hay người dùng Trong DAML, thuộc tính nhận giá trị nhiều khoảng khác nhau, tạo nên tính uyển chuyển việc mô tả liệu  Cho phép định nghĩa thuộc tính unique để xác định đối tượng  Cho phép mô tả quan hệ hoán đổi bắc cầu DAML sau tiếp tục trở thành tảng cho ngôn ngữ Ontology khác OWL DAML giống với OWL (ngoại trừ tên số thuật ngữ, cú pháp sửa đổi), nhiên khả mô tả ràng buộc 11.5 Công cụ xây dựng quản trị ontology 11.5.1 Giới thiệu Về mặt lý thuyết, người xây dựng quản trị Ontology không cần công cụ hỗ trợ, thay vào thực trực tiếp ngôn ngữ Tuy nhiên, cách thứ hai không khả thi Ontology có kích thước lớn cấu trúc phức tạp Thêm 237 Công nghệ XML ứng dụng vào đó, việc xây dựng quản trị Ontology không đòi hỏi việc tạo cấu trúc lớp phân cấp, định nghĩa thuộc tính, ràng buộc , mà bao hàm việc giải toán liên quan Có nhiều toán liên quan đến hệ thống Ontology như:  Trộn hai hay nhiều Ontology  Chuẩn đoán phát lỗi  Kiểm tra tính đắn đầy đủ  Ánh xạ qua lại Ontology  Suy luận Ontology  Sao lưu phục hồi Ontology  Xóa, sửa tinh chỉnh thành bên Ontology  Tách biệt Ontology với ngôn ngữ sử dụng (DAML, OWL, ) Những khó khăn khiến công cụ trở thành thành phần thiếu, định đến chất lượng hệ thống Ontology Hiện có nhiều công cụ có khả hỗ trợ người thiết kế giải toán liên quan Có thể kể số như: Sesame, Protégé, Ontolingua, Chimaera, OntoEdit, OidEd Nội dung phần đề cập đến công cụ Protégé Các công cụ lại đọc tự tìm hiểu thêm 11.5.2 Protégé Protégé phần mềm mã nguồn mở Java tiếng Protégé nghiên cứu phát triển từ năm 1998 nhóm nghiên cứu Mark Musen, ĐH Stanford nhằm quản lý thông tin lĩnh vực sinh y học Đây dự án nhận quan tâm tài trợ từ nhiều tổ chức, có Bộ Quốc Phòng Mỹ Mã nguồn Protégé tìm thấy website: http://smiprotege.stanford.edu/repos/protege/owl/trunk Hiện tại, Protégé có phiên 4.3 Các ưu điểm Protégé là:  Hỗ trợ đầy đủ ba phiên ngôn ngữ OWL OWL-Full, OWL-Lite OWL-DL  Nhờ sử dụng mô hình hướng đối tượng ngôn ngữ Java, Protégé tỏ hiệu việc mô hình lớp, thực thể, quan hệ  Giao diện thiết kế trực quan có tính tương tác cao Người sử dụng định nghĩa thành phần Ontology trực tiếp từ form  Cho phép biểu diễn trực quan Ontology dạng sơ đồ  Cho phép xây dựng Ontology từ nhiều nguồn khác  Protégé tự động lưu tạm Ontology Nếu có lỗi phát sinh trình thao tác Ontology cũ tự động phục hồi Người thiết kế chuyển qua lại hai Ontology chức Revert to a Previous Version Active Current Version  Cung cấp chức tìm kiếm lỗi, kiểm tra tính quán đầy đủ Ontology Để sử dụng, người thiết kế chọn chức Run Ontology Test Check Consistency  Cho phép lớp thuộc tính Ontology sử dụng Namespace khác mà cần sử dụng URL để tham khảo Để sử dụng, chọn chức Move Resource to Namespace  Hỗ trợ suy luận trực tiếp Ontology dựa Interface chuẩn DL Implementation Group (DIG) 238 Công nghệ XML ứng dụng  Hỗ trợ sinh mã tự động Protégé cho phép chuyển Ontology thành mã nguồn RDF/XML, OWL, DIG, Java, EMF Java Interfaces, Java Schema Classes Các mã nhúng trực tiếp vào ứng dụng đầu vào cho thao tác Ontology cần  Cung cấp đầy đủ chuẩn giao tiếp cho Plug-in Tuy nhiên, Protégé thể số hạn chế không cho phép truy vấn phần sở tri thức dẫn tới việc không quản lý hiệu sở tri thức có kích thước lớn, chưa hỗ trợ kết nối trực tiếp với số hệ quản trị sở tri thức phổ biến Sesame 11.5.3 Các ứng dụng Web ngữ nghĩa Web ngữ nghĩa cho phép ứng dụng làm cầu nối nhu cầu người sử dụng tài nguyên thông tin sẵn có Điều thiết lập sở cho việc phát triển ứng dụng Trong thời gian gần đây, tiếp cận Web ngữ nghĩa trở nên ổn định thành phần thiết yếu cung cấp theo chuẩn Bước ứng dụng công nghệ phát triển mạnh vào sống hàng ngày Một số thử nghiệm ứng dụng dựa ngữ nghĩa cài đặt thành công nhiều ứng dụng phát triển Do miền ứng dụng rộng Web ngữ nghĩa, nên ta có nhiều ca sử dụng Web ngữ nghĩa cho lĩnh vực khác Hầu hết nhà nghiên cứu Web ngữ nghĩa có chung thoả thuận ngầm với để tránh nhắc đến điều thuộc trí tuệ nhân tạo (TTNT) Dù Web ngữ nghĩa rơi vào vài vấn đề TTNT điều chắn hệ TTNT Chúng ta trông đợi Web ngữ nghĩa chìa khoá cho vấn đề Một giải pháp tốt Web ngữ nghĩa có nguồn gốc chắn ontology thiết kế tỉ mỉ Một số ứng dụng mang tính thách thức mà chúng làm thay đổi cách mà sử dụng máy tính:  “Các nhớ Cá nhân Tăng cường” ứng cử viên tiềm cho ứng dụng Web ngữ nghĩa Đã có nhiều nỗ lực nhóm nghiên cứu, dự án cho vấn đề  Tích hợp tri thức giới vào máy tính desktop (semantic desktop) theo cách truy nhập dễ dàng hiệu  Tích hợp dịch vụ web ngữ nghĩa vào ứng dụng thường sử dụng (các trình thư điện tử, trình duyệt web, ) để cung cấp nhiều tính hoạt động liên thông web ứng dụng Ứng dụng Web ngữ nghĩa vào thương mại điện tử, đặc biệt nghiên cứu liên quan đến Quản lý tiến trình nghiệp vụ (Business Process Management) thương mai điện tử B2B (business-to-business) Đây ứng dụng Web ngữ nghĩa nhằm làm giàu ngữ nghĩa cho tiến trình nghiệp vụ môi trường cộng tác doanh nghiệp 239 Công nghệ XML ứng dụng TÀI LIỆU THAM KHẢO [1] Lê Quang Anh Hưng, “Giới thiệu XML”, www.viet-ebook.co.cc [2] Viet Jack, “Cơ XML”, http://vietjack.com/xml/xml_syntax.jsp [3] Tutorialspoint, “Learn XML”, https://www.tutorialspoint.com/ [4] Nguyễn Thiên Bằng, “Giáo trình nhập môn XML”, NXB Lao động xã hội, 2002 [5] Nguyễn Phương Lan, Hoàng Đức Hải, “XML Nền tảng ứng dụng”, NXB Lao động – Xã hội, 2006 [6] Nguyễn Tiến Huy, “Bài giảng Công nghệ XML ứng dụng”, Trường ĐH KHTN, 2010 [7] Hoàng Hữu Hạnh, “Web ngữ nghĩa: Những thách thức hướng tiếp cận mới”, Tạp chí khoa học, ĐH Huế, số 48, 2008 [8] Lương Đỗ Long, “Ứng dụng Web ngữ nghĩa lưu trữ quản lý tài liệu số”, luận văn thạc sĩ khoa học, Trường ĐH Công nghệ, ĐH Quốc gia HN, 2011 [9] Joe Fawcett, Liam R.E Quin, Danny Ayers, “Beginning XML”, Wiley publishing, 2012 [10] Erik T Ray, “Learning XML”, ISBN: 0-59600-046-4, 2001 [11] Michael C Daconta, Leo J Obrst, Kevin T Smith, “The Semantic Web - A Guide to the Future of XML, Web Services, and Knowledge Management”, Wiley publishing, 2003 [12] Hà Quang Thụy (chủ biên), “Giáo trình Khai phá liệu Web”, NXB Giáo dục, Hà Nội, 2009 [13] Hiroshi Maruyama cộng sự, “XML and Java, Developing Web Application”, Addison Wesley, 2002 240 ... 192 Công nghệ XML ứng dụng CHƯƠNG 10 LINQ VÀ MỘT SỐ ỨNG DỤNG XML 193 10.1 LINQ gì? 193 10.2 Sử dụng LINQ 193 10.2.1 Tạo tài liệu XML với LINQ ... tài liệu XML Hình 1.4: Quy tắc cú pháp XML 14 Công nghệ XML ứng dụng Giải thích chi tiết cho phần sau: 1.5.1 Khai báo định dạng XML (XML Declaration) Tài liệu XML tùy ý có phần khai báo XML Nó... Phần tử: Một XML file cấu thành số phần tử XML (Element), gọi XML- node XML- tags Tên phần tử XML bao dấu < > sau: 15 Công nghệ XML ứng dụng Cú pháp phần tử: Mỗi phần tử XML cần bao với

Ngày đăng: 12/09/2017, 23:12

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan