Nghiên cứu CSDL XML, ONTOLOGY
BỘ GIÁO DỤC VÀ ĐÀO TẠO - BÁO CÁO MÔN HỌC CÁC HỆ CƠ SỞ DỮ LIỆU NÂNG CAO Đề tài: NGHIÊN CỨU CSDL XML, ONTOLOGY GVHD : P.GS-TSKH TÂN HẠNH NHÓM : Võ Minh Quân Nguyễn Văn Hòa Nguyễn Anh Tuấn TP HCM, tháng 10/2013 MỤC LỤC PHẦN I LÝ THUYẾT A XML XML gì? .3 1.1 Lịch sử: 1.2 Các đặc trưng XML: Những đóng góp đặc điểm cụ thể XML? .3 2.1 XML dùng để tạo cấu trúc liệu: .3 2.2 XML có số điểm giống với HTML: .4 2.3 XML văn bản, không giống loại văn thông thường: .4 2.4 XML có tập hợp kỹ thuật kèm theo: 2.5 XHTML kết hợp XML HTML: 2.6 XML có tính module: 2.7 XML sở RDF Semantic Web .5 2.8 XML sử dụng miễn phí, có platform độc lập hỗ trợ tốt: .6 So sánh XML HTML: Cấu trúc XML: Ứng dụng XML: Biên dịch chạy tài liệu XML: .8 DTD (Document Type Definition): Xpath: .9 XSL: .14 B ONTOLOGY: 27 Giới thiệu Ontology: 27 Vài trò Ontology: .27 Xây dựng Ontology: .27 Các thành phần ontology: 28 Ngôn ngữ Ontology: .29 5.1 RDFS (RDF-Shema): 29 5.2 OWL (Ontology Web Language): .30 Công cụ xây dựng quản trị Ontology: 32 6.1 Quy trình phát triển Ontology: .32 6.2 Công cụ phát triển ontology: 34 PHẦN II ỨNG DỤNG 37 TÀI LIỆU THAM KHẢO 38 NGHIÊN CỨU CSDL XML, ONTOLOGY PHẦN I LÝ THUYẾT A XML XML gì? 1.1 Lịch sử: XML viết tắt cho chữ eXtensible Markup Language (ngôn ngữ đánh dấu Trong ngành ấn loát, để thị cho thợ chữ cách in vở, tác giả hay chủ bút thường vẽ vòng tròn thảo thích ngôn ngữ đánh dấu tương tự tốc ký Ngôn ngữ gọi Markup Language XML ngôn ngữ đánh dấu tương đối phần nhỏ đến từ ngôn ngữ đánh dấu tên Standard Generalized Markup Language (SGML) Ngôn ngữ HTML dựa vào SGML, thật áp dụng SGML Vì SGML rắc rối, HTML có nhiều giới hạn nên năm 1996 tổ chức W3C thiết kế XML XML version 1.0 định nghĩa hồ sơ February 1998 W3C Recommendation, giống Internet Request for Comments (RFC), "tiêu chuẩn" Từ HTML đến XML Sử dụng kỹ thuật XML tập đoàn Microsoft mà hãng Sun, IBM, Oracles hỗ trợ XML dùng ứng dụng 1.2 Các đặc trưng XML: XML: Extensible Markup Language – ngôn ngữ tổng quát dùng để lưu trữ liệu thông qua thẻ có ý nghĩa XML: Được định nghĩa tổ chức mạng toàn cầu World Wide Web Consortium (W3C) Là ngôn ngữ đánh dấu độc lập với phần mềm, phần cứng Cho phép máy tính truyền cấu trúc liệu hệ thống không đồng Những đóng góp đặc điểm cụ thể XML? 2.1 XML dùng để tạo cấu trúc liệu: Chẳng hạn bảng công tác, sổ địa chỉ, tham số cấu hình, giao dịch tài vẽ kỹ thuật XML hệ thống luật (có thể coi hướng dẫn hay quy ước) dựng cho việc thiết kế format cho văn giúp tạo cấu trúc cho liệu XML ngôn ngữ lập trình người dùng không cần phải Page NGHIÊN CỨU CSDL XML, ONTOLOGY lập trình viên để học sử dụng thành thạo XML giúp cho người dùng dễ dàng tạo liệu, đọc liệu làm cho cấu trúc liệu trở nên rõ ràng dễ hiểu XML giúp tránh bẫy thông thường thiết kế ngôn ngữ: mở rộng, có platform hoàn toàn độc lập hỗ trợ tính quốc tế hóa nội địa hóa XML hỗ trợ hoàn toàn Unicode 2.2 XML có số điểm giống với HTML: Tương tự HTML, XML sử dụng tags (các từ đặt ngoặc với '') dựng thuộc tính (với mẫu name="value") Trong HTML đặc biệt ý tới tag attribute có ý nghĩa gì, phần văn tag hiển thị trình duyệt XML sử dụng tag để phân định ranh giới mẩu liệu, coi việc đọc xử lý liệu hoàn toàn nhiệm vụ ứng dụng Nói cách khác, thấy "" file XML, đừng cho ký hiệu đoạn Tùy thuộc vào văn cảnh, giá (price), tham số (a parameter), người (a person), hay bắt đầu chữ 'p' tiếng Anh 2.3 XML văn bản, không giống loại văn thông thường: Các chương trình dựng để tạo bảng công tác, sổ địa chỉ, liệu cấu trúc hóa thông thường lưu liệu đĩa, sử dụng khuôn dạng text hay nhị phân Một thuận lợi khuôn dạng văn cho phép xem liệu mà không cần phải có chương trình tạo liệu đó; nói cách khác,người dùng đọc với soạn thảo văn mà họ thích Các khuôn dạng văn cho phép tìm lỗi dễ dàng ứng dụng Tuy nhiên XML lại có điểm không HTML, luật dựng file XML hạn chế Chỉ cần quên tag, hay thuộc tính không kèm với nội dung (quots) làm cho toàn file XML ngừng hoạt động, HTML lỗi bỏ qua Bản ghi XML thức không cho phép ứng dụng tìm hiểu đến lần thứ nguyên nhân gây lỗi file XML; file bị lỗi ứng dụng ngừng hoạt động báo lỗi 2.4 XML có tập hợp kỹ thuật kèm theo: XML 1.0 ghi định nghĩa "tags" "thuộc tính" Trên XML 1.0, "the XML family" module cung cấp dịch vụ hữu dụng để hoàn thành nhiệm vụ yêu cầu cú tính chất thường xuyên quan trọng Xlink coi phương thức chuẩn để đưa liên kết siêu văn vào file XML XPointer and XFragments cú pháp để phát triển phần văn XML XPointer có đôi chỗ giống URL, thay tập trung vào văn Page mạng, lại tập trung vào đoạn liệu file XML CSS, the style sheet language, áp dụng XML giống HTML XSL loại ngôn ngữ tiến dựng cho style sheets Nó dựa XSLT, loại ngôn ngữ chuyển đổi sử dụng việc xếp lại, Thêm vào xoá số tag thuộc tính DOM chức chuẩn dựng cho thao tác file XML (và HTML) từ ngôn ngữ lập trình XML Schemas giúp nhà thiết kế định nghĩa xỏc cấu trúc định dạng họ Ngoài có số module công cụ khác hay phát triển 2.5 XHTML kết hợp XML HTML: XML có ứng dụng quan trọng khuôn dạng văn bản: XHTML W3C, hệ tiếp sau HTML XHTML có nhiều điểm chung với HTML Tuy nhiên, cú pháp có số thay đổi để phù hợp với luật XML Một văn tạo với XML mang cấu trúc XML bị hạn chế số phương diện (Ví dụ, XHTML cho phép "", lại không cho ""); bổ sung thêm ý nghĩa cho cú pháp (XHTML qui định "" "đoạn văn (paragraph)", "giá (price)", "người (person)", hay khác) 2.6 XML có tính module: XML cho phép bạn tạo khuôn dạng văn cách kết hợp hay sử dụng lại khuôn dạng có sẵn Do khuôn dạng phát triển độc lập nên xuất đặc tính thuộc tính trùng Vì phải thận trọng kết hợp khuôn dạng với (nghĩa "" "paragraph" khuôn dạng lại "person" khuôn dạng Để tránh nhầm lẫn kết hợp khuôn dạng với nhau, XML cung cấp chế namespace XSL RDF ví dụ điển hình định dạng XML có sử dụng namespace XML Schema tạo điều kiện dễ dàng kết hợp giản đồ để tạo thứ có cấu trúc văn kết hợp 2.7 XML sở RDF Semantic Web Khung miêu tả tài nguyên W3C (RDF) khuôn dạng văn XML hỗ trợ mô tả tài nguyên ứng dụng metadata, ví dụ danh sách nhạc, sưu tầm ảnh , sưu tầm thư mục RDF cho phép bạn nhận diện người album ảnh web sử dụng thông tin từ danh sách liên lạc cá nhân; sau chương trình nhận gửi thư tự động gửi message đến người thông báo cho họ biết ảnh họ mạng Cũng văn tích hợp HTML, hệ thống menu, ứng dụng forms dựng để bắt đầu Web gốc, ứng dụng tích hợp RDF tác nhân Semantic Web Cũng giống người cần có thống ý nghĩa Page từ họ sử dụng giao tiếp, máy vi tính cần có chế thống ý nghĩa thuật ngữ để truyền đạt thông tin cách hiệu Định nghĩa thức thuật ngữ vài lĩnh vực (mua bán hay sản xuất) gọi thể học cần thiết Web Semantic RDF, thể học, việc thể ý nghĩa, máy tính giúp người tiến hành công việc toàn nội dung hoạt động Semantic Web 2.8 XML sử dụng miễn phí, có platform độc lập hỗ trợ tốt: Khi lựa chọn XML làm sở để thực dự án, bạn tiếp cận với nhiều cụng cụ phát triển Lựa chọn XML có đôi chút giống với chọn SQL cho sở liệu: bạn phải xây dựng sở liệu cho chương trình riêng phải có qui tắc để thao tác Có nhiều công cụ có sẵn bạn dễ dàng nhận giúp đỡ nhiều người Và XML không cần phải mua quyền sử dụng nên bạn tạo cho phần mềm riêng mà trả khoản chi phí hết So sánh XML HTML: Phân biệt HTML Sitemap XML Sitemap? Khi nói sitemap (sơ đồ website), thường nhắc đến hai loại chính: HTML (Hyper Text Makeup Language) sitemap XML (EXtensible Makeup Language) sitemap Tuy chức sơ đồ cấu trúc website, đối tượng kỹ thuật lại hoàn toàn khác Cả HTML XML dựa chuẩn ngôn ngữ dạng tổng quát SGML XML Content Markup Language HTML Presenttation Markup Language Cho phép người dùng định nghĩa phần Các phần tử định nghĩa sẵn tử Kiểm tra tính hợp lệ Hầu không bắt lỗi Cho phép trao đổi liệu ứng dụng Chỉ thiết kế để trình diễn Cần phải định nghĩa cách chặt chẽ Không bắt buộc Các phần tử cần phải đóng Các phần tử rỗng không cần phải đóng Page Cấu trúc XML: Một tài liệu XML gồm: • Định nghĩa phần tử, thuộc tính, kiểu liệu,vv • Chứa liệu, phần tử chứa liệu text, hình ảnh, media,vv • Tập tin XML có phần mở rộng XML Ví dụ: greeting.xml Page Giải thích: Ưu điểm XML: • Dễ dàng xử lý, chuyển tải trao đổi liệu • Mô tả liệu cách liệu muốn thể thông qua thẻ nhớ • Tổ chức liệu có cấu trúc phân cấp Ứng dụng XML: • CML – Ngôn ngữ định dạng hóa học • MathML – Ngôn ngữ định dạng toán học • XHTML: Mở rộng định nghĩa lại HTML • WML (Wireless Markup Language) Biên dịch chạy tài liệu XML: Bộ phân tích (XML Parser) • Tách liệu thành mẩu nhỏ khiến chúng truy xuất mã lệnh chương trình • Một số trình phân tích kiêm chức kiểm tra khuôn dạng tính hợp lệ tài liệu XML • Các phân tích thông dụng • XML for Java (XML4J): Là thư viện phân tích tài liệu XML phát triển IBM AlphaWorks • Microsoft XML Parser: Được kèm theo sẵn chương trình duyệt Internet Explorer trở lên Bộ kiểm tra (XML Validator) • Dùng để kiểm tra tài liệu XML viết có khuôn dạng hợp lệ hay không? • Các kiểm tra thông dụng • XML Write: Là trình soạn thảo kiểm tra tính hợp lệ tài liệu Page • Altova XMLSpy 2010 : Là trình biên tập môi trường phát triển XML bán chạy thị trường cho tác vụ tạo mẫu, biên tập, chuyển đổi dò lỗi công nghệ dựa tảng XML DTD (Document Type Definition): DTD qui tắc cú pháp cho nhãn Nó cho bạn biết nhãn bạn sử dụng tài liệu, chúng nên xếp theo thứ tự nào, nhãn xuất bên nhãn khác, nhãn có thuộc tính, Một DTD có thề phận tài liệu XML, thường tài liệu riêng biệt loại tài liệu ]> Tove Jani Reminder Don't forget me this weekend Tove Jani Reminder Don't forget me this weekend! Xpath: Chúng ta thấy cấu trúc cú pháp XML tương đối đơn giãn XML cho ta cách chuẩn để trao đổi tin tức computers Bước tìm hiểu cách chương trình chế biến (process) tài liệu XML Dĩ nhiên để chế biến XML chương trình ứng dụng phải có cách lại bên tài liệu để lấy values Elements hay Attributes Do người ta thiết kế Page ngôn ngữ XML Path language, mà ta gọi tắt XPath XPath đóng vai trò quan trọng công tác trao đổi liệu computers hay chương trình ứng dụng cho phép ta lựa chọn hay sàng lọc tin tức muốn để trao đổi hay hiển thị Nếu làm việc với sở liệu ta dùng SQL statement Select from TableXYZ WHERE để trích số records từ table, làm việc với XML, table liệu nho nhỏ, XPath cho ta expressions criteria (điều kiện) giống giống clause WHERE SQL XPath chuẩn để process XML, giống SQL chuẩn để làm việc với sở liệu Tiên phuông việc triển khai chương trình áp dụng XPath công tác công ty phần mềm lớn Microsoft, Oracle, Sun, IBM, v.v Sở dĩ ta cần có chuẩn XPath áp dụng nhiều hoàn cảnh, nên cần phải có lý thuyết rõ ràng, xác Lý thuyết XPath khô khan áp dụng kỹ thuật gia đình XML Cho nên bạn kiên nhẫn nắm vững điều để gặp chỗ người ta dùng XPath nhận diện hiểu So với võ thuật, XPath XML giống Tấn pháp cách thở Tập luyện Tấn pháp mõi chân, tập thở nhàm chán, hai thứ chiêu công lực, chưa đánh thua XPath cho ta cú pháp để diễn tả cách lại XML Ta coi tài liệu XML đại diện tree (cây) có nhiều nodes Mỗi Element hay Attribute node Để minh họa ý niệm nầy, bạn quan sát tài liệu đặt hàng (order) XML sau: 2002-03-26 John Costello Chair 6 Desk 1 Page 10 Ralls, Kim Midnight Rain Fantasy 5.95 2000-12-16 A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world. Thurman, Paula Splish Splash Romance 4.95 2000-11-02 A deep sea diver finds true love twenty thousand leagues beneath the sea. Knorr, Stefan Creepy Crawlies Horror 4.95 2000-12-06 An anthology of horror stories about roaches, centipedes, scorpions and other insects. Kress, Peter Paradox Lost Science Fiction 6.95 2000-11-02 After an inadvertant trip through a Heisenberg Uncertainty Device, James Salway discovers the problems of being quantum. O'Brien, Tim Microsoft NET: The Programming Bible Computer 36.95 2000-12-09 Microsoft's NET initiative is explored in detail in this deep programmer's reference. Dưới thí dụ dùng xsl:if: Page 24 cyan Trong thí dụ trên, Attribute bgcolor tạo với trị số cyan price book lớn Mục đích ta dùng màu xanh da trời nhạt để làm cho sách có giá (price) cao Dưới thí dụ dùng xsl:choose: background-color: pink background-color: lightblue background-color: lightgreen Trong thí dụ Attribute style Cascading Style Sheet có trị số cho background-color khác tùy theo loại sách Nếu Romance pink, Fantasy lightblue, Romance hay Fantasy (tức xsl:otherwise) lightgreen Màu nầy dùng làm cho đề mục (title) sách Để ý cặp Tags , dùng để gói xsl:when, xsl:otherwise bên Page 25 Cách áp dụng Style Sheet vào tài liệu XML Trước tiếp tục học thêm lệnh khác XSL Style Sheet, ta cần hiểu biết cách áp dụng Style Sheet vào tài liệu XML Áp dụng Style Sheet chức XML parser MSXML Internet Explorer Bạn bảo XML parser áp dụng Style Sheet vào XML cách cần nhét processing instruction vào đầu hồ sơ XML, viết vài dòng code Dùng XML parser để hiển thị Nếu ta lưu trữ XSL Style Sheet hồ sơ đặt hàng file tên Order.xsl ta thêm hàng processing instruction xml-stylesheet vào đầu hồ sơ đặt hàng XML sau: 2002-03-26 John Costello Chair 6 Desk 1 Khi XML parser đọc hồ sơ XML nầy, processing instruction xmlstylesheet bảo parser áp dụng hồ sơ style sheet Order.xsl để transform XML Attribute type cho biết loại style sheet áp dụng, XSL style sheet cascading style sheet (CSS), loại style sheet dùng để định màu kiểu chữ Ở XSL style sheet dạng text Attribute href cho biết tên file dùng làm Style Sheet, path tên file tương đối hay tuyệt đối Nếu ta dùng chương trình trình duyệt Internet Explorer 5.5 hay 6.0 tự động load Style Sheet để thêm dáng điệu cho tài liệu XML Page 26 B ONTOLOGY: Giới thiệu Ontology: Trong khoa học máy tính, ontology mô hình liệu biểu diễn lĩnh vực sử dụng để suy luận đối tượng lĩnh vực mối quan hệ chúng Ontology cung cấp từ vựng chung bao gồm khái niệm, thuộc tính quan trọng định nghĩa khái niệm thuộc tính Ngoài từ vựng, ontology cung cấp ràng buộc, ràng buộc coi giả định sở ý nghĩa mong muốn từ vựng, sử dụng miền mà giao tiếp người hệ thống ứng dụng phân tán hỗn tạp khác Vài trò Ontology: Thứ nhất, ontology cung cấp tầng tích hợp liệu từ nhiều nguồn khác vào mô hình ngữ nghĩa thống Các liệu kết hợp với sử dụng để suy diễn thông tin mong muốn, thông tin không định nghĩa trực tiếp nguồn liệu riêng lẻ trước Thứ hai, mối quan hệ thành phần source code với source code với tài liệu thành phần thiếu việc bảo trì phần mềm Sử dụng ontology cho phép hệ thống tổ chức lưu trữ thông tin từ so khớp liệu mối quan hệ để phục vụ cho công tác bảo trì Thứ ba, ontology cho phép suy diễn tri thức từ tri thức sở, cho phép liên kết đối tượng theo mối quan hệ gián tiếp Thứ tư, liệu mà ontology sử dụng đặt nhiều nơi khác nhau, điều phù hợp với mô hình chia sẻ liệu thành viên phận bảo trì Xây dựng Ontology: Ngôn ngữ ontology cho phép người sử dụng viết rõ ràng, khái niệm hình thức mô hình miền Các yêu cầu chính: • Cấu trúc rõ ràng: điều kiện cần cho máy xử lý thông tin • Ngữ nghĩa hình thức miêu tả ý nghĩa tri thức cách xác: Ý nghĩa ngữ nghĩa hình thức tồn thời gian dài miền toán logic Việc sử dụng ngữ nghĩa hình thức cho phép người suy diễn tri thức Với tri thức ontology suy diễn về: o Thành viên lớp: Nếu x thể lớp C C lớp lớp D có x thể lớp D Page 27 o Các lớp tương đương: Nếu lớp A tương đương với lớp B lớp B tương đương với lớp C, lớp A tương đương với lớp C o Tính quán: Giả sử khai báo x thể lớp A A lớp B∩ C, A lớp lớp D, Lớp B lớp D quan hệ với (disjoint) Thì không quán A nên rỗng lại x Đây dấu hiệu lỗi ontology o Phân loại : khai báo cặp thuộc tính giá trị biết điều kiện đủ cho thành viên lớp A, cá thể x thỏa mãn điều kiện, kết luận x phải thể A • Ngữ nghĩa điều kiện tiên cho việc hỗ trợ suy diễn: Hỗ trợ suy diễn quan trọng cho phép kiểm tra tính quán ontology tri thức, kiểm tra quan hệ thừa lớp, tự động phân loại thể lớp Ngữ nghĩa hình thức hỗ trợ suy diễn thường cung cấp việc ánh xạ ngôn ngữ ontology đến hình thức logic sử dụng suy diễn tự động hình thức tồn OWL ánh xạ logic miêu tả sử dụng suy diễn tồn FaCT RACER Các logic mô tả tập logic vị từ nhằm hỗ trợ suy diễn hiệu Các thành phần ontology: Ontology sử dụng biểu mẫu trình bày tri thức giới hay phần Ontology thường miêu tả: • Cá thể: Các đối tượng bản, tảng • Lớp: Các tập hợp, hay kiểu đối tượng • Thuộc tính: Thuộc tính, tính năng, đặc điểm, tính cách, hay thông số mà đối tượng có đem chia sẻ • Mối liên hệ: cách mà đối tượng liên hệ tới đối tượng khác Bộ từ vựng ontology xây dựng sở tầng RDF RDFS, cung cấp khả biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên Web có khả hỗ trợ lập luận Page 28 Cá thể (Individuals) – Thể Cá thể thành phần ontology Các cá thể ontology bao gồm đối tượng rời rạc xe, cọp , đối tượng trừu tượng số từ Lớp (Classes) - Khái niệm Lớp nhóm, tập hợp đối tượng Một lớp gộp nhiều lớp gộp vào lớp khác Một lớp gộp vào lớp khác gọi lớp lớp gộp Điều quan trọng quan hệ xếp gộp tính kế thừa Thuộc tính (Properties) Các đối tượng ontology mô tả thông qua việc khai báo thuộc tính chúng Mỗi thuộc tính có tên giá trị thuộc tính Các thuộc tính sử dụng để lưu trữ thông tin mà đối tượng có Ví dụ, cá nhân có thuộc tính: Họ_tên, ngày_sinh, quê_quán, số_cmnd… Giá trị thuộc tính có kiểu liệu phức tạp Mối quan hệ (Relation) Quan hệ đối tượng ontology cho biết đối tượng liên hệ với đối tượng khác Sức mạnh ontolgy nằm khả diễn đạt quan hệ Tập hợp quan hệ mô tả ngữ nghĩa domain Tập dạng quan hệ sử dụng phân loại thứ bậc chúng thể sức mạnh diễn đạt ngôn ngữ dùng để biểu diễn ontology Ontology thường phân biệt nhóm quan hệ khác Vd: • Quan hệ lớp • Quan hệ thực thể • Quan hệ thực thể lớp • Quan hệ đối tượng đơn tập hợp • Quan hệ tập hợp Ngôn ngữ Ontology: 5.1 RDFS (RDF-Shema): RDF RDFS cho phép biểu diễn vài tri thức ontology Mô hình RDF/RDFS liên quan đến tổ chức từ vựng việc phân cấp: quan hệ lớp Page 29 con, thuộc tính con, ràng buộc domain range, thể lớp Tuy nhiên số đặc điểm bị thiếu Ví dụ như: • Tách rời lớp: Thỉnh thoảng muốn lớp tách rời Ví dụ lớp Male lớp Female tách rời, RDFS để quan hệ lớp con, ví dụ: Female lớp lớp Person • Phạm vi giá trị thuộc tính: rdfs:range định nghĩa dải giá trị thuộc tính áp dụng cho tất lớp Vì RDF Schema khai báo ràng buộc với dải giá trị áp dụng với vài lớp định Ví dụ, RDFS định nghĩa bò ăn cỏ, loài động vật khác ăn cỏ • Kết hợp lớp với nhau: Đôi muốn xây dụng lớp tạo từ việc kết hợp lớp khác sử dụng hợp giao bù Ví dụ định nghĩa lớp Person việc hợp hai lớp phân biệt Male Female RDF Schema không cho phép định nghĩa • Các ràng buộc lực lượng: Chúng ta muốn ràng buộc giá trị thuộc tính phân biệt có bắt buộc Ví dụ: Chúng ta thích nói người có hai cha mẹ, khóa học dạy giảng viên Kiểu ràng buộc biểu diễn RDF Schema • Các đặc điểm cụ thể thuộc tính: Nó hữu ích nói thuộc tính bắc cầu (ví dụ “Lớn hơn”), (“là mẹ của”), nghịch đảo thuộc tính khác (như thuộc tính “là mẹ của”, thuộc tính “là của”) Vì hạn chế mà cần ngôn ngữ ontology giàu có (cách biểu diễn phong phú ) RDF Schema Trong thiết kế ngôn ngữ nên ý đến cân sức mạnh biểu diễn hỗ trợ suy diễn hiệu Nên ngôn ngữ ontology cho web (OWL – Ontology Web Language) đời OWL đưa tiêu chuẩn cho ontology sử dụng web Mục đích OWL cung cấp chuẩn để tạo tảng để quản lý tài nguyên, để chia sẻ tái sử dụng liệu Web 5.2 OWL (Ontology Web Language): OWL (The Web Ontology Language) ngôn ngữ gần XML dùng để mô tả hệ sở tri thức OWL ngôn ngữ đánh dấu dùng để xuất chia sẻ liệu Internet thông qua mô hình liệu gọi “ontology” Ontology mô tả lĩnh vực (domain) diễn tả đối tượng lĩnh vực Page 30 mối quan hệ đối tượng OWL phần mở rộng từ vựng RDF kế thừa từ ngôn ngữ DAML+OIL Web ontology – dự án hỗ trợ W3C OWL biểu diễn ý nghĩa thuật ngữ từ vựng mối liên hệ thuật ngữ để đảm bảo phù hợp với trình xử lý phần mềm OWL xem kỹ thuật trọng yếu để cài đặt cho Semantic Web tương lai OWL thiết kế đặc biệt để cung cấp cách thức thông dụng việc xử lý nội dung thông tin Web Ngôn ngữ kỳ vọng cho phép hệ thống máy tính đọc thay cho người Vì OWL viết XML, thông tin OWL dễ dàng trao đổi kiểu hệ thống máy tính khác nhau, sử dụng hệ điều hành ngôn ngữ ứng dụng khác Mục đích OWL cung cấp chuẩn để tạo tảng để quản lý tài sản, tích hợp mức doanh nghiệp để chia sẻ tái sử dụng liệu Web OWL phát triển có nhiều tiện lợi để biểu diễn ý nghĩa ngữ nghĩa so với XML, RDF RDFS, OWL đời sau ngôn ngữ này, có khả biểu diễn nội dung mà máy biểu diễn Web Các phiên OWL: Hiện có ba loại OWL : OWL Lite, OWL DL (description logic), OWL Full • OWL Lite: hỗ trợ cho người dùng chủ yếu cần phân lớp theo thứ bậc ràng buộc đơn giản Ví dụ: Trong hỗ trợ ràng buộc tập hợp, cho phép tập hợp giá trị hay Điều cho phép cung cấp công cụ hỗ trợ OWL Lite dễ dàng so với khác • OWL DL (OWL Description Logic): hỗ trợ cho người dùng cần diễn cảm tối đa cần trì tính tính toán toàn vẹn (tất kết luận phải đảm bảo để tính toán) tính định (tất tính toán kết thúc khoảng thời gian hạn chế) OWL DL bao gồm tất cấu trúc ngôn ngữ OWL, chúng sử dụng với hạn chế (Ví dụ: Trong lớp lớp nhiều lớp, lớp thể lớp khác) OWL DL định theo tương ứng với logic mô tả, lĩnh vực nghiên cứu logic tạo nên thiết lập thức OWL • OWL Full muốn đề cập tới người dùng cần diễn cảm tối đa tự RDF mà không cần đảm bảo tính toán biểu thức Ví dụ, OWL Full, lớp xem xét đồng thời tập cá thể Page 31 cá thể thân OWL Full cho phép ontology gia cố thêm ý nghiã từ vựng định nghĩa trước (RDF OWL) Các phiên tách biệt tiện ích khác nhau, OWL Lite phiên dễ hiểu phức tạp OWL Full Mối liên hệ ngôn ngữ OWL: • Mọi ontology hợp lệ dựa OWL Lite ontology hợp lệ OWL DL • Mọi ontology hợp lệ dựa OWL DL ontology hợp lệ OWL Full • Mọi kết luận hợp lệ dựa OWL Lite kết luận hợp lệ OWL DL • Mọi kết luận hợp lệ dựa OWL DL kết luận hợp lệ OWL Full Công cụ xây dựng quản trị Ontology: 6.1 Quy trình phát triển Ontology: Trong năm gần đây, loạt phương pháp luận khác thiết kế để trợ giúp cho việc tiến hành phát triển nhiệm vụ báo cáo tài liệu trí tuệ nhân tạo Các phương pháp truyền thống gồm Cyc (Lenat & Guha 1990), Uschold King (Uschold $ King 1995), Gruninger Fox (Gruninger $ Fox 1995), Kactus (Kactus 1996),và Methontology (Fernandez-Lopez, Gomes-Perez & Juritso 1997) Các phương pháp luận cung cấp dẫn chung có cấu trúc Nếu làm theo tăng quy trình phát triển cải tiến chất lượng cho kết cuối Theo đánh giá phương pháp luận “Methontology” phương pháp luận thiết kế ontology phổ biến (được hỗ trợ môi trường WebODE) Quy trình phát triển Ontology quy trình gồm nhiều bước, nhiên chưa có phương pháp chuẩn hóa để phát triển ontology Quy trình phát triển gồm bước Stanford Center for Biomedical Informatics Research đưa (đây nhóm phát triển phần mềm Protégé để trình diễn soạn thảo Ontology) Bước 1: Xác định lĩnh vực phạm vi Ontology Trong giai đoạn cần xác định mục đích việc xây dựng ontology gì? Phục vụ đối tượng nào? Ontology xây dựng cần có đặc điểm gì, liên quan đến lĩnh vực, phạm vi Quá trình khai thác, quản lý bảo trì ontology thực sao? Bước 2: Xem xét việc sử dụng lại ontology có sẵn Cấu trúc Ontology bao gồm tầng: tầng trừu tượng (Abstract), tầng miền xác định (Domain) tầng mở rộng (Extension) Trong tầng trừu tượng có tính tái Page 32 sử dụng cao, tầng miền xác định tái sử dụng lĩnh vực định Cộng đồng Ontology lớn mạnh có nhiều Ontology tạo ra, với tâm huyết nhiều chuyên gia Do trước bắt đầu xây dựng ontology, cần xét đến khả sử dụng lại ontology có Nếu sử dụng lại phần ontology có, chi phí bỏ cho trình xây dựng ontology giảm nhiều Bước 3: Liệt kê thuật ngữ quan trọng Ontology xây dựng sở khái niệm lĩnh vực cụ thể, xây dựng ontology cần thuật ngữ chuyên ngành để xây dựng thành lớp ontology tương ứng Tất nhiên thuật ngữ đưa vào ontology, chưa định vị cho thuật ngữ Do cần phải liệt kê thuật ngữ, để xác định ngữ nghĩa cho thuật ngữ đó, cân nhắc phạm vi ontology Việc liệt kê thuật ngữ cho thấy phần tổng quan khái niệm lĩnh vực đó, giúp cho bước thuận lợi Bước 4: Xác định lớp phân cấp lớp Công việc xác định lớp không đơn giản tiến hành tìm hiểu ngữ nghĩa thuật ngữ có để có mô tả cho thuật ngữ đó, mà phải định vị cho lớp mới, loại bỏ khỏi ontology nằm phạm vi ontology hay hợp với lớp có có nhiều thuật ngữ có ngữ nghĩa (đồng nghĩa, hay đa ngôn ngữ) Ngoài thuật ngữ mang tính chất lớp Một công việc cần phải tiến hành song song với việc xác định lớp xác định phân cấp lớp Việc giúp định vị lớp dễ dàng Có số phương pháp tiếp cận việc xác định phân cấp lớp: • Phương pháp từ xuống (top-down): bắt đầu với định nghĩa lớp tổng quát lĩnh vực sau chuyên biệt hóa khái niệm Ví dụ: Trong Ontology quản lý nhân sự, ta bắt đầu với lớp Người, sau chuyên biệt hóa lớp Người cách tạo lớp lớp Người : Kỹ sư, Công nhân, Bác sỹ,… Lớp Kỹ sư chuyên biệt hóa cách tạo lớp Kỹ sư CNTT, Kỹ sư điện, Kỹ sư khí, … • Phương pháp từ lên (bottom-up): bắt đầu với định nghĩa lớp cụ thể nhất, phân cấp Sau gộp lớp lại thành khái tổng quát Ví dụ: ta bắt đầu với việc định nghĩa lớp như: nhân viên lễ tân, nhân Page 33 viên vệ sinh, nhân viên kỹ thuật Sau tạo lớp chung cho lớp lớp nhân viên • Phương pháp kết hợp: kết hợp phương pháp từ xuống từ lên: định nghĩa lớp dễ thấy trước sau tổng quát hóa chuyên biệt hóa lớp cách thích hợp Ví dụ ta bắt đầu với lớp nhân viên trước, thuật ngữ hay gặp quản lý nhân Sau chuyên biệt hóa thành lớp con: nhân viên lễ tân, nhân viên vệ sinh,… tổng quát hóa lên thành lớp Người Bước 5: Xác định thuộc tính Để xác định thuộc tính cho lớp, ta quay trở lại danh sách thuật ngữ liệt kê Hầu hết thuật ngữ lại (sau xác định lớp) thuộc tính lớp Với thuộc tính tìm được, ta phải xác định xem mô tả cho lớp Các thuộc tính trở thành thuộc tính lớp xác định Ví dụ lớp Người có thuộc tính sau: Họ, Tên, Ngày sinh, Giới tính, Nghề nghiệp, Địa chỉ, Điện thoại,… Bước 6: Xác định ràng buộc thuộc tính Các thuộc tính có nhiều khía cạnh khác nhau: kiểu giá trị, giá trị cho phép, số thuộc tính (lực lượng), đặc trưng khác mà giá trị thuộc tính nhận Ví dụ: “Năm sinh” “nhân viên” có số nguyên, nhận giá trị từ 1948 đến 1990 Cần phải xác định ràng buộc cho thuộc tính chặt chẽ tốt, để tránh trường hợp nhập liệu sai, dẫn đến đổ vỡ ứng dụng sử dụng Ontology Bước 7: Tạo thể / thực thể Bước cuối tạo thể lớp phân cấp Việc tạo thể cho lớp trình điền thông tin vào thuộc tính lớp 6.2 Công cụ phát triển ontology: Một số công cụ phát triển hiệu chỉnh có giá trị việc làm giảm độ phức tạp thời gian dùng cho nhiệm vụ xây dựng ontology Các công cụ Kaon, OileEd Protégé cung cấp giao diện nhằm giúp đỡ người sử dụng thực hoạt động yêu trong trình phát triển ontology Việc lựa chọn công cụ hiệu chỉnh phù hợp có nhiều khó khăn kiểu ontology có yêu cầu kinh phí, thời gian, tài nguyên khác Để giúp cho việc giải vướng mắc này, Singh & Murshed (2005) đưa tiêu chuẩn đánh giá công cụ tạo ontology Tiêu chuẩn bao gồm tính năng, khả sử dụng lại, lưu trữ liệu, mức độ phức tạp, quan hệ, tính lâu bền, độ an toàn, độ chắn, khả học, tính khả dụng, hiệu lực, Page 34 tính rõ ràng Protégé OntoEditFree phát triển Singh & Murshed sử dụng tiêu chuẩn Page 35 Một số công cụ hiệu chỉnh ontology phổ biến: Các công cụ phát triển Ontology Protégé hỗ trợ OWL, công cụ sử dụng rộng rãi lâu Nó cho phép người sử dụng định nghĩa chỉnh sửa lớp ontology, thuộc tính quan hệ thể sử dụng cấu trúc Các ontology đưa theo định dạng RDF(S), XML Schema Platform protégé cung cấp hai cách mô hình hóa ontology thông qua Protégé - Frame Protégé – OWL, có nhiều plugin Chúng ta quan sát cách trực quan thông qua OWL Viz, cho phép quan sát ontology dạng đồ họa đưa file ảnh JPEG Ngoài hỗ trợ truy vấn SPARQL Page 36 PHẦN II ỨNG DỤNG • Các chức ứng dụng bao gồm: Tạo sở liệu XML Truy xuất sở liệu XML Cập nhật sở liệu XML Truy vấn sở liệu XML Page 37 TÀI LIỆU THAM KHẢO [1] Nguyễn Xuân Huy, “Hệ suy dẫn”, Hà Nội, 2013 [2] Nguyễn Xuân Huy, “Các phụ thuộc logic sở liệu”, Hà Nội, 2006 [3] Hoàng Văn Kiếm, Đỗ Phúc, Đỗ Văn Nhơn, “Giáo trình Các hệ sở tri thức”, NXB Đại học Quốc gia Tp.HCM, 2012 [4] Phan Huy Khánh, “Bài giảng công nghệ tri thức”, Đà Nẵng, 2011 [5] Phan Huy Khánh, “Giáo trình Hệ chuyên gia”, Đà Nẵng, 2009 [6] Đỗ Trung Tuấn, “Trí tuệ nhân tạo”, NXB Giáo dục, 1997 [7] Nguyễn Đình Thuân, “Bài giảng Trí tuệ nhân tạo”, Nha trang, 2007 Page 38 [...]... ontology, cần xét đến khả năng sử dụng lại các ontology đã có Nếu có thể sử dụng lại một phần các ontology đã có, chi phí bỏ ra cho quá trình xây dựng ontology sẽ giảm đi rất nhiều Bước 3: Liệt kê các thuật ngữ quan trọng Ontology được xây dựng trên cơ sở các khái niệm trong một lĩnh vực cụ thể, vì vậy khi xây dựng ontology cần bắt đầu từ các thuật ngữ chuyên ngành để xây dựng thành các lớp trong ontology. .. ngữ con của OWL: • Mọi ontology hợp lệ dựa trên OWL Lite đều là ontology hợp lệ trên OWL DL • Mọi ontology hợp lệ dựa trên OWL DL đều là ontology hợp lệ trên OWL Full • Mọi kết luận hợp lệ dựa trên OWL Lite đều là kết luận hợp lệ trên OWL DL • Mọi kết luận hợp lệ dựa trên OWL DL đều là kết luận hợp lệ trên OWL Full 6 Công cụ xây dựng và quản trị Ontology: 6.1 Quy trình phát triển Ontology: Trong những... pháp chuẩn hóa nào để phát triển các ontology Quy trình phát triển gồm 7 bước do Stanford Center for Biomedical Informatics Research đưa ra (đây là nhóm phát triển phần mềm Protégé để trình diễn và soạn thảo Ontology) Bước 1: Xác định lĩnh vực và phạm vi của Ontology Trong giai đoạn này cần xác định mục đích của việc xây dựng ontology là gì? Phục vụ đối tượng nào? Ontology sắp xây dựng cần có đặc điểm... trì ontology được thực hiện ra sao? Bước 2: Xem xét việc sử dụng lại các ontology có sẵn Cấu trúc của một Ontology bao gồm 3 tầng: tầng trừu tượng (Abstract), tầng miền xác định (Domain) và tầng mở rộng (Extension) Trong đó tầng trừu tượng có tính tái Page 32 sử dụng rất cao, tầng miền xác định có thể tái sử dụng trong một lĩnh vực nhất định Cộng đồng Ontology cũng đang lớn mạnh và có rất nhiều Ontology. .. XML Page 26 B ONTOLOGY: 1 Giới thiệu về Ontology: Trong khoa học máy tính, một ontology là một mô hình dữ liệu biểu diễn một lĩnh vực và được sử dụng để suy luận về các đối tượng trong lĩnh vực đó và mối quan hệ giữa chúng Ontology cung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc tính quan trọng và các định nghĩa về các khái niệm và các thuộc tính này Ngoài bộ từ vựng, ontology còn cung... hiệu chỉnh ontology phổ biến: Các công cụ phát triển Ontology Protégé hỗ trợ OWL, là công cụ được sử dụng rộng rãi và lâu nhất hiện nay Nó cho phép người sử dụng định nghĩa và chỉnh sửa các lớp ontology, các thuộc tính và quan hệ và các thể hiện sử dụng cấu trúc cây Các ontology có thể được đưa ra theo các định dạng RDF(S), XML Schema Platform protégé cung cấp hai cách chính mô hình hóa ontology thông... thuộc tính “là con của”) Vì những hạn chế này mà chúng ta cần một ngôn ngữ ontology giàu có hơn (cách biểu diễn phong phú ) RDF Schema Trong thiết kế một ngôn ngữ nên chú ý đến sự cân bằng giữa sức mạnh biểu diễn và hỗ trợ suy diễn hiệu quả Nên ngôn ngữ ontology cho web (OWL – Ontology Web Language) ra đời OWL đưa ra tiêu chuẩn cho ontology sử dụng trong web Mục đích chính của OWL là sẽ cung cấp các chuẩn... quản lý tài nguyên, để chia sẻ cũng như tái sử dụng dữ liệu trên Web 5.2 OWL (Ontology Web Language): OWL (The Web Ontology Language) là một ngôn ngữ gần như XML dùng để mô tả các hệ cơ sở tri thức OWL là một ngôn ngữ đánh dấu dùng để xuất bản và chia sẻ dữ liệu trên Internet thông qua những mô hình dữ liệu gọi là ontology Ontology mô tả một lĩnh vực (domain) và diễn tả những đối tượng trong lĩnh vực... xạ một ngôn ngữ ontology đến hình thức logic và sử dụng suy diễn tự động bởi các hình thức luôn tồn tại OWL được ánh xạ logic miêu tả và sử dụng các suy diễn đang tồn tại như FaCT và RACER Các logic mô tả là tập con của logic vị từ nhằm hỗ trợ suy diễn hiệu quả 4 Các thành phần của ontology: Ontology được sử dụng như là một biểu mẫu trình bày tri thức về thế giới hay một phần của nó Ontology thường... (Kactus 1996),và Methontology (Fernandez-Lopez, Gomes-Perez & Juritso 1997) Các phương pháp luận cung cấp các chỉ dẫn chung và có cấu trúc Nếu làm theo có thể tăng quy trình phát triển và cải tiến chất lượng cho kết quả cuối cùng Theo như đánh giá phương pháp luận “Methontology” là phương pháp luận thiết kế ontology phổ biến nhất (được hỗ trợ môi trường WebODE) Quy trình phát triển Ontology là một quy ... ONTOLOGY: 27 Giới thiệu Ontology: 27 Vài trò Ontology: .27 Xây dựng Ontology: .27 Các thành phần ontology: 28 Ngôn ngữ Ontology: ... 34 PHẦN II ỨNG DỤNG 37 TÀI LIỆU THAM KHẢO 38 NGHIÊN CỨU CSDL XML, ONTOLOGY PHẦN I LÝ THUYẾT A XML XML gì? 1.1 Lịch sử: XML viết tắt cho chữ eXtensible... văn giúp tạo cấu trúc cho liệu XML ngôn ngữ lập trình người dùng không cần phải Page NGHIÊN CỨU CSDL XML, ONTOLOGY lập trình viên để học sử dụng thành thạo XML giúp cho người dùng dễ dàng tạo