Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 68 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
68
Dung lượng
661,07 KB
Nội dung
1 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN HUỲNH TUẤN ANH TÌM HIỂU SEMANTIC WEB VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA (Rút trích và chuyển đổi dữ liệu trong cơ sở dữ liệu quan hệ thành dữ liệu dạng RDF) ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Nha Trang, tháng 12 năm 2007 2 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN TÌM HIỂU SEMANTIC WEB VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA (Rút trích và chuyển đổi dữ liệu trong cơ sở dữ liệu quan hệ thành dữ liệu dạng RDF) Nha Trang, tháng 12 năm 2007 Sinh viên thực hiện: Huỳnh Tuấn Anh Mã số sinh viên: 45DT002 Giáo viên hướng dẫn: ThS Nguyễn Đức Thuần 3 LỜI NÓI ĐẦU World Wide Web (gọi tắt là Web) đã trở thành một kho tàng thông tin khổng lồ của nhân loại, một môi trường chuyển tải thông tin không thể thiếu được trong thời đại công nghệ thông tin ngày nay. Sự phổ biến và bùng nổ thông tin trên Web cũng đặt ra một thách thức mới là làm thế nào để khai thác được thông tin trên Web một cách hiệu quả, mà cụ thể là làm sao để máy tính có thể trợ giúp con người xử lý tự động được những thông tin ấy. Muốn vậy, trước hết máy tính phải hiểu được thông tin trên các tài liệu Web, trong khi ở thế hệ Web hiện tại thông tin được biểu diễn dưới dạng văn bản thô mà chỉ con người mới đọc hiểu được. Để giải quyết vấn đề này, nhiều tổ chức nghiên cứu đã phối hợp nghiên cứu để phát triển Semantic Web (Web có ngữ nghĩa). Theo Tim Berners Lee, Semantic Web là sự mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa rõ ràng sao cho con người và máy tính có thể cùng làm việc với nhau một cách hiệu quả hơn. Mục tiêu của Semantic Web là để phát triển các chuẩn chung và công nghệ cho phép máy tính có thể hiểu được nhiều hơn thông tin trên Web, sao cho chúng có thể hỗ trợ tốt hơn việc khám phá thông tin, tích hợp dữ liệu, và tự động hóa các công việc. Với sự lớn mạnh và khả năng lưu trữ thông tin ngữ nghĩa, Semantic Web sẽ trở thành một thế hệ Web cho tương lai, thế hệ Web mà chúng ta đang chờ đợi. Và đó cũng là lý do đề tài "Tìm hiểu Semantic Web và xây dựng ứng dụng minh họa" được tôi chọn làm đề tài cho khóa luận tốt nghiệp. Mặt dù đã có những cố gắng, song do đây là một mảng kiến thức tương đối mới do đó đề tài sẽ có nhiều sai sót. Tôi rất mong sự đóng góp ý kiến của các thầy cô cùng các bạn để đề tài được hoàn thiện hơn. Tôi xin chân thành cảm ơn thầy Nguyễn Đức Thuần đã tận tình hướng dẫn, giúp đỡ tạo điều kiện để tôi hoàn thành đề tài này. Nha Trang, ngày 8 tháng 12 năm 2007. Huỳnh Tuấn Anh 4 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 5 MỤC LỤC LỜI NÓI ĐẦU 1 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 4 Chương 1. GIỚI THIỆU SEMANTIC WEB 8 1.1 Web hiện tại và những hạn chế của nó 8 1.2 Semantic Web 8 1.2.1 Khái niệm Semantic Web 9 1.2.2 Một số đặc trưng của Semantic Web 10 1.2.3 Kiến trúc Semantic Web 11 Chương 2. RDF – NỀN TẢNG CỦA SEMANTIC WEB 16 2.1 Các khái niệm cơ bản về RDF 18 2.1.1 Resources 18 2.1.2 Properties 18 2.1.3 Statements 18 2.1.4 Ví dụ về statements 19 2.1.5 Reification 21 2.1.6 Data Types (Các kiểu dữ liệu) 21 2.1.7 Các hạn chế của RDF 22 2.2 RDF: XML - Base Syntax (RDF dựa trên cú pháp XML) 23 2.2.1 Thuộc tính rdf:resource 25 2.2.2 Nested Descriptions (sự mô tả lồng nhau) 26 2.2.3 The rdf:type Element (phần tử kiểu) 27 2.2.4 Abbreviated Syntax (cú pháp viết tắt) 27 2.2.5 Container Elements 28 2.3 RDF Schema: Basic Ideas 32 2.3.1 Classes and Properties 33 2.3.2 Class Hierarchies and Inheritance 33 2.2.3 Property Hierarchies 35 6 2.3.4 RDF versus RDFS Layers 35 2.4 Ngôn ngữ RDFS 36 2.4.1 Các lớp cơ bản trong RDFS 37 2.4.2 Các property cơ bản cho việc định nghĩa các mối liên hệ 37 2.4.3 Các property cơ bản cho việc giới hạn của property 37 2.4.4 Container class 38 2.4.5 Các property tiện ích 39 2.4.6 Ví dụ: RDFS mô tả về các giảng viên và các khóa học 39 2.5 Tóm tắt các lớp và các property của RDF và RDFS 40 2.5.1 Tóm tắt các lớp trong RDFS 41 2.5.2 Tóm tắt các lớp trong RDF 41 2.6 OWL (Ontology Web Language), ngôn ngữ mở rộng của RDF 42 2.6.1 Các phiên bản của OWL 43 2.6.2 Một số ví dụ về OWL 44 Chương 3. GIỚI THIỆU BỘ CÔNG CỤ MÃ NGUỒN MỞ JENA 46 Chương 4. CHUYỂN ĐỔI DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU THÀNH DỮ LIỆU DẠNG RDF 48 4.1 Giới thiệu 48 4.2 Ý tưởng 49 4.3 Sơ đồ thực hiện giải thuật: 49 4.4 Chi tiết thực hiện giải thuật: 50 4.4.1 Mô tả các thuộc tính của Database 50 4.2.2 Phát biểu SELECT để rút trích dữ liệu 50 4.2.3 Tạo RDFS 51 4.2.4 Tạo file RDF 51 4.5 Ví dụ 52 4.5.1 Bảng mô tả các thuộc tính: 53 4.5.2 Phát biểu SELECT để rút trích dữ liệu: 53 4.5.3 File RDFS 54 4.5.4 File RDF 54 7 4.6 Đánh giá giải thuật 55 Chương 5. CÀI ĐẶT ỨNG DỤNG 55 5.1 Mô tả ứng dụng: 55 5.2 Các yêu cầu của ứng dụng 56 5.2.1 Yêu cầu về giao diện 56 5.2.2 Yêu cầu chức năng 56 5.3 Triển khai ứng dụng 56 5.4 Hoạt động của hệ thống 56 5.4.1 Kết nối với cơ sở dữ liệu 56 5.4.3 Tạo RDF và RDFS trực tiếp bằng câu lệnh select: 65 KẾT LUẬN 68 TÀI LIỆU THAM KHẢO 68 8 Chương 1 GIỚI THIỆU SEMANTIC WEB 1.1 Web hiện tại và những hạn chế của nó Từ khi ra đời đến nay, Web đóng một vai trò quan trọng trong cuộc sống hàng ngày của con người. Nhờ có Web mà việc trao đổi thông tin trên Web dễ dàng hơn bao giờ hết. Cùng với sự phát triển của Web, nhu cầu của con người trên Web cũng ngày càng to lớn từ việc tìm kiếm thông tin đến việc chia sẻ dữ liệu giữa các ứng dụng độc lập Tuy nhiên, khối lượng các tài nguyên trên Web là vô cùng to lớn, điều này làm nảy sinh vấn đề nghiêm trọng là làm thế nào để tìm kiếm chính xác tài nguyên mình mong muốn. Dữ liệu trong các file HTML hữu ích trong một vài ngữ cảnh nhưng vô nghĩa đối với những ngữ cảnh khác. Thêm vào đó HTML không thể mô tả về dữ liệu đóng gói trong nó. Vấn đề là hầu hết dữ liệu trên Web hiện tại đều ở dạng HTML, không có một hệ thống chung nào đảm bảo việc xuất bản dữ liệu theo cách mà dữ liệu đó có thể xử lý được bởi nhiều chương trình khác nhau cho nên dữ liệu trên Web rất khó trong việc sử dụng ở phạm vi rộng lớn. Vì vậy, nếu như các thành phần chính yếu của dữ liệu trong Web trình bày theo dạng thức thông thường, thì thật khó sử dụng dữ liệu này một cách phổ biến. Một thiếu sót của Web hiện nay là thiếu cơ cấu hiệu quả để chia sẻ dữ liệu vì các ứng dụng được phát triển một cách độc lập. Do đó cần phải mở rộng thế hệ Web hiện tại để máy tính có thể hiểu, tích hợp dữ liệu, cũng như tái sử dụng dữ liệu thông qua các ứng dụng khác nhau. 1.2 Semantic Web Thế hệ Web đầu tiên bắt đầu với những trang HTML tĩnh. Thế hệ thứ hai dựa trên nền tảng XML và HTML để tạo nên những trang Web sống động hơn. Dữ liệu Web dưới dạng XML dựa vào các file CSS hay XSLT để biến đổi thành dạng HTML và thể hiện lên trên trình duyệt. Thế hệ thứ ba được gọi là Semantic Web với mục đích là thông tin sẽ do máy tự động xử lý. Theo Tim Berners-Lee đã mô tả trong cuốn sách "Weaving the Web" [Berners-Lee, 1999] : "Semantic Web sẽ làm cho các dịch vụ thông minh hơn ví dụ như môi giới thông tin, tác nhân tìm kiếm, bộ lọc thông 9 tin Những dịch vụ thông minh trên hệ thống Web giàu ngữ nghĩa như thế chắc hẳn sẽ vượt trội hơn những phiên bản sẵn có hiện tại của các dịch vụ này." 1.2.1 Khái niệm Semantic Web Semantic Web là một mạng lưới thông tin được liên kết theo phương pháp sao cho thông tin có thể dễ dàng được xử lý bởi các máy tính trên toàn cầu. Nó được xem là cách mô tả thông tin rất hiệu quả trên World Wide Web, và nó cũng được xem là một cơ sở dữ liệu có khả năng liên kết toàn cầu. Semantic Web được đề xuất bởi Tim Berners-Lee, người phát minh ra WWW, URIs, HTTP, và HTML. Hiện tại có một đội ngũ chuyên gia ở World Wide Web consortium (W3C) đang làm việc để hoàn thiện, mở rộng và chuẩn hóa hệ thống, các ngôn ngữ, xuất bản các bài báo về Semantic Web. Một số công cụ và một số nghiên cứu đã được hoàn thiện cho Semantic Web. Tuy nhiên công nghệ Semantic Web còn rất bé trong buổi ban đầu của nó. Mặc dù tương lai của dự án được phát thảo rất là sáng sủa nhưng hiện nay dường như còn ít sự đồng tình về phương hướng và các đặc trưng của một Semantic Web còn rất non trẻ. Semantic Web là sự mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa rõ ràng sao cho con người và máy tính có thể cùng làm việc với nhau một cách hiệu quả hơn. Mục tiêu của Semantic Web là để phát triển các chuẩn chung và công nghệ cho phép máy tính có thể hiểu được thông tin nhiều hơn trên Web, sao cho chúng có thể hỗ trợ tốt hơn việc khám phá thông tin, tích hợp dữ liệu, và tự động hóa các công việc. Ví dụ: Ta cần tìm thông tin về chủ tịch Hồ Chí Minh. Một chương trình tìm kiếm thông thường có thể đưa ra hàng nghìn kết quả khác nhau trong đó có những kết quả không mong muốn như Hồ Chí Minh không phải là tên một người mà là tên của thành phố. Một chương trình tìm kiếm trên Semantic Web dựa vào dữ liệu mô tả về các danh nhân có thể đưa ra chính xác kết quả mà ta mong muốn, đồng thời nó có thể còn chỉ ra rằng Hồ Chí Minh còn là tác giả của tập thơ Nhật ký trong tù. Semantics Web liên kết các nguồn khác nhau (tài liệu, hình ảnh, con người, khái niệm, …) cho phép chúng ta mở rộng Web thành một môi trường mới với tập các mối quan hệ mới (như hasLocation, worksFor, isAuthorOf, hasSubjectOf, dependsOn, 10 ) giữa các nguồn dữ liệu, tạo ra các mối liên hệ ngữ cảnh giữa các đối tượng của các nguồn dữ liệu (contextual relationship), điều mà Web hiện tại chưa làm được. Hình 1.1 Sự liên kết giữa nhiều nguồn dữ liệu khác nhau 1.2.2 Một số đặc trưng của Semantic Web 1.2.2.1 Máy tính có thể hiểu được dữ liệu trên Web Những thông tin trên Web hiện tại chỉ dành cho người đọc, máy tính chỉ đơn thuần hiển thị các thông tin cho con người chứ hoàn toàn không hiểu được những thông tin này. Dữ liệu trên Semantic Web sẽ làm cho máy hiểu những thông tin mà nó cung cấp cho con người. Ví dụ: • The Beatles là một ban nhạc nổi tiếng của Liverpool. • John Lennon là một thành viên của The Beatles. 1.2.2.2 Thông tin được tìm kiếm nhanh chóng và chính xác hơn: Với Semantic Web, việc tìm kiếm sẽ dễ dàng vì mọi thứ được đặt trong ngữ cảnh. Mục tiêu của Semantic Web là phát triển các tiêu chuẩn và kĩ thuật để giúp máy tính hiểu nhiều thông tin trên Web hơn, để chúng tìm ra các thông tin dồi dào hơn, tích hợp, duyệt dữ liệu, và tự động hóa các thao tác. Với Semantic Web, chúng ta không những nhận được những thông tin chính xác hơn khi tìm kiếm thông tin từ máy tính, [...]... Semantic Web có thể phát triển dựa trên Web hiện tại Thực tế, XML là một siêu ngôn ngữ mà các ngôn ngữ của Semantic Web sử dụng cú pháp của nó để mô tả các từ vựng cũng như dữ liệu trên Web Ví dụ, XML Schema sử dụng cú pháp XML định nghĩa các lớp của tài liệu XML, RDF cung cấp bộ khung để mô tả siêu dữ liệu (metadata) về tài nguyên Web, OWL (Ontology Web Language) và các ngôn ngữ Web khác cũng sử dụng. .. các thông tin có sẵn Kết luận và các 16 luật kết luận cho phép đưa ra các dữ liệu mới từ các dữ liệu sẵn có Do đó, các tri thức mới có thể được thêm vào các tri thức cơ sở Việc sử dụng các motor suy diễn trong Semantic Web cho phép các ứng dụng có thể đặt ra các câu hỏi về một kết luận cụ thể nào đó Như vậy một ứng dụng ngữ nghĩa (semantic application) cần phải chứng minh các kết luận mà nó đưa ra... giúp cho các phần mềm máy tính có thể hiểu được dữ liệu và tự động xử lý được những dữ liệu đó 1.2.3 Kiến trúc Semantic Web Semantic Web là một tập hợp hay một chồng (stack) các lớp Tất cả các lớp của Semantic Web được sử dụng để đảm bảo độ an toàn và giá trị thông tin trở nên tốt nhất Tuy nhiên từ tầng Logic trở lên có thể được xem là các tầng xử lý của Semanic Web Ở các tầng này việc mô tả ngôn ngữ... trọng nhằm xác thực nguồn gốc và độ tin cậy của tài liệu Chữ ký điện tử làm cho Semantic Web trở thành Web của sự tin cậy Chương 2 RDF – NỀN TẢNG CỦA SEMANTIC WEB XML là một siêu ngôn ngữ phổ biến dùng để định nghĩa các định dạng XML cung cấp một bộ khung thống nhất, và một tập các công cụ như bộ phân tích cú pháp dùng để trao đổi dữ liệu và siêu dữ liệu giữa các ứng dụng Tuy nhiên XML không cung cấp... các hạn chế của RDF và RDFS 1.2.3.4 Ontology vocabulary Ontology là một tập các khái niệm và quan hệ giữa các khái niệm được định nghĩa cho một lĩnh vực nào đó nhằm vào việc biểu diễn và trao đổi thông tin Đây cũng là một hướng tiếp cận để xây dựng Semantic Web Ontology được định nghĩa dựa trên các ngôn ngữ RDF, RDFS, OWL Một Ontology định nghĩa một bộ từ vựng mang tính phổ biến và thông thường, nó... Trust Trust là tầng trên cùng của cấu trúc Semantic Web Tầng này cung cấp việc chứng thực của sự nhận dạng và căn cứ cho việc dữ liệu và các dịch vụ có tin cậy hay không 1.2.3.7 Digital signature: Chữ ký số (Digital Signature) là thông tin đi kèm theo tài liệu nhằm mục đích xác nhận chủ thể của dữ liệu đó Digital signature được đưa vào mô hình của Semantic Web từ tầng thứ ba cùng với RDF/RDFS lên đến... một trang Web, như: 13 http://www.w3.org/Addressing/ Nếu click vào nó, URL sẽ bảo máy tính nơi để tìm thấy trang Web URI không nhất thiết phải ở dạng thức URL, nó có thể là một địa chỉ email, hay một ISBN của một cuốn sách hay một mã số nào đó dùng để phân biệt người này với người khác ví dụ như số chứng minh nhân dân của mỗi người chẳng hạn 1.2.3.2 XML + NS + xmlschema Dữ liệu trong Semantic Web được... thể được xem là các tầng xử lý của Semanic Web Ở các tầng này việc mô tả ngôn ngữ ít hơn nhiều so với việc suy luận, xử lý dữ liệu Đây chính là một mảng ứng dụng của hệ chuyên gia, trí tuệ nhân tạo vào Semantic Web 12 Hình1.2 Kiến trúc của Semantic Web Hiện tại từ tầng Ontology vocabulary trở xuống đã khá hoàn chỉnh còn từ tầng Logic trở lên vẫn còn đang trong giai đoạn nghiên cứu 1.2.3.1 Unicode and... cho mỗi ký tự, không phụ thuộc vào hệ điều hành, chương trình hay ngôn ngữ Tầng Unicode và URI nhằm đảm bảo việc sử dụng tập ký tự chuẩn Unicode và các URI để mô tả các tài nguyên URI đơn giản chỉ là một định danh Web giống như các chuỗi bắt đầu bằng “http” hay “ftp” mà ta vẫn thường xuyên thấy trên mạng Bất kỳ ai cũng có thể tạo một URI, và có quyền sở hữu chúng Khi sử dụng URI, chúng ta có thể dùng... RDF and RDF schema RDF và RDF schema là một tầng quan trọng trong Semantic Web Resource Descrption Framework (RDF) là một ngôn ngữ dùng để mô tả các dữ liệu trên Web dưới dạng bộ ba object-attribute-value (hay subject-predicate-object) và các mạng ngữ nghĩa Một tài nguyên được mô tả trong RDF bởi một danh sách các statement (triplets) hay là các câu đơn, trong đó tài nguyên Web ( Web resource) là object, . 1 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN HUỲNH TUẤN ANH TÌM HIỂU SEMANTIC WEB VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA (Rút trích và chuyển đổi dữ liệu trong. Trang, tháng 12 năm 2007 2 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN TÌM HIỂU SEMANTIC WEB VÀ XÂY DỰNG ỨNG DỤNG MINH HỌA (Rút trích và chuyển đổi dữ liệu trong cơ sở. GIỚI THIỆU SEMANTIC WEB 8 1.1 Web hiện tại và những hạn chế của nó 8 1.2 Semantic Web 8 1.2.1 Khái niệm Semantic Web 9 1.2.2 Một số đặc trưng của Semantic Web 10 1.2.3 Kiến trúc Semantic Web 11 Chương