9384_4.4.12. Nghiên cứu xây dựng và tìm hiểu ứng dụng mới với SEMANTIC WEB

luận văn tốt nghiệp

i
i
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN HỆ THỐNG THÔNG TIN

NGUYỄN THÚC DUY ANH
NGUYỄN THỊ KHÁNH HÒA

NGHIÊN CỨU, TÌM HIỂU VÀ XÂY DỰNG ỨNG
DỤNG VỚI SEMANTIC WEB

KHOÁ LUẬN CỬ NHÂN TIN HỌC

TP. HCM, NĂM 2005

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN HỆ THỐNG THÔNG TIN

NGUYỄN THÚC DUY ANH – 0112171
NGUYỄN THỊ KHÁNH HÒA – 0112219

NGHIÊN CỨU, TÌM HIỂU VÀ XÂY DỰNG ỨNG
DỤNG VỚI SEMANTIC WEB

KHÓA LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

TS. NGUYỄN TRẦN MINH THƯ.

NIÊN KHÓA 2001 – 2005

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

iii
iii
Nhaän xeùt cuûa Giaùo vieân phaûn bieân
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

Nhaän xeùt cuûa Giaùo vieân höôùng daãn
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–
——————————————————————————————————–

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

LÔØI CAÛM ÔN
Chuùng em xin chaân thaønh caûm ôn khoa Coâng Ngheä Thoâng Tin, Tröôøng
Ñaïi Hoïc Khoa hoïc Töï nhieân ñaõ hoã trôï taïo nhieàu ñieàu kieän thuaän lôïi cho chuùng
em trong quaù trình hoïc taäp cuõng nhö quaù trình thöïc hieän ñeà taøi toát nghieäp.
Chuùng em xin ghi nhaän loøng bieát ôn saâu saéc ñeán ThSâ Nguyeãn Traàn
Minh Thö ñaõ taän tình höôùng daãn, truyeàn ñaït cho em nhöõng kieán thöùc quí baùu
cuøng vôùi nhöõng lôøi ñoäng vieân khuyeán khích cuûa Coâ trong nhöõng luùc chuùng em
gaëp khoù khaên, trôû ngaïi khi thöïc hieän ñeà taøi.
Chuùng em cuõng xin chaân thaønh caûm ôn quyù Thaày Coâ trong Khoa CNTT
ñaõ taän tình giaûng daïy, trang bò cho chuùng em nhöõng kieán thöùc caàn thieát trong
suoát quaù trình hoïc taäp vaø nghieân cöùu taïi Khoa.
Con xin ghi nhôù coâng ôn cuûa ba meï ñaõ sinh thaønh, nuoâi döôõng vaø daïy doã
con tröôûng thaønh nhö ngaøy hoâm nay. Ba meï luoân laø choã döïa tinh thaàn vöõng
chaéc cho con khi con vaáp ngaõ vaø gaëp nhöõng khoù khaên trong cuoäc soáng.
Cuoái cuøng chuùng toâi xin gôûi lôøi caûm ôn ñeán baïn beø ñaõ hoûi thaêm, ñoäng
vieân vaø giuùp ñôõ chuùng toâi trong quaù trình thöïc hieän ñeà taøi, ñaëc bieät toâi xin gôûi lôøi
caûm ôn chaân thaønh ñeán baïn Vuõ Baù Quang ñaõ giuùp ñôõ chuùng toâi raát nhieàu khi
chuùng toâi gaëp khoù khaên trong luùc thöïc hieän ñeà taøi.
Maëc duø toâi ñaõ noã löïc heát söùc ñeå hoaøn thaønh toát ñeà taøi cuûa mình nhöng duø
sao nhöõng ñieàu sai soùt trong ñeà taøi laø ñieàu khoâng theå traùnh khoûi, kính mong
Thaày Coâ thoâng caûm vaø taän tình chæ baûo cho chuùng em, mong caùc baïn ñoùng goùp
yù kieán ñeå chuùng em coù theå hoaøn thieän ñeà taøi cuûa mình hôn.

TP. Hoà Chí Minh 7/2005
Nhoùm thöïc hieân
Nguyeãn Thuùc Duy Anh – Nguyeãn Thò Khaùnh Hoøa

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

MỤC LỤC
Chương 1
GIỚI THIỆU SEMANTIC WEB …………………………………………………5

