Tải bản đầy đủ (.pdf) (40 trang)

TIỂU LUẬN CÔNG NGHỆ SỬ DỤNG TRONG SEMANTIC WEB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (597.79 KB, 40 trang )

TÌM HIỂU SEMANTIC WEB

1

MỤC LỤC
A. ĐẶT VẤN ĐỀ 4
1. THẾ HỆ WEB 1.0 4
2. THẾ HỆ WEB 2.0 5
3. LÝ DO CẦN CÓ SEMANTIC WEB 6
B. SEMANTIC WEB 7
1. GIỚI THIỆU 7
2. KHÁI NIỆM SEMANTIC WEB 7
3. ƯU ĐIỂM CỦA SEMANTIC WEB 7
C. KIẾN TRÚC SEMANTIC WEB 9
1. MÔ HÌNH KIẾN TRÚC 9
2. CHI TIẾT CÁC LỚP 9
D. CÔNG NGHỆ SỬ DỤNG TRONG SEMANTIC WEB 18
1. RDF 18
1.1. GIỚI THIỆU RDF 18
1.2. KHÁI NIỆM RDF 19
1.3. BẢNG TÓM TẮT CÚ PHÁP RDF 30
2. ONTOLOGY 32
2.1. ONTOLOGY LÀ GÌ 32
2.2. VAI TRÒ CỦA ONTOLOGY 33
2.3. CÁC THÀNH PHẦN CỦA ONTOLOGY 34
2.4. OWL 34
E. KẾT LUẬN 39
F. TÀI LIỆU THAM KHẢO 40


TÌM HIỂU SEMANTIC WEB



2

DANH MỤC BẢNG HÌNH VẼ


Hình 1 Tổng quan về web 1.0
Hình 2 Tổng quan về Web 2.0
Hình 3 Kiến trúc Semantic Web
Hình 4 Mối quan hệ giữa các thành phần trong một bộ ba.
Hình 5 Phát biểu RDF đơn giản
Hình 6 Phát biểu của cùng 1 tài nguyên
Hình 7 Các thông tin bổ sung cho thực thể
Bảng 1 tóm tắt cú pháp RDF
Bảng 2 Tóm tắt từ vựng trong RDF
TÌM HIỂU SEMANTIC WEB

3

LỜI MỞ ĐẦU
Web 2.0 đã đạt được những thành tựu rất đáng kể trong việc nâng cao tính
tương tác cũng như đẩy nhanh tốc độxử lý đáp ứng yêu cầu của người dùng. Tuy
nhiên trong xã hội thông tin đương đại, nhu cầu của người dùng không dừng lại
ởviệc cải thiện tốc độ mà còn phải cải thiện chất lượng xửlý của trang web theo yêu
cầu ngày càng nâng cao. Web 3.0 (Web Semantic) ra đời nhằm đáp ứng những yêu
cầu về chất lượng đó. Với đặc điểm chính là nâng cao khả năng chia sẻ tài nguyên và
tăng “sự hiểu biết” trong quá trình xử lý dữ liệu của máy tính. Web Semantic đã đi
sâu vào phân tích và định hướng dữ liệu, đồng thời hỗ trợ phát triển ứng dụng Web
Semantic trên nhiều lĩnh vực khác nhau. Một trong những lĩnh vực thế mạnh của
Web Semantic là xử lý và tìm kiếm thông tin. Việc phân tích và định hướng nội dung

lưu trữ cho phép chúng ta xây dựng những cơsở dữ liệu phục vụ tìm kiếm chính xác
hơn, tinh gọn hơn.
Tiểu luận sẽ trình bày những đặc điểm của Semantic Web qua những vấn đề
chính như sau
Chương 1: Trình bày nguyên nhân dẫn đến sự ra đời của Semantic Web
Chương 2: Trình bày khái niệm Semantic Web cũng như những lợi ích mà nó
mang lại
Chương 3: Trình bày kiến trúc của Semantic Web và chức năng của từng
thành phần
Chương 4 và Chương 5: Giới thiệu hai thành phần quan trọng nhất của
Semantic Web là RDF và Ontology

TÌM HIỂU SEMANTIC WEB

4

A. ĐẶT VẤN ĐỀ
1. THẾ HỆ WEB 1.0
Thế hệ Web 1.0 ra đời năm 1997 bởi chính cha đẻ của World Wide Web
(WWW) là Tim Berners-Lee. Năm 1989 Burners-Lee đưa ra ý niệm về một không
gian siêu văn bản toàn cầu mà theo đó mỗi một thông tin hay nội dung, thường
được gọi là trang web đều có thể tiếp cận thông qua một bộ nhận dạng chung duy
nhất. Trang web và công cụ tìm kiếm đầu tiên ra đời năm 1990.
Berners-Lee định nghĩa Web 1.0 là cấu trúc thông tin chỉ có thể để đọc, tương
tự như một không gian để quảng bá những thông tin đến công chúng, và cả những
bảng quảng cáo hàng hóa hay dịch vụ đến khách hàng. Với những tính năng ban
đầu hạn chế như thế nhưng Web 1.0 đã tực sự tạo nên cơn sốt hình thành các công
ty kinh doanh Internet.
Trong thời kỳ Web 1.0, tất cả các sản phẩm và dịch vụ thông tin được phát
triển, tổ chức theo nhu cầu của người dùng. Các nhà cung cấp chủ động xử lý các

nguồn thông tin mình có và cung cấp cho người dùng bằng cách đưa thông tin lên
website. Người dùng có thể truy cập tại bất kỳ thời điểm nào, không ngăn cản về
mặt khoảng cách hay thời gian. Người dùng chỉ có quyền truy cập và khai thác thông
tin đã dược dựng sẵn và sử dụng những thông tin đó.
Các đặc tính của Web 1.0 có thể được tổng kết như sau:
 Trong Web 1.0, Webmaster là người chịu trách nhiệm quản lý
nội dung và duy trì cập nhật cho người sử dụng
 Web 1.0 không hỗ trợ xuất bản thông tin rộng rãi
 Web 1.0 sử dụng ngôn ngữ đánh dấu siêu văn bản cơ bản
(HTML) để xuất bản nội dung trên Internet
 Web 1.0 không hỗ trợ nội dung có thể đọc bởi máy. Chỉ người
đọc Web có thể hiểu được nội dung
 Trong Web 1.0, các trang Web được thiết kế để phản ứng theo
bản năng dựa trên điều kiện được lập trình

Hình 1: Tổng quan về web 1.0
TÌM HIỂU SEMANTIC WEB

5


2. THẾ HỆ WEB 2.0
Web 2.0 (hay Web động) chính thức được định nghĩa bởi Dale Dougherty
trong một cuộc hội thảo tổ chức năm 2004. Theo đó, 2.0 là thế hệ Web mới mà
người sử dụng vừa có thể đọc các thông tin hay nội dung, vừa có thể viết hay bổ
sung vào đó để tạo nên những thông tin hay nội dung mới. Nói cách khác, Web 2.0
là những trang Web có khả năng tương tác với cơ sở dữ liệu Đây là thứ cấu trúc
hai chiều tạo nên sự giao tiếp hay tương tác giữa người lập ra trang Web và những
người sử dụng, và giữa những người sử dụng với nhau. Ở đỉnh cao Web 2.0 là
những trang mạng xã hội, điển hình như Facebook, My Space, Twitter hay Daily

Motion… mà những người ưa thích cùng một chủ đề có thể tìm đến với nhau để
trao đổi quan điểm, hình ảnh, đoạn phim hay bổ sung những ý tưởng và lời bình
luận.
Các đặc tính của Web 2.0 có thể tổng kết như sau:
 Kiến trúc hướng dịch vụ SOA là phần cơ bản trong Web 2.0
 Web 2.0 là Web xã hội. Ứng dụng Web 2.0 hướng tới tương tác nhiều hơn
với người sử dụng đầu cuối
 Trong thuật ngữ và chiến lược Web 2.0 thì “Web là môi trường mở”
 Trong Web 2.0, dữ liệu là động lực. Một trong những công nghệ quan trọng
