Tải bản đầy đủ (.doc) (132 trang)

trình bày lý thuyết về web có ngữ nghĩa, ontology và các thế hệ phát triển của world wide 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 (2.55 MB, 132 trang )

MỤC LỤC
MỞ ĐẦU 1
Đặt vấn đề 1
Mục tiêu, nhiệm vụ: 2
Các phương pháp giải quyết: 2
Cấu trúc luận văn: 3
Hà Nội, tháng 10 năm 2008 3
CHƯƠNG 1. WEB CÓ NGỮ NGHĨA VÀ ONTOLOGY 4
1.1. Các thế hệ Web 4
1.1.1. Web 1.0 4
1.1.2. Web 2.0 5
1.1.3. Web có ngữ nghĩa (Semantic Web) 6
1.1.4. Web 3.0 – Web xã hội có ngữ nghĩa 8
1.2. Web có ngữ nghĩa (Semantic Web) 8
1.2.1. Kiến trúc Semantic Web 8
1.2.2. Siêu dữ liệu 11
1.2.3. Các môi trường phát triển Semantic Web 12
1.2.4. Semantic Web Portal 14
1.3. Ontology 14
1.3.1. Định nghĩa 14
1.3.2. Vai trò của ontology đối với Web có ngữ nghĩa 16
1.3.3. Các thành phần của ontology 16
1.3.4. Phân loại ontology 17
1.3.5. Các công cụ xây dựng ontology 19
1.3.6. Các ngôn ngữ xây dựng ontology 20
1.3.7. Phương pháp xây dựng ontology 23
1.3.8. Một số ontology phổ biến 26
1.3.9. Tạo siêu dữ liệu ngữ nghĩa dựa trên Ontology 29
1.4. Kết chương 30
CHƯƠNG 2: CÁC HỆ THỐNG THÔNG TIN GIÁO DỤC 31
ỨNG DỤNG ONTOLOGY 31


2.1. Giới thiệu 31
2.2. GEM 31
2.2.1. Giới thiệu 31
2.2.2. Cấu trúc ontology trong GEM 32
2.3. Connexions 35
2.3.1. Giới thiệu 35
2.3.2. Cấu trúc ontology của Connexions 36
2.4. POOL 36
2.4.1. Giới thiệu 36
2.4.2. Cấu trúc của giao thức CanCore 37
2.5. Edutella 38
2.5.1. Giới thiệu 38
2.5.2. Cấu trúc ontology của Edutella 39
2.6. PIP 40
2.6.1. Giới thiệu 40
2.6.2. Cấu trúc Ontology trong PIP 41
2.7. TANGRAM 42
2.7.1. Giới thiệu 42
2.7.2. Cấu trúc Ontology trong TANGRAM 44
2.8. Áp dụng các kỹ thuật xử lý ontology từ các hệ thống trên 47
2.8.1. Kỹ thuật tích hợp và truy vấn trên nhiều ontology từ PIP 47
2.8.2. Kỹ thuật tạo siêu dữ liệu của TANGRAM 50
2.9. Kết chương 52
CHƯƠNG 3 53
KIẾN TRÚC ONTOLOGY TỔNG QUÁT CHO CÁC 53
HỆ THỐNG HỖ TRỢ GIÁO DỤC CỘNG ĐỒNG 53
3.1. Giới thiệu 53
3.2. Cổng thông tin giáo dục cộng đồng BKEduPortal 53
3.2.1. Kiến trúc cổng thông tin BKEduPortal 54
3.2.2. Hệ quản trị nội dung 55

3.2.3. Chia sẻ tài liệu học tập và tri thức 56
3.2.4. Thông tin giáo dục và đào tạo 60
Phân hệ ứng dụng Thông tin giáo dục đào tạo [23] được xây dựng nhằm cung cấp,
chia sẻ các thông tin về quản lý đào tạo cho cộng đồng người sử dụng như: thông tin
về các trường, ngành nghề đào tạo và điểm chuẩn tuyển sinh đầu vào của các trường
theo hai phương pháp: (1) duyệt theo thư mục phân cấp; và (2) tìm kiếm kết hợp từ
khóa và ngữ nghĩa 60
3.2.5. Phân hệ ứng dụng Tư vấn giáo dục 62
3.2.6. Mạng cộng đồng về giáo dục 63
3.2.7. Đặc điểm của các phân hệ ứng dụng trong BKEduPortal 65
3.3. Kiến trúc ontology cho các cổng thông tin giáo dục cộng đồng 66
3.3.1. Vai trò của ontology trong các cổng thông tin giáo dục cộng đồng 66
3.3.2. Thiết kế kiến trúc ontology tổng quát 68
3.4. Kết chương 74
CHƯƠNG 4 75
THIẾT KẾ ONTOLOGY CHO CỔNG THÔNG TIN 75
GIÁO DỤC BKEDUPORTAL 75
4.1. Mô hình biểu diễn ontology 75
4.1.1. Mô hình biểu diễn 75
4.1.2. Các kỹ thuật biểu diễn và ứng dụng mô hình 78
4.2. Ontology tổng quát - BKOnto 83
4.2.1. Lớp Person 85
4.2.2. Lớp Documentation 85
4.2.3. Lớp Topic 87
4.3. Các ontology cho ứng dụng chia sẻ tài liệu học tập 88
4.3.1. Xây dựng ontology cho ứng dụng chia sẻ tài liệu học tập 88
4.3.2. Ontology ứng dụng – BKDoc 89
4.3.3. Ontology lĩnh vực BKICT 91
4.3.4. Một kịch bản ứng dụng tìm kiếm tài liệu học tập 92
4.4. Kết chương 94

CHƯƠNG 5. GIAO DIỆN LẬP TRÌNH (API) DỰA TRÊN JENA 95
5.1. Mục tiêu 95
5.2. Jena API Framework 95
5.2.1. Mô hình phân cấp Jena API 95
5.2.2. Xử lý Ontology Model 96
5.2.3. Xử lý lớp 97
5.2.4. Xử lý thuộc tính 97
5.2.5. Xử lý thể hiện 98
5.2.6. Truy vấn với Jena 98
5.2.7. Suy diễn 99
5.2.8. Gắn ontology vào cơ sở dữ liệu 100
5.3. Mở rộng Jena API 100
5.3.1. Lý do cần mở rộng Jena API 100
5.3.2. Thiết kế các Jena API mở rộng 101
5.4. Kết chương 106
KẾT LUẬN 107
Các vấn đã giải quyết được 107
Hướng phát triển của đề tài 107
1. Mở đầu: 12
2. Mục tiêu và pham vi nghiên cứu: 12
3. Các phương pháp giải quyết: 12
1.4. Kết quả đạt được: 12
DANH MỤC CÁC TỪ VIẾT TẮT
STT Từ viết tắt Từ đầy đủ
1 OWL Web Ontology Language
2 RDF Resource Description Language
3 RDFS RDF Schema
4 API Application Programming Interface
5 URL Uniform Resource Locator
6 URI Uniform Resource Identifier

