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

Tìm hiểu Semantic web và ứng dụng xây dựng hệ thống E-learning cho Trường Trung cấp Estih

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 (2.59 MB, 79 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ







PHAN THỊ PHƢƠNG





TÌM HIỂU SEMANTIC WEB VÀ
ỨNG DỤNG XÂY DỰNG HỆ THỐNG E-LEARNING
CHO TRƢỜNG TRUNG CẤP ESTIH




LUẬN VĂN THẠC SĨ



Hà Nội - 2013

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ








PHAN THỊ PHƢƠNG



TÌM HIỂU SEMANTIC WEB VÀ
ỨNG DỤNG XÂY DỰNG HỆ THỐNG E-LEARNING
CHO TRƢỜNG TRUNG CẤP ESTIH

Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.05

LUẬN VĂN THẠC SĨ

NGƢỜI HƢỚNG DẪN KHOA HỌC: TS PHÙNG VĂN ỔN



Hà Nội - 2013
i
MỤC LỤC
DANH MỤC HÌNH VẼ iv
DANH MỤC BẢNG v
MỞ ĐẦU 1

1.1. Giới thiệu về Web ngữ nghĩa (Semantic Web – SW) 3
1.1.1. World Wide Web và những hạn chế 3
1.1.2. Nguồn gốc của web ngữ nghĩa 3
1.1.3. Web ngữ nghĩa là gì? 4
1.1.4. Nội dung xây dựng Semantic Web 7
1.1.4.1. Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu và các siêu dữ liệu trên Web 8
1.1.4.2. Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa 8
1.1.4.3. Phát triển nâng cao Web ngữ nghĩa 8
1.1.5. Kiến trúc phân tầng của Semantic Web 9
1.2. Các ngôn ngữ và công cụ xây dựng Web ngữ nghĩa 10
1.2.1. XML (eXtensible Markup Language) – Ngôn ngữ đánh dấu mở rộng 10
1.2.2. RDF – Nền tảng của Web ngữ nghĩa 12
1.2.2.1. Giới thiệu về RDF 12
1.2.2.2. RDF là gì? 12
1.2.2.3. Mô hình RDF 13
1.2.2.4. Cấu trúc RDF/XML 16
1.2.3. XML schema và RDF schema 23
1.2.3.1. XML schema 23
1.2.3.2. RDF schema 24
1.2.4. Ontology – từ vựng biểu diễn ngữ nghĩa tài nguyên web 26
1.2.4.1. Giới thiệu về Ontology 26
1.2.4.2. Khái niệm Ontology 26
1.2.4.3. Vai trò của Ontology 27
1.2.4.4. Các thành phần của Ontology 27
1.2.4.5. Ngôn ngữ OWL 30
1.2.4.6. Các bước thiết kế một Ontology 32
1.2.4.7. Một số công cụ hỗ trợ xây dựng Ontology 35
CHƢƠNG 2: PHÂN TÍCH BÀI TOÁN ỨNG DỤNG VỀ HỆ THỐNG
E-LEARNING 36
2.1. Giới thiệu 36

2.2. Một số nghiên cứu về tình hình ứng dụng công nghệ E-learning tại Việt Nam . 36
2.2.1. Tình hình phát triển và ứng dụng của E-Learning 36
2.2.1.1. Tình hình phát triển và ứng dụng của E-Learning trên thế giới 36
2.2.1.2. Tình hình phát triển và ứng dụng E-Learning ở Việt Nam 37
ii
2.2.2. Lợi ích của E-learning 38
2.2.3. So sánh hình thức đào tạo truyền thống với đào tạo trực tuyến 39
2.3. E-learning và Web ngữ nghĩa [10, 16, 18] 40
2.3.1. Tính thực tế về E-Learning 40
2.3.2.Thực tế sử dụng Semantic Web 40
2.3.3. Ứng dụng E-learning dựa trên công nghệ Web ngữ nghĩa 42
2.3.4. Web ngữ nghĩa hỗ trợ E-learning 43
2.3.5. Thiết kế Ontology cho tài nguyên học 44
2.3.5.1. Dùng siêu dữ liệu mô tả nội dung tài nguyên học 45
2.3.5.2. Dùng siêu dữ liệu mô tả cấu trúc của tài nguyên học 45
2.3.4. Các loại thuộc tính 45
2.3.4.1. Thuộc tính chuẩn 45
2.3.4.2. Thuộc tính định nghĩa thêm 46
2.3.5.Cách phân loại tài liệu tìm kiếm 46
CHƢƠNG 3: ỨNG DỤNG XÂY DỰNG HỆ THỐNG E-LEARNING CHO
TRƢỜNG ESTIH 48
3.1. Đặt vấn đề 48
3.1.1. Giới thiệu hoạt động 48
3.1.2. Thực trạng giáo dục và đào tạo 48
3.2. Mô tả bài toán 49
3.3. Danh sách chú giải 49
3.4. Xác định yêu cầu 50
3.4.1. Yêu cầu chức năng 50
3.4.1.1. Lưu trữ 50
3.4.1.2. Tìm kiếm 50

3.4.2. Yêu cầu phi chức năng 50
3.5. Ontology cho E-Learning 51
3.5.1. Mô tả Ontology 51
3.5.2. Sử dụng Protégé thiết kế Ontology 52
3.5.2.1. Mô hình các lớp 52
3.5.2.2. Mô hình các thuộc tính 54
3.5.2.3. Mô tả tài nguyên học ở dạng triple 55
3.5.2.4. Ánh xạ dữ liệu ở dạng triple sang RDF/XML 56
3.6. Cơ sở dữ liệu cho E-Learning 57
3.6.1. Mô hình quan niệm 57
3.6.3. Đặc tả dữ liệu và từ điển dữ liệu 57
3.6.3.1. Danh sách các bảng 57
3.6.3.2. Đặc tả dữ liệu 58
iii
3.7. Mô hình Use-Case 59
3.7.1. Danh sách các Actor 59
3.7.2. Danh sách các Use-Case 59
3.7.3. Lược đồ chính của mô hình Use-Case 61
3.8. Thiết kế giao diện 64
3.8.1.Giao diện Đăng nhập tài khoản 64
3.8.2.Giao diện trang chủ của giáo viên 65
3.8.3. Giao diện thêm một tài nguyên 66
3.8.3. Giao diện hiển thị tài nguyên 67
3.8.4. Giao diện upload dữ liệu lên server 67
3.8.5. Giao diện liệt kê môn học 68
3.8.6. Giao diện cập nhật thông tin 68
3.8.7. Giao diện sinh viên tham gia môn học 69
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 71


iv
DANH MỤC HÌNH VẼ
Hình 1.1: Sự hình thành và phát triển của Semantic Web. 4
Hình 1.2: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web 6
Hình 1.3: Sơ đồ phát triển tính thông minh của dữ liệu 6
Hình 1.4: Kiến trúc phân lớp của Web ngữ nghĩa 9
Hình 1.5: Ví dụ về một RDF 12
Hình 1.6: Mối quan hệ giữa các thành phần trong Triple 13
Hình 1.7: Mô tả một phát biểu đơn giản bằng đồ thị 14
Hình 1.8: Biểu diễn nhiều phát biểu cho cùng một subject 14
Hình 1.9: Plain Literal biểu diễn cho tuổi của Mr John 15
Hình 1.10: KiểuTyped Literal biểu diễn cho tuổi của Mr John. 15
Hình 1.11: Typed Literal biểu diễn cho ngày tháng 16
Hình 1.12: Mô tả 1 bag container đơn giản. 19
Hình 1.13: Mô tả một Alt container đơn giản. 20
Hình 1.14: Mô tả một RDF: Collection. 22
Hình 1.15: Một Ontology biểu diễn quan hệ của xe cộ 29
Hình 1.16: Các ngôn ngữ đánh dấu ontology 31
Hình 3.1: Ontology mô tả các tài nguyên học tập 51
Hình 3.2: Mô hình các lớp 52
Hình 3.3: Mô hình các lớp dưới dạng sơ đồ 53
Hình 3.4: Mô hình các thuộc tính 54
Hình 3.5: Mô tả tài nguyên học ở dạng triple 55
Hình 3.6: Mô hình quan niệm 57
Hình 3.7: Mô hình Use-Case Đăng nhập hệ thống (Học viên) 61
Hình 3.8: Mô hình Use-Case Đăng nhập hệ thống (Quản trị) 62
Hình 3.9: Mô hình Use-Case Đăng nhập hệ thống (Giáo viên) 63
Hình 3.10: Giao diện đăng nhập tài khoản 64
Hình 3.11: Giao diện trang chủ của giáo viên 65
Hình 3.12: Giao diện thêm một tài nguyên 66

Hình 3.13: Giao diện hiển thị tài nguyên 67
Hình 3.14: Giao diện upload dữ liệu lên Server 67
Hình 3.15: Giao diện liệt kê môn học 68
Hình 3.17: Giao diện học viên tham gia môn học 69

v
DANH MỤC BẢNG

Bảng 2.1: So sánh chức năng đào tạo truyền thống với đào tạo trực tuyến 39
Bảng 3.1: Danh sách các bảng dữ liệu 58
Bảng 3.2: TaiKhoan 58
Bảng 3.3: TaiNguyen 58
Bảng 3.4: ThaoTac 59
Bảng 3.5: Bảng các Actor 59
Bảng 3.6: Bảng các Use-Case 59
1
MỞ ĐẦU

Ngày nay, sự bùng nổ tri thức cùng với các vấn đề giao lưu hội nhập quốc tế
khiến mỗi chúng ta phải biết tận dụng những thành tựu của khoa học – công nghệ.
Những thành tựu nổi bật nhất của công nghệ thông tin (CNTT) trong giáo dục và đào
tạo hiện nay chính là dạy học trên Website. Việc các ứng dụng của CNTT đặc biệt là
Internet - Website học tập góp phần rèn luyện khả năng tự học. Đây đã thực sự trở
thành cầu nối giữa giáo viên (GV) người học (học viên).
Nhưng với sự đơn giản của Web hiện nay đã dẫn đến một số mặt hạn chế.
Chẳng hạn khi muốn tìm kiếm một thông tin nào đó, chúng ta có thể dễ dàng bị lạc hay
phải đối đầu với một lượng lớn thông tin không hợp lý và không liên quan được trả về
từ kết quả tìm kiếm trên Web.
Như vậy câu hỏi đặt ra là làm thế nào để chúng ta có được một kết quả tìm
kiềm chính xác và nhanh chóng theo đúng những gì mà chúng ta mong muốn?. Với kĩ

thuật Web hiện nay rõ ràng đã cản trở khả năng phát triển thông tin của nó, 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, chúng không thể truy xuất được những
nội dung thật sự cần và do đó chúng chỉ hỗ trợ ở một mức giới hạn nào đó trong việc
truy xuất và xử lý thông tin. Kết quả tất yếu là con người (người sử dụng) phải gánh
trên vai trách nhiệm không những truy cập và xử lý thông tin mà còn rút trích và thông
dịch mọi thông tin.
Để 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. Và khái niệm này đã được Tim Berners-Lee định nghĩa như sau:
“The Semantic Web will bring structure to the meaningful content of Web
pages, creating an environment where software agents roaming from page to page
can readily carry out sophisticated tasks for users” (Berners-Lee et al. 2001). [21]
“Semantic Web mang đến một cấu trúc ngữ nghĩa cho các trang Web, tạo ra
môi trường mà ở đó các tác nhân phần mềm có thể thao tác trên các trang web khác
nhau và trả ra thông tin có sự chọn lọc tinh tế cho người dùng”
Ẩn chứa trong khái niệm này là việc tạo ra một trang web cho phép cả người sử
dụng và máy tính có thể đồng thời hiểu được. Máy tính có thể sử dụng các tác nhân
phần mềm để trích lọc, tìm kiếm và so sánh dữ liệu giống như con người thao tác trên
các trình duyệt
Như vậy Semantic Web là một mạng lưới các thông tin được liên kết theo một
cách thức để máy có thể dễ dàng xử lý thông tin ở mức độ toàn cầu. Chúng ta có thể
hiểu đơn giản về nó như là một cách trình bày dữ liệu có hiệu quả trên mạng toàn cầu,
hoặc là một cơ sở dữ liệu được kết nối toàn cầu. Kỹ thuật Web hiện tại chỉ cho phép
chúng ta lưu trữ thông tin và tìm kiếm thông tin trên những thông tin đã được lưu trữ.
Chính vì vậy mà sự ra đời của Semantic Web là một bước tiến vượt bậc so với kỹ thuật
2
Web hiện tại dựa vào khả năng làm việc với thông tin của chúng thay vì chỉ đơn thuần
là lưu trữ thông tin.
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.

Bên cạnh đó, khái niệm E-learning ra đời đã đánh dấu bước ngoặt mới trong
việc áp dụng công nghệ thông tin và truyền thông vào lĩnh vực giáo dục và đào tạo.
Đây là một trong những ứng dụng điển hình dựa trên Web và Internet. Hệ thống này
có thể được coi là một giải pháp tổng thể dùng các công nghệ máy tính để quản lý: học
viên, giảng dạy theo yêu cầu (Lecture On Demand-LOD), các lớp học được tổ chức
theo lịch trình đồng bộ, lớp học qua vệ tinh, các phòng lab đa phương tiện hỗ trợ thiết
kế bài giảng, thư viện điện tử, nhóm học tập (Groupwave) cho phép trao đổi thông tin
giữa các học viên, giữa học viên với giáo viên và giữa các giáo viên với nhau. Lúc này
việc học không chỉ bó cụm cho học sinh, sinh viên ở các trường học mà dành cho tất
cả mọi người, không kể tuổi tác, không có điều kiện trực tiếp đến trường, … Đây
chính là chất xúc tác đang làm thay đổi toàn bộ mô hình học tập trong thế kỉ này - cho
học sinh, sinh viên, viên chức và cho nhiều loại đối tượng tiềm năng khác như bác sĩ, y
tá và giáo viên - thực tế là cho bất cứ ai mong muốn được học tập dù dưới hình thức
chính thống hay không chính thống. Hiện nay, E-learning được sử dụng tại rất nhiều tổ
chức, công ty, trường học vì những lợi ích mà nó mang lại như: giảm chi phí tổ chức
và quản lý đào tạo; rút ngắn thời gian đào tạo; có thể học bất cứ lúc nào, tại bất kỳ nơi
đâu, … [1]
Xuất phát từ xu hướng và những lợi ích kể trên tôi đã quyết định chọn đề tài
luận văn thạc sỹ "Tìm hiểu Semantic Web và Ứng dụng xây dựng hệ thống E-Learning
cho trường Trung cấp ESTIH".
Luận văn bao gồm các chương chính sau:
Chương 1: Tổng quan về Semantic Web.
Chương 2: Phân tích bài toán ứng dụng hệ thống E-learning.
Chương 3: Ứng dụng xây dựng hệ thống E-learning cho trường ESTIH
Trong luận văn này tôi đã cố gắng trình bày một cách có chọn lọc dựa vào so
sánh từ các kết quả nghiên cứu một cách có hệ thống và dễ hiểu nhằm đóng một phần
kiến thức có giá trị cho những ai quan tâm đến các ứng dụng dựa trên nền Semantic
Web. Đồng thời cũng đã mô hình hóa được một ứng dụng minh họa vào xây dựng hệ
thống E-learning cho đơn vị mà tôi đang giảng dạy.
Tôi hoàn thành luận văn với tinh thần học hỏi và cố gắng hết mình. Tuy nhiên

do kinh nghiệm và trong một thời gian ngắn tìm hiểu nên không tránh khỏi những sai
sót. Tôi xin chân thành cảm ơn và trân trọng tiếp thu tất cả những ý kiến đóng góp của
quý thầy cô và bạn bè để luận văn được hoàn thiện hơn.
3
CHƢƠNG 1: TỔNG QUAN VỀ SEMANTIC WEB

Trong chương này, tôi trình bày những kết quả nghiên cứu tổng quan về Web
ngữ nghĩa, các vấn đề liên quan đến web ngữ nghĩa như cách xây dựng, các ngôn ngữ
và công cụ sử dụng hỗ trợ.
1.1. Giới thiệu về Web ngữ nghĩa (Semantic Web – SW)
1.1.1. World Wide Web và những hạn chế
Hệ thống mạng toàn cầu đã trở nên rộng khắp thông qua một loạt các tiêu chuẩn
được thiết lập rộng rãi và đảm bảo được các thành phần ở các mức độ khác nhau. Giao
thức TCP/IP đảm bảo rằng chúng ta không phải lo lắng về việc chuyển từng bit dữ liệu
thông qua hệ thống mạng nữa. Tương tự như vậy, HTTP và HTML đã cung cấp các
cách tiêu biểu để có thể nhận thông tin và trình diễn các tài liệu siêu văn bản.
Tuy nhiên, có 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 đề 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í dụ, chúng ta biết mã vùng (PostCode) và muốn tìm địa chỉ của nó. Vì mỗi
quốc gia có tên hệ thống mã vùng khác biệt và vì Web không biểu diễn được mối liên
hệ này, nên chúng ta không nhận được điều chúng ta mong đợi. Trái lại, đối với
Semantic Web, chúng ta có thể chỉ ra kiểu của mối liên hệ này. Ví dụ, Zip Code tương
đương với PostCode.
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 khi ứng dụng được
phát triển một cách độc lập. Do dó 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.
1.1.2. Nguồn gốc của web ngữ nghĩa
Như chúng ta đã biết Web đã trở thành một kho tàng thông tin khổng lồ của
nhân loại và môi trường truyền dẫn không thể thiếu được trong thời đại công nghệ
thông tin ngày nay.
Các chuyên gia dự đoán, bề nổi của web (surface web) chứa khoảng 1 đến 2 tỷ
trang tài liệu, trong khi, ở phần sâu của web thì chứa đến 550 tỷ trang tài liệu. Có
khoảng 200.000 website có tầng thông tin sâu, khoảng hơn 1/2 số thông tin này nằm
trong các cơ sở dữ liệu có chủ đề riêng biệt. Khoảng 95% thông tin trong các website
có tầng thông tin sâu cho phép đa số người dùng có thể khai thác miễn phí. Nhưng
hiện nay, hầu hết các công cụ tìm kiếm tài liệu trên web được coi là tìm kiếm hiệu quả
cũng chủ yếu tìm kiếm được trên bề nổi của web. Trong khi ở tầng sâu của web chứa
một khối lượng thông tin khổng lồ và thường rất có giá trị cho các nhà nghiên cứu, các
học giả hay đơn thuần là những người thích tìm hiểu. Bên cạch đó, các trang web hiện
4
nay có rất ít đường liên kết với các trang web khác nên việc tìm kiếm là khó khăn.
Ngoài ra, thông tin tìm kiếm được không theo chủ đề mà chỉ là vấn đề tìm thoả theo từ
khoá đơn thuần, kết quả tìm kiếm phải do con người chọn lại theo chủ đề mong muốn.
Chính những vấn đề này đã thúc đẩy sự ra đời của ý tưởng Web ngữ nghĩa
(Semantic Web), một thế hệ mới của Web, mà chính cha đẻ của World Wide Web là
Tim Berners-Lee đề xuất vào năm 1998. 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ủa Web có 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
(thông tin được tìm kiếm nhanh chóng và chính xác hơn), 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. [13, pp.1-3, 30]

Hình 1.1: Sự hình thành và phát triển của Semantic Web.
1.1.3. Web ngữ nghĩa là gì?

Tim Berners-Lee đã đưa ra hai vấn đề của web ngữ nghĩa, đó là tạo cho Web
một môi trường cộng tác tốt hơn và vấn đề thứ hai là máy có thể hiểu và xử lý tự động
các thông tin trên Web.
Trên web ngữ nghĩa tồn tại các mối quan hệ giữa các tài nguyên mà trong web
hiện tại không có. Và chính các quan hệ này đưa vào web ngữ nghĩa là cần thiết, để
máy có thể hiểu và xử lý thông tin tự động trên web. Các quan hệ này được gọi là các
Web tương lai
HTML, XML, RDF
(Semantic Web)
Web hiện tại
HTML, XML
(nhiều ngữ nghĩa hơn)
Web năm 1995
HTML
(ít ngữ nghĩa)
5
siêu dữ liệu. Công nghệ để có được các siêu dữ liệu này là công nghệ RDF (Resource
Description Framework)
Semantic Web không là Web riêng biệt nhưng là một sự mở rộng của Web hiện
tại, theo cách thông tin được xác định ý nghĩa tốt hơn, nó cho phép máy tính và người
cộng tác với nhau tốt hơn.
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 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ử ta cần so sánh giá để chọn mua một bó hoa hay ta 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 mà 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 con người phân tích ý nghĩa của dữ liệu và sự 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 bằng 2 cách:
• Thứ nhất, nó sẽ mô tả chi tiết dữ liệu của nó. 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.
• 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ụ, ta 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), điều
mà Web hiện tại chưa làm được.
6