là AJAX, công nghệ này hỗ trợ sự phát triển kinh nghiệm của người sử dụng
tiềm năng
Tuy nhiên Web 2.0 vẫn còn tồn tại nhiều hạn chế như sau:
 Những thông tin trên Web chỉ có người hiểu, máy không hiểu được vì không
có ngữ nghĩa
 Việc truy nhập tới hầu hết thông tin là miễn phí và phần mềm là mở, dẫn tới
các dịch vụ phải đương đầu với các thách thức về lợi nhuận
 Thiếu các Web server thông minh để tránh hiện tượng tắc nghẽn nút cổ chai
 Các thách thức về an ninh và bảo mật do sự phơi bày thông tin cá nhân/tổ
chức trên Web 2.0
 Cung cấp các khả năng truy vấn chưa tốt: thiếu sự biểu diễn dữ liệu tổng
quát
 Quá tải thông tin: quá tải thông tin phân tán với chất lượng không đáng tin
cậy được xem là vấn đề nghiêm trọng
 Không có khả năng suy luận
TÌM HIỂU SEMANTIC WEB

6


Hình 2: Tổng quan về Web 2.0


3. LÝ DO CẦN CÓ SEMANTIC WEB
Thông thường chúng ta sử dụng Internet với ba mục đích chính: tìm kiếm,
tích hợp và khai phá dữ liệu Web. Nhưng thực tế các hoạt động này sẽ cho ta thấy
được những khó khăn của môi trường Internet hiện tại một cách rõ ràng nhất.
Trước tiên hãy xem xét hoạt động tìm kiếm. Khi thực hiện tìm kiếm chúng
ta luôn muốn có được những kết quả đúng nhất với yêu cầu mình đưa ra. Tuy nhiên
Internet được xây dựng hoàn toàn nhằm mục đích để đọc và được hiển thị theo
định hướng. Các trình duyệt Web, máy chủ Web và thậm chí cả các máy tìm kiếm
cũng không thực sự phân biệt được các dự báo thời tiết từ các bài báo khoa học.
Khi bạn gõ từ khóa để tìm kiếm, thì kết quả trả về sẽ bao gồm tất cả các trang Web,
các tài liệu có chứa từ khóa đó, mặc dù có thể nó không cùng lĩnh vực với cái mà
bạn muốn tìm. Nói cách khác máy tính chỉ có thể đưa ra cho người dùng thông tin,
mà không đủ hiểu được thông tin để hiển thị dữ liệu thích hợp nhất với yêu cầu
của người dùng.
Hoạt động thứ hai là tích hợp (integration). Khi thực hiện một chuỗi các thao
tác chúng ta nhận thấy rằng cần thiết phải có sự tự động hóa nhiều hơn. Ví dụ như
khi chúng ta muốn đặt vé máy bay. Chúng ta sẽ muốn có một agent tự động tìm các
chuyến bay phù hợp, truy vấn giá và cuối cùng đặt vé. Tuy nhiên để có thể tự động
kết hợp và gọi các ứng dụng như vậy thì bước đầu tiên là phải khám phá chúng.
Nhưng mặc dù các thành phần hay các ứng dụng cần thiết để tích hợp đều tồn tại
trên Internet, nhưng Internet lại không được lập trình để ghi nhớ ý nghĩa của
TÌM HIỂU SEMANTIC WEB

7

những thành phần này. Đối với Internet thì các thành phần này là tương đương
nhau.
Hoạt động cuối cùng là khai phá dữ liệu Web. Vấn đề với hoạt động này là nó
có thể rất đắt vì mỗi ứng dụng khai phá dữ liệu Web đều được phát triển đặc biệt

cho một bối cảnh ứng dụng cụ thể và rất khó để sử dụng lại bất cứ thứ gì. Ngoài ra
khi ý nghĩa của yếu tố dữ liệu thay đổi thì agent cũng phải thay đổi theo bởi vì nó
không thể tự động học được ý nghĩa của những yếu tố dữ liệu.
Từ những vấn đề trên và những nhược điểm của Web 1.0, Web 2.0 dẫn tới
sự cần thiết phải xây dựng một thế hệ Web mới, Web 3.0. Web 3.0 là một tập hợp
các công nghệ bao gồm các trang web ngữ nghĩa, dữ liệu liên quan, xử lý ngôn ngữ
tự nhiên, trí thông minh nhân tạo, … Với thế hệ mới, web đã có thể hiểu những gì
bạn đang nghĩ.

B. SEMANTIC WEB
1. GIỚI THIỆU
Web ngữ nghĩa 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ả Web ngữ nghĩa 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 (dữ
liệu liên kết động), và tự động hóa các công việc.
2. KHÁI NIỆM SEMANTIC WEB
Web ngữ nghĩa được phát triển bởi Tim-Berner Lee, cha đẻ của WWW, URIs,
HTTP và HTMK. Theo ông, “Web ngữ nghĩa là sự mở rộng của Web hiện tại, cho phép
người dùng có thể truy tìm, phổi hợp và sử dụng lại và trích lọc thông tin một cách dễ
dàng và chính xác.”
3. ƯU ĐIỂM CỦA SEMANTIC WEB
i. 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 chỉ cho con
người đọng chứ không dành cho máy hiểu biết. Web sẽ cung cấp ý nghĩa cho máy
hiểu. . 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.

Semantic Web là tất cả những gì về cách tạo một Web mà cả người và máy
có thể hiểu. Người dùng máy tính sẽ vẫn có thông tin trình bày theo cách trước đây,
nhưng đối với máy tính, Semantic Web là ánh sáng soi rọi vào màn đêm của Web
hiện hành.

TÌM HIỂU SEMANTIC WEB

8

ii. Thông tin được tìm kiếm nhanh chóng, chính xác hơn
Với Semantic Web, việc tìm kiếm sẽ dễ dàng nếu mọi thứ được đặt trong
ngữ cảnh. Ý tưởng chính yếu là toàn bộ ngữ cảnh mà người sử dụng được biết đến.
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 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, mà máy tính còn có thể 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.
iii. 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ả và
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 mà metadata cho biết tác giả là Eric Miller. Cũng thế, với metadata chúng ta có
thể tìm kiếm chỉ những tài liệu thuộc loại tài liệu nghiên cứu. Với Semantic Web,
chúng ta không chỉ cung cấp các URI cho tài liệu như đã làm trong quá khứ mà còn
cho con người, các khái niệm, các mối liên hệ. Như trong ví dụ trên, bằng cách cung
cấp những định danh duy nhất cho mỗi con người như vai trò của ‘tác giả’ và khái
niệm ‘tài liệu nghiên cứu’, chúng ta đã làm rõ người ở đây là ai và mối quan hệ
tương ứng của người này với một tài liệu nào đó. Ngoài ra, bằng cách làm rõ người
mà chúng ta đang đề cập chúng 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. Chúng ta cũng có thể kết hợp những
thông tin đã được mô tả ở nhiều site khác nhau để biết thêm thông tin về người
này ở những ngữ cảnh khác nhau ví dụ như vai trò của anh ta ra sao khi anh ta là
tác giả, nhà quản lý, nhà phát triển…
iv. Hỗ trợ công cụ tự động hóa
Ngoài ra, chúng còn cung cấp các loại dịch vụ tự động từ nhiều vùng khác
nhau: từ gia đình và 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 còn cung cấp các phương tiện để thêm
các thông tin chi tiết lên Web nhằm hỗ trợ sự tự động hóa cho các dịch vụ.

TÌM HIỂU SEMANTIC WEB

9

C. KIẾN TRÚC SEMANTIC WEB
1. MÔ HÌNH KIẾN TRÚC

Hình 3: Kiến trúc Semantic Web

Lớp Unicode + URI : nhằm bảo đảm việc sử dụng tập kí tự chuẩn quốc tế và
cung cấp phương pháp để định danh các đôi tượng sử dụng trong Web ngữ
nghĩa.

Lớp XML : được dùng như là lớp cú pháp