7 RSS Really Simple Syndication
8 XML Extensible Markup Language
9 FOAF Friend of a Friend
10 SOAP Simple Object Access Protocol
11 HTML HyperText Markup Language
12 GEM Gateway to Educational Materials
13 LO Learning Object
14 CMS Content Management System
15 ICT Information and Communication Technology
DANH MỤC CÁC BẢNG BIỂU
MỞ ĐẦU 1
Đặt vấn đề 1
Mục tiêu, nhiệm vụ: 2
Các phương pháp giải quyết: 2
Cấu trúc luận văn: 3
Hà Nội, tháng 10 năm 2008 3
CHƯƠNG 1. WEB CÓ NGỮ NGHĨA VÀ ONTOLOGY 4
1.1. Các thế hệ Web 4
1.1.1. Web 1.0 4
1.1.2. Web 2.0 5
1.1.3. Web có ngữ nghĩa (Semantic Web) 6
1.1.4. Web 3.0 – Web xã hội có ngữ nghĩa 8
1.2. Web có ngữ nghĩa (Semantic Web) 8
1.2.1. Kiến trúc Semantic Web 8
1.2.2. Siêu dữ liệu 11
1.2.3. Các môi trường phát triển Semantic Web 12
1.2.4. Semantic Web Portal 14
1.3. Ontology 14
1.3.1. Định nghĩa 14
1.3.2. Vai trò của ontology đối với Web có ngữ nghĩa 16

1.3.3. Các thành phần của ontology 16
1.3.4. Phân loại ontology 17
1.3.5. Các công cụ xây dựng ontology 19
1.3.6. Các ngôn ngữ xây dựng ontology 20
1.3.7. Phương pháp xây dựng ontology 23
1.3.8. Một số ontology phổ biến 26
1.3.9. Tạo siêu dữ liệu ngữ nghĩa dựa trên Ontology 29
1.4. Kết chương 30
CHƯƠNG 2: CÁC HỆ THỐNG THÔNG TIN GIÁO DỤC 31
ỨNG DỤNG ONTOLOGY 31
2.1. Giới thiệu 31
2.2. GEM 31
2.2.1. Giới thiệu 31
2.2.2. Cấu trúc ontology trong GEM 32
2.3. Connexions 35
2.3.1. Giới thiệu 35
2.3.2. Cấu trúc ontology của Connexions 36
2.4. POOL 36
2.4.1. Giới thiệu 36
2.4.2. Cấu trúc của giao thức CanCore 37
2.5. Edutella 38
2.5.1. Giới thiệu 38
2.5.2. Cấu trúc ontology của Edutella 39
2.6. PIP 40
2.6.1. Giới thiệu 40
2.6.2. Cấu trúc Ontology trong PIP 41
2.7. TANGRAM 42
2.7.1. Giới thiệu 42
2.7.2. Cấu trúc Ontology trong TANGRAM 44
2.8. Áp dụng các kỹ thuật xử lý ontology từ các hệ thống trên 47

2.8.1. Kỹ thuật tích hợp và truy vấn trên nhiều ontology từ PIP 47
2.8.2. Kỹ thuật tạo siêu dữ liệu của TANGRAM 50
2.9. Kết chương 52
CHƯƠNG 3 53
KIẾN TRÚC ONTOLOGY TỔNG QUÁT CHO CÁC 53
HỆ THỐNG HỖ TRỢ GIÁO DỤC CỘNG ĐỒNG 53
3.1. Giới thiệu 53
3.2. Cổng thông tin giáo dục cộng đồng BKEduPortal 53
3.2.1. Kiến trúc cổng thông tin BKEduPortal 54
3.2.2. Hệ quản trị nội dung 55
3.2.3. Chia sẻ tài liệu học tập và tri thức 56
3.2.4. Thông tin giáo dục và đào tạo 60
Phân hệ ứng dụng Thông tin giáo dục đào tạo [23] được xây dựng nhằm cung cấp,
chia sẻ các thông tin về quản lý đào tạo cho cộng đồng người sử dụng như: thông tin
về các trường, ngành nghề đào tạo và điểm chuẩn tuyển sinh đầu vào của các trường
theo hai phương pháp: (1) duyệt theo thư mục phân cấp; và (2) tìm kiếm kết hợp từ
khóa và ngữ nghĩa 60
3.2.5. Phân hệ ứng dụng Tư vấn giáo dục 62
3.2.6. Mạng cộng đồng về giáo dục 63
3.2.7. Đặc điểm của các phân hệ ứng dụng trong BKEduPortal 65
3.3. Kiến trúc ontology cho các cổng thông tin giáo dục cộng đồng 66
3.3.1. Vai trò của ontology trong các cổng thông tin giáo dục cộng đồng 66
3.3.2. Thiết kế kiến trúc ontology tổng quát 68
3.4. Kết chương 74
CHƯƠNG 4 75
THIẾT KẾ ONTOLOGY CHO CỔNG THÔNG TIN 75
GIÁO DỤC BKEDUPORTAL 75
4.1. Mô hình biểu diễn ontology 75
4.1.1. Mô hình biểu diễn 75
4.1.2. Các kỹ thuật biểu diễn và ứng dụng mô hình 78

4.2. Ontology tổng quát - BKOnto 83
Bảng 4.1: Các Namespace trong BKOnto 84
Bảng 4.2: Các lớp và thuộc tính trong BKOnto 85
4.2.1. Lớp Person 85
4.2.2. Lớp Documentation 85
4.2.3. Lớp Topic 87
4.3. Các ontology cho ứng dụng chia sẻ tài liệu học tập 88
4.3.1. Xây dựng ontology cho ứng dụng chia sẻ tài liệu học tập 88
4.3.2. Ontology ứng dụng – BKDoc 89
4.3.3. Ontology lĩnh vực BKICT 91
4.3.4. Một kịch bản ứng dụng tìm kiếm tài liệu học tập 92
4.4. Kết chương 94
CHƯƠNG 5. GIAO DIỆN LẬP TRÌNH (API) DỰA TRÊN JENA 95
5.1. Mục tiêu 95
5.2. Jena API Framework 95
5.2.1. Mô hình phân cấp Jena API 95
5.2.2. Xử lý Ontology Model 96
5.2.3. Xử lý lớp 97
5.2.4. Xử lý thuộc tính 97
5.2.5. Xử lý thể hiện 98
5.2.6. Truy vấn với Jena 98
5.2.7. Suy diễn 99
5.2.8. Gắn ontology vào cơ sở dữ liệu 100
5.3. Mở rộng Jena API 100
5.3.1. Lý do cần mở rộng Jena API 100
5.3.2. Thiết kế các Jena API mở rộng 101
5.4. Kết chương 106
KẾT LUẬN 107
Các vấn đã giải quyết được 107
Hướng phát triển của đề tài 107

1. Mở đầu: 12
2. Mục tiêu và pham vi nghiên cứu: 12
3. Các phương pháp giải quyết: 12
1.4. Kết quả đạt được: 12
DANH MỤC HÌNH VẼ
MỞ ĐẦU 1
Đặt vấn đề 1
Mục tiêu, nhiệm vụ: 2
Các phương pháp giải quyết: 2
Cấu trúc luận văn: 3
Hà Nội, tháng 10 năm 2008 3
CHƯƠNG 1. WEB CÓ NGỮ NGHĨA VÀ ONTOLOGY 4
1.1. Các thế hệ Web 4
1.1.1. Web 1.0 4
1.1.2. Web 2.0 5
1.1.3. Web có ngữ nghĩa (Semantic Web) 6
1.1.4. Web 3.0 – Web xã hội có ngữ nghĩa 8
1.2. Web có ngữ nghĩa (Semantic Web) 8
1.2.1. Kiến trúc Semantic Web 8
1.2.2. Siêu dữ liệu 11
1.2.3. Các môi trường phát triển Semantic Web 12
1.2.4. Semantic Web Portal 14
1.3. Ontology 14
1.3.1. Định nghĩa 14
1.3.2. Vai trò của ontology đối với Web có ngữ nghĩa 16
1.3.3. Các thành phần của ontology 16
1.3.4. Phân loại ontology 17
1.3.5. Các công cụ xây dựng ontology 19
1.3.6. Các ngôn ngữ xây dựng ontology 20
1.3.7. Phương pháp xây dựng ontology 23