Hình 1.2: Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web

Để có thể tạo ra web có dữ liệu mà máy có thể xử lý được, trước hết phải thay
đổi mô hình trong cách chúng ta nghĩ về dữ liệu. Từ trước đến nay, dữ liệu bị khoá
ngay trong các ứng dụng độc quyền. Dữ liệu được coi như thứ yếu để xử lý dữ liệu.
Thái độ không đúng này bộc lộ những sai sót cơ bản trong luận cứ gốc bằng việc thiết
lập sự phụ thuộc giữa xử lý và dữ liệu. Hay nói cách khác, phần mềm tốt thì hoàn toàn
phụ thuộc vào dữ liệu tốt. Với các hệ tính toán chuyên nghiệp thì ngay khi bắt đầu
thực hiện, vấn đề dữ liệu là rất quan trọng, nó phải được xác minh và bảo vệ. Với
Web, XML và xu thế Web ngữ nghĩa đang nổi lên thì có sự thay đổi của sức mạnh
đang di chuyển từ các ứng dụng sang dữ liệu. Vấn đề này cũng cho chúng ta mấu chốt
để hiểu Web ngữ nghĩa. Con đường để máy có thể xử lý dữ liệu chủ yếu là tạo ra dữ
liệu thông minh hơn chứ không phải là các xử lý thông minh. Hình 1.3 biểu diễn sự