Lớp RDF: thể hiện lớp dữ liệu

Lớp ontology: dựa trên một sự thoả thuận hình thức chung, xác định ý nghĩa
của dữ liệu


Lớp logic: cung cấp các quy luật cho phép suy luận thông minh

Lớp proof : hỗ trợ sự trao đổi của các “proof” trong sự truyền thông liên agent

Lớp trust: chữ ký điện tử và Web tin cậy
2. CHI TIẾT CÁC LỚP
2.1. URI (UNIFORM RESOURCE IDENTIFIER)
Để nhận diện các mục trên trang Web chúng ta cũng dùng các bộ nhận dạng.
Vì chúng ta dùng một hệ các bộ nhận dạng như nhau và vì mỗi mục được nhận dạng
được xem như một tài nguyên (resource) nên chúng ta gọi các bộ nhận diện này là
các “Uniform Resource Identifiers” hay gọi tắt là URI. Chúng ta có thể xem URI là
bất kỳ vật gì, và vật đó có một URI có thể được diễn đạt trên Web: người, quyển
sách bạn mua tuần trước, con ruồi bay vo ve quanh ta và bất kỳ thứ gì khác có thể
nghĩ đến tất cả chúng đều có thể cổ một URI.
TÌM HIỂU SEMANTIC WEB

10

URI là nền tảng của Web. Trong khi gần như mọi thành phần khác của Web
có thể được thay thế nhưng URI thì không: nó giữ các thành phần của Web lại với
nhau. Một dạng quen thuộc của URI: đó là URL (Uniíorm Resource Locator). Một
URL là một địa chỉ cho phép ghé thăm một trang Web, ví dụ như:
Nếu click vào nó, có thể thấy rằng một URL sẽ
bảo cho máy tính nơi để tìm thấy một tài nguyên nào đó (trong trường hợp này là
địa chỉ trang Web của W3C). Không giông như hầu hết các dạng khác của URI, một
URL là cả định danh (identiíy) và định vị (locate). Tương phản với một “mid:” URI.
Một “mid:” URI nhận dạng một thông điệp email, nhưng nó không có khả năng định
vị một bản sao của thông điệp.
Vì Web thì quá lớn đôi với các tổ chức trong việc kiểm soát nó nên các URI
được phân quyền. Không phải một người hay tể chức kiểm soát việc tạo ra chúng

hay làm thế nào để chúng có thể được sử dụng. Trong khi một vài lược đồ URI (như
http:) phụ thuộc vào các hệ tập trung (như DNS) thì các lược đồ khác (như ữeenet:)
hoàn toàn được phân quyền. Điều này nghĩa là không cần sự cho phép của bất cứ
người nào để tạo một URI. Kê’ cả việc có thể tạo URIs cho những vật mà không sở
hữu. Trong khi khả năng linh động này làm cho các URI có “sức mạnh” nhưng nổ
cũng mang lại một sô" vấn đề. Bởi vì mọi người đều có thể tạo một URI, cuối cùng
chắc chắn chúng ta sẽ có nhiều URT biểu diễn cùng một vật nào đó. Tệ hơn là sẽ
không có cách để thấy được là hai URĨ đề cập đến cùng tài nguyên. Vì thế chúng ta
sẽ không bao giờ có thể nói một cách chính xác một URI đã cho có ý nghĩa gì. Nhưng
có sự thoả hiệp là phải tạo ra nó nếu chúng ta tạo một thứ gì đó “to lớn” như
Semantic Web.
Một cách rèn luyện phổ biến để tạo URT là bắt đầu với một trang Web. Trang
này mô tả đôi tượng được nhận dạng và giải thích rằng URL của trang là URI cho
đôi tượng đó. Ví dụ muôn tạo một URT cho bản sao "Weaving the Web" của Tim
Bemers-Lee. Trước tiên tạo một trang Web mô tả bản sao. Tiếp theo ghi nhận rằng
trang mà URL cho trang đó dùng như URI cho bản sao quyển sách. Làm điều này,
chúng ta đã kết hợp URI ( với bản sao
"Weaving the Web". Việc tạo một URI chỉ làm đơn giản như vậy. Có thể ghi nhận
rằng trong thể hiện này URI ( đang
thực hiện hai nhiệm vụ: nó biểu diễn cả quyển sách vật lý cũng như trang Web mô
tả nó. Đây là một lĩnh vực thảo luận, gọi là Vấn đề trong nhận diện Semantic Web
và nó là một điểm thảo luận cho người thực hiện Semantic Web.
Đây là một thực tế quan trọng cần hiểu rõ. Một URI không phải là một tập
các hướng dẫn chỉ cho máy tính làm thế nào để đến được một file nào đó trên Web
(dù nó cũng có thể làm được điều này). Nó là một tên (name) cho một tài nguyên
(resource) (một vật). Tài nguyên này có thể hoặc không thể truy cập được qua
Internet. URI có thể hoặc không thể cung cấp cách cho máy tính lấy thêm thông tin
về tài nguyên đó. Một URL là một kiểu của URI mà sẽ cung cấp cách để lấy thêm
thông tin về tài nguyên, hoặc có thể là cách để tự truy lục tài nguyên và các phương
pháp khác để cung cấp thông tin về các URT và những tài nguyên chúng nhận thấy

là chưa phát triển. Cũng chính xác khi nói rằng các URI là một phần quan trọng của
Semantic Web. Nhưng không nên cho rằng một URI có thể làm bất cứ gì để cung
TÌM HIỂU SEMANTIC WEB

11

cấp một bộ nhận dạng cho một tài nguyên.
2.2. LỚP XML (EXTENSIBLE MARKUP LANGUAGE)
XML được thiết kế là một cách đơn giản để gởi các tài liệu qua Web. Nó cho
phép bất kỳ người nào thiết kế định dạng tài liệu của họ và sau đó viết một tài liệu
theo định dạng đó. Những định dạng tài liệu này có thể bao gồm định dạng để tăng
cường ý nghĩa của nội dung tài liệu. Định dạng này là định dạng “máy có thể đọc”,
đó là định dạng các chương trình cổ thể đọc và hiểu chúng. Với việc đưa ý nghĩa
máy có thể đọc vào trong các tài liệu của chúng ta, chúng ta làm cho chúng “mạnh
mẽ” hơn nhiều.
Xét một ví dụ đơn giản: nếu một tài liệu chứa các từ nào đó được đánh dấu
bằng cách “làm nổi bậc, nhấn mạnh” thì cách những từ đó biểu hiện có thể được
điều chỉnh theo ngữ cảnh. Một trình duyệt Web có thể đơn giản hiển thị chúng bằng
cách in nghiêng, trong khi một trình duyệt bằng giọng nói (đọc các trang Web lên)
có thể biểu thị nhấn mạnh bằng cách thay đổi giọng nói hoặc âm lượng trong phát
âm của nó. Mỗi chương trình có thể đáp ứng với ý nghĩa đã được mã hoá trong định
dạng. Ngược lại nếu đơn giản đánh dấu các từ như bằng cách in nghiêng thì máy
tính không có cách nào hiểu tại sao các từ đó lại in nghiêng. Nó là để nhấn mạnh
hay đơn giản là cho một hiệu ứng trực quan? Làm thế nào để trình duyệt giọng nói
thể hiện hiệu ứng này?
Đâ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.
Từ lâu máy tính đã quan niệm, đây chỉ là văn bản. Nó không có ý nghĩa đặc biệt nào
đôi với máy tính. Nhưng hiện nay việc xem xét cùng một đoạn như vậy được định
dạng bằng cách dùng ngôn ngữ định dạng dựa trên XML (chúng ta sẽ định dạng cho

ví dụ này):
<sentence>
<person href=" just got a newpet
<animal>dog</animal>.
</sentence>
Nhớ rằng đây là cùng nội dung, nhưng các phần cuả nội dung đó được gán
nhãn. Mỗi nhãn bao gồm 2 “tag”: một tag mở (ví dụ:<sentence>) và một tag đóng
(ví dụ: </sentence>). Tên của tag “sentence” là nhãn cho nội dung được bao bởi
các tag. Chúng ta sẽ gọi tập hợp các tag này và nội dung một “nguyên tô"” (element).
Vì thế nguyên tô" sentence trong tài liệu trên chứa câu: “I just got a new pet dog.”
Điều này bảo với máy tính rằng “ĩ just got a new pet dog.” là một câu (sentence)
nhưng điều quan trọng là nó không bảo với máy tính một câu là gì. Mãi cho đến nay
máy tính mới có một sô" thông tin về tài liệu và chúng ta có thể đặt những thông
tin này vào để sử dụng.
Tương tự ngày nay máy tính biết rằng “I” là một “person” và “dog” là “animal”.
Thỉnh thoảng cung cấp thông tin về nội dung element có ích hơn là chúng ta
chỉ cung cấp tên của element. Ví dụ máy tính biết rằng “I” trong câu trên biểu diễn
một “person” nhưng nó không biết rằng person là gì. Chúng ta có thể cung cấp loại
TÌM HIỂU SEMANTIC WEB

12

thông tin này bằng cách thêm thuộc tính “attribute” vào element của ta. Một
attribute có một tên và một giá trị. Ví dụ chúng ta có thể viết lại ví dụ trên:
<sentence>
<person href="">I</person> just got a new pet <animal
type= "dog" href= "
</sentence>

Ở đây có một vấn đề, chúng ta đã 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 dùng cùng những từ này trong ngôn ngữ định dạng của họ?
Điều gì xảy ra nếu những từ này có ý nghĩa khác trong những ngôn ngữ đó? Có thể
“sentence” trong ngôn ngữ định dạng khác nói đến sô" lần mà một tội phạm thụ án
phải chịu trong một hình phạt hình sự. Làm thế nào để máy tính hiểu đúng?
Để ngăn ngừa sự rốì loạn này, phải xác định duy nhất các element định dạng.
Và tốt hơn là nhận diện chúng với một Uniíorm Resource Identifier? Vì vậy gán một
URI cho mỗi element và attribute, thực hiện điều này bằng cách dùng cái gọi là 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) từ đó chúng ta nhận đượ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ư đã thảo
luận ở trên, sẽ cổ thể tạo một trang Web để mô tả ngôn ngữ định dạng và dùng URL
trang Web như URI cho namespace).
Vì các tag của mỗi người có các URI riêng nên chúng ta không lo lắng về mâu
thuẫn tên tag. Tất nhiên XML cho chúng ta rút gọn và đặt URI mặc định nên chúng
ta không phải gõ chúng ra mọi lần:
<sentence
xmlns= "
Jtra/fts:c=
<c:person c:href=" just got a new pet
<c:animal>dog</c:animal>
</sentence>