1.3.8. Một số ontology phổ biến 26
1.3.9. Tạo siêu dữ liệu ngữ nghĩa dựa trên Ontology 29
1.4. Kết chương 30
CHƯƠNG 2: CÁC HỆ THỐNG THÔNG TIN GIÁO DỤC 31
ỨNG DỤNG ONTOLOGY 31
2.1. Giới thiệu 31
2.2. GEM 31
2.2.1. Giới thiệu 31
2.2.2. Cấu trúc ontology trong GEM 32
2.3. Connexions 35
2.3.1. Giới thiệu 35
2.3.2. Cấu trúc ontology của Connexions 36
2.4. POOL 36
2.4.1. Giới thiệu 36
2.4.2. Cấu trúc của giao thức CanCore 37
2.5. Edutella 38
2.5.1. Giới thiệu 38
2.5.2. Cấu trúc ontology của Edutella 39
2.6. PIP 40
2.6.1. Giới thiệu 40
2.6.2. Cấu trúc Ontology trong PIP 41
2.7. TANGRAM 42
2.7.1. Giới thiệu 42
2.7.2. Cấu trúc Ontology trong TANGRAM 44
2.8. Áp dụng các kỹ thuật xử lý ontology từ các hệ thống trên 47
2.8.1. Kỹ thuật tích hợp và truy vấn trên nhiều ontology từ PIP 47
2.8.2. Kỹ thuật tạo siêu dữ liệu của TANGRAM 50
2.9. Kết chương 52
CHƯƠNG 3 53
KIẾN TRÚC ONTOLOGY TỔNG QUÁT CHO CÁC 53

HỆ THỐNG HỖ TRỢ GIÁO DỤC CỘNG ĐỒNG 53
3.1. Giới thiệu 53
3.2. Cổng thông tin giáo dục cộng đồng BKEduPortal 53
3.2.1. Kiến trúc cổng thông tin BKEduPortal 54
3.2.2. Hệ quản trị nội dung 55
3.2.3. Chia sẻ tài liệu học tập và tri thức 56
3.2.4. Thông tin giáo dục và đào tạo 60
Phân hệ ứng dụng Thông tin giáo dục đào tạo [23] được xây dựng nhằm cung cấp,
chia sẻ các thông tin về quản lý đào tạo cho cộng đồng người sử dụng như: thông tin
về các trường, ngành nghề đào tạo và điểm chuẩn tuyển sinh đầu vào của các trường
theo hai phương pháp: (1) duyệt theo thư mục phân cấp; và (2) tìm kiếm kết hợp từ
khóa và ngữ nghĩa 60
3.2.5. Phân hệ ứng dụng Tư vấn giáo dục 62
3.2.6. Mạng cộng đồng về giáo dục 63
3.2.7. Đặc điểm của các phân hệ ứng dụng trong BKEduPortal 65
3.3. Kiến trúc ontology cho các cổng thông tin giáo dục cộng đồng 66
3.3.1. Vai trò của ontology trong các cổng thông tin giáo dục cộng đồng 66
3.3.2. Thiết kế kiến trúc ontology tổng quát 68
3.4. Kết chương 74
CHƯƠNG 4 75
THIẾT KẾ ONTOLOGY CHO CỔNG THÔNG TIN 75
GIÁO DỤC BKEDUPORTAL 75
4.1. Mô hình biểu diễn ontology 75
4.1.1. Mô hình biểu diễn 75
4.1.2. Các kỹ thuật biểu diễn và ứng dụng mô hình 78
4.2. Ontology tổng quát - BKOnto 83
Bảng 4.1: Các Namespace trong BKOnto 84
Bảng 4.2: Các lớp và thuộc tính trong BKOnto 85
4.2.1. Lớp Person 85
4.2.2. Lớp Documentation 85

4.2.3. Lớp Topic 87
4.3. Các ontology cho ứng dụng chia sẻ tài liệu học tập 88
4.3.1. Xây dựng ontology cho ứng dụng chia sẻ tài liệu học tập 88
4.3.2. Ontology ứng dụng – BKDoc 89
4.3.3. Ontology lĩnh vực BKICT 91
4.3.4. Một kịch bản ứng dụng tìm kiếm tài liệu học tập 92
4.4. Kết chương 94
CHƯƠNG 5. GIAO DIỆN LẬP TRÌNH (API) DỰA TRÊN JENA 95
5.1. Mục tiêu 95
5.2. Jena API Framework 95
5.2.1. Mô hình phân cấp Jena API 95
5.2.2. Xử lý Ontology Model 96
5.2.3. Xử lý lớp 97
5.2.4. Xử lý thuộc tính 97
5.2.5. Xử lý thể hiện 98
5.2.6. Truy vấn với Jena 98
5.2.7. Suy diễn 99
5.2.8. Gắn ontology vào cơ sở dữ liệu 100
5.3. Mở rộng Jena API 100
5.3.1. Lý do cần mở rộng Jena API 100
5.3.2. Thiết kế các Jena API mở rộng 101
5.4. Kết chương 106
KẾT LUẬN 107
Các vấn đã giải quyết được 107
Hướng phát triển của đề tài 107
1. Mở đầu: 12
2. Mục tiêu và pham vi nghiên cứu: 12
3. Các phương pháp giải quyết: 12
1.4. Kết quả đạt được: 12
MỞ ĐẦU

Đặt vấn đề
Trong những năm qua, công nghệ thông tin, đặc biệt là Internet, đã góp phần rất
lớn vào việc xây dựng và đổi mới các hệ thống hỗ trợ giáo dục với các khóa học trực
tuyến, các kho chứa tài liệu học tập, đáp ứng được những tiêu chí giáo dục mới: học
mọi nơi, mọi lúc, học theo sở thích, … Tuy nhiên, các hệ thống giáo dục đang gặp phải
một số khó khăn như: (i) thiết kế, phát triển, quản lý, chia sẻ các tài nguyên giáo dục;
(ii) phân phối các dịch vụ giáo dục và tài liệu học tập cho từng cá nhân dựa trên nhu
cầu, sở thích, … Do các tài nguyên học tập phân tán trên nhiều nguồn và được đặc tả
theo nhiều dạng thông tin và từ vựng khác nhau, việc quản lý tài nguyên trở nên vô
cùng khó khăn và tốn kém. Để chia sẻ, trao đổi tài liệu học tập, một số tiêu chuẩn mô tả
tài nguyên được đề xuất như LOM, IMS, Dublin Core, nhưng các chuẩn này chỉ đơn
thuần tạo siêu dữ liệu với các trường mô tả đơn giản như tiêu đề, bản quyền, tác giả,
và tập từ vựng riêng biệt còn hạn chế. Do đó các chuẩn vẫn chưa đủ khả năng diễn giải,
kết hợp tài nguyên theo ngữ nghĩa nội dung, và không cho phép chia sẻ hoặc tái sử
dụng các tài nguyên giáo dục một cách dễ dàng.
Semantic Web là sự mở rộng của World Wide Web bằng cách thêm vào các mô tả
ngữ nghĩa của thông tin dưới dạng mà chương trình máy tính có thể “hiểu” và do vậy
cho phép xử lý thông tin hiệu quả hơn [1]. Cơ chế cho phép diễn giải, chia sẻ và trao
đổi ngữ nghĩa của thông tin là ontology. Theo [2], trong các hệ thống hỗ trợ giáo dục,
ontology được sử dụng chủ yếu cho 3 mục đích: (i) xây dựng cấu trúc, diễn giải ngữ
nghĩa, đánh chỉ mục, tìm kiếm tài nguyên học tập; (ii) biểu diễn và lưu trữ tri thức về
các lĩnh vực cũng như các đối tượng cần thiết trong ứng dụng; và (iii) xây dựng các
phương pháp giảng dạy, các hoạt động học tập ứng với mục tiêu, sở thích, năng lực của
từng cá nhân.
Hiện nay đã có nhiều hệ thống hỗ trợ giáo dục được xây dựng theo cách tiếp cận
sử dụng ontology và các công nghệ Web có ngữ nghĩa. Dựa trên các tính năng của hệ
thống mà ta có thể phân loại chúng thành 3 nhóm chủ yếu sau: (i) các hệ thống chia sẻ
tài nguyên giáo dục trực tuyến; (ii) các mạng chia sẻ ngang hàng về tài nguyên giáo
dục; và (iii) các hệ thống E-Learning dựa trên ontology. Xu hướng phát triển của các hệ
1

