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