Nhớ rằng là namespace mặc định. Đó
là nơi mà tất cả các element và attribute không có c: đặt trước được chỉ rõ (vì vậy
trong “sentence” thể hiện này chỉ có element được chỉ rõ). XML cho phép người
dùng thêm vào cấu trúc tùy ý cho các tài liệu của họ nhưng không đề cập gì đến ý
nghĩa của các cấu trúc. Tên các tag không cung cấp ngữ nghĩa. Semantic Web chỉ
dùng XML cho mục đích cú pháp

2.3. LỚP DỮ LIỆU RDF (RESOURCE DESCRIPTION FRAMEWORK)
RDF (khung mô tả tài nguyên) là một hạ tầng kiến trúc cho phép mã hoá,
trao đổi và tái sử dụng siêu dữ liệu cấu trúc. Chủ yếu thông tin được lưu trữ trong
hình thức của các phát biểu RDF, trình bày dữ liệu theo một cách thông nhất (chủ
TÌM HIỂU SEMANTIC WEB

13

ngữ, vị từ, bổ ngữ) và làm cho máy tính dễ hiểu hơn. Mô hình dữ liệu RDF trừu
tượng biểu diễn một đồ thị gán trực tiếp. Mô hình trừu tượng này là sự tuần tự độc
lập, mặc dù sự tuần tự chuẩn sử dụng XML. Tổng quát mô hình dữ liệu RDF đưa ra
các mô hình nguyên thủy có thể được mở rộng tuỳ theo nhu cầu khá thuận tiện.
RDF là phần cốt lõi của Semantic Web. Thật tuyệt là có thể tạo các URI và
bàn về chúng qua các trang Web. Tuy nhiên sẽ tốt hơn nếu có thể nói về chúng theo
cách mà máy tính có thể xử lý những gì mà chúng ta đang nói. Ví dụ một người nói
"ĩ really like 'Weaving the Web.'" trên một diễn đàn thảo luận Web. Nhưng điều
này có ý nghĩa gì với một máy tính?
RDF cho một cách để tạo cách trình bày mà máy có thể xử lý được. Tất nhiên
hiện nay máy tính không thể thật sự hiểu những gì chúng ta nói, nhưng nó có thể
giải quyết theo cách mà có vẻ như nổ hiểu. Ví dụ có thể tìm kiếm trang Web phê
bình tất cả các sách và tạo một điểm sô" trung bình cho mỗi quyển sách. Sau đó có
thể đặt lại những thông tin đó vào trang Web. Website khác có thể lấy thông tin đó
(danh sách điểm trung bình cho sách) và tạo một trang "Top Ten Highest Rated
Books".
RDF hoàn toàn đơn giản. Một khai báo RDF giông như một câu đơn giản,
ngoại trừ hầu hết các từ là URI. Mỗi khai báo RDF có 3 phần: subject (chủ đề),
predicate (vị từ) và object (đôi tượng). Hãy xem một khai báo RDF đơn giản:
< <http://love. example. org/terms/reallyLikes>
< .


URI thứ nhất là subject. Trong thể hiện này subject là “me”. URI thứ hai là
predicate. Nó liên kết subject và object. Trong thể hiện này predicate là
“reallyLikes”. URI thứ ba là object. ơ đây object là “Tim Bemers-Lee's book
"Weaving the Web." ” Vì vậy khai báo RDF trên nói rằng “I really like "Weaving the
Web." ”
Có thể thấy rằng các khai báo RDF thực tế có thể nói bất cứ gì và ai nói chúng
không thành vấn đề. Không có một Website chính thức nói về “Weaving the Web”
hay về “me”. Điều này dẫn chúng ta đến một nguyên tắc RDF quan trọng là
“anything can say anything about anything”. Thông tin được trải rộng trên Web và
hai người có thể tranh cãi - Bob có thể nói rằng Aaron thích Weaving the Web và
John có thể nói rằng Aaron ghét nó. Đây là khả năng tự do mà Web cung cấp.
Khai báo trên được viết bằng N-Triples. một ngôn ngữ cho phép ta viết các
khai báo RDF đơn giản. Tuy nhiên đặc tả RDF chính thức chỉ rõ một biểu diễn XML
của RDF, phức tạp hơn một chút, được nói như sau:
<rdf:RDF
xmlns:rdf= "http://www. w3.org/1999/02/22-rdf-syntax-ns#" xmlns:love=
"
>
<rdf:Description rdf:about= "
<love:reallyLikes rdf:resource= "http://www. w3.org/People/Berners-
Lee/Weaving/" />
TÌM HIỂU SEMANTIC WEB

14

</rdf:Description>
</rdf:RDF>

Hiện nay để viết RDF như thế trên thế giới không có gì dễ hơn và nó không
giông như mọi người đang nói về một ngôn ngữ mới lạ. Vì thế chúng ta mong đợi