phát triển tính thông minh của dữ liệu theo thời gian. [13, pp.3-4, 3]


Hình 1.3: Sơ đồ phát triển tính thông minh của dữ liệu
7
Hình 1.3 chỉ ra sự phát triển liên tục của tính thông minh dữ liệu có bốn bậc
quan trọng. Bốn bậc này biểu diễn từ dữ liệu có tính thông minh thấp nhất đến dữ liệu
đã có thông tin đủ ngữ nghĩa để máy thực hiện suy luận về nó.
Văn bản và cơ sở dữ liệu (bậc này là tiền XML)
Bậc đầu tiên, hầu hết dữ liệu ở bậc này được sở hữu độc quyền cho một ứng
dụng. Do vậy tính thông minh là nằm trong ứng dụng đó chứ không phải là trong dữ
liệu.
Tài liệu XML với miền đơn
Ở bậc này, dữ liệu đạt được là: ứng dụng độc lập với miền riêng. Bây giờ, dữ
liệu đủ thông minh để có thể di chuyển giữa các ứng dụng trong một miền đơn. Ví dụ:
các chuẩn XML trong chăm sóc sức khoẻ, công nghiệp bảo hiểm, hoặc công nghiệp
bất động sản.
Các phân loại và tài liệu với các bộ từ vựng hỗn hợp
Trong bậc này, dữ liệu có thể được soạn từ đa miền và được phân lớp chính xác
theo một nguyên tắc phân loại có thứ bậc. Thực tế, sự phân lớp đó có thể được sử dụng
để khám phá dữ liệu. Các quan hệ đơn giản giữ các lớp có thể được sử dụng để quan
hệ và do vậy, ta có dữ liệu kết hợp. Như vậy, dữ liệu bây giờ thông minh đủ để khám
phá dễ dàng và được kết hợp một cách hợp lý với dữ liệu khác.
Các ontology và các luật lập luận
Trong mức này, dữ liệu mới có thể được suy ra từ những dữ liệu đã có theo các
luật logic. Thực chất, dữ liệu bây giờ thông minh đủ để được mô tả với các quan hệ cụ
thể và các dạng hình thức phức tạp. Điều này cho phép kết hợp hoặc tái kết hợp dữ
liệu nguyên thuỷ nhiều hơn và sự phân tích về dữ liệu mịn hơn. Một ví dụ về sự phức
tạp của dữ liệu là việc chuyển tự động tài liệu trong một miền này sang một tài liệu
tương đương trong một miền khác. Ở mức này, ta có thể soạn một định nghĩa mới trên