thống này trong tương lai là hướng về cộng đồng người sử dụng và áp dụng kết hợp các
công nghệ của Web xã hội 2.0 và công nghệ Web có ngữ nghĩa.
Nội dung của luận văn đề cập đến một cách tiếp cận mới trong việc xây dựng các
hệ thống hỗ trợ giáo dục cộng đồng dựa trên nguyên tắc của một mạng xã hội. Trong
đó cộng đồng người sử dụng đóng vai trò hạt nhân, cung cấp các nguồn tài nguyên
cũng như tri thức được chia sẻ. Người sử dụng không chỉ đơn thuần “thụ động” sử
dụng tài nguyên mà còn là nguồn cung cấp tài nguyên chính cho hệ thống. Có như vậy
thì nguồn tài nguyên mới phong phú và đa dạng. Ontology được áp dụng trong các hệ
thống này với 3 mục đích sau: (i) mô hình hóa tri thức chia sẻ trong cộng đồng về một
lĩnh vực; (ii) tổ chức đánh chỉ mục hỗ trợ tìm kiếm theo ngữ nghĩa các tài nguyên học
tập; (iii) mô hình hóa một mạng xã hội thể hiện sự đóng góp chia sẻ của các cá nhân
trong cộng đồng.
Mục tiêu, nhiệm vụ:
Mục tiêu của luận văn là xây dựng một kiến trúc ontology tổng quát có thể áp
dụng cho các hệ thống hỗ trợ giáo dục cộng đồng. Trong các hệ thống này, cộng đồng
người sử dụng đóng vai trò quyết định cho sự tồn tại và phát triển. Qua việc phân tích,
đánh giá một số hệ thống hỗ trợ giáo dục phổ biến hiện đang được ứng dụng và dựa
trên kinh nghiệm phân tích, mô hình hóa một cổng thông tin giáo dục cộng đồng tên là
BKEduPortal, xem xét áp dụng công nghệ Web 2.0 và các công nghệ Web có ngữ
nghĩa, đặc biệt là ontology để đưa ra một kiến trúc ontology tổng quát cho việc xây
dựng BKEduPortal nói riêng và các hệ thống hỗ trợ giáo dục cộng đồng nói chung.
Các phương pháp giải quyết:
Qua việc phân tích, đánh giá các phân hệ ứng dụng trong BKEduPortal và một số
các hệ thống hỗ trợ giáo dục khác, luận văn đã xây dựng một kiến trúc ontology tổng
quát áp dụng cho các hệ thống hỗ trợ giáo dục cộng đồng. Kiến trúc ontology tổng quát
được thiết kế theo nguyên tắc phân tầng và phân chia nhiều thành phần (module), gồm
các ontology thành phần được kết hợp với nhau: tầng thứ nhất là một ontology tổng
quát (upper-level ontology) và ở tầng thứ hai gồm một số ontology ứng dụng, lĩnh vực
phát triển từ ontology tổng quát tùy theo yêu cầu của ứng dụng cụ thể. Luận văn trình
bày một số kỹ thuật thiết kế và ứng dụng kiến trúc ontology đã đề xuất như tiến trình

thiết kế ontology, kỹ thuật tích hợp các ontology thành phần, kỹ thuật tạo siêu dữ liệu
2
RDF và kỹ thuật truy vấn dữ liệu trên nhiều ontology. Luận văn cũng xây dựng và
phát triển một mô hình ontology áp dụng cho cổng thông tin giáo dục cộng đồng
BKEduPortal. Ngoài ra, luận văn đã mở rộng các lớp giao diện Jena API theo kiến trúc
ontology tổng quát để trình ứng dụng Semantic Web của người sử dụng có thể giao tiếp
dễ dàng với ontology hơn.
Cấu trúc luận văn:
Nội dung luận văn gồm phần mở đầu, năm chương nội dung, phần kết luận, các
phụ lục và tài liệu tham khảo. Các bước phân tích giải quyết vấn đề được trình bày
trong luận văn theo trình tự sau:
 Chương I: Trình bày lý thuyết về Web có ngữ nghĩa, ontology và các thế hệ
phát triển của World Wide Web.
 Chương II: Khảo sát một số hệ thống giáo dục có sử dụng ontology và công
nghệ Web có ngữ nghĩa và rút ra một số kỹ thuật có thể áp dụng trong việc thiết kế
ontology và xây dựng cổng thông tin giáo dục.
 Chương III: Kiến trúc ontology tổng quát cho các hệ thống hỗ trợ giáo dục
cộng đồng. Qua việc phân tích đánh giá các hệ thống giáo dục và một mô hình kiến
trúc cổng thông tin giáo dục cộng đồng BKEduPortal, thiết kế một kiến trúc ontology
tổng quát áp dụng cho các hệ thống giáo dục cộng đồng.
 Chương IV: Xây dựng ontology cho Cổng thông tin BKEduPortal. Đề xuất
một mô hình biểu diễn ontology dựa trên ngôn ngữ OWL Full.
 Chương V: Giao diện lập trình (API) dựa trên Jena API Framework.
 Kết luận. Tổng kết lại các kết quả đã thực hiện. Đưa ra hướng phát triển của
luận văn trong tương lai.
 Phụ lục: Một số đoạn mã nguồn OWL của ontology tổng quát.
Tác giả luận văn bày tỏ lòng kính trọng và biết ơn sâu sắc tới TS. Tạ Tuấn Anh -
Người thầy đã tận tình hướng dẫn và tạo điều kiện cho tác giả thực tế tại các hội thảo,
dự án để tác giả có thể hoàn thành luận văn. Tác giả xin chân thành cảm ơn các Thầy
Cô, bè bạn và người thân đã động viên và giúp đỡ trong quá trình thực hiện đề tài.