tất cả thông tin RDF có từ đâu? Hầu nhưsoure là database.
Trên thế giới có hàng ngàn database, phần lđn chứa thông tin quan trọng
máy có thể xử lý. Chính phủ lưu trữ hồ sơ bắt giữ người trong cơ sở dữ liệu; các
công ty lưu trữ thông tin công việc và hàng hoá trong một cơ sở dữ liệu; phần lớn
các sổ địa chỉ được máy tính hoá lưu trữ tên và sô" điện thoại - một database. Khi
thông tin được lưu trữ trong cơ sở dữ liệu, rất dễ dàng hỏi máy tính những câu hỏi
nào đó về dữ liệu: “Cho biết tất cả những người bị bắt giữ trong 6 tháng gần đây.”
“In danh sách tất cả các công việc mà chúng ta đang tiến hành chậm.” “Lấy sô" điện
thoại của người có họ là Jones.”
RDF hoàn toàn thích hợp để tạo những cơ sở dữ liệu như vậy trên Web. Và
khi chúng ta đặt chúng vào Web, chúng ta cho mọi thứ trong cơ sở dữ liệu một URI
để người khác cũng có thể dùng chúng. Hiện nay các chương trình thông minh có
thể gắn dữ liệu với nhau. Dùng thông tin có sẩn, máy tính có thể kết nôi với sô" điện
thoại của Bob Jones trong sổ địa chỉ vđi Bob Jones là người bị bắt tuần trước và
Bob Jones người vừa đặt 100000 sản phẩm. Bây giờ chúng ta có thể hỏi những câu
hỏi của cơ sở dữ liệu này: “Lấy sô" điện thoại của những người đặt hơn 1000 sản
phẩm và bị bắt trong 6 tháng gần đây.”
2.4. LỚP RDFS (RDF SCHEMA) VÀ ONTOLOGY : XÁC ĐỊNH NGHĨA
Với tất cả các công việc thực hiện trên cơ sở dữ liệu giả sử rằng dữ liệu gần
như là hoàn hảo. Rất ít (nếu không muôn nói là rất hiếm) các hệ cơ sở dữ liệu được
sẩn sàng cho “sự hỗn độn của các trang Web”. Các hệ được mã hóa cứng để hiểu
các dạng hay thuật ngữ cụ thể nào đó sẽ không hiểu dạng ngày tháng, hoặc ít nhất
là giới hạn khả năng sử dụng khi các thuật ngữ mới được tạo và định nghĩa. Điều gì
xảy ra nếu có người đặt ra một hệ mới mà loại các quyển sách là từ 1-10 thay cho
việc nói rằng người nào đó "reallyLikes" chúng. Các chương trình xây dựng dựa
trên các hệ cũ sẽ không thể xử lý thông tin mới.
Tệ hơn nữa là không có cách cho một máy tính hay con người hiểu được một
thuật ngữ nào đó có ý nghĩa gì hoặc làm thế nào sử dụng nó. Việc sử dụng các URI
là vô dụng nếu chúng ta không mô tả chúng có nghĩa gì. Đây là phần việc của các
lược đồ (schema) và ontology. Một schema và một ontology là cách mô tả ý nghĩa

và quan hệ giữa các thuật ngữ. Những mô tả này (dĩ nhiên là trong RDF) giúp các
hệ thông máy tính sử dụng các dạng thuật ngữ dễ dàng hơn và quyết định làm thế
nào để chuyển đổi qua lại giữa chúng.
Hai hệ có quan hệ gần gũi, RDF Schemas và DARPA Agent Markup Langụạgẹ
with Ontology Inference Layer (DAML+OIL) được phát triển để giải quyết vấn
đề này. Ví dụ một schema có thể phát biểu như sau:
@prefỉx dc: < l/> .
TÌM HIỂU SEMANTIC WEB

15

@prefix rdfs: < .
#
A creator is a type of contributor:
dcicreator rdfs:subClassOf dc:contrỉbutor.
(Ớ đây chúng ta dùng Notation3, như superset (siêu tập hợp) của N-Triples cho
phép chúng ta sử dụng một cách giản lược hơn.)
Phát biểu nổi rằng “a creator” là một “kiểu” subclass của contributor. Dùng để làm
gì? Xem ví dụ xây dựng một chương trình để tập hợp các “creator” và “contributor”
từ các tài liệu khác nhau. Chương trình dùng bảng từ vựng này (dc:creator và
dcicontributor) để hiểu thông tin nó tìm kiếm. Một ngày nào đó một nhóm của
newbies thuộc AOL bắt đầu tạo các tài liệu RDF. Không ai trong sô" họ biết về
dc:creator vì thế họ tạo thuật ngữ riêng cho mình: ed:hasAuthor.
#
The old way:
< ỉs dcicreator of < />long> .
#
The new waỵ:
< ed:hasAuthor
< .


Thông thường chương trình sẽ bỏ qua những khai báo mới này vì nó không
thể hiểu chúng. Tuy nhiên một chương trình “có khả năng” sẽ đủ thông minh để
thiết lập môi quan hệ giữa hai “thế giới này” bằng cách cung cấp thông tin làm thế
nào để chuyển đổi giữa chúng.
#
[X dcicreator Y] is the same as [Y ed:hasAuthor X] dc:creator damldnverse
ed:hasAuthor.
Khai báo này bảo với chương trình của bạn rằng ed:hasAuthor là ngược lại của
dc:creator. Điều này nghĩa là tất cả chương trình của bạn phải thực hiện hoán đổi
subject và object và đổi ed:hasAuthor thành dc:creator. Vì chương trình của bạn
hiểu DAML ontology nên bây giờ nó có thể nhận thông tin và dùng chúng để xử lý
tất cả các khai báo hasAuthor mà nó không thể hiểu trước đó.
2.5. LỚP LOGIC
Từ quan điểm trên chúng ta sẽ thảo luận thành phần của Semantic Web mà
vẫn chưa được phát triển. Không giông như thảo luận ở trên, chúng ta không bàn
về một hệ cụ thể nào mà thay vào đó là một khái niệm tổng quát mà có thể sẽ hình
thành (hoặc đang hình thành) nhiều hệ khác nhau.
Trong khi thật tốt khi có những hệ hiểu những khái niệm cơ bản (subclass,
inverse ) sẽ tốt hơn nếu chúng ta có thể khai báo các nguyên tắc logic và cho phép
máy tính suy diễn (bằng cách suy luận) bằng cách dùng những nguyên tắc này.
Đây là một ví dụ: một công ty quyết định rằng nếu người nào bán hơn 100
sản phẩm thì họ là thành viên của Super Salesman Club. Một chương trình thông
minh hiện nay có thể hiểu luật này để tạo một diễn dịch đơn giản “John đã bán 102
sản phẩm vì thế John là thành viên của Super Salesman Club.”
TÌM HIỂU SEMANTIC WEB

16

2.6. LỚP PROOF

Khi chúng ta bắt đầu xây dựng các hệ hiểu logic, dẫn đến việc dùng chúng để
chứng minh. Mọi người trên thế giới có thể viết các khai báo logic. Sau đó máy tính
có thể theo 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 record bán hàng cho thấy rằng Jane đã bán 55 widget và
66 sprocket. Hệ thông kiểm kê biểu diễn rằng widget và sprocket là những sản
phẩm công ty khác nhau. Xây dựng luật toán học biểu diễn rằng 55 + 66 = 121 và
121 thì lớn hơn 100 và như chúng ta biết, người nào bán hơn 100 sản phẩm 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 proof Jane là một Super Salesman.
Trong khi rất khó tạo những proof này (nó có thể yêu cầu theo sau hàng ngàn
hoặc có thể là hàng triệu link trong Semantic Web) nhưng rất dễ dàng kiểm tra
chúng. Theo cách này chúng ta bắt đầu xây dựng một trang Web xử lý thông tin.
Một vài trang trong sô" đó chỉ đơn thuần cung cấp dữ liệu cho những trang khác
dùng. Các trang khác thì thông minh hơn và có thể sử dụng dữ liệu này để xây dựng
luật. Thông minh nhất là “heuristic engine” có thể hiểu tất cả những luật và khai
báo này để đưa ra kết luận và dễ dàng đặt kết quả trở lại vào Web như các proof
cũng đơn giản như dữ liệu cũ.
Lớp proof cũng cần thiết để cung cấp các giải thích về những trả lời được
đưa ra bởi các agent tự động mà (các agent tự động này) sử dụng thông tin được
cung cấp. Một cách tự nhiên, chúng ta có thể muôn kiểm tra các kết quả suy luận
bởi agent, điều này đòi hỏi sự dịch thuật các cơ cấu suy luận nội tại của agent thành
ngôn ngữ thể hiện proof thông nhất.
2.7. LỚP TRUST: DIGITAL SIGNATURES VÀ WEB OF TRUST
Bây giờ có thể nghĩ rằng toàn bộ kế hoạch này quá lớn, nhưng sẽ vô dụng
nếu có người nói Ai sẽ tin tưởng vào những hệ như thế? Sao không cho biết trang
Web của bạn? Và ai cũng có thể nói rằng mình là vua của thế giđi. Vì theo qui tắt
“anything can say anything about anything”, ai sẽ ngăn chận điều này?
Điều này dẫn đến Digital Signature (chữ ký điện tử) xuất hiện. Chữ ký điện
tử làm việc dựa trên toán học và mật mã, chữ ký điện tử cung cấp bằng chứng rằng
một người nào đó viết (hoặc tán thành với) một tài liệu hoặc một tuyên bô". Khi