Web ngữ nghĩa, máy có thể xử lý các tài liệu web có dữ liệu thông minh. Hơn nữa, ta
có thể định nghĩa dữ liệu thông minh vì dữ liệu nó độc lập với ứng dụng, có thể soạn,
phân lớp và lấy một phần của các hệ thông tin lớn hơn.
Như vậy, việc xây dựng web ngữ nghĩa chủ yếu tập trung xây dựng hệ thống
web có dữ liệu thông minh. Dữ liệu thông minh ở đây không có nghĩa là gắn liền với
trí tuệ nhân tạo, không phải là cho máy học hiểu các từ ngữ của con người hay máy xử
lý được ngôn ngữ tự nhiên mà nó thông minh bởi việc tổ chức lựa chọn dữ liệu biểu
diễn trong ngôn ngữ được cấu trúc để máy có thể hiểu. Và sau đây chúng ta tìm hiểu
về kiến trúc của web ngữ nghĩa.
1.1.4. Nội dung xây dựng Semantic Web
Để xây dựng Web ngữ nghĩa thay thế cho World Wide Web hiện tại, các nhà
nghiên cứu đang nỗ lực và tập trung nghiên cứu với ba hướng chính sau: [3, 13, 30]
- Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và siêu dữ liệu (RDF) trên
Web.
- Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa.
8
- Phát triển nâng cao Web có ngữ nghĩa (Semantic Web Advanced
Development - SWAD)
1.1.4.1. Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu và các siêu dữ liệu trên Web
Như chúng ta đã biết, World Wide Web đã rất thành công bởi ngôn ngữ XML.
XML đã làm cho công nghệ Web phát triển mạnh mẽ như hiện nay. Và Web ngữ
nghĩa được phát triển trên nền Web hiện tại, trên nền XML, chúng ta có thể thấy rất rõ
ngay trong sơ đồ kiến trúc của Web ngữ nghĩa. Web ngữ nghĩa được bổ sung các chú
thích ngữ nghĩa cho các tài nguyên Web, và W3C đã giới thiệu RDF là chuẩn cú pháp
để tạo, thay đổi và sử dụng chú thích trong Web ngữ nghĩa. Do vậy việc xây dựng
ngôn ngữ chuẩn cho XML và RDF là thiết yếu để biểu diễn dữ liệu cho Web ngữ
nghĩa. Trong quá trình này, đã có một số cú pháp được đưa ra để biểu diễn RDF như:
Notation 3 (hay N3), XML/RDF, hay đồ thị các mệnh đề của RDF như đã trình bày ở
trên. Các cú pháp này hỗ trợ biểu diễn dữ liệu cho máy có thể hiểu được.
1.1.4.2. Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa

Ontology đóng vai trò then chốt trong việc cung cấp tài nguyên có thể truy nhập
để xử lý tự động bằng cách cung cấp bộ từ vựng cho việc đánh dấu ngữ nghĩa của Web
ngữ nghĩa. Để biểu diễn Ontology cho phát triển Web có ngữ nghĩa cần thiết đưa ra
một ngôn ngữ chuẩn cho sự biểu diễn mềm dẻo, linh hoạt và đa dạng của tài nguyên
Web. Trong quá trình chuẩn hoá ngôn ngữ biểu diễn Ontology, một số ngôn ngữ được
đề xuất với các khả năng biểu diễn tăng dần như: RDFS, DAML+OIL, OWL, và
tiếp tục được mở rộng trong tương lai. Các ngôn ngữ này có khả năng biểu diễn tăng
dần nhưng tương ứng là khả năng quyết định giảm dần (độ phức tạp tăng dần). Và các
ngôn ngữ biểu diễn Ontology được xây dựng phải cân bằng được khả năng biểu diễn
và độ phức tạp tính toán. Các ngôn ngữ này được xây dựng trên nền các chuẩn XML,
RDF, và thường sử dụng cơ sở logic là logic mô tả để biểu diễn ngữ nghĩa và hỗ trợ
lập luận.
1.1.4.3. Phát triển nâng cao Web ngữ nghĩa
Các công việc chuẩn hoá các ngôn ngữ biểu diễn dữ liệu XML, siêu dữ liệu
RDF hay ngôn ngữ biểu diễn Ontology là các công việc nền tảng, cơ sở tạo ra chuẩn
chung cơ sở để phát triển hệ thống và các ứng dụng trên Web ngữ nghĩa. Việc đưa các
chuẩn đó thành các thể hiện, các sản phẩm của hệ thống Web ngữ nghĩa là công việc
của SWAD. SWAD thực hiện nghiên cứu và đưa ra các thể hiện của Web ngữ nghĩa
trên công nghệ cơ sở và nó cũng bổ sung, hoàn thiện các công nghệ cơ sở này. Nó chỉ
ra các công nghệ Web ngữ nghĩa được sử dụng như thế nào? Mục tiêu cụ thể của
SWAD là sử dụng các công nghệ, kỹ thuật và các công cụ hiện có của Web ngữ nghĩa
để tạo ra các chương trình vượt xa hơn tầm hiện có, phát triển các thể hiện thực tiễn và
cung cấp các công cụ và các chuẩn mới cho Web ngữ nghĩa. Để phát triển SWAD hiện
tại đã có một số dự án của các tổ chức thực hiện nghiên cứu và phát triển như: SWAD-
Europe, SWAD-DAML, SWAD-Simile, SWAD-Oxygen. Hiện tại, ở Việt Nam, một
dự án cấp Nhà nước đang nghiên cứu thực hiện trích rút tự động thông tin từ các trang
9
Web về tin tức để xây dựng các ontology cho lĩnh vực này nhằm "tiếp nhận" công
nghệ Web ngữ nghĩa khi có hệ thống mạng mới này.
1.1.5. Kiến trúc phân tầng của Semantic Web

Hình 1.4 chỉ ra sơ đồ kiến trúc của Web ngữ nghĩa. Web ngữ nghĩa là một tập
hợp/một chồng (stack) các ngôn ngữ. [13, pp.17-20]

Hình 1.4: Kiến trúc phân lớp của Web ngữ nghĩa

Vai trò của các tầng/lớp trong kiến trúc
Lớp Unicode & URI: nhằm bảo đảm việc sử dụng tập kí tự quốc tế và cung cấp
phương tiện nhằm định danh các đối tượng trong Semantic Web.
Cụ thể: Unicode là một bảng mã chuẩn chung có đủ các ký tự để thống nhất sự
giao tiếp trên tất cả các quốc gia, đáp ứng tính nhất quán toàn cầu của web. URI
(Uniform Resource Identifier) là kí hiệu nhận dạng Web đơn giản.
Lớp XML: cùng với các định nghĩa về namespace và schema (lược đồ) bảo
đảm rằng chúng ta 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.
Lớp RDF [RDF] và RDFSchema [RDFS]:
RDF (Resource Description Framework): Khung mô tả tài nguyên - RDF
được W3C giới thiệu để cung cấp một cú pháp chuẩn để tạo, thay đổi và sử dụng các
chú thích trong Web ngữ nghĩa. Một mệnh đề RDF là một bộ ba chủ đề – thuộc tính –
đối tượng (subject – predicate – object). Trong đó, chủ đề là tài nguyên mà được mô tả
bằng thuộc tính và đối tượng. Thuộc tính thể hiện mối quan hệ giữa chủ đề và đối
tượng. Còn đối tượng ở đây có thể là một tài nguyên hoặc một giá trị. Ba thành phần
trên trong RDF đều là các URI.
RDFS (RDF schema)
RDFS là một ngôn ngữ ontology đơn giản của web ngữ nghĩa, được coi là một
ngôn ngữ cơ sở của web ngữ nghĩa. RDFS là ngôn ngữ mô tả bộ từ vựng trên các bộ
ba RDF. Nó cung cấp các công việc sau:
- Định nghĩa các lớp tài nguyên
- Định nghĩa các quan hệ giữa các lớp
10
- Định nghĩa các loại thuộc tính mà các lớp trên có