Do trình độ có hạn nên luận văn không tránh khỏi sai sót. Tác giả kính mong nhận
được những góp ý để hoàn thiện luận văn.
Hà Nội, tháng 10 năm 2008
3
CHƯƠNG 1. WEB CÓ NGỮ NGHĨA VÀ ONTOLOGY
1.1. Các thế hệ Web
Mục tiêu đầu tiên của những người tiên phong xây dựng Internet là nhằm kết nối
các nhà nghiên cứu và các máy tính của họ với nhau để có thể chia sẻ thông tin hiệu
quả. Khi bổ sung World Wide Web năm 1990, Tim Berners-Lee cũng nhằm mục tiêu
tạo phương tiện cho phép người dùng tự do đưa thông tin lên Internet và dễ dàng chia
sẻ với mọi người. Tuy nhiên, sau đó Web đã phát triển theo hướng hơi khác với mục
đích ban đầu.
1.1.1. Web 1.0
Web 1.0 chủ yếu gồm các website “đóng” của các hãng thông tấn hoặc các công
ty nhằm mục đích tiếp cận độc giả hay khách hàng hiệu quả hơn và đóng vai trò là
phương tiện phát tin hơn là phương tiện chia sẻ thông tin.
Hình 1.1: Biểu diễn nội dung web 1.0
Web 1.0 bao gồm tài liệu (nội dung trang web) và liên kết giữa các tài liệu (hình
1.1). Một trang Web có thể được truy cập theo 1 URL (uniform resource locator) thông
qua giao thức truyền thông (HTTP) và trình duyệt web (Internet Explorer, Netscape,
Mozilla, ). Hiện nay tài liệu của Web 1.0 chủ yếu được viết bởi ngôn ngữ HTML,
một ngôn ngữ hữu dụng cho biểu diễn, trang trí và hiển thị tài liệu trên trình duyệt web.
Thời kỳ cực thịnh của Web 1.0 là những năm 1995-2004.
4
Các đặc điểm của Web 1.0 là:
 Các trang Web 1.0 đều ở dạng tĩnh: gần như chỉ cho phép đọc (read-only
web).
 Website 1.0 không có tính tương tác: người dùng chỉ có thể ghé thăm trang
web nhưng không thể đóng góp gì vào nội dung trang web.
 Ứng dụng trên Web 1.0 đều có bản quyền.

1.1.2. Web 2.0
Tim Berners-Lee, trong bài phỏng vấn, nhấn mạnh rằng: web mà ông tạo ra mặc
nhiên đã là web 2.0 vì web chính là quan hệ “người-với-người”. Khi nói tới web 2.0
người ta nhấn mạnh tới ảnh hưởng về xã hội của web hơn là các yếu tố kỹ thuật. Do đó
Web 2.0 còn được gọi là Web xã hội (Social Web) [3]. Web 2.0 tạo cơ hội cho người
dùng sử dụng web không còn là những người tiếp nhận thông tin thụ động mà là người
tham gia tạo và đóng góp nội dung Web. Đó là các trang web có thể “đọc và viết” (read-
and-write), tất nhiên phải hiểu theo nghĩa rộng của từ “viết” bao gồm cả hình ảnh, video
và nhiều thứ khác tạo nên các nội dung web đa phương tiện ngày nay (xem hình 1.2).
Hình 1.2: Sự phát triển của Web 2.0
Hàng loạt công nghệ mới được phát triển nhằm làm cho ứng dụng trên web "mạnh"
hơn, nhanh hơn và dễ sử dụng hơn, được xem là nền tảng của Web 2.0. Kiến trúc công nghệ
của Web 2.0 hiện vẫn đang phát triển nhưng cơ bản bao gồm: phần mềm máy chủ, cơ chế
cung cấp nội dung, giao thức truyền thông, trình duyệt và ứng dụng.
Nhưng công nghệ chỉ là "bề nổi" của Web 2.0, chính cộng đồng người dùng mới
là yếu tố nền tảng tạo nên thế hệ web mới. Việc chuyển từ "duyệt và xem" sang "tham
gia" là cuộc cách mạng thực sự, dĩ nhiên nhờ có sự phát triển công nghệ giúp hiện thực
5
khả năng này nhưng ở đây muốn nhấn mạnh đến hành vi của người dùng đối với Web.
Về cơ bản, Web 2.0 trao quyền nhiều hơn cho người dùng và tạo nên môi trường liên
kết chặt chẽ các cá nhân với nhau. Giờ đây có nhiều ví dụ cho thấy cộng đồng người
dùng có thể đóng góp thông tin giá trị khi họ có phương tiện thích hợp. Wikipedia có lẽ
là ví dụ nổi tiếng nhất. Ngoài ra còn có những ví dụ khác như các site Reddit và Digg
để cho người dùng quyết định thông tin gì là quan trọng, hay del.icio.us cho phép mọi
người chia sẻ những địa chỉ web hay.
1.1.3. Web có ngữ nghĩa (Semantic Web)
Với nhiều tỷ trang Web phân bố trên hầu hết các quốc gia, World Wide Web
(WWW) là môi trường tốt cho việc biểu diễn và truy cập thông tin dạng số. Tuy nhiên,
lượng thông tin khổng lồ đó cũng tạo ra những khó khăn lớn trong việc tìm kiếm, chia sẻ
thông tin trên WWW. Hiện nay, thông tin trên WWW được biểu diễn chủ yếu dưới dạng

ngôn ngữ tự nhiên với mục đích hiển thị và trang trí cho người đọc (các trang Web trên
ngôn ngữ HTML). Nhưng con người chỉ có thể xử lý được một phần rất nhỏ trong lượng
thông tin khổng lồ trên WWW, nên cần máy tính hỗ trợ xử lý và phân tích nội dung Web.
Tuy nhiên, cách biểu diễn thông tin trên Web hiện tại chỉ phù hợp với con người và gây ra
nhiều khó khăn cho các chương trình làm nhiệm vụ hỗ trợ, tìm kiếm, chia sẻ và trao đổi
thông tin. Trong các cơ chế tìm kiếm theo từ khóa như Google, Yahoo hay AltaVista, kết
quả thông tin trả về rất lớn và độ chính xác thấp. Ví dụ, muốn tìm ảnh về thủ đô Paris, một
số kết quả được tìm bởi Google Image Search như trong hình 1.3.
Hình 1.3: Kết quả tìm theo từ khóa Paris - sử dụng Google Image Search
Dễ thấy rằng cơ chế tìm kiếm không phân biệt được ngữ nghĩa nội dung của kết
quả: một số ảnh liên quan đến thủ đô Paris, còn một số khác lại là ảnh chụp ca sĩ Paris
Hilton. Vấn đề cần giải quyết là san lấp lỗ hổng tri thức giữa máy tính và con người:
6
những gì máy tính hiểu và có thể thực hiện thì hạn chế rất nhiều so với tri thức của con
người. Chương trình máy tính không xử lý và biên dịch được thông tin và dữ liệu về
ngữ nghĩa theo cách biểu diễn dưới dạng ngôn ngữ tự nhiên thích hợp với con người.
Một trong số các lý do là các trang Web không chứa thông tin mô tả nội dung, ví dụ
như chủ đề, lĩnh vực liên quan đến thông tin trên Web.
Để giải quyết vấn đề trên, nhiều tổ chức nghiên cứu và kinh doanh đã phối hợp
nghiên cứu và phát triển Web có ngữ nghĩa (Semantic Web). Theo định nghĩa của Tim
Berners Lee, giám đốc tổ chức World Wide Web Consortium (),
đồng thời là cha đẻ của WWW, Web có ngữ nghĩa là sự mở rộng của WWW hiện tại
bằng cách thêm vào các mô tả ý nghĩa (hay ngữ nghĩa) của thông tin dưới dạng mà
chương trình máy tính có thể “hiểu” và do vậy cho phép xử lý thông tin hiệu quả hơn
[1]. Nói cách khác, Web có ngữ nghĩa là Web thế hệ mới, biểu diễn thông tin không chỉ
với mục đích hiển thị, mà còn xử lý tự động, tích hợp và tái sử dụng trong nhiều ứng
dụng. Như vậy, Web có ngữ nghĩa sẽ bao gồm các thông tin (trang Web) được biểu
diễn theo cách truyền thống cùng với ngữ nghĩa của các thông tin này được biểu diễn
một cách tường minh. Việc bổ sung phần ngữ nghĩa nhằm cung cấp thêm tri thức cho
các chương trình (agent), giúp nâng cao chất lượng phân loại, tìm kiếm, trao đổi thông