đánh dấu tất cả các khai báo RDF bằng chữ ký điện tử, chúng ta có thể chắc chắn
rằng ai đã viết chúng (hoặc ít nhất là bảo đảm tính xác thực của chúng). Bây giờ
chúng ta chỉ đơn giản bảo cho chương trình những chữ ký nào đáng tin và những
chữ ký nào không. Mỗi chữ ký có thể được đặt các mức độ hoặc độ tin cậy (hoặc độ
nghi ngờ) mà máy tính có thể quyết định đọc độ tin cậy bao nhiêu.
Bây giờ không giông như việc sẽ tin tưởng vào người tạo ra cách dùng những
thứ trên Web. Thế là "Web of Trust." xuất hiện. Ví dụ chúng ta bảo vđi máy tính
rằng chúng ta tin tưởng người bạn thân, Robert. Robert tình cờ trở thành người
nổi tiếng trên Net và tin cậy một sô" người. Và dĩ nhiên những người Robert tin
tưởng sẽ tin tưởng tập những người khác. Mỗi người lại tin tưởng những người
TÌM HIỂU SEMANTIC WEB

17

khác và cứ thế. Các môi quan hệ tin tưởng này bắt đầu, và chúng hình thành một
“Trust of Web”. Và mỗi quan hệ này có một mức độ tin cậy (hoặc ngờ vực) kết hợp
với nó.
Lưu ý rằng độ ngờ vực cũng có tác dụng như độ tin cậy. Giả sử rằng máy tính
phát hiện ra một tài liệu mà không có độ tin cậy rõ ràng cũng như độ ngờ vực cũng
không rõ ràng. Chắc chắn máy tính sẽ tin tưởng tài liệu này hơn là nó sẽ tin tưởng
vào tài liệu được gán nhãn rõ ràng là không đáng tin.
Máy tính ghi nhận tất cả những nhân tô này vào bảng đánh giá khi quyết
định thế nào là một mẩu tin đáng tin cậy. Nó cũng có thể tiến hành xử lý này rõ ràng
hoặc không rõ ràng như chúng ta đề nghị. Ví dụ chúng ta có thể sẽ hài lòng với một
hiển thị “thumps up/thumps down” đơn giản. Người khác có thể khăng khăng với
một giải thích phức tạp, gồm mô tả của một vài hoặc tất cả các nhân tô" tin cậy liên
quan đến quyết định.
Tim Bemers-Lee đã đề xuất một button mà khi click vào máy tính sẽ cố gắng
cung cấp những lý do để tin tưởng dữ liệu. Nhưng khi chúng ta tự quyết định hoặc
bỏ qua nó trong máy tính, thông tin cần thiết để tạo một quyết định sẽ có sẵn qua

Web of Trust.
TÌM HIỂU VỀ SEMANTIC WEB

18

D. CÔNG NGHỆ SỬ DỤNG TRONG SEMANTIC WEB
1. RDF
1.1. GIỚI THIỆU RDF
Hiện tại, một trang web được tạo ra bởi một nhà lập trình viên và đi kèm với
một trình duyệt web để người dùng có thể xem trang web đó. Các công cụ tìm kiếm
thường lùng sục qua tất cả nội dung của các trang web và tạo một cơ sở dữ liệu để giúp
cho người sử dụng có thể dễ dàng tìm kiếm một số trang web mà có chứa những từ
hoặc cụm từ mà họ đang cần tìm kiếm. Trái lại, trong nhiều trường hợp, người sử dụng
vẫn phải phân loại các kết quả tìm kiếm để lấy được những thông tin cần thiết hoặc
lùng sục thật kỹ một trang web nào đó để thu được một thông tin đặc biệt nào đó mà
họ cần. Các trang web hiện tại đều có thể đọc được trên máy nhưng máy lại không hiểu
chúng. Ông Tim Berners-Lee, nhà nghiên cứu tại phòng thí nghiệm của Viện
Massachusetts về Hệ thống máy tính, đã phát minh ra web vào năm 1989 và là giám
đốc của W3C. Ngay từ khi bắt đầu công việc, ông đã dự kiến các siêu tệp tin sẽ được sử
dụng rộng rãi, tạo khả năng tìm kiếm dễ dàng và chính xác hơn với sự trợ giúp của các
tác tử tự động. Trong bài báo của mình, " Con đường tiến tới Semantic web ", ông Tim
Berners-Lee đã đưa ra viễn cảnh của web như sau: "web được thiết kế tương tự như
một không gian thông tin, ở mức độ toàn cầu, web không chỉ hữu ích đối với sự liên lạc
giữa người- người, mà ngay cả máy tính cũng có khả năng tham dự và hỗ trợ phần nào”.
Một trong những trở ngại chính của vấn đề này đó là hầu hết thông tin trên web được
thiết kế dành cho mục đích sử dụng của con người. Trái lại, cách tiếp cận Semantic web
lại tạo ra ngôn ngữ phát triển web nhằm diễn tả thông tin theo một định dạng máy có
thể xử lý được. Phần nhiều dữ liệu đều có thể sẵn sàng sử dụng trên web, nhưng chúng
được tập hợp theo nhiều phương thức do đó rất khó có thể phân loại và tìm ra được
kết quả chính xác. Nếu mỗi trang dữ liệu phải được tạo lại để tham dự vào Semantic

web kế hoạch này sẽ không bao giờ vượt quá sự hiểu biết đơn giản. Thay vào đó, W3C
được sử dụng nhằm mục đích xác định và định nghĩa “siêu dữ liệu” được ứng dụng trên
toàn cầu để có thể kết hợp chặt chẽ vào hệ thống các trang web đã tồn tại làm cho các
trang web này thay đổi để có thể làm việc được với các tác tử. “Siêu dữ liệu” là những
"dữ liệu về dữ liệu ". Ví dụ, một bản liệt kê mục lục sách thư viện là “siêu dữ liệu”, miêu
tả các ấn phẩm mà chính những ấn phẩm đó vốn đã tồn tại dưới dạng một dữ liệu nào
đó. Sự khác biệt giữa "dữ liệu" và "“siêu dữ liệu”" không có ý nghĩa tuyệt đối. Điều này
chỉ đúng với từng ứng dụng riêng biệt và đôi khi sự khác biệt này không có giới hạn,
cùng một nguồn thông tin có thể được thể hiện theo cả hai cách trong cùng một lúc. Để
hoàn thiện ý tưởng về vấn đề trên, W3C đang tiếp tục mở rộng và chuẩn hoá ngôn ngữ
RDF - là ngôn ngữ được thiết kế để hỗ trợ “siêu dữ liệu” trên web.
Về cơ bản, RDF là một tập hợp các nguyên tắc dành cho ngôn ngữ đánh dấu. Nó
cho phép sự chia sẻ giữa các ứng dụng để trao đổi thông tin sao cho các máy có thể
TÌM HIỂU VỀ SEMANTIC WEB

19

