Tài liệu Giới thiệu semantic web

  • Số trang: 95 |
  • Loại file: DOC |
  • Lượt xem: 91 |
  • Lượt tải: 0
nhattuvisu

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

Mô tả:

LỜI CAM ĐOAN Tôi xin cam đoan để hoàn thành được luận văn, bản thân đã có quá trình tìm hiểu và học hỏi nghiêm túc. Những gì được trình bày trong luận văn là kết quả của quá trình học hỏi và nghiên cứu cùng với sự giúp đỡ hướng dẫn tận tình của giáo viên hướng dẫn và các thầy cô giáo trong khoa Công nghệ Thông tin, Trường Đại học Bách khoa Hà Nội. Luận văn không sao chép lại nội dung của các luận văn đã có. MỤC LỤC LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC CHỮ VIẾT TẮT DANH MỤC HÌNH VẼ CHƯƠNG I : GIỚI THIỆU SEMANTIC WEB...........................................1 1.1. Worl wide web và những hạn chế của nó.......................................................1 1.2. Sự ra đời của Semantic Web............................................................................2 1.2.1. Semantic Web là gì?........................................................................2 1.2.2. Semantic Web mang lại những gì?..................................................4 1.2.2.1. Máy có thể hiểu được thông tin trên Web..................................4 1.2.2.2. Thông tin được tìm kiếm nhanh chóng và chính xác hơn..........4 1.2.2.3. Dữ liệu liên kết động..................................................................4 1.2.2.4. Hỗ trợ công cụ tự động hóa........................................................5 1.2.3. Kiến trúc Semantic Web...................................................................5 1.2.3.1. Giới thiệu :.................................................................................5 1.2.3.2. Vai trò các lớp trong kiến trúc Semantic Web...........................7 1.2.3.2.1. Lớp định danh tài nguyên-URI...............................................7 1.2.3.2.2. Lớp XML và XML Schema....................................................8 1.2.3.2.3. Lớp RDF - RDF Schema......................................................10 1.2.3.2.4. Lớp Ontology............................................................................12 1.2.3.2.5. Lớp logic...................................................................................12 1.2.3.2.6. Lớp Proof..................................................................................13 CHƯƠNG II. CÔNG NGHỆ XML.............................................................14 2.1. Giới thiệu.........................................................................................................14 2.2. Mục tiêu ra đời và lợi ích khi sử dụng XML................................................14 2.2.1. Mục tiêu ra đời của XML...............................................................14 2.2.2. Lợi ích khi sử dụng XML................................................................14 2.3. Một tài liệu XML thông dụng........................................................................18 2.4. Tạo lập một tài liệu XML...............................................................................19 2.5. Các thành phần của một tài liệu XML..........................................................20 2.6. Một tài liệu XML hợp lệ.................................................................................21 2.6.1. DTD (Document Type Definition)..................................................21 2.6.2. Lược đồ XML (Schema XML)........................................................22 2.6.2.1. Định nghĩa lược đồ XML.........................................................22 2.6.2.2. Các kiểu dữ liệu trong lược đồ XML.......................................23 2.7. XPath............................................................................................................... 24 2.8. Đặc điểm của XML.........................................................................................24 CHƯƠNG III. TỔNG QUAN VỀ RDF.......................................................26 3.1. Giới thiệu.........................................................................................................26 3.2. Các khái niệm dùng trong RDF.....................................................................27 3.2.1. Namespace và cách khai báo........................................................30 3.2.2. Qualified name(QName) và cách sử dụng....................................31 3.2.3. Mô hình RDF ( RDF Model).........................................................33 3.2.3.1. Bộ ba RDF ( RDF Tripple)......................................................34 3.2.3.2. Đồ thị RDF ( RDF Graph).......................................................34 3.2.3.3. Literal.......................................................................................35 3.2.4. Tripple và cách sử dụng namespace..............................................37 3.2.5. Kiểu dữ liệu có cấu trúc và Blank node.........................................38 3.3. Cấu trúc RDF/XML.......................................................................................41 3.3.1. Cú pháp RDF/XML cơ bản...........................................................41 3.3.2. RDF Container...............................................................................44 3.3.2.1. Mô hình Container...................................................................44 3.3.2.2. Cú pháp Container...................................................................46 3.4. RDF Collection................................................................................................47 3.5. RDF Schema...................................................................................................50 3.5.1. Giới thiệu.......................................................................................50 3.5.2. Định nghĩa class (lớp)...................................................................50 3.5.3 Định nghĩa property( thuộc tính)...................................................53 3.5.3.1. Cách sử dụng rdfs:range..........................................................53 3.5.3.2. Cách sử dụng rdfs:domain.......................................................54 3.5.3.3. Ví dụ.........................................................................................54 3.6. Truy vấn dữ liệu trong RDF..........................................................................56 3.6.1. Tạo một câu truy vấn đơn giản......................................................56 3.6.2. Cú pháp của câu truy vấn.............................................................57 3.6.3. Những dạng cú pháp khác.............................................................58 3.6.4. Ràng buộc dữ liệu..........................................................................61 3.6.5. Thêm vào kiểu Optional.................................................................61 3.6.6. Ràng buộc trong khối Optional......................................................62 3.6.7. Nhiều khối Optional.......................................................................63 3.6.8. Các phép toán và điều kiện trên câu truy vấn................................63 3.6.8.1. Phép hội....................................................................................64 3.6.8.2. DISTINCT...............................................................................64 3.6.8.3. ORDER BY..............................................................................65 3.6.8.4. LIMIT.......................................................................................65 CHƯƠNG IV. TÍCH HỢP DỮ LIỆU VÀO SEMANTIC WEB...............66 4.1. Giới thiệu.........................................................................................................66 4.2. Mô hình tích hợp dữ liệu................................................................................66 4.2.1. Các ngôn ngữ của Semantic Web...................................................66 4.2.2. Mô hình..........................................................................................67 4.3. Chuyển dữ liệu từ Relational Database sang XML......................................67 4.3.1. Giới thiệu.......................................................................................67 4.3.2. Phương thức chuyển đổi cơ sỡ dữ liệu quan hệ sang XML...........68 4.3.2. Mô hình hệ thống...........................................................................75 4.3.3. Chuyển đổi lược đồ quan hệ sang lược đồ XML............................76 4.3.3.1. Mô hình lược đồ quan hệ.........................................................76 4.3.3.2. Chuyển đổi các thành phần của cơ sở dữ liệu quan hệ sang XML......................................................................................................77 4.4. Chuyển dữ liệu từ cơ sở dữ liệu quan hệ sang RDF.....................................81 4.4.1. Giới thiệu.......................................................................................81 4.4.2. Mô hình hệ thống...........................................................................82 4.4.3. Chuyển đổi cơ sở dữ liệu quan hệ RDF.........................................82 4.4.3.1. Phương pháp thực hiện............................................................82 4.4.3.2. Ví dụ.........................................................................................85 CHƯƠNG V. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...........................87 5.5. Kết luận...........................................................................................................87 5.2. Kết quả đạt được...........................................................................................87 5.3. Hướng phát triển của đề tài...........................................................................88 TÀI LIỆU THAM KHẢO............................................................................89 DANH MỤC CÁC TỪ VIẾT TẮT HTTP: Hypertext Transfer Protocol HTML: HyperText Markup Language XHTML: Extensible HyperText Markup Language RDF: Resource Description Framework FTP: File Transfer Protocol XML: Resource Description Framework URI: Uniform Resource Identifier URL: Uniform Resource Locator OWL: Web Ontology Language WWW: World Wide Web DANH MỤC HÌNH VẼ Hình 1-1 Kiến trúc Semantic Web Hình 3-1: Đồ thị biểu diễn bộ ba Hình 3-2: Đồ thị biểu diễn nhóm bộ ba Hình 3-3 Mối quan hệ giữa các thành phần trong triple. Hình 3-4 Mô tả một phát biểu đơn giản bằng đồ thị Hình 3-5 Biểu diễn nhiều phát biểu cho cùng một subject Hình 3-6 Plain Literal biểu diễn cho tuổi của Mr John Hình 3-7 Kiểu Typed Literal biểu diễn cho tuổi của Mr John Hình 3-8 Tạo địa chỉ(address) cho Mr John Hình 3-9 Sử dụng một blank Node. Hình 3-10 Mô tả 1 bag container đơn giản Hình 3-11 Mô tả 1 Alt container đơn giản Hình 3-12 Mô tả một RDF : Collection Hình 3-13 Không gian domain và range của thuộc tính Hình 4.1. Mô hình hệ thống tích hợp dữ liệu Hình 4.2. Mô hình chuyển đổi cơ sở dữ liệu quan hệ sang XML 13 35 36 41 41 42 43 44 46 47 52 53 55 60 74 83 1 CHƯƠNG I : GIỚI THIỆU SEMANTIC WEB 1.1. Worl wide web và những hạn chế của nó Các kĩ thuật tạo lập Web hiện tại phần nào cản trở khả năng phát triển dịch vụ thông tin trên nó. Sự đơn giản trong các kĩ thuật xây dựng tạo ra hiện tượng thắt cổ chai, gây khó khăn trong việc tìm kiếm, rút trích, bảo trì và phát sinh thông tin. Máy tính chỉ được dùng như những thiết bị gửi và trả thông tin, không thể truy xuất được những nội dung thật sự cần. Do đó, chúng chỉ hỗ trợ ở một giới hạn nào đó, việc truy xuất và xử lý thông tin. Kết quả tất yếu là người sử dụng phải chịu trách nhiệm không chỉ truy cập và xử lý thông tin mà còn phải rút trích và diễn giải thông tin. Tuy nhiên, Hoạt động thực tế tạo ra một khối lượng khổng lồ các tài nguyên trên Web. Điều này làm nảy sinh vấn đề rất quan trọng là làm thế nào để tìm kiếm chính xác tài nguyên mong muốn. Dữ liệu trong các file HTML chỉ hữu ích trong một vài ngữ cảnh nhưng có thể không đem lại ngữ nghĩa trong ngữ cảnh khác. Thêm vào đó, HTML không thể mô tả về dữ liệu đóng gói trong đó. Ví dụ, giả sử biết mã vùng (PostCode) và muốn tìm địa chỉ tương ứng. Do mỗi quốc gia có tên và hệ thống mã vùng khác biệt và Web không biểu diễn được mối liên hệ này, nên ta không thể nhận được kết quả như mong đợi. Trái lại, đối với Semantic Web, có thể chỉ ra kiểu mối liên hệ này, chẳng hạn, Zip Code tương đương với PostCode. Do vậy hoàn toàn có thể tìm được thông tin mong muốn. 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, 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 khi ứng dụng được phát triển một cách độc lập. Do đó, cần phải mở rộng Web để máy 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. Để khắc phục các yếu điểm của Web hiện tại, khái niệm “Semantic Web” đã ra đời. 2 1.2. Sự ra đời của Semantic Web Semantic Web (hay Web có ngữ nghĩa) là thế hệ mở rộng của Web hiện tại được đưa ra bởi Tim Berners-Lee vào khoảng năm 1998. Mục tiêu ban đầu của Semantic Web là hỗ trợ người dùng tìm kiếm thông tin trên mạng một cách nhanh chóng, chuẩn xác và thông minh hơn so với các công cụ tìm kiếm truyền thống. Kể từ đó đến nay, các kỹ thuật liên quan đến Semantic Web không ngừng được hoàn thiện. Các ứng dụng liên quan đến Semantic Web cũng được mở rộng như: Phát triển các chuẩn công nghệ chung để biểu diễn thông tin và cho phép máy tính có thể hiểu được một số thông tin trên Web, hỗ trợ tìm kiếm thông minh, hỗ trợ việc khám phá, tách chiết thông tin, tích hợp dữ liệu và tự động hóa một số công việc được thực hiện thủ công. Xét về mặt bản chất, Semantic Web chỉ là một công cụ để con người cũng như máy tính sử dụng để biểu diễn thông tin, hay nói chính xác hơn Semantic Web là một dạng dữ liệu trên Web. Khác với các dạng thức dữ liệu được trình bày trong HTML, 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 đó. Semantic Web 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 tin v.v. Những dịch vụ thông minh trên hệ thống web giàu ngữ nghĩa 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, vốn giới hạn về chức năng xử lý. 1.2.1. Semantic Web là gì? Semantic Web không phải là Web chuyên biệt, nhưng là một mở rộng của Web hiện tại, theo đó thông tin được xác định ý nghĩa tốt hơn, cho phép máy tính và người cộng tác với nhau tốt hơn. Semantic Web được hình thành từ ý tưởng của Tim Berners-Lee, người phát minh ra WWW, URI, HTTP và HTML. 3 Semantic Web là một mạng lưới các thông tin, được liên kết sao cho chúng có thể được xử lý dễ dàng bởi các máy tính ở phạm vi 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à 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 là một phương pháp cho phép định nghĩa và liên kết dữ liệu một cách có ngữ nghĩa, nhằm phục vụ cho máy tính có thể “hiểu” được. Semantic Web còn cung cấp một môi trường chia sẻ và xử lý dữ liệu một cách tự động bằng máy tính. Ví dụ, giả sử cần so sánh giá để chọn mua một bó hoa hay cần tra cứu catalog của các hãng chế tạo xe khác nhau, để tìm ra thiết bị thay thế cho các bộ phận bị hư hỏng của xe Volvo 740. Thông tin ta thu được trực tiếp trên Web có thể trả lời các câu hỏi này nhưng đòi hỏi người sử dụng phải tự phân tích ý nghĩa của dữ liệu và mối liên quan của nó với yêu cầu đề ra, không thể xử lý tự động bằng máy tính. Với Semantic Web ta có thể giải quyết vấn đề này theo 2 cách: o Thứ nhất, nó sẽ mô tả chi tiết dữ liệu. Do đó, một chương trình xử lý không cần quan tâm đến các format, hình ảnh, quảng cáo trên một trang Web để tìm ra sự liên quan của thông tin. o Thứ hai, Semantic Web cho phép chúng ta tạo ra một file mô tả mối liên hệ giữa các tập dữ liệu khác nhau. Ví dụ, có thể tạo một liên kết semantic giữa một cột ‘zip-code’ trong database với trường ‘zip’ ở trên form nhập liệu, nếu chúng có chung ý nghĩa. Điều này cho phép máy tính theo các link và tích hợp dữ liệu từ nhiều nguồn khác nhau. Ý tưởng 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, ...) giữa các nguồn dữ liệu, tạo ra các mối liên hệ ngữ cảnh (contextual relationship), Web hiện tại chưa làm được. 4 1.2.2. Semantic Web mang lại những gì? 1.2.2.1. Máy có thể hiểu được thông tin trên Web Internet ngày nay dựa hoàn toàn vào nội dung. Web hiện hành giúp con người khai thác thông tin nhưng máy tính thì rất khó để hiểu được thông tin trên nó. Semantic Web sẽ cung cấp ngữ nghĩa để máy tính có thể hiểu được. Ví dụ như: • 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. • Bản nhạc “Hey Dude” do nhóm The Beatles trình bày. Con người có thể hiểu và suy luận được trên các câu này nhưng làm cho máy tính hiểu được như vậy không hoàn toàn đơn giản. Về hình thức người sử dụng máy tính vẫn có được nội dung thông tin như trước đây, nhưng đối với máy tính Semantic Web nới rộng khả năng xử lý cho phép, máy không phải suy luận dựa vào ngữ pháp và các ngôn ngữ đánh dấu (Markup Language), do cấu trúc ngữ nghĩa của văn bản (text) khi đó hàm chứa những gì cần thiết cho xử lý. 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ẽ trở nên dễ dàng do mọi thứ đã được đặt trong ngữ cảnh. Ý tưởng chính yếu ở đây là toàn bộ ngữ cảnh đều được người sử dụng mô tả. 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 hiểu thông tin trên Web nhiều hơn, cho phép 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 không những chỉ nhận được những thông tin chính xác hơn khi tìm kiếm từ một máy tính, mà máy tính còn có thể tích hợp thông tin từ nhiều nguồn khác nhau, so sánh chúng với nhau. 1.2.2.3. Dữ liệu liên kết động Với Semantic Web, có thể gắn các thông tin mô tả có ngữ nghĩa với bất kì nguồn dữ liệu nào. 5 Ví dụ, nhờ thêm các metadata (siêu dữ liệu) cho các tài liệu khi tạo lập ta có thể tìm kiếm các tài liệu có metadata về “tác giả của các tài liệu là Eric Miller”. Tương tự, với metadata phối hợp có thể tìm kiếm các tài liệu thuộc loại “tài liệu nghiên cứu”. Với Semantic Web, ta không chỉ cung cấp các URI cho tài liệu như trước mà còn cung cấp các khái niệm, các mối liên hệ. Như trong ví dụ trên, sử dụng định danh cho ‘tác giả’ và khái niệm ‘tài liệu nghiên cứu’, ta đã làm rõ thêm đó là ai và mối quan hệ của người này với một tài liệu nào đó về mặt tác giả. Ngoài ra, ta có thể phân biệt những tài liệu của Eric Miller với những tài liệu của những người khác, có thể kết hợp những thông tin đã được mô tả ở nhiều site khác nhau để biết thêm về người này ở những ngữ cảnh khác nhau ví dụ như vai trò khi là tác giả, nhà quản lý, nhà phát triển, … 1.2.2.4. Hỗ trợ công cụ tự động hóa Ngoài ra, Semantic còn cung cấp các loại dịch vụ tự động từ các phạm vi khác nhau: trong gia đình, các thư viện kĩ thuật số cho đến các dịch vụ kinh doanh điện tử và dịch vụ sức khỏe.v.v. Semantic Web cung cấp các phương tiện để mô tả các thông tin chi tiết trên Web hỗ trợ việc tự động hóa xử lý các dịch vụ. 1.2.3. Kiến trúc Semantic Web 1.2.3.1. Giới thiệu : Xét từ góc độ mô tả, Semantic Web chứa đựng một tập hợp các ngôn ngữ mô tả. Các lớp của Semantic Web được sử dụng để tạo ra các giá trị thông tin tốt nhất cho các ứng dụng. 6 Hình 1-1 Kiến trúc Semantic Web o Lớp Unicode & URI cho phép sử dụng tập kí tự quốc tế và cung cấp phương tiện khi định danh các đối tượng trong Semantic Web. o Lớp XML cùng với các định nghĩa về namespace và schema (lược đồ) cho phép có thể tích hợp các định nghĩa Semantic Web với các chuẩn dựa trên XML khác. o Lớp RDF [RDF] và RDFSchema [RDFS] cho phép tạo các phát biểu (statement) mô tả các đối tượng với từ vựng và định nghĩa của URI. Các đối tượng này được tham chiếu đến khi sử dụng từ vựng và định nghĩa của URI ở trên. Đây cũng là lớp có thể gán các kiểu (type) cho các tài nguyên liên kết, cũng là lớp quan trọng nhất trong kiến trúc Semantic Web . o Lớp Ontology: Cho phép hỗ trợ những tiến triển về từ vựng, cho phép định nghĩa mối liên hệ giữa các khái niệm khác nhau. o Lớp Digital Signature: được dùng để xác định chủ thể của tài liệu (ví dụ: tác giả của một tài liệu). Các lớp Logic, Proof, Trust: các lớp này đang trong giai đoạn nghiên cứu chỉ một số thể hiện trong các ứng dụng giản đơn được xây dựng. Lớp Logic cho phép đưa ra các luật (rule), lớp Proof tiến hành suy diễn trên các luật và cùng với lớp Trust đánh giá xem ứng dụng có nên chấp nhận minh chứng đã nêu hay không. 7 1.2.3.2. Vai trò các lớp trong kiến trúc Semantic Web Ta sẽ xem xét các thành phần khác nhau của Semantic Web và cách thức thể hiện các thành phần này. 1.2.3.2.1. Lớp định danh tài nguyên-URI URI (Uniform Resource Identifier) là định danh Web, tương tự như “http” hay “ftp”. Bất kỳ người sử dụng nào cũng có thể tạo một URI và có quyền sở hữu chúng, vì vậy URI đã hình thành một công nghệ nền để xây dựng một hệ thống mạng toàn cầu. Mạng Internet cho phép mọi URI có thể lưu thông tin trên mạng. Khi sử dụng URI có thể dùng một cách đặt tên đơn giản để đề cập đến các tài nguyên khi sử dụng các giao thức khác nhau: HTTP, FPT, GOPHER, EMAIL,.... Một dạng thức quen thuộc của URI là URL - Uniform Resource Locator. Thực chất URL là địa chỉ, cho phép ta truy nhập trang Web, như: http://www.w3.org/Addressing/. Nếu click vào nó, URL sẽ bảo máy tính nơi đến. Mặc dù thường được tham chiếu đến như là URL, nhưng URI còn được tham chiếu đến như các khái niệm trong Semantic Web, để chỉ các resource . Ví dụ, chúng ta có một quyển sách với tiêu đề “Machine Learning”, với URI như sau: http://www.cs.bris.ac.uk/home/pw2538/book/title#machinelearning. Dưới đây là ví dụ về URI: • uuid:04b749bf-3bb2-4dba-934c-c92c56b709df: Đây là một UUIDUniversal Unique Identifier. UUID có thể được thiết lập bằng cách kết hợp thời gian và địa chỉ của Ethernet card hay một con số ngẫu nhiên được xác định duy nhất. • mailto:pw2538@bristol.ac.uk: xác định địa chỉ mail của một người nào đó. 8 URI là nền tảng của Semantic Web. Mọi thành phần khác của Web có thể thay thế nhưng URI thì không được phép thay đổi. URI liên hệ các thành phần của Web lại với nhau. Để định danh các thành phần trên Web, ta sử dụng bộ định danh. Do sử dụng một hệ thống đồng bộ các định danh, mỗi thành phần được định danh là một tài nguyên, nên ta gọi bộ định danh này là “Các Bộ Định Danh Tài Nguyên” hay URIs. Có thể gán URI cho bất cứ thứ gì và bất cứ thứ gì có URI đều có thể biểu diễn trên Web. Ví dụ, con người, quyển sách, con ruồi,... Nếu muốn tất cả đều có thể có URI. Một nguyên tắc chung tạo các URI là bắt đầu với một trang Web. Trang mô tả đối tượng được định danh và URL của trang là URI cho đối tượng đó. Ví dụ muốn tạo một URI cho bản sao “Weaving the Web” của Tim Berners-Lee, trước tiên ta tạo một trang Web mô tả bản sao. Sau đó, xem URI của bản sao quyển sách chính là URL của trang web tương ứng, nhờ vậy đã kết hợp URI (http://logicerror.com/myWeavingTheWeb) với bản sao “WeavingTheWeb”. Có thể nhận thấy rằng trong thể hiện này, URI: “http://logicerror/myWeaving TheWeb” thực hiện hai nhiệm vụ: biểu diễn nội dung cả quyển sách, cũng như trang Web mô tả. Đây là một lĩnh vực đang được thảo luận, gọi là vấn đề định danh Semantic Web và nó là tâm điểm thảo luận khi phát triển Semantic Web. 1.2.3.2.2. Lớp XML và XML Schema Cho đến bây giờ , XML[Bray et al, 1998] được biết rộng rãi và đã nhanh chóng trở thành nền tảng khi phát triển phần mềm. XML được thiết kế đơn giản cho phép trao đổi các tài liệu qua Web. Thiết kế định dạng tài liệu và sau đó soạn thảo tài liệu theo định dạng đó. XML là một mở rộng của ngôn ngữ đánh dấu cho các các cấu trúc tài liệu, khác với HTML chỉ 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ẻ 9 mở được lồng vào nhau, theo đó mỗi một thẻ có một cặp các thuộc tính và giá trị. Phần cốt yếu của tài liệu XML là bộ từ vựng của các thẻ và cách kết hợp tuy không cố định, nhưng có thể xác định qua các ứng dụng XML. Đây là một ví dụ của một tài liệu dạng văn bản đơn giản: I just got a new pet dog. Ở đây đã dùng các từ: “sentence”, “person” và “animal” trong ngôn ngữ định dạng. Nhưng đây là các từ thông dụng. Điều gì xảy ra nếu những người khác cũng dùng những từ này trong ngôn ngữ định dạng của họ? Làm thế nào máy tính hiểu đúng? Để ngăn ngừa sự bất cập này, phải xác định các phần tử định dạng một cách duy nhất. Tốt hơn hết là định danh chúng bằng một URI: gán URI cho mỗi element và attribute, bằng cách sử dụng XML Namespace. Theo cách này, một người có thể tạo các tag riêng và trộn chúng với những tag của người khác. Một namespace chỉ là một cách nhận diện các phần của Web (space) để biết được ý nghĩa của những tên này. Tạo một Namespace cho ngôn ngữ định dạng bằng cách dùng một URI cho nó. Như đã nói ở trên, ta sẽ tạo một trang Web để mô tả ngôn ngữ định dạng và dùng URL như URI cho namespace. Vì các tag của mỗi người có các URI riêng nên không xẩy ra mâu thuẫn tên tag. Tất nhiên, XML cho phép chúng ta rút gọn và đặt URI mặc định nên không phải gõ chúng ra mỗi lần sử dụng. Xét “sentence” trong ví dụ dưới đây. 10 Ở đây http:// example.org/xml/documents/" là namespace mặc định và tất cả các element và attribute không có “c:” được đặt trước. XML cho phép người dùng thêm cấu trúc cho các tài liệu của họ nhưng không đề mô tả được ý nghĩa của các cấu trúc. Tên các tag không cung cấp ý nghĩa. Semantic Web chỉ dùng XML cho mục đích mô tả cú pháp. 1.2.3.2.3. Lớp RDF - RDF Schema Ban đầu Web được tạo ra để người sử dụng: đọc, hiểu, …. Mặc dù máy có thể đọc được mọi thứ trên Web, nhưng nó không hiểu được dữ liệu trên Web. Giải pháp được đưa ra là dùng siêu dữ liệu (metadata) mô tả dữ liệu trên Web để máy có thể hiểu được chúng. Siêu dữ liệu là một dạng dữ liệu mô tả về dữ liệu khác. Nói cách khác siêu dữ liệu là những thông tin mô tả tài nguyên trên Web. Chẳng hạn như, sách là một loại tài nguyên trên Web (http://www.amazon.com/CSharp.htm). Khi đó các thông tin mô tả cho tài nguyên này như: tên tác giả, tên tựa sách, ngày xuất bản, … chính là siêu dữ liệu. RDF (Resource Description Framework) là nền tảng của Semantic Web và xử lý metadata, được định nghĩa bởi tổ chức W3C. RDF cho phép trao đổi thông tin giữa các ứng dụng trên Web để máy tính có thể hiểu được. Về mặt cấu trúc RDF được mô tả rất đơn giản, gồm 3 thành phần: o Subject: chủ thể - là vấn đề được đề cập, thường được định danh bởi một URI. o Predicate: thuộc tính của chủ thể, có kiểu metadata (ví dụ như tiêu đề, tác giả, ...), cũng có thể được xác định bởi một URI. o Object: giá trị của thuộc tính (ví dụ: tên tác giả như Eric Miller). 11 Tập hợp các RDF được lưu dưới dạng cú pháp của XML, còn được gọi là RDF/XML. Ta xét một khai báo RDF đơn giản: URI thứ nhất là subject. Trong thể hiện này subject là “me”. URI thứ 2 là predicate. Nó liên kết subject và object. Trong thể hiện này predicate là “reallyLikes”. URI thứ 3 là object, ở đây object là “Tim Berners-Lee’s book ‘Weaving the Web’”. Vì vậy, khai báo RDF trên cho ta thông tin “I really like ‘Weaving the Web’”. Ví dụ trên được viết dưới dạng RDF như sau: Tuy nhiên, mô hình dữ liệu RDF không cung cấp những cơ chế cho việc khai báo các thuộc tính, cũng như không cung cấp bất kỳ cơ chế nào để có thể định nghĩa ra những quan hệ giữa các thuộc tính và các tài nguyên. Đó là vai trò của RDF schema, nói cách khác RDF schema được dùng để định nghĩa các tài nguyên (các lớp trong RDF schema) và thuộc tính (thuộc tính trong RDF schema), cũng như các quan hệ qua lại giữa tài nguyên với tài nguyên, giữa thuộc tính với thuộc tính và giữa tài nguyên với thuộc tính. Tương tự XML schema, RDF schema là một tập những từ khoá cho phép người dùng định nghĩa bộ từ vựng (resource, property) cụ thể cho dữ 12 liệu RDF (ví dụ như: hasName, hasPrice, authorOf, …) và định nghĩa các quan hệ của nó với các đối tượng liên quan. Chẳng hạn như từ hasName được định nghĩa quan hệ của nó trên hai đối tượng: “http://www.w3c.org/employee/id1321” và “Jim Lerners” như sau: hasName (‘http://www.w3c.org/employee/id1321’,“Jim Lerners”) 1.2.3.2.4. Lớp Ontology 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 đó để 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. Tổ chức W3C cũng đã đề ra một ngôn ngữ ontology trên Web (OWL: Web Ontoloty Language) để xây dựng Sematic Web dựa trên nền tảng của ontology. Ontology định nghĩa một bộ từ vựng phổ biến thường gặp, cho phép các chia sẻ thông tin trong một hoặc nhiều lĩnh vực. 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áy có thể hiểu được. Lý do cần thiết phải phát triển Ontology có thể biểu đạt như sau: o Chia sẻ hiểu biết chung về cấu trúc thông tin giữa con người và các software agent. o Cho phép tái sử dụng tri thức lĩnh vực (domain knowledge). o Làm tường minh các giả thuyết về lĩnh vực. o Tách biệt tri thức lĩnh vực (domain knowledge) khỏi tri thức tác nghiệp (operational knowledge ). o Phân tích tri thức lĩnh vực. 1.2.3.2.5. Lớp logic Không giống như thảo luận ở trên, ở đây không xét một hệ cụ thể nào, thay vào đó một khái niệm tổng quát có thể hình thành về nhiều hệ khác nhau. Ngoài những khái niệm cơ bản (subclass, inverse...), còn phải cung cấp các nguyên tắc logic và cho phép máy tính suy diễn (suy luận) giữa vào các nguyên tắc này. 13 Sau đây là một ví dụ: Một công ty quyết định rằng người nào bán hơn 100 sản phẩm sẽ là thành viên của Super Salesman Club. Chương trình thông minh có thể hiểu luật này thực hiện suy diễn đơn giản rằng khi “John bán được 102 sản phẩm, John sẽ là thành viên của Super Salesman Club”. 1.2.3.2.6. Lớp Proof Vấn đề là xây dựng các hệ suy diễn logic và dùng chúng để chứng minh. Trước hết phải đưa ra các khai báo logic. Sau đó máy tính có thể dùng những Semantic link (liên kết ngữ nghĩa) này để kiểm chứng. Ví dụ, tập hợp các thông tin bán hàng cho thấy Jane đã bán 55 widget và 66 sprocket. Hệ thống kiểm kê cho thấy widget và sprocket là những sản phẩm của các công ty khác nhau. Nếu có luật thể hiện là 55 + 66 =121 và 121 lớn hơn 100 và người nào bán hơn 100 sản phẩm sẽ là thành viên của Super Salesman Club. Máy tính kết hợp tất cả các luật logic lại với nhau thành một kết luận (proof): Jane là một Super Salesman. Lớp proof được dùng để cung cấp các thông tin cho các agent kiểm tra chéo các kết quả được suy luận bởi các Agent. Tuy nhiên, điều này đòi hỏi phải dịch các cơ chế suy luận nội tại của mỗi agent theo một ngôn ngữ thể hiện proof thống nhất. 14 CHƯƠNG II. CÔNG NGHỆ XML 2.1. Giới thiệu XML (Extensible Markup Language) ra đời vào tháng 2/1998, là ngôn ngữ có kiến trúc gần giống với HTML, XML nhanh chóng trở thành một chuẩn phổ biến trong việc chuyển đổi thông tin qua các trang web sử dụng giao thức HTTP. HTML là ngôn ngữ chủ yếu cho phép hiển thị dữ liệu thì XML lại hướng về việc chuyển tải, trao đổi và thao tác dữ liệu. XML đưa ra một định dạng chuẩn cho cấu trúc của dữ liệu hoặc thông tin thông qua tự định nghĩa định dạng của tài liệu. Bằng cách này, dữ liệu được lưu trữ bằng XML sẽ độc lập với xử lý. Vì vậy, XML sẽ đáp ứng được yêu cầu ngày càng cao của lập trình trong vấn đề trao đổi và xử lý thông tin. 2.2. Mục tiêu ra đời và lợi ích khi sử dụng XML 2.2.1. Mục tiêu ra đời của XML Ngày nay, XML đang trở thành một chuẩn chung cho trao đổi dữ liệu cho những ứng dụng chạy trên môi trường Internet. XML cho phép người dùng có thể tự định nghĩa các thẻ (tag) ( Thẻ này làm cho tài liệu XML đa dạng hơn những ngôn ngữ thông thường như HTML). Như vậy mục tiêu ra đời XML là gì? Đầu tiên phải tương thích với SGML, và thuận lợi khi viết những chương trình xử lý. Kế tiếp, tài liệu XML diễn đạt rõ ràng, dễ đọc, dễ dàng tạo lập. Và điều quan trọng là nó được nhiều ứng dụng hỗ trợ. Nói tóm lại, XML dễ dàng cho phép chia sẻ thông tin qua những định dạng khác nhau thông qua môi trường Web. Nói cách khác XML được thiết kế dành cho mọi người, được mọi người sử dụng. 2.2.2. Lợi ích khi sử dụng XML XML là sự lựa chọn hàng đầu vì nó dễ hiểu, dễ đọc, và dễ thực hiện. Sau đây là một số lợi ích khi sử dụng XML 1. XML mô tả cấu trúc dữ liệu Dữ liệu có cấu trúc khá phong phú như bảng tính, sổ địa chỉ, các thông số cấu hình, quản lý kinh doanh và bản vẽ kỹ thuật. XML cho phép định dạng
- Xem thêm -