tin. Hình 1.4 minh họa sự phát triển Semantic Web từ WWW.
Hình 1.4: Phát triển Web (hình bên phải) có ngữ nghĩa từ Web 1.0 (bên trái)
Các chủ đề liên quan đến Semantic Web bao gồm công nghệ, khái niệm (ngữ
nghĩa) và ứng dụng (hình 1.5). Các chủ đề quan trọng nhất là metadata (siêu dữ liệu),
ontology và các ngôn ngữ, công cụ, phương thức phát triển. Trong đó ontology được
xem là trục xương sống (backbone) của Semantic Web.
7
Hình 1.5: Các chủ đề liên quan đến Semantic Web
1.1.4. Web 3.0 – Web xã hội có ngữ nghĩa
Web xã hội có ngữ nghĩa (Social Semantic Web) là sự kết hợp của các công nghệ
Web 2.0 và Web có ngữ nghĩa [3] (hình 1.6). Sử dụng công nghệ Web có ngữ nghĩa để
xây dựng các dịch vụ hỗ trợ cộng đồng trực tuyến. Ngược lại, cộng đồng trực tuyến
đóng góp dữ liệu cho Web có ngữ nghĩa thông qua các dịch vụ Web ngữ nghĩa hướng
cộng đồng như các dịch vụ mạng xã hội.

Hình 1.6: Xu
hướng phát triển của thế hệ Web mới
1.2. Web có ngữ nghĩa (Semantic Web)
1.2.1. Kiến trúc Semantic Web
Semantic Web bao gồm tập hợp các công nghệ, công cụ và tiêu chuẩn, hình thành
một cơ sở hạ tầng để hỗ trợ xây dựng Web kết hợp ngữ nghĩa. Kiến trúc Semantic Web
được hình thành bởi một dãy các chuẩn nhóm vào một cấu trúc và biểu diễn mỗi quan
hệ giữa các chuẩn này. Hình 1.7 minh họa các tầng riêng biệt trong kiến trúc Semantic
Web. Tiến trình phát triển Semantic Web được thực hiện theo từng bước, mỗi bước
thuộc về một tầng trong kiến trúc, và được xây dựng dựa trên tầng liền kề bên dưới.
8
Hình 1.7: Kiến trúc phân tầng của Semantic Web (Berners_Lee – 2006)
1.2.1.1. Tầng Unicode và URI
Thành phần Unicode đảm bảo việc sử dụng tập ký tự quốc tế và thành phần URI
(Uniform Resource Identifier) cung cấp phương tiện nhằm định danh các đối tượng

trong Semantic Web. URI đơn giản chỉ là một định danh Web giống như các chuỗi bắt
đầu bằng “http” hay “fpt”. Ví dụ, có một quyển sách với tiêu đề “Oracle Database
Management”, có URI như sau:
“ />Một dạng thức của URI là URL (Uniform Resource Locator). Một URL là địa chỉ
cho phép thăm một trang Web, như:
1.2.1.2. Tầng XML, XML Schema và Namespace
XML là ngôn ngữ cho phép viết tài liệu Web có cấu trúc với một từ vựng được định
nghĩa bởi người sử dụng cuối. XML đặc biệt phù hợp cho việc gửi tài liệu trên Web và
chuyển đổi dữ liệu giữa các ứng dụng có cùng cấu trúc tài liệu. Cấu trúc XML là một cây
cân bằng với tập các thẻ mở và đóng và giá trị. Ưu điểm của XML là cấu trúc đơn giản,
mềm dẻo, dễ xây dựng tài liệu với cấu trúc tùy ý. Nhưng chính tính mềm dẻo này lại làm
chương trình máy tính xử lý khó khăn. XML không cung cấp ngữ nghĩa cho các thẻ, như
trong ví dụ trên, máy tính không hiểu tên thẻ firname_name hay phone có nghĩa là gì.
XML Schema là ngôn ngữ mô tả cấu trúc của tài liệu XML. Đặc điểm của XML
Schema là cú pháp của nó dựa trên chính XML, và có thuận lợi là không chỉ tăng khả năng
đọc, mà còn cho phép tái sử dụng công nghệ và cải tiến lược đồ cấu trúc XML đã có.
Một trong số điểm nổi bật của XML là có thể truy cập thông tin từ nhiều nguồn
khác nhau; về mặt kỹ thuật, một tài liệu XML có thể sử dụng nhiều lược đồ cấu trúc.
9
Nhưng vì mỗi cấu của tài liệu được phát triển độc lập, do đó xảy ra xung đột về tên.
Nếu lược đồ A và B cùng định nghĩa một kiểu phần tử có tên là e theo cách khác nhau,
bộ phân tích sẽ không xác định được phần tử e thuộc về lược đồ nào. Giải pháp để
tránh sự nhập nhằng này rất đơn giản: sử dụng hai namespace khác nhau cho mỗi lược
đồ. Namespace khai báo theo hình thức:
xmlns:prefix = “location”
1.2.1.3. RDF và RDF Schema
RDF là mô hình dữ liệu cơ bản, tương tự mô hình quan hệ - thực thể (entity –
relationship) để viết các phát biểu về tài nguyên Web. Mô hình dữ liệu RDF không phụ
thuộc vào XML nhưng sử dụng cú pháp dựa trên XML. Tuy nhiên, do RDF chỉ đơn
thuần mô tả các phát biểu về tài nguyên Web mà không mô tả ngữ nghĩa của các thành