hiểu được trên web và tự động nhấn mạnh vào quá trình xử lý các nguồn thông tin.
RDF cung cấp một mô hình dữ liệu, và một cú pháp đơn giản sao cho các hệ thống độc
lập có thể trao đổi và sử dụng nó. Đồng thời, nó được thiết kế sao cho hệ thống máy
tính có thể hiểu được và có thể đọc được thông tin, chứ không phải chỉ để trình bày dữ
liệu cho ngừời dùng. Cú pháp của RDF dựa trên mô hình dữ liệu, và mô hình này ảnh
hưởng đến cách thức mà những thuộc tính được mô tả và nó cũng làm cho cấu trúc của
những mô tả đó trở nên rõ ràng. Điều này có nghĩa rằng RDF nó phù hợp cho việc mô
tả tài nguyên web.
1.2. KHÁI NIỆM RDF
Hãy cố gắng tưởng tượng tới một phát biểu (Statement) về một người nào đó có
tên là John Smith đã tạo ra một trang web xác định. Và để phát biểu này trong một ngôn
ngữ tiếng Anh thì phát biểu đó như sau:
has a creator whose value is John Smith.

Để mô tả những thuộc tính của mọi thứ, thì cần phải có cách thức để đặt tên, hay
xác định một số thứ như:
 Câu lệnh mô tả về cái gì (trong trường hợp này là trang web)
 Thuộc tính xác định (người tạo) của phát biểu này mô tả.
 Giá trị của thuộc tính của một phát biểu (người tạo là ai).
Trong phát biểu ở trên, URL của trang web được sử dụng để xác định trang web.
Ngoài ra, từ “creator” được dùng để xác định thuộc tính ( Property), và hai từ “John
Smith” để xác định cái gì đó (con người) đó là giá trị của thuộc tính
(Property Value).
Những thuộc tính khác của trang web này có thể được mô tả bởi những phát
biểu khác ở cùng định dạng, sử dụng URL để xác định trang web và những từ (hay
những diễn tả khác) để xác định thuộc tính và giá trị của chúng. Ví dụ, ngày tháng năm
trang web được tạo, và ngôn ngữ mà trang web được viết, có thể được mô tả sử dụng
những phát biểu khác như:
has a creation-date whose value is
August,16,1999.
has a language whose value is English.
RDF dựa trên ý tưởng mà mọi cái gì đó có những thuộc tính mà thuộc tính đó có
giá trị, và những tài nguyên đó có thể được mô tả bằng những phát biểu, tương tự như
những phát biểu trên, để xác định những thuộc tính và những giá trị đó. RDF sử dụng
TÌM HIỂU VỀ SEMANTIC WEB

20

một thuật ngữ đặc biệt đó là bộ ba (tripple) để nói về những thành phần khác nhau của
phát biểu. Trong đó một bộ ba có:
 Subject: thành phần này xác định cái gì mà phát biểu nói về (trong
ví dụ là trang web), được gọi là chủ ngữ.
 Predicate: thành phần này xác định thuộc tính hay những đặc
trưng của chủ ngữ của phát biểu xác định (người tạo, ngày tạo, hay ngôn ngữ

trong ví dụ này), được gọi là vị từ.
 Object: thành phần này xác định giá trị của thuộc tính, được gọi là
tân ngữ.
Ví dụ: lấy lại phát biểu trên
has a creator whose value is John Smith.
Với phát biểu này thì những thuật ngữ RDF đối với những thành phần khác nhau
của phát biểu là:
 Chủ ngữ là: URL
 Vị từ là: creator.
 Tân ngữ là: John Smith.
Tuy nhiên, phát biểu trên được viết ở ngôn ngữ tiếng Anh, nó có lợi trong việc
giao tiếp giữa những người Anh, còn RDF thì tạo ra những phát biểu để máy có thể xử
lý. Để làm những phát biểu này phù hợp cho việc xử lý bởi máy móc thì hai điều sau
thực sự cần thiết:
 Một hệ thống với những định danh máy có khả năng xử lý để xác
định chủ ngữ, vị từ và tân ngữ trong một phát biểu mà không có sự nhầm lẫn với
những định danh trông có vẻ giống nhau mà được dùng bởi những người khác
trên web.
 Một ngôn ngữ máy có thể xử lý để biểu diễn những phát biểu này
và trao đổi giữa các máy với nhau.
Như đã minh họa lúc trước, web cũng cung cấp một mẫu định danh URL. Một
URL được sử dụng trong ví dụ ban đầu để xác định trang web mà John Smith đã tạo ra.
Một URL là một chuỗi những kí tự mà xác định một tài nguyên web bằng cách biểu thị
cơ chế truy cập chính của nó (thực chất là vị trí trên mạng của nó). Tuy nhiên, điều
TÌM HIỂU VỀ SEMANTIC WEB

21

quan trọng để có thể ghi nhận thông tin về những thứ mà không như những trang web,
không có vị trí mạng hay URL. Web cung cấp một mẫu định danh chung cho những mục

đích này, được gọi là URI, URL là một loại đặc biệt của URI. Tất cả URI đều chia sẻ thuộc
tính mà những người khác hay những tổ chức khác có thể tạo ra chúng một cách độc
lập, và sử dụng chúng để xác định nhiều thứ. URI không bị hạn chế để xác định những
thứ mà có những vị trí mạng hay sử dụng cơ chế truy cập máy tính khác. Thực ra, một
URI có thể được tạo ra để tham chiếu tới bất cứ thứ gì mà cần thiết được đề cập tới
trong một phát biểu, bao gồm:
 Những thứ có khả năng truy cập mạng, như một tài liệu điện tử,
một hình ảnh, một dịch vụ (ví dụ dự báo thời thiết hôm nay cho Việt Nam), hay
một nhóm những tài nguyên khác.
 Những thứ mà không có khả năng truy cập mạng, như những cuốn
sách trong thư viện, những tập đoàn, con người.
 Những khái niệm trừu tượng mà không tồn tại một cách thực tế,
như khái niệm của một “creator”.
Bởi tính tổng quát này, RDF sử dụng những URI như nền tảng các cơ chế của nó
để xác định những chủ ngữ, vị từ và tân ngữ trong những phát biểu. Như phần trước
đã nói rằng RDF dựa trên ý tưởng của việc mô tả những phát biểu đơn giản về những
tài nguyên, nơi mà mỗi phát biểu gồm có một chủ ngữ, vị từ và tân ngữ. Vì vậy trong
RDF, phát biểu ở trên có dạng:
 Chủ ngữ:
 Vị từ:
 Tân ngữ:
Chú ý URI được sử dụng như thế nào để xác định không chỉ chủ ngữ của phát
biểu ban đầu, mà còn xác định vị từ và tân ngữ, thay vì sử dụng từ “creator” và “John
Smith”, một cách riêng biệt.
Tập các bộ ba hợp lại tạo thành đồ thị RDF. Các nút trong đồ thị có thể là các chủ
ngữ và tân ngữ trong bộ ba và các cung trong đồ thị là vị từ. Cho nên một bộ ba còn có
thể được mô tả dưới dạng nút-cung–nút. Hướng của các đồ thị rất quan trọng và nó
luôn bắt đầu từ chủ ngữ đến tân ngữ.



TÌM HIỂU VỀ SEMANTIC WEB

22


Hình 4: Mối quan hệ giữa các thành phần trong một bộ ba.
Vì thế phát biểu RDF ở trên sẽ được biểu diễn bằng đồ thị như hình sau:

Hình 5: Phát biểu RDF đơn giản
Nhóm những phát biểu đựơc biểu diễn bởi một nhóm các nút và cung tương
ứng. Vì thể với phát biểu bên dưới:
has a creation-date whose value is August 16,
1999.
has a language whose value is English.
Trong đồ thị RDF, đồ thị có thể biểu diễn như trong hình sau:

Hình 6: Phát biểu của cùng 1 tài nguyên

TÌM HIỂU VỀ SEMANTIC WEB

23

