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

TÌM HIỂU RDF và xây DỰNG PHẦN mềm học từ VỰNG TIẾNG ANH BẰNG HÌNH ẢNH

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 (8.02 MB, 118 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KỸ THUẬT PHẦN MỀM

LUẬN VĂN TỐT NGHIỆP

Tìm hiểu RDF và xây dựng
Phần mềm học từ vựng tiếng Anh bằng hình ảnh

Giảng viên hƣớng dẫn:
ThS. Đỗ Thị Thanh Tuyền
Sinh viên thực hiện:
Hoàng Nam Hải

Mssv: 07520106

Ngô Văn Thi

Mssv: 07520500

TP. Hồ Chí Minh, tháng 8 năm 2012


LỜI MỞ ĐẦU
Việt Nam đã bƣớc vào lời kỳ hội nhập với thế giới khá lâu. Vì vậy, vấn đề sử
dụng tiếng Anh trong giao tiếp là rất quan trọng. Tuy nhiên, việc giáo dục thế nào cho
hiệu quả, hỗ trợ các em tốt hơn trong học tập lại là một vần đề khó khăn mà các nhà
soạn sách giáo khoa luôn đau đầu.
Vì vậy, chúng em xây dựng phần mềm học tiếng Anh bằng hình ảnh để hỗ trợ
việc học và ghi nhớ tiếng Anh của các em tốt hơn. Bằng cách đƣa vào những hình ảnh


mô tả tƣờng minh và sinh động các từ vựng, nó sẽ giúp các em có ấn tƣợng tốt và ghi
nhớ sâu hơn, đồng thời phần mềm này cũng cung cấp cho các thầy cô giáo một công
cụ soạn thảo bài học và bài kiểm tra tốt hơn.
Phần mềm học tiếng Anh bằng hình ảnh này đƣợc xây dựng từ ứng dụng của
Khung mô tả tài nguyên ( Resource Description Framework ) hay RDF vốn là một
thành phần cốt lõi của Web ngữ nghĩa (Web Semantic). Một số nét tiêu biểu của RDF
trong ứng dụng của chúng em là xây dựng một cơ sở dữ liệu hệ cây giữa các từ vựng.
Điều này là rất quan trọng, một ví dụ thú vị là nó giúp các giáo viên chỉ cần soạn thảo
bài kiểm tra mà không cần cho đáp án vì máy đã tự biết đáp án và khi cho thi có thể tự
chấm điểm.
Báo cáo luận văn tốt nghiệp của chúng em đƣợc chia thành bốn chƣơng:
-

Chƣơng 1 : Tổng quan

-

Chƣơng 2 : Tìm hiểu RDF

-

Chƣơng 3 : Phân tích và thiết kế hệ thống

-

Chƣơng 4 : Cài đặt và thử nghiệm
Trân trọng,
Nhóm sinh viên thực hiện đề tài



LỜI CẢM ƠN
Đầu tiên, chúng em xin cảm ơn cô Đỗ Thị Thanh Tuyền đã tận tình hƣớng dẫn
và giúp đỡ chúng em trong suốt quá trình thực hiện luận văn.
Chúng em xin tri ơn các thầy cô trong khoa Công nghệ phần mềm, Trƣờng đại
học Công nghệ thông tin đã hết lòng giảng dạy chúng em trong suốt những năm đại
học, đặt những viên gạch nền móng để chúng em có cơ sở thực hiện luận văn này.
Chúng con xin cám ơn ba mẹ, đã sinh thành, nuôi dƣỡng và động viên chúng
con, tạo mọi điều kiện thuận lợi cho chúng con thực hiện tốt luận văn.
Tuy chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho
phép nhƣng chắc chắn vẫn còn nhiều thiếu sót, chúng em kính mong thầy cô thông
cảm và chỉ bảo giúp chúng em hoàn thiện tốt hơn.

Nhóm sinh viên thực hiện đề tài


NHẬN XÉT
(Của giáo viên hƣớng dẫn)
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….

…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
TP. Hồ Chí Minh, Ngày……tháng……năm……


NHẬN XÉT
(Của giáo viên phản biện)
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….

…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
TP. Hồ Chí Minh, Ngày……tháng……năm……


MỤC LỤC
LỜI CẢM ƠN ...................................................................................................... 2
LỜI MỞ ĐẦU ...................................................................................................... 3
CHƢƠNG 1: TỔNG QUAN..............................................................................10
1.1

GIỚI THIỆU .................................................................................................. 10

1.2

MỤC TIÊU ĐỀ TÀI ...................................................................................... 10

1.3

PHẠM VI ĐỀ TÀI ......................................................................................... 11

1.4


NỘI DUNG THỰC HIỆN ............................................................................. 11

1.5

PHƢƠNG PHÁP THỰC HIỆN ..................................................................... 11

1.6

CÔNG NGHỆ SỬ DỤNG ............................................................................. 11

CHƢƠNG 2: TÌM HIỂU VỀ RDF .................................................................. 12
2.1

GIỚI THIỆU RDF ......................................................................................... 12

2.2

KHÁI NIỆM CƠ BẢN .................................................................................. 12
2.2.1 Namespace và cách khai báo ..................................................................... 13
2.2.2 Qualified Name (QName) và cách sử dụng .............................................. 13

2.3

MÔ HÌNH RDF (RDF Model)..................................................................... 15
2.3.1 Tripple và cách sử dụng Namespace ......................................................... 20
2.3.2 Kiểu dữ liệu có cấu trúc và Blank Node.................................................... 22

2.4

CẤU TRÚC RDF/XML ................................................................................ 24

2.4.1 Cú pháp RDF/XML cơ bản ....................................................................... 24
2.4.2 RDF Container........................................................................................... 28
2.4.3 RDF Collection.......................................................................................... 32
2.4.4 RDF Schema.............................................................................................. 35
2.4.5 Định nghĩa class (lớp)................................................................................ 36
2.4.6 Định nghĩa property (thuộc tính) ............................................................... 39

2.5

TRUY VẤN DỮ LIỆU TRONG RDF .......................................................... 43
2.5.1 Tạo một câu truy vấn đơn giản .................................................................. 44
2.5.2 Cú pháp của câu truy vấn .......................................................................... 45
2.5.3 Những dạng cú pháp khác ......................................................................... 47
2.5.4 Ràng buộc dữ liệu ...................................................................................... 51
2.5.5 Các phép toán và điều kiện trên câu truy vấn............................................ 57


2.5.6 Lựa chọn biến đƣợc trả về ......................................................................... 61

CHƢƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .............................66
3.1

DANH SÁCH YÊU CẦU .............................................................................. 66

3.2

SƠ ĐỒ PHÂN RÃ CHỨC NĂNG ................................................................. 68

3.3


MÔ HÌNH DFD ............................................................................................. 69

3.4

THIẾT KẾ DỮ LIỆU ................................................................................... 723

3.5

THIẾT KẾ HỆ THỐNG ............................................................................... 83
3.5.1 Mô hình ba lớp.......................................................................................... 83
3.5.2 Các thành phần trong mô hình ba lớp....................................................... 83
3.5.3 Vận hành mô hình ba lớp.......................................................................... 83
3.5.4 Mô tả các lớp ............................................................................................ 84

3.6

THIẾT KẾ GIAO DIỆN ................................................................................ 99

CHƢƠNG 4: CÀI ĐẶT VÀ THỬ NGHIỆM ..............................................1101
4.1

HƢỚNG DẪN CÀI ĐẶT .......................................................................... 111

4.2

ĐÁNH GIÁ ................................................................................................ 115
4.2.1 Đánh giá chung ....................................................................................... 115
4.2.2 Ƣu điểm .................................................................................................. 115
4.2.3 Nhƣợc điểm ............................................................................................ 115
4.2.4 So sánh với phần mềm tƣơng đƣơng ...................................................... 116


4.3

HƢỚNG PHÁT TRIỂN .............................................................................. 116

TÀI LIỆU THAM KHẢO .............................................................................1177


DANH MỤC CÁC BẢNG, SƠ ĐỒ, HÌNH
Bảng 2. 1 : Cú pháp khai báo namespace .....................................................................13
Bảng 2. 2: Cú pháp khai báo QName............................................................................14
Bảng 2. 3: Cách dùng QName ....................................................................................... 14
Bảng 2. 4: Bộ ba RDF ...................................................................................................16
Bảng 2. 5: Mô tả chi tiết bộ ba RDF .............................................................................18
Bảng 2. 6: Tóm tắt các từ khóa RDF Class ...................................................................42
Bảng 2. 7: Tóm tắt các từ khóa RDF Property ............................................................. 43
Bảng 3. 1: Mô tả yêu cầu............................................................................................... 67
Bảng 3. 2: Mối quan hệ giữa các từ ..............................................................................74
Bảng 3. 3: Các class được xây dựng trong chương trình .............................................75
Bảng 3. 4: Các thuộc tính của class WordSense ........................................................... 76
Bảng 3. 5: Các quan hệ trong lớp WordSense .............................................................. 76
Bảng 3. 6: Các thuộc tính của class Word ....................................................................77
Bảng 3. 7: Các thuộc tính của class Question .............................................................. 78
Bảng 3. 8: Các quan hệ của class Question ..................................................................79
Bảng 3. 9: Các thuộc tính của class Test ......................................................................80
Bảng 3. 10: Các quan hệ của class Test ........................................................................80
Bảng 3. 11: Các thuộc tính của class Lesson ................................................................ 81
Bảng 3. 12: Các quan hệ của class Lession ..................................................................81
Bảng 3. 13: Các thuộc tính của class Word ..................................................................85
Bảng 3. 14: Các phương thức của class Word ............................................................. 85

Bảng 3. 15: Các thuộc tính của class WordSense ......................................................... 85
Bảng 3. 16: Các phương thức của class WordSense .....................................................86
Bảng 3. 17: Các thuộc tính của class Lesson ................................................................ 86
Bảng 3. 18: Các phương thức của class Lesson............................................................ 87
Bảng 3. 19: Các thuộc tính của class Question ............................................................ 87
Bảng 3. 20: Các phương thức của class Question ........................................................ 88
Bảng 3. 21: Các thuộc tính của class Test ....................................................................88
Bảng 3. 22: Các phương thức của class Test ................................................................ 88
Bảng 3. 23: Các thuộc tính của class SimpleWord ....................................................... 89
Bảng 3. 24: Các phương thức của class SimpleWord ...................................................89


Bảng 3. 25: Các thuộc tính của class DataManagerDAO ............................................89
Bảng 3. 26: Các phương thức của class DataManagerDAO ........................................91
Bảng 3. 27: Các phương thức của class WordDAO .....................................................92
Bảng 3. 28: Các phương thức của class WordSenseDAO ............................................93
Bảng 3. 29: Các phương thức của class LessonDAO ...................................................94
Bảng 3. 30: Các phương thức của class QuestionDAO ................................................96
Bảng 3. 31: Các phương thức của class TestDAO ........................................................ 97
Bảng 3. 32: Các phương thức của class SimpleWordDAO ...........................................97
Bảng 3. 33: Các phương thức của class UserDAO ....................................................... 97
Bảng 4. 1: Bảng so sánh phần mềm ............................................................................116

Hình 2. 1: Mối quan hệ giữa các thành phần trong tripple ..........................................17
Hình 2. 2: Mô tả một phát biểu đơn giản bằng đồ thị ...................................................17
Hình 2. 3: Biểu diễn nhiều phát biểu cho cùng một subject ..........................................18
Hình 2. 4: Plain Literal biểu diễn cho tuổi của Mr John ..............................................19
Hình 2. 5: Kiểu Typed Literal biểu diễn cho tuổi của Mr John ....................................20
Hình 2. 6: Typed Literal biểu diễn cho ngày tháng....................................................... 20
Hình 2. 7: Tạo địa chỉ (address) cho Mr John .............................................................. 23

Hình 2. 8: Mô tả một Bag container đơn giản .............................................................. 29
Hình 2. 9: Mô tả Alt container đơn giản .......................................................................30
Hình 2. 10: Mô tả một RDF Collection .........................................................................33
Hình 2. 11: Mô tả lớp và các lớp con ............................................................................37
Hình 2. 12: Không gian domain và range của thuộc tính .............................................39
Hình 3. 1: Sơ đồ phân rã chức năng .............................................................................68
Hình 3. 2: Sơ đồ DFD mức 0......................................................................................... 69
Hình 3. 3: Sơ đồ DFD mức 1......................................................................................... 69
Hình 3. 4: Sơ đồ DFD cho chức năng Học từ vựng ...................................................... 70
Hình 3. 5: Sơ đồ DFD cho chức năng Soạn đề kiểm tra ...............................................70
Hình 3. 6: Sơ đồ DFD cho chức năng Làm bài kiểm tra ..............................................71
Hình 3. 7: Sơ đồ DFD cho chức năng Quản lý từ vựng ...............................................71
Hình 3. 8: Sơ đồ DFD cho chức năng Quản lý bài học ................................................72
Hình 3. 9: Sơ đồ DFD cho chức năng Quản lý câu hỏi ................................................72


Hình 3. 10: Biểu đồ miêu tả mối quan hệ ngữ nghĩa ....................................................82
Hình 3. 11: Mô hình hệ thống ....................................................................................... 83
Hình 3. 12: Màn hình khởi động ...................................................................................99
Hình 3. 13: Bài học .....................................................................................................100
Hình 3. 14: Tra từ ........................................................................................................101
Hình 3. 15: Chọn đề kiểm tra ......................................................................................102
Hình 3. 16: Kiểm tra – loại 1 ......................................................................................103
Hình 3. 17: Kiểm tra – loại 2 .....................................................................................104
Hình 3. 18: Soạn câu hỏi, loại 1 .................................................................................105
Hình 3. 19: Soạn câu hỏi – loại 2 ...............................................................................106
Hình 3. 20: Thêm từ vựng ...........................................................................................107
Hình 3. 21: Thêm nghĩa, từ loại và hình ảnh ............................................................108
Hình 3. 22: Quản lý bài học .......................................................................................108
Hình 3. 23: Quản lý đề kiểm tra .................................................................................110

Hình 3. 24: Màn hình đăng nhập cho giáo viên .........................................................110
Hình 4. 1: Chạy file setup.exe .....................................................................................111
Hình 4. 2: Chọn nơi cài đặt .........................................................................................112
Hình 4. 3: Tạo shortcut trên Desktop ..........................................................................112
Hình 4. 4: Bắt đầu cài đặt ...........................................................................................113
Hình 4. 5: Quá trình cài đặt ........................................................................................113
Hình 4. 6: Hoàn thành cài đặt .....................................................................................114
Hình 4. 7: Shortcut phần mềm trên Desktop ...............................................................114


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

10

Chƣơng 1: TỔNG QUAN
1.1 Giới thiệu:
Ngày nay, với sự ra đời và phát triển ngày càng mạnh mẽ World Wide Web đã
đặt ra thách thức lớn đòi hỏi việc khai thác thông tin một cách hiệu quả.
World Wide Web chứa đựng một lƣợng thông tin khổng lồ, chúng ta có thể dễ
dàng truy cập và tìm kiếm những thông tin cần thiết. Nhƣng cũng vì lƣợng thông tin
quá lớn cùng với những hạn chế trong khâu tìm kiếm thƣờng làm cho chúng ta dễ dàng
bị lạc hay phải đối đầu với lƣợng thông tin không hợp lý và không liên quan đến
những gì mà chúng ta muốn tìm kiếm. Mặc dù chất lƣợng đã đƣợc cải thiện nhiều
nhƣng kết quả trả về cũng chỉ là những tài liệu có “nhắc đến” những từ khóa mà chúng
ta đƣa ra để tìm kiếm. Và chúng ta (ngƣời sử dụng) vẫn phải tự xử lý lƣợng thông tin
đƣợc trả về từ máy tính để chắt lọc, rút trích những gì thực sự cần thiết cho mình.
Để khắc phục các yếu điểm của web hiện tại, tăng tính hiệu quả trong việc khai
thác thông tin trên World Wide Web khái niệm “Semantic web” đã ra đời và cốt lõi
của Semantic Web chính là RDF- Resource Description Framework. Có thể nói, RDF
chính là nền tảng của Semantic Web, là linh hồn của Semantic Web. RDF mô tả siêu

dữ liệu về các tài nguyên trên Web. RDF dựa trên cú pháp XML, tuy nhiên XML chỉ
mô tả dữ liệu, RDF còn có khả năng biểu diễn ngữ nghĩa giữa chúng thông qua các tài
nguyên đƣợc định danh bằng URI. Trong đề tài khóa luận này, chúng em đi sâu vào
nghiên cứu RDF và ứng dụng RDF mô tả mối quan hệ ngữ nghĩa giữa các từ vựng
tiếng Anh, từ đó xây dựng phần mềm học tiếng Anh bằng hình ảnh.
1.2 Mục tiêu đề tài
-

Tim hiểu, nghiên cứu RDF.

-

Hỗ trợ việc học tiếng Anh cho trẻ em.

-

Tạo công cụ dạy tiếng Anh bằng hình ảnh để giáo viên soạn bài trực quan,
dễ kiểm soát các khái niệm và hình ảnh đi kèm.

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

11

1.3 Phạm vi đề tài
-


Nghiên cứu và sử dụng đƣợc RDF để miêu tả mối quan hệ ngữ nghĩa

giữa các từ vựng tiếng Anh.
-

Xây dựng phần mềm học tiếng Anh bằng hình ảnh cho trẻ em dƣới dạng

một Desktop Application.
-

Xây dựng tập từ vựng dành cho trẻ em bắt đầu học tiếng Anh kèm hình

ảnh minh họa (nếu có). Trong phạm vi từ vựng dành cho trẻ em, mỗi từ tiếng
Anh sẽ đƣợc giải nghĩa bằng một từ hoặc một cụm từ trong tiếng Việt kèm
hình ảnh của nó và nghĩa tiếng Việt của từ tiếng Anh là nghĩa thông dụng nhất
của nó.
1.4 Nội dung thực hiện:
-

Tìm hiểu và sử dụng RDF.

-

Tìm hiểu phƣơng pháp học tiếng Anh bằng hình ảnh hiệu quả nhất.

-

Xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh dành cho trẻ
em.


1.5 Phƣơng pháp thực hiện:
Đề tài này đƣợc thực hiện dựa trên việc nghiên cứu và ứng dụng các tài liệu
RDF. Nghiên cứu và phân tích các phƣơng pháp liên kết ngữ nghĩa giữa các từ
vựng từ đó xây dựng một tập từ vựng tiếng Anh với các thuộc tính và quan hệ
ngữ nghĩa giữa chúng giúp trẻ em hiểu khái niệm tốt hơn. Nghiên cứu và sƣu tầm
các phƣơng pháp học từ vựng tiếng Anh bằng hình ảnh hiệu quả.
1.6 Công nghệ sử dụng:
-

RDF – Resource Description Framework.

-

Công cụ phát triển ứng dựng .NET version 3.5 với ngôn ngữ C#.

-

Thƣ viện xử lý dữ liệu RDF dotNetRDF version 0.5.1.0.

-

Sử dụng Flash để tạo hiệu ứng.

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh


12

Chƣơng 2: TÌM HIỂU VỀ RDF
2.1 Giới thiệu RDF
Năm 1989, Ông Tim Berners-Lee, nhà nghiên cứu tại phòng thí nghiệm của Viện
Massachusetts về Hệ thống máy tính, đã phát minh ra Web và là giám đốc của W3C.
Ngay từ khi bắt đầu công việc, ông đã dự kiến các siêu tệp tin sẽ đƣợc sử dụng rộng
rãi, tạo khả năng tìm kiếm dễ dàng và chính xác hơn với sự trợ giúp của các tác tử tự
động. Trong bài báo của mình, "Con đƣờng tiến tới Semantic Web", ông Tim BernersLee đã đƣa ra viễn cảnh của Web nhƣ sau: "web đƣợc thiết kế tƣơng tự nhƣ một không
gian thông tin, ở mức độ toàn cầu, web không chỉ hữu ích đối với sự liên lạc giữa
ngƣời - ngƣời, mà ngay cả máy tính cũng có khả năng tham gia và hỗ trợ phần nào”.
Một trong những trở ngại chính của vấn đề này đó là hầu hết thông tin trên Web đƣợc
thiết kế dành cho mục đích sử dụng của con ngƣời. Trái lại, cách tiếp cận Semantic
Web lại tạo ra ngôn ngữ phát triển web nhằm diễn tả thông tin theo một định dạng máy
có thể xử lý đƣợc. Phần nhiều dữ liệu đều có sẵn trên web, nhƣng chúng đƣợc tập hợp
theo nhiều phƣơng thức do đó rất khó có thể phân loại và tìm ra đƣợc kết quả chính
xác. Nếu mỗi trang dữ liệu phải đƣợc tạo lại để tham dự vào Semantic Web thì kế
hoạch này thực sự không khả thi. Thay vào đó, W3C đƣợc sử dụng nhằm mục đích xác
định và định nghĩa “siêu dữ liệu” đƣợc ứng dụng trên toàn cầu để có thể kết hợp chặt
chẽ vào hệ thống các trang web đã tồn tại làm cho các trang web này thay đổi để có thể
làm việc đƣợc với các tác tử. Để hoàn thiện ý tƣởng, W3C đang tiếp tục mở rộng và
chuẩn hoá ngôn ngữ RDF - là ngôn ngữ đƣợc thiết kế để hỗ trợ “siêu dữ liệu” trên
web.
2.2

Khái niệm cơ bản
Về cơ bản, RDF là một tập hợp các nguyên tắc dành cho ngôn ngữ đánh dấu. Nó

cung cấp một mô hình dữ liệu và một cú pháp đơn giản sao cho các hệ thống độc lập

có thể trao đổi và sử dụng nó. Đồng thời, nó đƣợc thiết kế sao cho hệ thống máy tính
có thể hiểu đƣợc và có thể đọc đƣợc thông tin, chứ không phải chỉ để trình bày dữ liệu
cho ngƣời dùng. Cú pháp của RDF dựa trên mô hình dữ liệu và mô hình này ảnh
hƣởng đến cách thức mà những thuộc tính đƣợc mô tả và nó cũng làm cho cấu trúc của
những mô tả đó trở nên rõ ràng.

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

13

2.2.1 Namespace và cách khai báo
Namespace là một tập các tên (name), đƣợc định danh bởi các URI, đƣợc sử
dụng trong các tài liệu XML nhƣ các element type và attribute name.
Một namespace đƣợc khai báo sử dụng một tập các thuộc tính có đã đƣợc định
nghĩa. Tên của thuộc tính phải có xmlns hay xmlns: nhƣ là một tiếp đầu ngữ.
Cách khai báo một namespace:
Attribute Name for Namespace Declaration
[1] NSAttName

::=

PrefixedAttName
| DefaultAttName

[2] PrefixedAttName


::=

„xmlns:‟NCName

[3] DefaultAttName

::=

„xmlns‟

[4] NCName

::=

(Letter | „_‟)(NCNameChar)*

[5] NCName

::=

Letter | Digit | „.‟ | „-‟ | „_‟ | CombiningChar | Extender

Bảng 2. 1 : Cú pháp khai báo namespace
Ta có ví dụ khai báo cho một namespace sau:
<x xmlns:edi=„ /><!- -Tiếp đầu ngữ “edi” dùng để chỉ URI - ->
</x>
2.2.2 Qualified Name (QName) và cách sử dụng
Một QName bao gồm một tiếp đầu ngữ (prefix) mà đã đƣợc gán trƣớc đó bởi một
URI theo sau là dấu „:‟ và tên cục bộ.


GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh


nhƣ

dụ

một

QName

prefix

“foo”

đƣợc

gán

cho

14
URI




cho nên ta có QName “foo:bar” là cách viết tắt của địa
chỉ URI />Cách định nghĩa một QName:
Qualified Name
[6] QName

::=

( Prefix „:‟ ) ? LocalPart

[7] Prefix

::=

NCName

[8] LocalPart

::=

NCName

Bảng 2. 2: Cú pháp khai báo QName
Cách dùng QName với kiểu dữ liệu là element:
Element Types
::= „<‟ QName ( S Attribute ) * S? „>‟

[9] STag


[ NSC: Prefix
Declared ]

::= „</‟ QName S? „>‟

[10] ETag

[ NSC: Prefix
Declared ]

[11] EmptyElemTag

::= „<‟ QName ( S Attribute ) * S? „/>‟

[ NSC: Prefix
Declared ]

Bảng 2. 3: Cách dùng QName
Ví dụ:
<!-- the 'price' element's namespace is -->
xmlns:edi=' units='Euro'>32.18
</edi:price>
GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh


15

Cách dùng QName đối với kiểu dữ liệu là attribute:
Attribute
[12] Attribute

::=

NSAttName Eq AttValue

[ NSC: Prefix Declared ]

| QName Eq AttValue
Ví dụ:
<x xmlns:edi=„ /><!- - the „tagClass‟ attribute‟s namespace is -->
<lineItem edi:tagClass=”exempt”>Baby food</lineItem>
</x>
Một số QName phổ biến hay sử dụng (và cũng đƣợc sử dụng nhiều trong tài liệu
này) nhƣ:
prefix rdf:, namespace URI: />prefix rdfs:, namespace URI: />prefix dc:, namespace URI: />prefix owl:, namespace URI: />prefix ex:, namespace URI: />(or )
prefix xsd:, namespace URI: />2.3 Mô hình RDF (RDF Model)
Mô hình RDF cơ bản gồm ba đối tƣợng sau:
-

Tài nguyên (Resources): là tất cả những gì đƣợc mô tả bằng biểu thức

RDF.






thể

GVHD: ThS. Đỗ Thị Thanh Tuyền



một

trang

Web,



dụ

nhƣ

trang:

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

16

cũng có thể là một phần của trang Web,

hoặc là một tập các trang Web,…
-

Thuộc tính (Properties): thuộc tính, đặc tính, hoặc quan hệ dùng để mô

tả tính chất của tài nguyên.
-

Phát biểu (Statements): mỗi phát biểu gồm ba thành phần sau:
+ Subject (Tài nguyên): địa chỉ hay vị trí tài nguyên muốn mô tả, thông

thƣờng thì đây là chuỗi định URL hoặc URI.
+ Predicate (Vị ngữ): xác định tính chất của tài nguyên.
+ Object (Bổ ngữ): nội dung gán cho thuộc tính.
*Bộ ba RDF (RDF Tripple)
Mỗi một phát biểu (subject, predicate, object) còn gọi là một bộ ba (tripple).
Ví dụ: Xét phát biểu sau:
has a creator whose value is John Smith
Phát biểu trên đƣợc phân ra thành các phần sau:
Subject

/>
Predicate

/>
Object

/>Bảng 2. 4: Bộ ba RDF

Chúng ta đã biết URI dùng để mô tả bất cứ cái gì trên Web, cho nên ở phát biểu

trên thay vì phải dùng từ “creator” và “John Smith”, ta sẽ dùng URI
“ và “ />để mô tả cho từng khái niệm trên.
Phát biểu trên đƣợc viết dƣới dạng tripple nhƣ sau:
< < />< />
GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

17

*Đồ thị RDF (RDF Graph)
Tập các tripple hợp lại tạo thành đồ thị RDF (RDF Graph). Các node trong đồ thị
có thể là các subject và object trong tripple và các cung (arc) trong đồ thị là các
predicate. Cho nên một tripple còn có thể đƣợc mô tả dƣới dạng node-arc-node.
Hƣớng của đồ thị rất quan trọng. Cung của đồ thị luôn bắt đầu từ subject đến object.

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

Hình 2. 2: Mô tả một phát biểu đơn giản bằng đồ thị
Ví dụ: Ta thêm các phát biểu sau cho cùng một subject:
has a creation-date whose value is August
16, 1999.
has a language whose value is English.
Đƣợc phân ra thành các thành phần sau:

Subject


Predicate

Object

/>
GVHD: ThS. Đỗ Thị Thanh Tuyền

/>
SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh
index.html

1.1/creator

d/85740

/>index.html

August 16, 1999

ms/creation-date

/>index.html

18

en


1.1/language
Bảng 2. 5: Mô tả chi tiết bộ ba RDF

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

Hình 2. 3: Biểu diễn nhiều phát biểu cho cùng một subject
Mô hình trên chỉ ra rằng các đối tƣợng trong phát biểu RDF có thể là một URI
hoặc cũng có thể là một giá trị Literal. Ở hình trên ta dùng hình oval để biểu diễn một
resource là một URI, và dùng hình chữ nhật để biểu diễn một resource là một Literal.
*Literal:
Literal đƣợc sử dụng để biểu diễn các giá trị nhƣ con số, ngày tháng, chuỗi… Bất
cứ cái gì có thể biểu diễn bởi một giá trị Literal cũng có thể đƣợc biểu diễn dƣới dạng
một URI.
Một Literal có thể là object của một phát biểu nhƣng không thể là subject hay
predicate.
Literal có hai kiểu sau: plain literal hay là typed literal.

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

19

-Một plain Literal là một chuỗi đƣợc kết hợp với một tag tùy ý. Trong ngôn ngữ
tự nhiên ta có thể gọi nó là một kiểu text.
Ví dụ:


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

/>
Predicate

/>
Object

“27”^^< />
Và đƣợc biểu diễn thành đồ thị nhƣ sau:

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh


20

Hình 2. 5: Kiểu Typed Literal biểu diễn cho tuổi của Mr John
Tƣơng tự nhƣ vậy ở ví dụ trên ta có thể dùng kiểu dữ liệu ngày tháng.
Subject

/>
Predicate

/>
Object

“1999-08-16”^^< />
Hình 2. 6: Typed Literal biểu diễn cho ngày tháng
2.3.1 Tripple và cách sử dụng Namespace
Đôi thi không thuận tiện để biểu diễn các phát biểu dƣới dạng đồ thị, ta có thể
dùng cách viết dƣới dạng triple. Ta có thể viết lại nhƣ sau:
< < />< />< < “August 16, 1999”

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

21

< />< “en”

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

ex:,

namespace

URI:

/>
hay

/>prefix exterms:, namespace URI: />prefix exstaff:, namespace URI: />Và ví dụ trên đƣợc viết lại nhƣ sau:

ex:index.html

dc:creator

exstaff:85740

ex:index.html

exterms:creation-date

“August 16, 1999”


ex:index.html

dc:language

“en”

Và ví dụ trên đƣợc viết lại dƣới dạng QName nhƣ sau:
Exstaff:85740

Exterms:age

“27”^^xsd:integer

ex:index.html

exterms:creation-date

“1999-08-16”^^xsd:date

Nhƣ vậy ta thấy rằng việc khai báo các URI thông qua một QName sẽ rất tiện lợi,
nó làm cho các URI này ngắn gọn và dễ hiểu. Hơn nữa khi có một thay đổi về URI thì
ta chỉ việc thay đổi ở phần namespace mà chúng ta đã khai báo chứ không cần phải
thay đổi tất cả các URI trong bộ dữ liệu của mình.

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi



Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

22

2.3.2 Kiểu dữ liệu có cấu trúc và Blank Node
Nếu mọi thứ dữ liệu trên Web đều rõ ràng thì thật dễ dàng để khai báo. Tuy
nhiên, hầu hết các dữ liệu trên Web đều liên quan đến các cấu trúc phức tạp. Trong ví
dụ trên, ngày của trang web đƣợc tạo ra đƣợc khai báo bởi thuộc tính
exterms:creation-date, với một kiểu dữ liệu là plain literal. Tuy nhiên, giả sử nhƣ giá
trị của thuộc tính exterms:creation-date cần phải lƣu trữ thông tin về ngày, tháng, năm
độc lập với nhau thì phải biểu diễn vấn đề này nhƣ thế nào? Hay là trong trƣờng hợp
thông tin cá nhân của Mr John Smith, giả sử khi mô tả địa chỉ của Mr John thì giá trị
của nó sẽ đƣợc viết dƣới dạng một plain literal, nhƣ trong triple sau:
exstaff:85740

“1501 Grant Avenue, Bedford, Massachusetts

exterms:address

01730”
Tuy nhiên, giả sử rằng địa chỉ này cần phải đƣợc chia thành một cấu trúc bao
gồm các thành phần riêng biệt nhƣ đƣờng, thành phố, bang, và mã vùng. Làm thế nào
có thể làm đƣợc trong RDF?
Cấu trúc thông tin nhƣ trên sẽ đƣợc mô tả trong RDF bằng cách xem thông tin
kết hợp (địa chỉ của Mr John Smith) là một resource, sau đó tạo ra các phát biểu về
resource mới này. Vì vậy, trong đồ thị RDF, để tạo ra địa chỉ của Mr John Smith từ
các thành phần của nó, một node mới sẽ đƣợc tạo ra để biểu diễn khái niệm địa chỉ của
Mr

John,


với

một

URI

để

định

danh

cho

nó,



dụ

nhƣ

(viết tắt là exaddressid:85740). Các phát
biểu RDF (bao gồm các cung và node) sau đó sẽ đƣợc biểu diễn ra đồ thị với node mới
vừa tạo là subject. Ta hãy xem đồ thị sau:

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi



Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

23

Hình 2. 7: Tạo địa chỉ (address) cho Mr John
Hay viết dƣới dạng tripple sau:
exstaff:85740

exterms:address

???

???

exterms:street

“1501 Grant Avenue”.

???

exterms:city

“Bedford”.

???

exterms:state


“Massachusetts”.

???

exterms:postalCode

“01730”.

Ở đây ta dùng ??? để biểu diễn sự hiện diện của blank node. Trong trƣờng hợp
một đồ thị sử dụng nhiều blank node, làm thế nào để phân biệt các blank node? Kết
quả là bằng cách dùng một định danh (blank node indentifiers), có dạng _:name, để
chỉ sự hiện diện của một blank node. Ví dụ nhƣ, trong ví dụ này định danh
_:johnaddress đƣợc sử dụng để chỉ blank node (là địa chỉ của Mr John). Ta có thể viết
lại triple sau:

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi


Tìm hiểu RDF và xây dựng phần mềm học từ vựng tiếng Anh bằng hình ảnh

exstaff:85740

exterms:address

_:johnaddress

_:johnaddress


exterms:street

“1501 Grant Avenue”.

_:johnaddress

exterms:city

“Bedford”.

_:johnaddress

exterms:state

“Massachusetts”.

_:johnaddress

exterms:postalCode

“01730”.

24

2.4 Cấu trúc RDF/XML
2.4.1 Cú pháp RDF/XML cơ bản
Mô hình RDF thể hiện một mô hình ở mức trừu tƣợng để định nghĩa metadata.
Cú pháp RDF đƣợc dùng để tạo ra và trao đổi metadata. Cấu trúc RDF dựa trên cú
pháp XML.
Cú pháp cơ bản của RDF có dạng nhƣ sau:

[1] RDF

::=

[„<rdf:RDF>‟] description* [„</rdf:RDF>‟]

[2] description

::=


idAboutAttr?‟>‟

propertyEIl*

„</rdf:Description>‟
[3] idAboutAttr

::=

idAttr | aboutAttr

[4] aboutAttr

::=

„about‟=”tham chiếu URI”

[5] idAttr


::=

„ID‟ = “IDsymbol”

[6] propertyEIT

::=

„<‟propName „>‟ value „</‟ propName „>‟| „<‟ propName
resourceAttr „/>‟

[7] propName

::=

QName

[8] value

::=

description | string

GVHD: ThS. Đỗ Thị Thanh Tuyền

SVTH: Hoàng Nam Hải - Ngô Văn Thi



×