phần trong phát biểu. Do đó một ngôn ngữ lược đồ định nghĩa thuật ngữ trong mô hình
dữ liệu RDF gọi là RDF Schema.
RDF Schema là mô hình khởi đầu cho việc tổ chức phân cấp các đối tượng Web.
Các thành phần chính trong RDF Schema là lớp, thuộc tính, lớp con, thuộc tính con và
các giới hạn về lĩnh vực (domain) và giá trị (range). Ngôn ngữ RDF Schema cho phép
xây dựng từ vựng mô tả các lớp và thuộc tính của tài nguyên RDF. RDF Schema sử
dụng cú pháp của RDF.
1.2.1.4. Tầng Ontology
Do RDF Schema có một số hạn chế khi biểu diễn các khái niệm trong lĩnh vực, ví
dụ, không biểu diễn được 2 lớp tách rời (disjoint), không kết hợp được nhiều lớp như
hợp, giao, lấy phần bù, nên cần các ngôn ngữ ontology mạnh hơn để mở rộng RDF
Schema và cho phép biểu diễn các mối quan hệ phức tạp hơn giữa các đối tượng Web.
Ontology có thể đáp ứng các hạn chế của RDF Schema.
Ontology là một tập các khái niệm và quan hệ giữa các khái niệm được định
nghĩa cho một lĩnh vực nào đó nhằm mục đích biểu diễn và trao đổi thông tin. Thông
thường, quan hệ bao gồm sự phân cấp giữa các lớp. Sự phân cấp xác định nếu lớp C là
lớp con của lớp C’ thì mỗi đối tượng trong C cũng thuộc về C’. Ngoại trừ phân cấp lớp,
ontology còn chứa thông tin như thuộc tính của lớp, các phép tính toán logic trên các
lớp, quan hệ giữa các lớp, … Trong ứng dụng Semantic Web, ontology hỗ trợ chia sẻ
và tái sử dụng tri thức về một miền lĩnh vực.
10
1.2.1.5. Tầng Logic
Tầng Logic được sử dụng để tăng cường cho ngôn ngữ ontology bằng cách khai
báo các nguyên tắc logic và cho phép chương trình máy tính suy diễn dựa trên những
nguyên tắc này. Ví dụ, một công ty quyết định nếu nhân viên bán được hơn 100 sản
phẩm thì sẽ là thành viên của Super Salesman Club. Chương trình máy tính thông minh
có thể hiểu luật logic này để tạo diễ dịch đơn giản “John đã bán 102 sản phẩm, do đó
John là thành viên của Super Salesman Club”.
1.2.1.6. Tầng Proof
Tầng Proof gồm tiến trình suy luận cũng như biểu diễn kiểm chứng trong các