1.1
World Wide Web và những hạn chế của nó ……………………………………………5
1.2
Sự ra đời của Semantic Web…………………………………………………………………6
1.2.1
Semantic Web là gì? ……………………………………………………………………..7
1.2.2
Semantic Web mang lại những gì?………………………………………………….9
1.2.3
Kiến trúc Semantic Web………………………………………………………………11
1.3
Hoạt động của W3C về Semantic Web…………………………………………………21
1.3.1
Nhóm quan tâm đến Semantic Web (Semantic Web Interest)……………21
1.3.2
Nhóm hoạt động và phát triển Semantic (Web Semantic Web Best
Practices and Deployment Working )………………………………………………………….21
1.3.3
Nhóm hoạt động truy xuất dữ liệu(Data Access Working)………………..22
1.3.4
Nhóm RDF Core…………………………………………………………………………22
1.3.5
Nhóm WebOnt……………………………………………………………………………22
Chương 2
CÁC NGÔN NGỮ SEMANTIC WEB………………………………………..23

2.1
XML (eXtensible Markup Language) – Ngôn ngữ đánh dấu mở rộng ……..23
2.2
DTDs và XML Schema………………………………………………………………………25
2.3
RDF – Biểu diễn dữ liệu về dữ liệu………………………………………………………26
2.4
RDF Schema – Định nghĩa RDF vocabulary …………………………………………28
2.5
DAML+OIL (DARPA Agent Markup Language + Ontology Inference
Layer)
31
2.5.1
Giới thiệu về DAML :………………………………………………………………….31
2.5.2
Tại sao sử dụng DAML? ……………………………………………………………..33
Chương 3
RDF – NẾN TẢNG CỦA SEMANTIC WEB………………………………35

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

3.1
Giới thiệu………………………………………………………………………………………….35
3.2
Các khái niệm cơ bản…………………………………………………………………………35
3.2.1
Namespace và cách khai báo ………………………………………………………..35
3.2.2
Qualified name(QName) và cách sử dụng………………………………………36
3.2.3
Mô hình RDF ( RDF Model)………………………………………………………..37
3.2.4
Tripple và cách sử dụng namespace ………………………………………………42
3.2.5
Kiểu dữ liệu có cấu trúc và Blank node………………………………………….44
3.3
Cấu trúc RDF/XML …………………………………………………………………………..47
3.3.1
Cú pháp RDF/XML cơ bản ………………………………………………………….47
3.3.2
RDF Container……………………………………………………………………………50
3.4
RDF Collection …………………………………………………………………………………55
3.5
RDF Schema …………………………………………………………………………………….58
3.5.1
Giới thiệu …………………………………………………………………………………..58
3.5.2
Định nghĩa class (lớp)………………………………………………………………….59
3.5.3
Định nghĩa property( thuộc tính) …………………………………………………..61
3.6
FOAF : Sự mở rộng của RDF ……………………………………………………………..67
Chương 4
TRUY VẤN DỮ LIỆU TRONG RDF…………………………………………75

4.1
Giới thiệu………………………………………………………………………………………….75
4.2
Tạo một câu truy vấn đơn giản…………………………………………………………….76
4.3
Cú pháp của câu truy vấn…………………………………………………………………..77
4.4
Những dạng cú pháp khác…………………………………………………………………..79
4.5
Ràng buộc dữ liệu ……………………………………………………………………………..81
4.5.1
Thêm vào kiểu Optional ………………………………………………………………82
4.5.2
Ràng buộc trong khối Optional……………………………………………………..83
4.5.3
Nhiều khối Optional…………………………………………………………………….84
4.5.4
Khối Optional lồng nhau………………………………………………………………85
4.6
Các phép toán và điều kiện trên câu truy vấn ………………………………………..86

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