Hình trên minh họa rằng những tân ngữ trong phát biểu RDF có thể hoặc là URI
hoặc là những giá trị hằng số (được gọi là những Literal) biểu diễn bởi những chuỗi kí
tự, để biểu thị những loại giá trị thuộc tính. Những Literal không thể được dùng như
chủ ngữ hay vị từ trong một phát biểu. Trong những đồ thị RDF đã vẽ, những nút là
những URI được trình bày như hình elip, trong khi những nút là những Literal được vẽ
như hình cái hộp. ( Những chuỗi kí tự đơn giản được sử dụng trong ví dụ này được gọi
là những Plain Literal) để phân biệt chúng với những Typed Literal. Cả hai loại Plain
Literal và Typed Literal có thể chứa đựng những kí tự UNICODE cho phép thông tin từ

nhiều ngôn ngữ khác nhau được biểu diễn một cách trực tiếp.
Đôi khi không thuận tiện để vẽ những đồ thị biểu diễn chúng, thì chúng ta có thể
sử dụng những bộ ba RDF để thay thế. Ví dụ, ba phát biểu biểu diễn trong hình 1.3
được viết trong định dạng bộ ba như:
< <
< .
< < />date> "August 16, 1999" .
< <
"en".
Mỗi bộ ba tương ứng với một cung trong đồ thị. Không như đồ thị đã vẽ (như
giống như những phát biểu ban đầu), những định dạng bộ ba yêu cầu rằng một nút
được xác định tách biệt cho mỗi phát biểu mà nó xuất hiện trong đó. Vì thế, ví dụ:
xuất hiện ba lần (mỗi lần trong mỗi bộ ba) để trình
bày những bộ ba của đồ thị nhưng chỉ một lần trong đồ thị đã vẽ. Tuy nhiên, những bộ
ba biểu diễn thông tin giống nhau một cách chính xác như đồ thị đã vẽ, và đây là vấn
để chính: điều gì là căn bản để cho RDF trở thành mô hình đồ thị của những phát biểu.
Định dạng được dùng để biểu diễn hay mô tả đồ thị là không quan trọng.
Định dạng bộ ba đầy đủ yêu cầu rằng những URI được viết ra hoàn toàn trong
những móc nhọn “<>” mà như ví dụ minh họa ở trên, có thể dẫn đến những dòng dài
hơn trong một trang giấy. Để cho thuận tiện, bạn có thể sử dụng một cách viết rút gọn
những bộ ba. Cách viết tắt này thay thế một QName mà không có móc nhọn như một
sự rút gọn của một URI đầy đủ. Một URI được tạo thành từ một QName bằng cách thêm
tên cục bộ vào không gian URI gán tới tiếp đầu ngữ. Vì thế, ví dụ, nếu tiếp đầu ngữ
QName foo được gán cho namespace URI thì QName
foo:bar là hình thức rút gọn cho URI Những ví dụ
trong tài liệu này chúng tôi sẽ sử dụng một số những tiếp đầu ngữ QName thông dụng,
định nghĩa như sau:
TÌM HIỂU VỀ SEMANTIC WEB

24


 Tiếp đầu ngữ rdf:, namespace URI:

 Tiếp đầu ngữ rdfs:, namespace URI:

 Tiếp đầu ngữ dc:, namespace URI:

 Tiếp đầu ngữ ex:, namespace URI:

 Tiếp đầu ngữ xsd:, namespace URI:

Những thay đổi trên ví dụ tiếp đầu ngữ ex: cũng được dùng khi cần thiết trong những
ví dụ, như sau:
 Tiếp đầu ngữ exterms:, namespace URI

 Tiếp đầu ngữ exstaff:, namespace URI

 Tiếp đầu ngữ ex2:, namespace URI

Với việc sử dụng dạng rút gọn này, tập những bộ ba trước có thể được viết như:
ex:index.html dc:creator exstaff:85740 .
ex:index.html exterms:creation-date "August 16, 1999" .
ex:index.html dc:language "en" .
Từ khi RDF sử dụng URI thay cho những từ để đặt tên cho mọi thứ trong những
phát biểu, thì RDF đề cập đến một tập những URI như một từ vựng. Thông thường, URI
trong nhiều từ vựng được cấu tạo để chúng có thể được biểu diễn như một tập những
QName sử dụng một tiếp đầu ngữ thông dụng. nghĩa là, một namespace URI thông dụng
sẽ được chọn cho tất cả những thuật ngữ trong một từ vựng, đặc biệt một URI dưới
quyền điều khiển của bất cứ ai định nghĩa ra từ vựng. URI mà được chứa đựng trong
TÌM HIỂU VỀ SEMANTIC WEB


25

từ vựng được tạo ra bằng cách thêm những tên cục bộ riêng vào cuối của URI chung.
Điều này tạo ra một tập những URI với một tiếp đầu ngữ chung. Ví dụ, như được minh
họa bởi những ví dụ trước, một tổ chức như example.org có thể định nghĩa ra một từ
vựng chứa đựng những URI bắt đầu với tiếp đầu ngữ cho những thuật ngữ nó sử dụng
trong việc kinh doanh của nó, như “creation-date” hay “product”. Việc sử dụng những
tiếp đầu ngữ URI chung cung cấp một cách thuận lợi để tạo ra những URI cho một tập
những thuật ngữ liên quan tới. Tuy nhiên, đây chỉ là một qui ước. Mô hình RDF chỉ
nhận ra những URI đầy đủ; nó không tìm kiếm bên trong URI hay sử dụng một số tri
thức về cấu trúc của chúng. Đặc biệt, RDF không giả sử rằng có bất kỳ mối quan hệ nào
giữa những URI bởi vì chúng có một tiếp đầu ngữ dẫn đầu chung. Hơn nữa, không có
điều gì nói rằng URI với những tiếp đầu ngữ dẫn đầu khác nhau không thể được coi là
thành phần của cùng một từ vựng. Một tổ chức, tiến trình, công cụ xác định có thể định
nghĩa ra một từ vựng riêng cho nó, sử dụng URI từ một số những từ vựng khác như là
thành phần của từ vựng của nó.
Ngoài ra, đôi khi một tổ chức sẽ sử dụng một namespace URI của một từ vựng
như URL của một tài nguyên web mà cung cấp nhiều thông tin hơn nữa về từ vựng đó.
Ví dụ, như đã chú ý lúc trước, tiếp đầu ngữ QName dc: sẽ được dùng trong những ví dụ
của chương này, kết hợp với những namespace URI . Thực ra, điều này đề cập đến từ
vựng Dublin Core, việc truy cập những namespace URI này trong một trình duyệt web
sẽ lấy lại được thêm thông tin về từ vựng Dublin Core (đặc biệt, một RDF Schema). Tuy
nhiên, điều này cũng chỉ là một qui ước. RDF không cho rằng một namespace URI xác
định một tài nguyên web bị sửa đổi.
Trong những phần sau của chương này, thuật ngữ từ vựng (vocabulary) sẽ được
dùng khi đề cập đến một tập những URI cho mục đích xác định, như tập những URI
định nghĩa bởi RDF cho việc sử dụng riêng của nó, hay tập những URI định nghĩa bởi
example.org để xác định những nhân viên của họ. Thuật ngữ namespace sẽ được dùng
chỉ khi đề cập đến khái niệm ngữ nghĩa của một namespace XML (hay trong việc mô tả

URI gán cho một tiếp đầu ngữ trong một QName).
Những URI từ những từ vựng khác nhau có thể được pha tạp một cách tự do
trong những đồ thị RDF. Ví dụ, đồ thị ở hình 1.3 sử dụng URI từ những từ vựng exterms:,
exstaff: và dc:. Đồng thời, RDF không áp đặt những hạn chế trên nhiều phát biểu sử
dụng một URI đã cho như vị từ có thể xuất hiện trong một đồ thị để mô tả cùng một tài
nguyên như thế nào. Ví dụ, nếu tài nguyên ex:index.html được tạo bởi một sự hợp tác
của mốt số những thành viên hội đồng ngoài John Smith, thì example.org có thể viết
những phát biểu:
ex:index.html dc:creator exstaff:85740 .
ex:index.html dc:creator exstaff:27354 .

×