Tài liệu Tìm hiểu semantic web và xây dựng ứng dụng minh họa

  • Số trang: 68 |
  • Loại file: PDF |
  • Lượt xem: 66 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 27125 tài liệu

Mô tả:

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) 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 Nha Trang, tháng 12 năm 2007 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 2.4 RDF versus RDFS Layers .................................................................... 35 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, 11 mà máy tính còn có thể giúp ta tích hợp thông tin từ nhiều nguồn khác nhau, biết so sánh các thông tin với nhau. 1.2.2.3 Dữ liệu liên kết động Với Semantic Web, chúng ta có thể kết hợp các thông tin đã được mô tả một cách giàu ngữ nghĩa với bất kì nguồn dữ liệu nào. Ví dụ, bằng cách thêm các metadata (dữ liệu về dữ liệu) cho các tài liệu khi tạo ra nó, chúng ta có thể tìm kiếm các tài liệu của tác giả Tim Berners-Lee. Cũng nhờ metadata mà máy tính có thể tìm cho chúng ta chỉ những tài liệu thuộc loại tài liệu nghiên cứu của một tác giả nào đó. Dựa vào sự liên kết, tham chiếu giữa các đối tượng với nhau thông qua các mối quan hệ giữa các đối tượng, máy tính có thể cung cấp cho ta sự liên quan giữa đối tượng này với các đối tượng khác. Trong Semantic Web mỗi thuộc tính của mỗi đối tượng được xem là duy nhất (vì chúng được biễu diễn thông qua các không gian tên riêng biệt) do đó mối quan hệ giữa các đối tượng mà máy tính chỉ ra là chính xác. Ví dụ dựa vào thuộc tính hasManual, isBasedOn, hasAuthor (hình 1.1), máy tính có thể chỉ ra tài liệu liên quan đến một software, và tài liệu này dựa trên tài liệu của một tác giả nào đó. Đồng thời máy tính còn có khả năng chỉ ra được địa chỉ của tác giả đó thông qua thuộc tính liveAt. 1.2.2.4 Hỗ trợ công cụ tự động hóa Dữ liệu trong Semantic Web được đánh dấu, phân lớp, mô hình hóa, được bổ sung thêm các thuộc tính, các mối liên hệ… theo các lĩnh vực cụ thể, qua đó 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ữ í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 URI URI (Universal Resource Identifier ) là một chuỗi định dạng phục vụ cho việc nhận dạng một tài nguyên trừu tượng hay cụ thể nào đó. Unicode cung cấp một con số duy nhất 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 cùng một cách đặt tên đơn giản để đề cập đến các tài nguyên dưới các giao thức khác nhau: HTTP, FPT, EMAIL,.... Một dạng thức quen thuộc của URI là URL - Uniform Resource Locator. Một URL là một địa chỉ cho phép chúng ta thăm 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 mô tả theo cú pháp XML, điều này cho phép 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ú pháp của XML. Một cách tổng quát, cú pháp XML cho phép đặc tả và đánh dấu các tài liệu có thể đọc được bởi máy tính. XML là một mở rộng của ngôn ngữ đánh dấu cho các cấu trúc tài liệu bất kỳ, trái với HTML, là một loại ngôn ngữ đánh dấu chỉ dành cho các loại tài liệu siêu liên kết. Một tài liệu XML bao gồm một tập các thẻ đóng và thẻ mở được lồng vào nhau, ở đó mỗi một thẻ có thể có các thuộc tính và giá trị. Khác với HTML, tài liệu XML đòi hỏi cú pháp chặt chẽ hơn. XML là một dạng dữ liệu còn HTML chính là cách để hiển thị tài liệu XML cho người dùng thông qua các tập tin css hay xslt. 1.2.3.3 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, hai phần còn lại là thuộc tính (property hay attribute) và giá trị của thuộc tính. Ví dụ: Grigoris Antoniou Professor Tài liệu RDF trên đây được biễu diễn dưới cú pháp XML hay còn gọi là RDF/XML. Ta biểu diễn chúng dưới dạng các triple: Resource (subject) property value http://www.university/person#101 http://www.mydomain.org/uni-ns#name Grigoris Antoniou http://www.university/person#101 http://www.mydomain.org/uni-ns#title Professor Việc biểu diễn RDF dưới dạng các triple phù hợp với ngôn ngữ tự nhiên hơn vì các triple giống như một câu đơn bao gồm chủ ngữ, vị ngữ và bổ ngữ. RDF và RDFS cung cấp một mô hình chuẩn để mô tả về các tài nguyên Web, nhưng chúng có nhiều hạn chế về mặt ngữ nghĩa chẳng hạn như RDF không thể chỉ ra hai lớp tài nguyên là tương đương nhau. Để mô tả tài nguyên Web một cách chi tiết hơn ta cần phải có một mô hình cao hơn, chi tiết và giàu ngữ nghĩa hơn. OWL (Ontology Web Language) là một ngôn ngữ mở rộng của RDF và RDFS nhằm khắc phục 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ó cho phép các nhà nghiên cứu chia sẻ thông tin trong một hay nhiều lĩnh vực. Nó bao gồm các định nghĩa về các khái niệm căn bản trong một lĩnh vực và các mối liên hệ giữa chúng mà máy tính có thể hiểu được. Ví dụ, để định nghĩa một ontology để mô 15 tả thông tin về các giảng viên với các thuộc tính tên, môn học giảng dạy, ta định nghĩa các lớp và thuộc tính như sau: - Thuộc tính mon_hoc_giang_day có domain (subject) là giang_vien (giảng viên) và giá trị là #mon_hoc (môn học) cũng là một tài nguyên (resource) đã được định nghĩa ở đâu đó. Như vậy ở đây đã có sự tham chiếu giữa hai tài nguyên là giang_vien và mon_hoc. 1.2.3.5 Logic and Proof Logic là tầng cung cấp cách thức để ghi các luật logic cho tài liệu. Các luật logic này dùng để khẳng định tính đúng đắn của một tài liệu hay một tài liệu có được suy ra từ một tài liệu nào khác hay không...Một trong những ứng dụng của tầng này là việc trong đổi dữ liệu giữa các cơ sở dữ liệu có cấu trúc không phụ thuộc nhau nhưng được liên kết với nhau bởi những semantic links. Các semantic link này cho phép chuyển đổi một câu truy vấn từ một cơ sở dữ liệu này thành một câu truy vấn trong cơ sở dữ liệu khác. Các luật được suy diễn bởi motor suy diễn, là một phần mềm ứng dụng cho phép đưa ra các sự kiện hay các luật kết hợp từ 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. Tầng proof đảm bảo công việc này. 1.2.3.6 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 tầng proof trong mô hình. Chữ ký điện tử được coi là một thành phần quan 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ách thức để mô tả ngữ nghĩa của dữ liệu. Ví dụ, XML không đề cập tới ngữ nghĩa của các thẻ lồng nhau; mỗi ứng dụng cụ thể phải tự giải thích ngữ nghĩa của sự lồng nhau này. Để bổ sung phần ngữ nghĩa cho dữ liệu ta cần dùng ngôn ngữ RDF. Mặt dù thường được gọi là “ngôn ngữ”, nhưng về thực chất RDF là một mô hình dữ liệu. RDF dựa trên cơ sở xây dựng bộ ba: object-attribute-value (hay subjectpredicate-object), gọi là statement. Hiển nhiên một mô hình dữ liệu trừu tượng cần phải có cú pháp chặt chẽ để mô tả và chuyển đổi chúng. RDF sử dụng cú pháp của 17 XML. Tuy nhiên có những cú pháp khác được RDF dùng để mô tả dữ liệu mà không dựa trên XML. RDF là một lĩnh vực không phụ thuộc vào các lĩnh vực cụ thể khác sử dụng nó. RDF cho phép người dùng có thể định nghĩa các thuật ngữ riêng của mình thông qua lược đồ ngôn ngữ gọi là RDF Schema (RDFS). Tên RDF Schema là một sự lựa chọn không chuẩn xác cho lắm, nó dễ gây nhầm lẫn cho những người đã từng quen sử dụng XML. RDF Schema khác với XML Schema. XML Schema ràng buộc cấu trúc của tài liệu XML trong khi RDF Schema định nghĩa từ vựng sử dụng trong mô hình RDF. Trong RDFS chúng ta có thể định các từ vựng, chỉ định các thuộc tính (properties) cho các đối tượng (objects) và các giá trị mà các thuộc tính có thể nhận được, mô tả mối quan hệ giữa các đối tượng. Ví dụ ta có thể viết: Lecturer is a subclass of academic staff member. Câu trên có nghĩa tất cả các giảng viên đại học đều là thành viên của học viện. Ý nghĩa quan trọng nhất của câu trên là cụm từ “is a subclass of”, các ứng dụng cụ thể không cần phải xử lý ngữ nghĩa của cụm từ này, ý nghĩa của cụm từ này được xử lý bởi các phần mềm xử lý RDF. Thông qua việc ổn định ngữ nghĩa của một số thành phần nào đó, RDF/RDFS cho phép ta mô hình hóa một số lĩnh vực cụ thể. Chúng ta hãy xem xét sự quan trọng của RDFS thông qua ví dụ. Giả sử ta có các phần tử XML sau: Grigoris Antoniou Michael Maher David Billington Giả sử ta muốn thu thập thông tin của tất cả các thành viên trong học viện. Câu Xpath trong trường hợp này có thể là: //academicStaffMember Kết quả trả về chỉ là: Grigoris Antoniou. Kết quả này đúng trong XML nhưng về mặt ngữ nghĩa nó không đúng lắm. Người đọc sẽ nhận ra kết quả trả về phải bao gồm cả Michael Maher và David Billington bởi vì: 18 - Tất cả các giáo sư (professor) đều là thành viên của học viện (staff members). Có nghĩa là professor là một lớp con của academicStaffMember. - Các khóa khọc được giảng dạy bởi các giáo sư. Những thông tin này được sử dụng tạo ra một mô hình ngữ nghĩa cho một lĩnh vực đặc biệt, mô hình này không thể viết được bằng XML hay RDF, nó thường được viết trong RDFS. Như vậy RDFS có thể làm cho các máy tính nhận biết được thông tin một cách có ngữ nghĩa trong Semantic Web. 2.1 Các khái niệm cơ bản về RDF Các khái niệm nềm tảng của RDF là : resources, properties, và statements. 2.1.1 Resources Resources là các đối tượng, và những sự vật hay những gì mà ta muốn nói về nó. Resources có thể là : authors, books, publishers, places, people, hotels, rooms, những câu truy vấn.... Mỗi resource có một URI (Universal Resource Identifier) do đó một resource khi mô tả có thể được xem như là duy nhất. Một URI có thể là một URL (Universal Resource Locator, hay địa chỉ Web) hay một cách nào đó để nhận dạng duy nhất ; chú ý rằng sự nhận dạng không cần thiết phải cung cấp khả năng truy cập đến tài nguyên. Các URI được định nghĩa không chỉ là vị trí của tài nguyên web mà còn được định nghĩa cho nhiều đối tượng khác nhau như số điện thoại, số ISBN và các vị trí địa lý, số chứng minh nhân dân của mỗi người. Trong trường hợp tổng quát khi chúng ta đề cập tới một URI là chúng ta đã xác định một tài nguyên Web. 2.1.2 Properties Properties là một dạng đặc biệt của resources ; nó mô tả mối quan hệ giữa các resources. Ví dụ: "written by", "age", "title"...Properties trong RDF được nhận biết bằng các URI (trong thực hành thường được thay thế bằng các URL). Ý tưởng dùng các URI để nhận ra các sự vật và mối quan hệ giữa chúng là rất quan trọng. Việc sử dụng các URI đã giảm đáng kể vấn đề đồng âm khác nghĩa trong việc mô tả các dữ liệu phân tán. 2.1.3 Statements Các statements xác định các properties cho các resources. Một statement là một bộ ba: object-attribute-value, bao gồm một resource, một property, và một value. 19 Values có thể là các resource hay các literals. Literals là các giá trị nguyên tố (các chuỗi). 2.1.4 Ví dụ về statements Ví dụ 2.1 David Billington is the owner of the Web page http://www.cit.gu.edu.au/~db. Cách đơn giản nhất để biểu diễn statement trên là cách dùng triple ( “David Billington”, http://www.mydomain.org/site-owner, http://www.cit.gu.edu.au/~db). Chúng ta có thể cho rằng triple (x,P,y) giống như một công thức logic P(x,y), trong đó binary predicate (vị ngữ) P thể hiện mối liên hệ giữa object x và object y với nhau. Thực tế, RDF chỉ thường đề cập tới những binary predicate (properties). Chú ý rằng property "site-owner" là một trong hai object được xác định bởi các URL, object còn lại chỉ đơn giản được nhận biết bằng một chuỗi. Đồ thị mô tả một triple như hình 2.1 Hình 2.1 Đồ thị mô tả một triple đơn giản Đồ thị mô tả cho các triple sau: ( http://www.cit.gu.edu.au/~db, http://www.mydomain.org/site-owner, Billington”) ( “David Billington”, http://www.mydomain.org/phone, “3875507”) ( “David Billington”, http://www.mydomain.org/uses, http://www.cit.gu.edu.au/~arock/defeasible/Defeasible.cgi) ( “www.cit.gu.edu.au/~arock/defeasible/Defeasible.cgi”, http://www.mydomain.org/site-owner, “Andrew Rock”) như hình 2.2 “David 20 Hình 2.2 mạng ngữ nghĩa Đồ thị trong hình 2.2 gọi là mạng ngữ nghĩa. Đồ thị là một công cụ mạnh mẽ và trực quan để mô tả các statement phù hợp với suy nghĩ của con người. Nhưng semantic web đòi hỏi các máy tính phải hiểu chúng, do đó cần phải có một sự biễu diễn khác phù hợp hơn. RDF dựa trên cú pháp XLM là một sự lựa chọn để mô tả RDF. Tài liệu RDF được mô tả trong XML được bắt đầu bằng thẻ rdf:RDF. Nội dung của mỗi phần tử được mô tả bởi các thẻ bên trong thẻ rdf:Description. Mỗi description tạo nên một statement về resource. Resource được nhận biết bằng một trong ba cách sau: - about attribute: Tham chiếu tới một resource sẵn có. - ID attribute: Tạo mới một resource. - không có attribute (resource không có tên): Resource ẩn danh. Ta biễu diễn ví dụ 2.1 bằng cú pháp XML như sau: David Billington
- Xem thêm -