4.6.1
Phép hội …………………………………………………………………………………….86
4.6.2
Phép chiếu………………………………………………………………………………….87
4.6.3
DISTINCT …………………………………………………………………………………87
4.6.4
ORDER BY ……………………………………………………………………………….88
4.6.5
LIMIT ……………………………………………………………………………………….89
4.7
Lựa chọn biến được trả về…………………………………………………………………..89
4.8
Các toán tử trong ngôn ngữ SPARQL ………………………………………………….92
4.8.1
sop:RDFterm-equal……………………………………………………………………..94
4.8.2
sop:isURI …………………………………………………………………………………..94
4.8.3
sop:isBLANK …………………………………………………………………………….95
4.8.4
sop:isLiteral ……………………………………………………………………………….96
4.8.5
sop:logical-or ……………………………………………………………………………..96
4.8.6
sop:logical-and……………………………………………………………………………96
4.8.7
sop:str………………………………………………………………………………………..96
4.8.8
so:lang……………………………………………………………………………………….96
4.8.9
sop:datatype ……………………………………………………………………………….96
Chương 5
CÁC ỨNG DỤNG SEMANTIC WEB………………………………………..97

5.1
Các lĩnh vực ứng dụng ……………………………………………………………………….97
5.1.1
Search Engine …………………………………………………………………………….97
5.1.2
Khung làm việc để quản lý tri thức – Framework for Knowledge
Management ……………………………………………………………………………………………98
5.1.3
Internet Agent …………………………………………………………………………..100
5.1.4
Push System……………………………………………………………………………..100
5.1.5
Relationship ……………………………………………………………………………..100
5.2
Các ứng dụng & dự án hiện có…………………………………………………………..101
5.3
Các công cụ phát triển………………………………………………………………………101
5.4
Giới thiệu Semantic Search Engine ……………………………………………………101

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

5.4.1
Giới thiệu: ………………………………………………………………………………..101
5.4.2
So sánh giữa Search Engine truyền thống( Keyword/Free-Text Search
Engine) và Semantic Search Engine: ………………………………………………………..102
Chương 6
ỨNG DỤNG MINH HỌA : TÌM KIẾM THÔNG TIN CỦA MỘT
NGƯỜI, MỘT NHÓM NGƯỜI VÀ KHẢ NĂNG CỦA HỌ TRONG MỘT TỔ
CHỨC
………………………………………………………………………………………………..105

6.1
Giới thiệu ứng dụng ………………………………………………………………………..105
6.2
Các yêu cầu của ứng dụng…………………………………………………………………107
6.2.1
Các yêu cầu lưu trữ……………………………………………………………………107
6.2.2
Các yêu cầu giao diện………………………………………………………………..108
6.2.3
Các yêu cầu chức năng ………………………………………………………………108
6.2.4
Các yêu cầu phi chức năng …………………………………………………………109
6.3
Hướng tiếp cận và giải pháp ……………………………………………………………..110
Chương 7
PHÂN TÍCH ỨNG DỤNG……………………………………………………….113
7.1
Mô hình use-case……………………………………………………………………………..113
7.2
Đặc tả use case ………………………………………………………………………………..115
7.2.1
Chức năng Tìm Người……………………………………………………………….115
7.2.2
Chức năng Tìm Nhóm Người……………………………………………………..116
7.2.3
Chức năng Tìm Khả Năng………………………………………………………….117
7.2.4
Chức năng Xem Thông Tin Chi Tiết……………………………………………118
7.2.5
Chức năng Xem Lược Đồ…………………………………………………………..120
7.2.6
Chức năng Quản Lý Người…………………………………………………………121
7.2.7
Chức năng Quản Lý Nhóm Người……………………………………………….129
7.2.8
Chức năng Quản Lý Khả Năng……………………………………………………134
Chương 8
THIẾT KẾ VÀ CÀI ĐẶT ỨNG DỤNG ……………………………………141

8.1
Thiết kế dữ liệu ……………………………………………………………………………….141

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

8.1.1
Xây dựng ontology PC( Person’s Competence)…………………………….141
8.1.2
Thiết kế dữ liệu mô tả tài nguyên người……………………………………….145
8.1.3
Thiết kế dữ liệu mô tả tài nguyên nhóm người………………………………149
8.1.4
Thiết kế dữ liệu mô tả tài nguyên khả năng…………………………………..153
8.1.5
Thiết kế file RDF (persons.rdf, groups.rdf, competences.rdf) lưu trữ
toàn bộ các tài nguyên người, nhóm người và khả năng trong hệ thống. ……….156
8.1.6
Thiết kế file personlist.rdf, grouplist.rdf, competencelist.rdf…………..160
8.1.7
Thiết kế file XSL để chuyển file RDF sang file SVG…………………….162
8.2
Thiết kế xử lý ………………………………………………………………………………….174
8.3
Thiết kế giao diện…………………………………………………………………………….187
8.3.1
Sơ đồ liên kết các màn hình………………………………………………………..187
8.3.2
Một số màn hình chính của ứng dụng: …………………………………………188
Chương 9
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN………………………………….199