- Định nghĩa các mối quan hệ giữa các thuộc tính.
Lớp Ontology Vocabulary
Bộ từ vựng ontology được xây dựng trên cơ sở tầng RDF và RDFS, cung cấp
biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên web và có khả năng hỗ trợ lập luận. Để
xây dựng được các bộ từ vựng này, người ta đã sử dụng các ngôn ngữ ontology để
biểu diễn chúng như: RDFS, OIL, DAML, DAML+OIL, OWL, Các ngôn ngữ này
cung cấp khả năng biểu diễn và hỗ trợ lập luận khác nhau và chúng dựa trên nền tảng
là các ngôn ngữ logic mô tả tương ứng khác nhau.
Lớp Logic
Việc biểu diễn các tài nguyên dưới dạng các bộ từ vựng ontology có mục đích
là để máy có thể lập luận được. Mà cơ sở lập luận chủ yếu dựa vào logic. Chính vì vậy
mà các ontology được ánh xạ sang logic, cụ thể là logic mô tả để có thể hỗ trợ lập
luận. Vì logic mô tả có biểu diễn ngữ nghĩa hình thức (đặc trưng của lý thuyết mô
hình), và cung cấp các dịch vụ lập luận, là cơ sở để hỗ trợ máy có thể lập luận và hiểu
tài nguyên.
Lớp Proof
Lớp này đưa ra các luật để suy luận. Cụ thể từ các thông tin đã có ta có thể suy
ra các thông tin mới. Ví dụ: A là cha của B, A là em trai C thì khi đó ta có thông tin
mới là C là bác của B. Để có được các suy luận này thì cơ sở là FOL (First-Order-
Logic). Và tầng này hiện nay các nhà nghiên cứu đang xây dựng các ngôn ngữ luật
cho nó như: SWRL, RuleML.
Lớp Trust
Đảm bảo tính tin cậy của các ứng dụng trên Web ngữ nghĩa. Ví dụ: có một
người bảo x là xanh, một người khác lại nói x không xanh, như thế Web ngữ nghĩa là
không đáng tin cậy? Câu trả lời ở đây được xem xét trong các ngữ cảnh. Mỗi ứng dụng
trên web ngữ nghĩa sẽ có một ngữ cảnh cụ thể, chính vì thế các mệnh đề trên có thể
nằm trong các ngữ cảnh khác nhau khi đó ngữ nghĩa tương ứng khác nhau nên các
mệnh đề đó vẫn đúng, đáng tin cậy trong ngữ cảnh của nó. Để có được sự chứng minh
về độ tin cậy thì các lập luận được áp dụng là không đơn điệu và có các cơ chế kiểm
tra chứng minh kết hợp với công nghệ chữ ký điện tử để xác nhận độ tin cậy. Các ngôn

ngữ chứng minh là ngôn ngữ cho ta chứng minh một mệnh đề là đúng hay sai.
1.2. Các ngôn ngữ và công cụ xây dựng Web ngữ nghĩa
1.2.1. XML (eXtensible Markup Language) – Ngôn ngữ đánh dấu mở rộng
XML là một đặc tả cho các tài liệu (document) mà máy tính đọc được. Đánh
dấu (Markup) có nghĩa là các chuỗi ký tự nào đó trong tài liệu có chứa thông tin chỉ ra
vai trò nội dung của tài liệu. Markup mô tả sơ đồ (layout) dữ liệu của tài liệu và cấu
trúc logic. Markup làm thông tin tự mô tả tùy vào cảm nhận. [6, 13, pp.25-28]
Markup được mô tả dưới dạng các từ trong dấu ngoặc nhọn hay còn gọi là tag.
Ví dụ
11
<name> hay <h1>
Về khía cạnh này, XML giống như HTML. Tuy nhiên, tính mở rộng của ngôn
ngữ chỉ ra sự khác biệt quan trọng và cũng là đặc điểm chính của XML.
XML thực sự là một siêu ngôn ngữ mô tả dữ liệu (metalanguage), là một cơ cấu
cho phép biểu diễn các ngôn ngữ khác một cách chuẩn hóa. Nói cách khác XML chỉ
cung cấp định dạng dữ liệu cho tài liệu (document) được cấu trúc, không có đặc tả từ
vựng (vocabulary) thực sự. Vì vậy XML phổ biến toàn cầu, chúng ta có thể tạo những
ngôn ngữ đánh dấu (markup) mà chúng tùy ý sử dụng cho các kiểu tài liệu không giới
hạn - đây là chuẩn đang phổ biến. Bên cạnh nhiều ngôn ngữ riêng biệt, một số ngôn
ngữ chuẩn được định nghĩa trong XML (còn gọi là các ứng dụng XML). Ví dụ
XHTML là một định nghĩa lại của HTML 4.0 trong XML.
Các thực thể (entity) markup chính trong XML là các đơn vị (element). Chúng
thông thường bao gồm một tag mở và một tag đóng. Ví dụ <person> và </person>.
Các element có chứa các element khác hay text. Nếu 1 element không có nội
dung, nó có thể được viết ngắn gọn như <person/>. Các element nên được xếp lồng
nhau, tag mở và tag đóng của element con phải nằm trong tag mở và tag đóng của
element cha.
Mỗi XML document phải có chính xác một root element.
Các element có thể chứa thuộc tính với giá trị nào đó, có định dạng là: "từ =giá
trị" bên trong tag của một element. Ví dụ <person name="John">. Dưới đây là một

đoạn XML:
<?xml version=“1.0”?>
<employees>
List of persons in company:
<person name=“John”>
<phone>47782</phone>
On leave for 2001.
</person>
</employees>
XML không ngụ ý giải thích rõ ràng về dữ liệu. Thông qua tên của tag mà ý
nghĩa của đoạn XML trên trở nên rõ ràng đối với cảm nhận của chúng ta, nhưng nó
không được mô tả một cách hình thức. Chỉ có giải thích hợp lý là mã XML chứa các
thực thể (entity), các thực thể con và giá trị được đặt tên. Mỗi XML document thiết lập
một cây có nhãn và thứ tự. Tóm lại chúng vừa là điểm mạnh vừa là điểm yếu của
XML. Chúng ta có thể mã hóa bất kỳ kiểu cấu trúc dữ liệu nào theo một cú pháp
không rõ ràng, nhưng XML không đặc tả sử dụng dữ liệu và ngữ nghĩa (semantic) của
chúng. Các nhà phát triển sử dụng XML để trao đổi dữ liệu phải thỏa thuận trước về từ
vựng, cách sử dụng và ý nghĩa.
12
1.2.2. RDF – Nền tảng của Web ngữ nghĩa
1.2.2.1. Giới thiệu về RDF
RDF là một thành phần quan trọng của Semantic Web, được dựa trên XML,
RDF sử dụng cú pháp của XML để biểu diễn dữ liệu. Ngôn ngữ XML dùng để biểu
diễn dữ liệu trong RDF được gọi là RDF/XML. Thông qua định dạng này, các thông
tin trong RDF có thể được trao đổi dễ dàng giữa các hệ thống máy tính, các hệ điều
hành hay các ngôn ngữ lập trình ứng dụng khác nhau. [7, 8, 11, 12, 13, pp.65-84]
XML cung cấp cú pháp để mã hóa dữ liệu, RDF là một cơ cấu chỉ ra điều gì đó
về dữ liệu. Như tên gọi, RDF là một mô hình để biểu diễn dữ liệu về "Mọi thứ trên
Web". Mọi thứ ở đây chính là các tài nguyên trong RDF vocabulary (từ vựng). Mô
hình dữ liệu cơ sở của RDF thì đơn giản, bên cạnh tài nguyên (resources), RDF còn

chứa thuộc tính (properties) và câu phát biểu (statements). Một property là một khía
cạnh, tính chất, thuộc tính, hay mối liên hệ mô tả cho một tài nguyên. Một statement
bao gồm một tài nguyên riêng biệt, một thuộc tính được đặt tên, và giá trị thuộc tính
cho tài nguyên đó. Giá trị này cơ bản có thể là một tài nguyên khác hay một giá trị
mang tính nghĩa đen (literal value) hay dạng text tùy ý (free text)

Hình 1.5: Ví dụ về một RDF

Nhìn chung một RDF description (mô tả) là một danh sách các triple (bộ ba):
object - attribute - value. Ví dụ, hình trên thể hiện 3 triple cần thiết để chỉ ra trang Web
được tạo bởi ai đó với name là "John" và số phone là "47782".
Giống như XML, mô hình RDF không định nghĩa miền giá trị áp dụng hay giả
định về một miền giá trị áp dụng cụ thể. Nó chỉ cung cấp một cơ cấu vùng không có
tính chất rõ ràng để mô tả metadata. Xác định các thuộc tính có miền giá trị cụ thể và
ngữ nghĩa (semantic) của chúng ta cần có các công cụ khác.
1.2.2.2. RDF là gì?
MetaData là một dạng dữ liệu dùng để mô tả dữ liệu khác. hay nói cách khác
metadata là những thông tin mô tả tài nguyên trên web.
Ví dụ: sách là một tài nguyên trên web, khi đó các thông tin mô tả cho tài
nguyên này: tên tác giả, tựa sách, ngày xuất bản, … chính là metadata.
13
Subject
Object
predicate

Và RDF (Resource Description Framework) là một “bộ khung” được sử dụng
để xử lý metadata trên Internet
1.2.2.3. Mô hình RDF
Mô hình cơ bản của RDF gồm ba đối tượng sau:
• Tài nguyên (Resources): là tất cả những gì được mô tả bằng biểu thức RDF.

Nó có thể là một trang Web, ví dụ như trang cũng
có thể là một phần của trang Web, hoặc là một tập các trang Web, …
• Thuộc tính (Properties): thuộc tính, đặc tính, hoặc quan hệ dùng để mô tả tính
chất của tài nguyên.
• Phát biểu (Statements): mỗi phát biểu gồm ba thành phần sau
- Subject (Tài nguyên): địa chỉ hay vị trí tài nguyên muốn mô tả, thông thường
thì đây là chuỗi định URL hoặc URI.
- Predicate (Vị ngữ): xác định tính chất của tài nguyên.
- Object (Bổ ngữ): nội dung gán cho thuộc tính.
1.2.2.3.1. Bộ ba RDF (RDF Tripple)
Mỗi một phát biểu (subject, predicate,object) còn gọi là một bộ ba (triple).
Ví dụ: Xét has a creator whose value is John Smith
Phát biểu trên được phân ra làm các thành phần sau:
Subject

Predicate

Object

Chúng ta đã biết URI dùng để mô tả bất cứ cái gì trên Web, cho nên ở phát biểu
trên thay vì phải dùng từ “creator” và “John Smith”, ta sẽ dùng URI
" và " để
mô tả cho từng khái niệm trên.
Phát biểu trên được biểu diễn dưới dạng một tripple như sau:
<
<
1.2.2.3.2. Đồ thị RDF (RDF Graph)
Tập các triple hợp lại tạo thành đồ thị RDF (RDF Graph). Các node trong đồ thị
có thể là các subject và object trong triple và các cung (arc) trong đồ thị là các
predicate. Cho nên một triple còn có thể được mô tả dưới dạng node-arc-node. Hướng

của đồ thị rất quan trọng. Cung của đồ thị luôn bắt đầu từ subject đến object.

Hình 1.6: Mối quan hệ giữa các thành phần trong Triple
Phát biểu trên được mô hình hóa bằng đồ thị có hướng sau:
14

Hình 1.7: Mô tả một phát biểu đơn giản bằng đồ thị

Ta thêm các phát biểu sau cho cùng một subject:
has a creation-date whose value is August 16, 1999
has a language whose value is English

Được phân ra thành các thành phần sau:
Subject
Predicate
Object
/>ex.html
/>reator
/>d/85740
/>ex.html
/>reation-date
August 16, 1999
/>ex.html
/>anguage
English

Lúc này các phát biểu cùng được biểu diễn dưới một đồ thị như sau:

Hình 1.8: Biểu diễn nhiều phát biểu cho cùng một subject


Mô hình trên chỉ ra rằng các đối tượng trong phát biểu RDF có thể là một URI
hoặc là một giá trị Literal. Ở hình trên ta dùng hình oval để biểu diễn một resource là
một URI, và dùng hình chữ nhật để biểu diễn một resource là một giá trị Literal.
1.2.2.3.3. Literal
Literal được sử dụng để biểu diễn các giá trị như con số, ngày tháng, chuỗi
Bất cứ cái gì có thể biểu diễn bởi một giá tri Literal cũng có thể được biểu diễn dưới
dạng một URI.
15
Một Literal có thể là object của một phát biểu nhưng không thể là subject hay là
predicate.
Literal có hai kiểu sau: plain literal hay là typed literal:
• Một plain Literal là một chuỗi được kết hợp với một tag tùy ý. Trong ngôn
ngữ tự nhiên ta có thể gọi nó là một kiểu text.
Ví dụ sau:

Hình 1.9: Plain Literal biểu diễn cho tuổi của Mr John

Ví dụ trên mô tả tuổi của Mr John Smith là 27. Ở đây ta biểu diễn tuổi của Mr
John Smith là một kiểu plain literal. Giá trị 27 ở đây chỉ là một chuỗi gồm 2 ký tự "2"
và "7". Nhưng nếu ta muốn biểu diễn nó là một con số, một số nguyên thì phải làm
như thế nào đây? Bằng cách dùng kiểu typed literal chúng ta sẽ có được cách định
nghĩa mà chúng ta muốn.
• Một typed literal được hình thành bằng cách kết hợp một chuỗi với một định
danh URI để biểu diễm một kiểu dữ liệu đặc biệt nào nó. Kết quả trả về là một node
trong đồ thị tương tự như kiểu literal. Kiểu giá trị được biểu diễn bằng typed literal sẽ
được ánh xạ đến kiểu giá trị đặc biệt mà ta đã khai báo thông qua URI. Ở ví dụ trên,
khi biểu diễn tuổi của Mr John là kiểu số nguyên thì ta sẽ có cách khai báo như sau:
Subject

Predicate


Object
"27"^^<

Và được biểu diễn thành đồ thị như sau:

Hình 1.10: KiểuTyped Literal biểu diễn cho tuổi của Mr John.

Tương tự như vậy ở ví dụ trên ta có thể dùng kiểu dữ liệu ngày tháng
Subject

Predicate

Object
"27"^^<
16

Hình 1.11: Typed Literal biểu diễn cho ngày tháng
Đôi khi không thuận tiện để biểu diễn các phát biểu dưới dạng đồ thị, ta có thể
dùng cách viết dưới dạng tripple. Ta có thể viết lại như sau:
< <
< .