ngôn ngữ Web (từ các tầng thấp hơn) và xác nhận việc kiểm chứng đó.
1.2.1.7. Tầng Trust
Tầng Trust được sử dụng cho xác nhận chữ ký điện tử và một số kiểu tri thức
khác trong dịch vụ Semantic Web, dựa trên tư vấn hoặc đánh giá về độ tin cậy dịch vụ
của agent.
1.2.2. Siêu dữ liệu
Siêu dữ liệu có thể được định nghĩa là “dữ liệu mô tả dữ liệu” [5]. Mục đích của
việc kết hợp siêu dữ liệu với các nguồn dữ liệu là hỗ trợ tìm kiếm dữ liệu và thông tin
liên quan. Có một số mức siêu dữ liệu được kết hợp để biểu diễn nhiều mặt của dữ liệu
bao gồm cú pháp, cấu trúc và ngữ nghĩa theo ngữ cảnh. Trong Semantic Web, tài liệu
được đánh dấu với thẻ siêu dữ liệu ngữ nghĩa, để máy tính có thể hiểu nội dung tài liệu.
1.2.2.1. Siêu dữ liệu cú pháp (syntactic metadata)
Hình thức đơn giản nhất của siêu dữ liệu là siêu dữ liệu cú pháp, mô tả thông tin
không ngữ cảnh về nội dung và đưa ra thông tin rất chung chung như kích thước, ngày
tạo, nơi chứa tài liệu. Siêu dữ liệu cú pháp gắn thẻ hoặc nhãn vào dữ liệu. Ví dụ:
<name> = “report.pdf”
<creation> = “30-09-2005”
<modified> = “15-10-2005”
<size> = 2048
1.2.2.2. Siêu dữ liệu cấu trúc (structure metadata)
Siêu dữ liệu cấu trúc tạo thông tin về cấu trúc của nội dung. Số lượng kiểu siêu dữ
liệu này biến đổi rất lớn, phụ thuộc vào kiểu tài liệu. Siêu dữ liệu cấu trúc mô tả cách
nhóm và đặt dữ liệu theo cách sắp xếp có thứ tự với dữ liệu khác. Trong ví dụ dưới đây,
cấu trúc DTD mô tả một tài liệu XML:
11
<!ELEMENT contacts (contact*)>
<!ELEMENT contact (name, birthdate)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT birthdate (#PCDATA)>
1.2.2.3. Siêu dữ liệu ngữ nghĩa (semantic metadata)

Siêu dữ liệu ngữ nghĩa bổ sung các quan hệ, luật và ràng buộc vào siêu dữ liệu cú
pháp và cấu trúc, mô tả thông tin liên quan ngữ cảnh hoặc về lĩnh vực cụ thể của nội
dung dựa trên một mô hình siêu dữ liệu. Trong Semantic Web, mô hình siêu dữ liệu
chính là ontology.
Siêu dữ liệu ngữ nghĩa hỗ trợ tìm kiếm có độ chính xác cao, và quan trọng hơn,
cho phép kết hợp giữa nhiều nguồn dữ liệu không đồng nhất. Siêu dữ liệu ngữ nghĩa
được sử dụng để đưa ngữ nghĩa vào các thành phần dữ liệu đã được mô tả bởi siêu dữ
liệu cú pháp và cấu trúc. Các thành phần siêu dữ liệu này cho phép các chương trình
máy tính “hiểu” được ngữ nghĩa của dữ liệu. Sau khi tạo mô hình siêu dữ liệu về dữ
liệu và các quan hệ, có thể thực hiện suy diễn để đưa ra kết luận logic dựa trên mô hình
siêu dữ liệu đó. Hình 1.8 mô tả các kiểu siêu dữ liệu.
Hình 1.8: Các kiểu siêu dữ liệu
1.2.3. Các môi trường phát triển Semantic Web
Hiện nay sẵn có một số framework hỗ trợ xử lý các ontology OWL. Luận văn chỉ
giới thiệu ngắn gọn ba framework phổ biến nhất đang được cộng đồng phát triển sử dụng
là Jena framework, Protégé-OWL API và WonderWeb OWL API [5]. Cả ba framework
trên đều được phát triển dựa trên ngôn ngữ lập trình Java. Các framework là mã nguồn mở,
hỗ trợ tích hợp dễ dàng hơn các thành phần của Semantic Web vào các dự án (project).
12
1.2.3.1. Jena API
Jena là một Java framework xây dựng các ứng dụng Semantic Web, được phát
triển bởi HP Lab Semantic Web Programme. Jena tạo ra môi trường lập trình cho RDF,
RDFS và OWL, bao gồm một mô tơ suy diễn trên cơ sở các luật và ngôn ngữ truy vấn
vào tài liệu RDF gọi là RDQL. Jena cung cấp các hàm giao diện API xử lý ontology
được viết trên các ngôn ngữ như RDFS, DAML+OIL, OWL. Jena OWL API hỗ trợ cả
3 ngôn ngữ OWL là OWL Lite, OWLFull, OWL DL. Sau khi xác định URI cho OWL
ontology, Jena phân tích và tạo ra một model cho ontology. Với model này, có thể xử
lý ontology như tạo ra các lớp, thuộc tính hoặc thể hiện mới. Việc phân tích tài liệu
OWL có thể tiêu tốn tài nguyên, đặc biệt với ontology lớn. Để khắc phục vấn đề này,
Jena cung cấp một kỹ thuật lưu trữ và triệu gọi ontology model từ cơ sở dữ liệu.

Có 3 cơ chế suy diễn với mức độ suy diễn khác nhau có thể được gắn vào một
ontology model. Một tính chất thú vị của Jena là cho phép người phát triển có thể viết
các luật suy diễn của riêng họ để xác định chính xác nhất những gì họ mong muốn.
Cũng có thể kết hợp Jena với các mô tơ suy diễn khác như RACER, FaCT và Pellet.
1.2.3.2. Protégé OWL API
Protégé OWL API là một thư viện Java nguồn mở cho RDFS và OWL, cung cấp
cho cộng đồng người sử dụng các công cụ thích hợp để xây dựng các model lĩnh vực
và ứng dụng dựa trên cơ sở tri thức và ontology. Các hàm API trong thư viện là các lớp
và phương thức nạp, lưu trữ các file OWL, truy vấn và xử lý mô hình OWL và cuối
cùng là xử lý suy diễn. Protégé API là một phần thuộc Protégé OWL Plug-in, mở rộng
Protégé Core System, cho phép người sử dụng phát triển OWL plug-in hoặc các trình
ứng dụng Semantic Web. Protégé OWL API sử dụng Jena framework để phân tích và
suy diễn trong các ontology OWL, và cung cấp giao diện lập trình dựa trên thư viện
Java Swing. Kiến trúc OWL Protégé API theo khuôn mẫu model-view, cho phép người
sử dụng viết GUI (view) biểu diễn ontology (model).
1.2.3.3. WonderWeb OWL API
WonderWeb OWL API là một API cung cấp các dịch vụ lập trình xử lý ontology
OWL. WonderWeb API cũng có thể suy diễn ra tri thức mới sau khi gắn mô tơ suy
diễn vào ontology model. Một số dự án đã sử dụng thành công WonderWeb API như
Swoop (SWOOP 2006) và Smore (SMORE 2006), cho thấy WonderWeb API đủ khả
năng phát triển ứng dụng Semantic Web. Nhược điểm chính của WonderWeb là thiếu
tài liệu hướng dẫn sử dụng và ví dụ trên Web.
13
1.2.4. Semantic Web Portal
Cũng như Semantic Web là sự mở rộng của Web, Semantic Web Portal được
phát triển từ Web Portal. Theo [6, 7], hiện tại có một số loại Web Portal như sau:
 Web Portal là web site thu thập thông tin phục vụ cho một nhóm người có
cùng mối quan tâm.
 Semantic Web Portal là một Web Portal được xây dựng trên công nghệ
Semantic Web.

 Community Semantic Web Portal là Semantic Web Portal, được duy trì bởi
một cộng đồng người sử dụng.
Bản chất phân tán, không đồng nhất của Web dẫn tới nhu cầu phải có Web Portal,
các web site hỗ trợ tập hợp các dịch vụ Web từ nhiều nơi và cung cấp chức năng tìm
kiếm thông tin. Tương tự, Semantic Web Portal có thể được xem như nơi tập hợp các
nguồn tài nguyên tri thức phân tán trên nhiều vùng. Tuy nhiên, khác với Web Portal,
Semantic Web Portal “thông minh hơn”, và thực hiện suy luận thông minh dựa trên các
điều kiện. Semantic Portal cung cấp các dịch vụ gồm trình duyệt web dựa trên ngữ
nghĩa, tìm kiếm ngữ nghĩa và trả lời câu hỏi thông minh. Trình duyệt web ngữ nghĩa
xác định các siêu dữ liệu và tập trung vào giao diện point-and-click từ việc kết hợp
thông tin liên quan. Tìm kiếm ngữ nghĩa tăng cường các cơ chế tìm kiếm hiện tại với
ngữ nghĩa, chuyển từ việc tìm kiếm dựa trên so khớp từ khóa đến việc thêm vào thông
tin ngữ nghĩa, cho phép dễ dàng loại bỏ thông tin không liên quan từ tập kết quả. Trả
lời câu hỏi thông minh là kỹ thuật đưa ra câu trả lời chính xác cho câu hỏi cụ thể. Ví
dụ, đưa ra câu hỏi “Quốc gia nào có tỉ lệ lạm phát cao nhất năm 2004?”, hệ thống sẽ trả
lời ngay tên quốc gia đó. Tất cả các dịch vụ trên phải nằm ở đỉnh các chức năng như
truy cập vào thông tin ngữ nghĩa.
Có thể xem Semantic Web Portal là nơi tập hợp các dịch vụ Semantic Web, các
dịch vụ ngữ nghĩa suy luận trong hậu cảnh (background) dựa trên nhu cầu cá nhân, trái
ngược với việc người dùng phải tự tìm kiếm thủ công theo cách truyền thống.
1.3. Ontology
1.3.1. Định nghĩa
Từ “ontology” bắt nguồn từ tiếng Hy Lạp là ontos, có nghĩa là “đang tồn tại”, và
logos, nghĩa là “từ”. Trong triết học, ontology là sự nghiên cứu, phân loại những sự vật,
14
hiện tượng đang tồn tại trong lĩnh vực cụ thể. Trong lĩnh vực Web có ngữ nghĩa, đã có
một số định nghĩa về ontology. Tuy nhiên, có sự nhất trí trong cộng đồng nghiên cứu
về vai trò của ontology: đưa ra sự hiểu biết chung về một lĩnh vực nào đó.
Một số định nghĩa đầy đủ nhất của ontology như sau:
 [Uschold and Jasper, 1999] phát biểu rằng, mặc dù mang một số hình thức,

ontology luôn chứa một từ vựng và một số đặc tả về ngữ nghĩa. Ontology chứa các
định nghĩa và quan hệ giữa các khái niệm, hình thành một cấu trúc lĩnh vực và giới hạn
ngữ nghĩa của thuật ngữ trong từ vựng.
 [Neches et al., 1991] định nghĩa ontology không chỉ là một tập các thuật ngữ
và quan hệ về một lĩnh vực mà còn chứa các luật kết hợp các thuật ngữ và quan hệ này
để mở rộng từ vựng.
 [Gruber, 1993] định nghĩa ontology như một đặc tả tường minh của sự “khái
niệm hóa” (conceptualization). Ở đây “khái niệm hóa” về cơ bản là ý niệm về thế giới
của một người hoặc nhóm người; “tường mình” có nghĩa là kiểu và giới hạn của các
khái niệm được định nghĩa tường mình.
 [Weiss, 1999] định nghĩa ontology là một đặc tả của các khái niệm và quan hệ
trong lĩnh vực quan tâm. Ontology không chỉ là phân cấp các lớp mà còn mô tả các quan hệ.
 [Noy and McHuinness, 2001] phát biểu ontology là bản mô tả hình thức rõ
ràng của các khái niệm trong một lĩnh vực, trong đó thuộc tính của mỗi khái niệm mô
tả một số tính chất của khái niệm và ràng buộc.
 [Hendler, 2001], ontology là một tập hợp các thuật ngữ tri thức (knowledge
term), bao gồm từ vựng, các quan hệ ngữ nghĩa, và một số luật suy diễn và logic về
lĩnh vực chủ đề cụ thể [15]. Các thành phần quan trọng nhất trong định nghĩa này là
quan hệ ngữ nghĩa (1) và suy diễn logic (2), trong đó (1) phát biểu rằng ontology xác
định ngữ nghĩa của quan hệ giữa các khái niệm.
Ngoài ra, cộng đồng nghiên cứu phân biệt các ontology dựa trên độ phức tạp của
mô hình biểu diễn ontology.
 Lightweight ontology: chứa các khái niệm, phân cấp khái niệm, mối quan hệ
giữa các khái niệm và các thuộc tính mô tả khái niệm.
 Heavyweight ontology: bổ sung vào lighweight ontology các tiền đề (axioms)
và ràng buộc (constraint).
Trong phạm vi luận văn, ontology là sự đặc tả rõ ràng, hình thức của các khái
niệm được chia sẻ trong lĩnh vực quan tâm.
15

×