9.1
Kết luận ………………………………………………………………………………………….199
9.1.1
Kết quả về mặt nghiên cứu …………………………………………………………200
Qua quá trình nghiên cứu và tìm hiểu về lĩnh vực Semantic Web, chúng em đã
hiểu được và ghi nhận lại một số kết quả đạt được như sau: ……………………….200
9.1.2
Kết quả về chương trình ứng dụng ………………………………………………201
9.2
Hướng phát triển ……………………………………………………………………………..202
TÀI LIỆU THAM KHẢO……………………………………………………………………………203
PHỤ LỤC A 211
CÁC ỨNG DỤNG VÀ DỰ ÁN VỀ Semantic Web………………………………………..211
PHỤ LỤC B 215
MỘT SỐ TOOL VÀ EDITOR……………………………………………………………………..215
PHỤ LỤC C
222
CÁC SEMANTIC SEARCH ENGINE HIỆN CÓ…………………………………………222

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

DANH MỤC CÁC HÌNH ẢNH

Hình 0-1 Semantic Web như một sự mở rộng của World Wide Web …………………… 2
Hình 1-1 Sự hình thành và phát triển của Semantic Web ………………………………… 6
Hình 1-2 Đề xuất đầu tiên về WWW của Tim Berners-Lee năm 1989…………………. 7
Hình 1-3 Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web……… 9
Hình 1-4 Kiến trúc Semantic Web……………………………………………………………….. 12
Hình 3-1 Mối quan hệ giữa các thành phần trong triple………………………………….. 39
Hình 3-2 Mô tả một phát biểu đơn giản bằng đồ thị…………………………………………. 39
Hình 3-3 Biểu diễn nhiều phát biểu cho cùng một subject………………………………. 40
Hình 3-4 Plain Literal biểu diễn cho tuổi của Mr John……………………………………… 41
Hình 3-5 KiểuTyped Literal biểu diễn cho tuổi của Mr John……………………………… 42
Hình 3-6 Typed Literal biểu diễn cho ngày tháng. ………………………………………….. 42
Hình 3-7 Tạo địa chỉ(address) cho Mr John…………………………………………………… 45
Hình 3-8 Sử dụng một blank Node. ……………………………………………………………… 46
Hình 3-9 Mô tả 1 bag container đơn giản. …………………………………………………….. 52
Hình 3-10 Mô tả 1 Alt container đơn giản. …………………………………………………….. 53
Hình 3-11 Mô tả một RDF : Collection. …………………………………………………………. 56
Hình 3-12 Mô tả lớp và các lớp con……………………………………………………………… 60
Hình 3-13 Không gian domain và range của thuộc tính…………………………………… 62
Hình 6-1 Mô hình biểu diễn sự liên kết giữa các loại dữ liệu…………………………. 111
Hình 7-1 Mô hình Use case cho phân hệ người dùng ……………………………………. 113
Hình 7-2 Mô hình Use Case cho phân hệ người quản trị (admin) ……………………. 114
Hình 7-3 Mô tả chức năng tìm người…………………………………………………………. 115
Hình 7-4 Mô tả chức năng tìm nhóm người…………………………………………………. 116
Hình 7-5 Mô tả chức năng tìm khả năng……………………………………………………… 117
Hình 7-6 Mô tả chức năng xem thông tin chi tiết…………………………………………… 119
Hình 7-7 Mô tả chức năng xem lược đồ. …………………………………………………….. 120
Hình 7-8 Mô tả chức năng thêm người……………………………………………………….. 122
Hình 7-9 Mô tả chức năng xoá người…………………………………………………………. 123

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

