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