"August 16, 1999" .
<
"en"
Với cách viết này đòi hỏi mỗi URI phải được biết đầy đủ trong một cặp dấu
ngoặc nhọn (<>), điều này gây ra một bất lợi là các URI phải viết rất dài như ta đã thấy
ở trên. Để thuận lợi hơn, RDF đã cung cấp một cách viết ngắn gọn hơn đó là cách
dùng Qname (đã được định nghĩa ở trên) mà không cần dùng đến cặp dấu <>.

Ta có thể dùng một số QName sau đây:
prefix ex:, namespace URI: hay

prefix exterms:, namespace URI:
prefix exstaff:, namespace URI:
Và ví dụ trên được viết lại như sau:
ex:index.html dc:creator exstaff:85740 .
ex:index.html exterms:creation-date "August 16, 1999" .
ex:index.html dc:language "en" .
Và ví dụ trên được viết lại dưới dạng QName như sau:
exstaff:85740 exterms:age "27"^^xsd:integer .
ex:index.html exterms:creation-date "1999-08-16"^^xsd:date .
Như vậy ta thấy rằng việc khai báo các URI thông qua một QName sẽ rất thuận
lợi, nó làm cho các URI này ngắn gọn và dễ hiểu. Hơn nữa khi có một thay đổi về URI
thì ta chỉ việc thay đổi ở phần namespace mà chúng ta đã khai báo chứ không cần phải
thay đổi tất cả URI trong bộ dữ liệu của mình.
1.2.2.4. Cấu trúc RDF/XML
1.2.2.4.1. Cú pháp RDF/XML cơ bản
Mô hình RDF thể hiện một mô hình ở mức trừu tượng để định nghĩa meta data.
Cú pháp RDF được dùng để tạo ra và trao đổi meta data. RDF dựa trên cú pháp XML.
Cú pháp cơ bản của RDF có dạng như sau:
17
[1] RDF ::= ['<rdf:RDF>'] description* ['</rdf:RDF>']
[2] description ::= '<rdf:Description' idAboutAttr? '>' propertyElt* '</rdf:Description>'
[3] idAboutAttr ::= idAttr | aboutAttr
[4] aboutAttr ::= 'about="' URI-reference '"'
[5] idAttr ::= 'ID="' IDsymbol '"'
[6] propertyElt ::= '<' propName '>' value '</' propName '>'| '<' propName resourceAttr '/>'
[7] propName ::= Qname
[8] value ::= description | string

[9] resourceAttr ::= 'resource="'tham chiếu URI'"'
[10] Qname ::= [ NSprefix ':' ] name
[11] URI-reference ::= string, interpreted per [URI]
[12] IDsymbol ::= (bất kỳ ID nào hợp lệ nào của XML)
[13] name ::= (bất kỳ tên hợp lệ nào của XML)
[14] NSprefix ::= (bất kỳ tiếp đầu ngữ namespace hợp lệ nào)
[15] string ::= (bất kỳ chuỗi nào)
Ví dụ : Xét phát biểu
ex:index.html exterms:creation-date "August 16, 1999" .
Cú pháp RDF/XML để biểu diễn cho phát biểu trên như sau:
1. <?xml version="1.0"?>
2. <rdf:RDF xmlns:rdf="
3. xmlns:exterms="
4. <rdf:Description rdf:about="
5. <exterms:creation-date>August 16, 1999</exterms:creation-date>
6. </rdf:Description>
7. </rdf:RDF>
Trong đó:
Dòng 1: là khai báo XML, cho biết nội dung theo sau dựa trên cú pháp XML và
phiên bản XML được dùng.
Dòng 2 và 3: bắt đầu với thẻ rdf:RDF, cho biết rằng nội dung XML tiếp theo
mô tả RDF. Từ khóa này xác định tài liệu này được biểu diễn dưới dạng RDF. Tiếp
theo là phần khai báo XML namespace được sử dụng trong tài liệu, tùy vào nhu cầu và
mục đích sử dụng mà ta có thể dùng các namespace khác nhau cho từng tài liệu.
Dòng 4, 5, 6: mô tả những mệnh đề RDF. Để mô tả bất kỳ phát biểu nào dạng
RDF/XML có thể dùng rdf:Description, và rdf:about, đây chính là subject của phát
biểu (about Thẻ bắt đầu rdf:Description trong
dòng 4 cho biết bắt đầu mô tả về một resource và tiếp tục định danh resource này dùng
thuộc tính rdf:about để chỉ ra URI của subject resource. Dòng 5 cung cấp 1 phần tử
thuộc tính, với Qname exterms:creation-date như là thẻ của nó. Nội dung của phần tử

thuộc tính này là object của statement, có giá trị kiểu plain literal "August 19, 1999".
Dòng 7: cho biết kết thúc của thẻ rdf:RDF bắt đầu ở dòng 2 và cũng là thẻ kết
thúc của tài liệu RDF
Như vậy ta đã biết làm thế nào để khai báo một tài liệu RDF. Trong tài liệu
RDF, tất cả các phần tử có tiếp đầu ngữ là rdf được dùng để mô tả tài nguyên. Chúng
18
sử dụng một không gian tên được tổ chức W3C qui định:

Ở ví dụ trên ta chỉ mô tả tài liệu cho một phát biểu đơn giản, với một tài liệu
gồm nhiều phát biểu, việc mô tả nó cũng thật sự đơn giản:
Ví dụ với 2 phát biểu :
ex:index.html exterms:creation-date "August 16,1999".
ex:index.html dc:language "en".
ex:index.html dc:creator exstaff:85740.
Cú pháp RDF được mô tả như sau:
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="
xmlns:dc="
xmlns:exterms="
<rdf:Description rdf:about="
<exterms:creation-date>August 16, 1999</exterms:creation-date>
</rdf:Description>
<rdf:Description rdf:about="
<dc:language>en</dc:language>
</rdf:Description>
<rdf:Description rdf:about="
<dc:creator rdf:resource="
</rdf:Description>
Như vậy với một phát biểu ta có thể dùng từ khóa rdf:Description để mô tả cho
nó. Tuy nhiên ta thấy 3 phát biểu trên có cùng một subject

( nên ta có thể gộp 3 phát biểu này lại với nhau
dùng một thẻ rdf:Description chung như sau:
1. <?xml version="1.0"?>
2. <rdf:RDF xmlns:rdf="
3. xmlns:dc="
4. xmlns:exterms="
5. <rdf:Description rdf:about="
6. <exterms:creation-date>August 16, 1999</exterms:creation-date>
7. <dc:language>en</dc:language>
8. <dc:creator rdf:resource="
9. </rdf:Description>
10. </rdf:RDF>
1.2.2.4.2. Kiểu dữ liệu có cấu trúc
RDF Container
Chúng ta thường có nhu cầu mô tả các nhóm (groups) của nhiều đồ vật. Ví dụ
như: 1 quyển sách được viết bởi nhiều tác giả, hoặc là danh sách các sinh viên trong 1
khoá học, hoặc là những modules phần mềm tróng gói phần mềm v.v RDF cung cấp

×