Hình 7-10 Mô tả chức năng sửa thông tin người………………………………………….. 125
Hình 7-11 Mô tả chức năng cập nhật một trang web liên quan đến nhiều người . 127
Hình 7-12 Mô tả chức năng cập nhật địa chỉ những trang web liên quan đến một
người . ……………………………………………………………………………………………………. 129
Hình 7-13 Mô tả chức năng thêm nhóm người…………………………………………….. 130
Hình 7-14 Mô tả chức năng xoá nhóm người. ……………………………………………… 131
Hình 7-15 Mô tả chức năng sửa thông tin nhóm người…………………………………. 133
Hình 7-16 Mô tả chức năng thêm khả năng…………………………………………………. 135
Hình 7-17 Mô tả chức năng xoá khả năng…………………………………………………… 137
Hình 7-18 Mô tả chức năng sửa thông tin khả năng……………………………………… 139
Hình 8-1 Đồ thị biểu diễn thông tin của một cá nhân. ……………………………………. 147
Hình 8-2 Đồ thị biểu diễn thông tin của một nhóm nghiên cứu. ………………………. 151
Hình 8-3 Đồ thị biểu diễn thông tin của một khả năng. ………………………………….. 154
Hình 8-4 Mô hình dữ liệu cấp nâng cấp………………………………………………………. 157
Hình 8-5 Mô hình dữ liêu cuối cùng…………………………………………………………….. 161
Hình 8-6 Sơ đồ Sequence Diagram cho chức năng tìm người……………………….. 175
Hình 8-7 Sơ đồ Collaboration Diagram cho chức năng tìm người………………….. 176
Hình 8-8 Sơ đồ Sequence Diagram cho chức năng hiển thị thông tin……………… 177
Hình 8-9 Sơ đồ Collaboration Diagram cho chức năng hiển thị thông tin…………. 178
Hình 8-10 Sơ đồ Sequence Diagram cho chức năng thêm người…………………… 179
Hình 8-11 Sơ đồ Sequence Diagram cho chức năng thêm người…………………… 180
Hình 8-12 Sơ đồ Sequence Diagram cho chức năng xóa người…………………….. 181
Hình 8-13 Sơ đồ Collaboration Diagram cho chức năng xóa người………………… 182
Hình 8-14 Sơ đồ Sequence Diagram cho chức năng cập nhật người……………… 183
Hình 8-15 Sơ đồ Collaboration Diagram cho chức năng cập nhật người………… 184
Hình 8-16 Sơ đồ Sequence Diagram cho chức năng cập nhật trang Web liên quan
cho cá nhân. ……………………………………………………………………………………………. 185
Hình 8-17 Sơ đồ Collaboration Diagram cho chức năng cập nhật người trang Web
liên quan. ………………………………………………………………………………………………… 186
Hình 8-18 Sơ đồ liên kết các màn hình……………………………………………………….. 187

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

Hình 8-19 Giao diện chính của hệ thống người dùng……………………………………. 188
Hình 8-20 Giao diện chính của phân hệ admin…………………………………………….. 189
Hình 8-21 Giao diện tìm người…………………………………………………………………… 190
Hình 8-22 Giao diện xem thông tin chi tiết…………………………………………………… 191
Hình 8-23 Giao diện thực hiện chức năng xem chi tiết bằng lược đồ………………. 192
Hình 8-24 Giao diện cập nhật thông tin. ……………………………………………………… 193
Hình 8-25 Giao diện thực hiện chức năng thêm người mới vào hệ thống………… 194
Hình 8-26 Giao diện thực hiên chức năng xóa người ra khỏi vào hệ thống. …….. 195
Hình 8-27 Giao diện thực hiên chức năng sửa thông tin một người trong hệ thống.
………………………………………………………………………………………………………………. 196
Hình 8-28 Giao diện của chức năng cập nhật thông tin thông qua URL…………… 197
Hình 8-29 Giao diện của chức năng cập nhật thông tin thông qua tên…………….. 198

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

xiv
xiv
ĐỀ CƯƠNG CHI TIẾT

Đề Tài: Nghiên cứu, tìm hiểu, và xây dựng ứng dụng với Semantic Web
GiáoViên Hướng Dẫn: ThS NGUYỄN TRẦN MINH THƯ.
Sinh Viên Thực Hiện:
Nguyễn Thúc Duy Anh-0112171 Nguyễn Thị Khánh Hòa – 0112219.

I. Mục Đích
Nghiên cứu, tìm hiểu về Semantic Web, lĩnh vực đang được xem là có tiềm năng cực
lớn cho việc giải quyết các vấn đề về Web hiện nay.
Áp dụng các kiến thức thu thập được để xây dựng một ứng dụng minh họa.
II. Nội Dung
Gồm hai phần:

1. Tổng Quan Về Semantic Web

2. Xây Dựng Ứng Dụng Minh Họa EPERSON APPLICATION.
Phần I: Tổng Quan Về Semantic Web
• Giới thiệu Semantic Web.
• Các ngôn ngữ Semantic Web .
• RDF – Nền tảng của Semantic Web .
• Ngôn ngữ truy vấn dữ liệu trong RDF .
• Các ứng dụng Semantic Web
Phần II: Xây Dựng Ứng Dụng EPerson Application
• Mô tả ứng dụng.
• Phân tích ứng dụng.
• Thiết kế và cài đặt ứng dụng.
• Kết luận và hướng phát triển.
III. Công Cụ
• Các ngôn ngữ sử dụng: XML, XMLS, RDF/XML, RDF, RDFS, OWL, …
• Các softwares và tools hỗ trợ việc xây dựng ứng dụng: SVG Viewer, RDF Editor…
IV. Kết Quả
• Báo cáo Luận Văn: với những nội dung đề cập ở trên.
• Ứng dụng minh họa: EPerson Application.
TPHCM, Ngày 13 tháng 7 năm 2005
Giáo Viên Hướng Dẫn Sinh viên Thực Hiện

ThS Nguyễn Trần Minh Thư Nguyễn Thúc Duy Anh Nguyễn Thị Khánh Hòa

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

1
1

Như John Naisbitt đã nói:
” Chúng ta đang chìm ngập trong thông tin nhưng lại khát khao tri thức ”
Đúng vậy, World Wide Web chứa một lượng thông tin khổng lồ, chúng được
tạo ra từ các tổ chức, cộng đồng và nhiều cá nhân với nhiều lý do khác nhau. Người
sử dụng Web có thể dễ dàng truy cập những thông tin này bằng cách chỉ ra địa chỉ
URL – Uniform Resource Locator và theo các liên kết để tìm ra các tài nguyên liên
quan khác.
Tính đơn giản của Web hiện nay đã dẫn đến một số mặt hạn chế. Chẳng hạn
như chúng ta có thể dễ dàng bị lạc hay phải đối đầu với một lượng 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. Một ví dụ minh
họa cho vấn đề được đề cập ở trên là giả sử chúng ta muốn tìm toàn bộ các tài liệu
được viết bởi Eric Miller. Nhưng với chức năng tìm kiếm trên Web hiện nay, kết quả
trả về có thể là tất cả các thông tin khác trên Web có đề cập đến Eric hay/và Miller
như sổ nhật kí, danh bạ điện thoại, …. . Vấn đề tương tự cũng xuất hiện khi ta tìm
kiếm các tài nguyên về Marja, kết quả tìm thấy là bất kì thông tin nào liên quan đến
Marja như tên của một người hoặc là tên của một địa danh…. Hoặc khi chúng ta
muốn tìm thông tin của một chuyên gia về XML, nhưng với kết quả tìm kiếm hiện tại
chỉ cho ra một kết quả khổng lồ như các tài liệu liên quan đến XML , các ứng dụng
hay công cụ về XML mà không cho ra chính xác thông tin mà chúng ta cần tìm kiếm.
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?.
Các kĩ thuật Web hiện nay đã cản trở khả năng phát triển thông tin của nó.
Tính đơn giản của các kĩ thuật này đã gây ra hiện tượng thắt cổ chai, tạo khó khăn

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

2
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:
“Semantic Web như một sự mở rộng của web hiện tại mà trong đó thông tin
được xử lý một cách tự dộng bằng máy tính, làm cho máy tính và con người có thể
hợp tác với nhau” .

Hình 0-1 Semantic Web như một sự mở rộng của World Wide Web

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,

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

3
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 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. Và đó
cũng là lý do đề tài “Nghiên cứu, tìm hiểu và xây dựng ứng dụng với Semantic
Web” được chúng em quan tâm và chọn làm khóa luận tốt nghiệp .

Với mục tiêu nghiên cứu, tìm hiểu, và xây dựng ứng dụng với Semantic
Web. Luận văn được chia làm hai phần:

Phần 1: Tổng Quan Về Semantic Web: Phần này đề cập đến những kiến
thức nền tảng về Semantic Web, bao gồm các kiến trúc, khái niệm, ứng dụng điển
hình, cũng như các công cụ và ngôn ngữ để xây dựng các ứng dụng Semantic Web.
Bao gồm các chương sau:
Chương 1: Giới thiệu Semantic Web .
Chương 2: Các ngôn ngữ Semantic Web .
Chương 3: RDF- Nền tảng của Semantic Web .
Chương 4: Truy vấn dữ liệu trong RDF .
Chương 5: Các ứng dụng và công cụ phát triển Semantic Web .

Phần 2: Xây dựng ứng dụng Tìm Kiếm Thông Tin Của Một Người, Nhóm
Người Và Khả Năng Của Họ Trong Một Tổ Chức . Bao gồm các chương sau:
Chương 6: Mô tả ứng dụng.
Chương 7: Phân tích ứng dụng.
Chương 8: Thiết kế và cài đặt ứng dụng.
Chưong 9: Kết luận và hướng phát triển.

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

4
Trong luận văn này nhóm chúng em sẽ cố gắng trình bày 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 lĩnh vực Semantic Web .
Chúng em cũng đã cố gắng rất nhiều để luận văn đạt được kết quả tốt nhất. Tuy
nhiên do kinh nghiệm còn non trẻ và trong một thời gian ngắn nên những sai sót xảy
ra là điều không tránh khỏi. Chúng em 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.

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

5
5
Chương 1 GIỚI THIỆU SEMANTIC WEB

1.1 World Wide Web và những hạn chế của nó
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.

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

6
1.2 Sự ra đời của Semantic Web
Thế hệ web đầu tiên bắt đầu với những trang HTML thủ công, thế hệ thứ hai
đã tạo nên một bước cho máy thực hiện và thường là các trang HTML động. Các thế
hệ web này mang ý nghĩa cho con người thao tác trực tiếp ( đọc , duyệt , điền vào
mẫu). Thế hệ web thứ ba được gọi là “ Semantic Web ” , mang mục đích là thông tin
sẽ do máy xử lý. Điều này trùng khớp với quan điểm của Tim Berners-Lee đã mô tả
trong cuốn sách gần đây nhất của ông “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 tin v.v. Những dịch vụ thông minh trên hệ thống web
giàu ngữ nghĩa sẽ 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, mà chỉ giới hạn về chức năng.
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)

Hình 1-1 Sự hình thành và phát triển của Semantic Web .

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

7
1.2.1 Semantic Web là gì?
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 được hình thành từ ý tưởng của Tim Berners-Lee, người phát
minh ra WWW, URI, HTTP, và HTML.

Hình 1-2 Đề xuất đầu tiên về WWW của Tim Berners-Lee năm 1989.

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.

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

8
Semantic Web là một phương pháp cho phép định nghĩa và liên kết dữ liệu một
cách có ngữ nghĩa hơn nhằm phục vụ cho máy tính có thể “hiểu” được. Semantic Web
còn cung cấp một môi trường chia sẻ và xử lý dữ liệu một cách tự động bằng máy tính.
Ví dụ: Giả sử 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.

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

9

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

1.2.2 Semantic Web mang lại những gì?
1.2.2.1 Máy có thể hiểu được thông tin trên Web
Internet ngày nay dựa hoàn toàn vào nội dung. Web hiện hành chỉ cho con
người đọc chứ không dành cho máy hiểu. Semantic 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.

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

10
Những câu như thế này có thể hiểu bởi con người nhưng làm sao chúng có thể
được hiểu bởi máy tính?
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. Bây giờ, máy không phải suy luận dựa vào ngữ pháp và các ngôn ngữ đánh dấu
(Markup Language) nữa vì cấu trúc ngữ nghĩa của văn bản (text) thực sự đã chứa nó
rồi.
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 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.
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ả 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

Luận văn tốt nghiệp: Nghiên cứu, tìm hiểu và xây dựng ứng dụng với

11
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, …
1.2.2.4 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ụ.
1.2.3 Kiến trúc Semantic Web
1.2.3.1 Giới thiệu :
Semantic Web là một tập hợp/ một chồng (stack) các ngôn ngữ. 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.

Đánh giá post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *