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

Tích hợp dữ liệu vào Semantic 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 (1.21 MB, 100 trang )

bộ giáo dục và đào tạo
trường đại học bách khoa hà nội
------------------o0o-----------------NGUYễN CÔNG NHậT

Nguyễn Công Nhật

CÔNG NGHệ PHầN MềM

TícH hợp dữ liệu vào Semantic Web

luận văn thạc sĩ khoa học

2006-2008

Hà Néi – 2008


bộ giáo dục và đào tạo
trường đại học bách khoa hà nội
---------------------------------------

Nguyễn Công Nhật

TícH hợp dữ liệu vào Semantic Web
Chuyên ngành : Công Nghệ Phần Mềm

luận văn thạc sĩ KHOA HäC

ng­êi h­íng dÉn khoa häc :
PSG. TS Ngun Thanh Thđy


Hµ Néi – 2008


LỜI CAM ĐOAN
Tơi xin cam đoan để hồn thành được luận văn, bản thân đã có q
trình tìm hiểu và học hỏi nghiêm túc. Những gì được trình bày trong luận văn
là kết quả của quá trình học hỏi và nghiên cứu cùng với sự giúp đỡ hướng dẫn
tận tình của giáo viên hướng dẫn và các thầy cô giáo trong khoa Công nghệ
Thông tin, Trường Đại học Bách khoa Hà Nội. Luân văn không sao chép lại
nội dung của các luận văn đã có.


3

MỤC LỤC
LỜI CAM ĐOAN ............................................................................................ 2
MỤC LỤC ........................................................................................................ 3
DANH MỤC CÁC TỪ VIẾT TẮT ................................................................ 6
DANG MỤC HÌNH VẼ .................................................................................. 7
CHƯƠNG I : GIỚI THIỆU SEMANTIC WEB .......................................... 8
1.1. Worl wide web và những hạn chế của nó ........................................................8
1.2. Sự ra đời của Semantic Web .............................................................................9

1.2.1. Semantic Web là gì? ........................................................................ 9
1.2.2. Semantic Web mang lại những gì?................................................ 11
1.2.2.1. Máy có thể hiểu được thơng tin trên Web ............................... 11
1.2.2.2. Thơng tin được tìm kiếm nhanh chóng và chính xác hơn ....... 11
1.2.2.3. Dữ liệu liên kết động ............................................................... 11
1.2.2.4. Hỗ trợ cơng cụ tự động hóa ..................................................... 12
1.2.3. Kiến trúc Semantic Web ................................................................. 12

1.2.3.1. Giới thiệu : ............................................................................... 12
1.2.3.2. Vai trò các lớp trong kiến trúc Semantic Web ........................ 14
1.2.3.2.1. Lớp định danh tài nguyên-URI ............................................. 14
1.2.3.2.2. Lớp XML và XML Schema.................................................. 15
1.2.3.2.3. Lớp RDF - RDF Schema ..................................................... 17
1.2.3.2.4. Lớp Ontology .............................................................................19
1.2.3.2.5. Lớp logic ....................................................................................19
1.2.3.2.6. Lớp Proof....................................................................................20

CHƯƠNG II. CÔNG NGHỆ XML ............................................................. 21
2.1. Giới thiệu...........................................................................................................21
2.2. Mục tiêu ra đời và lợi ích khi sử dụng XML .................................................21

2.2.1. Mục tiêu ra đời của XML ............................................................... 21
2.2.2. Lợi ích khi sử dụng XML ................................................................ 21

2.3. Một tài liệu XML thông dụng .........................................................................25
2.4. Tạo lập một tài liệu XML ................................................................................26
2.5. Các thành phần của một tài liệu XML ...........................................................27
2.6. Một tài liệu XML hợp lệ ..................................................................................28

2.6.1. DTD (Document Type Definition).................................................. 28
2.6.2. Lược đồ XML (Schema XML) ........................................................ 29
2.6.2.1. Định nghĩa lược đồ XML ........................................................ 29
2.6.2.2. Các kiểu dữ liệu trong lược đồ XML ...................................... 30
2.7. XPath .................................................................................................................31
2.8. Đặc điểm của XML ..........................................................................................31

CHƯƠNG III. TỔNG QUAN VỀ RDF ...................................................... 33
3.1. Giới thiệu...........................................................................................................33

3.2. Các khái niệm dùng trong RDF ......................................................................34

3.2.1. Namespace và cách khai báo ........................................................ 37
3.2.2. Qualified name(QName) và cách sử dụng .................................... 38
3.2.3. Mơ hình RDF ( RDF Model) ......................................................... 40


4

3.2.3.1. Bộ ba RDF ( RDF Tripple) ...................................................... 41
3.2.3.2. Đồ thị RDF ( RDF Graph) ....................................................... 41
3.2.3.3. Literal ....................................................................................... 42
3.2.4. Tripple và cách sử dụng namespace .............................................. 44
3.2.5. Kiểu dữ liệu có cấu trúc và Blank node ......................................... 45

3.3. Cấu trúc RDF/XML .........................................................................................48

3.3.1. Cú pháp RDF/XML cơ bản ........................................................... 48
3.3.2. RDF Container ............................................................................... 51
3.3.2.1. Mơ hình Container ................................................................... 51
3.3.2.2. Cú pháp Container ................................................................... 53

3.4. RDF Collection .................................................................................................54
3.5. RDF Schema .....................................................................................................57

3.5.1. Giới thiệu ........................................................................................ 57
3.5.2. Định nghĩa class (lớp) ................................................................... 57
3.5.3 Định nghĩa property( thuộc tính) ................................................... 60
3.5.3.1. Cách sử dụng rdfs:range .......................................................... 60
3.5.3.2. Cách sử dụng rdfs:domain ....................................................... 61

3.5.3.3. Ví dụ......................................................................................... 61

3.6. Truy vấn dữ liệu trong RDF ...........................................................................63

3.6.1. Tạo một câu truy vấn đơn giản ...................................................... 63
3.6.2. Cú pháp của câu truy vấn ............................................................. 64
3.6.3. Những dạng cú pháp khác.............................................................. 65
3.6.4. Ràng buộc dữ liệu .......................................................................... 68
3.6.5. Thêm vào kiểu Optional ................................................................. 68
3.6.6. Ràng buộc trong khối Optional ...................................................... 69
3.6.7. Nhiều khối Optional ....................................................................... 70
3.6.8. Các phép toán và điều kiện trên câu truy vấn................................ 70
3.6.8.1. Phép hội ................................................................................... 71
3.6.8.2. DISTINCT ............................................................................... 71
3.6.8.3. ORDER BY ............................................................................. 72
3.6.8.4. LIMIT ...................................................................................... 72
CHƯƠNG IV. TÍCH HỢP DỮ LIỆU VÀO SEMANTIC WEB .............. 73
4.1. Giới thiệu...........................................................................................................73
4.2. Mơ hình tích hợp dữ liệu .................................................................................73

4.2.1. Các ngơn ngữ của Semantic Web................................................... 73
4.2.2. Mơ hình........................................................................................... 74

4.3. Chuyển dữ liệu từ Relational Database sang XML ......................................74

4.3.1. Giới thiệu ........................................................................................ 74
4.3.2. Phương thức chuyển đổi cơ sỡ dữ liệu quan hệ sang XML ........... 75
4.3.2. Mơ hình hệ thống............................................................................ 82
4.3.3. Chuyển đổi lược đồ quan hệ sang lược đồ XML............................ 83
4.3.3.1. Mơ hình lược đồ quan hệ ......................................................... 83



5

4.3.3.2. Chuyển đổi các thành phần của cơ sở dữ liệu quan hệ sang
XML ...................................................................................................... 84

4.4. Chuyển dữ liệu từ cơ sở dữ liệu quan hệ sang RDF .....................................88

4.4.1. Giới thiệu ........................................................................................ 88
4.4.2. Mơ hình hệ thống............................................................................ 89
4.4.3. Chuyển đổi cơ sở dữ liệu quan hệ RDF ......................................... 89
4.4.3.1. Phương pháp thực hiện ............................................................ 89
4.4.3.2. Ví dụ......................................................................................... 92
CHƯƠNG V. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN........................... 94
5.5. Kết luận .............................................................................................................94
5.2. Kết quả đạt được .............................................................................................94
5.3. Hướng phát triển của đề tài ............................................................................95

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


6

DANH MỤC CÁC TỪ VIẾT TẮT
HTTP
HTML
XHTML
RDF:


Resource Description Framework

FTP:

File Transport Protocal

XML
URI:

Uniform Resource Identifier

URL:

Unified Resource Locator

OWL:

Web Ontoloty Language

WWW:

World Wide Web


7

DANG MỤC HÌNH VẼ
Hình 1-1 Kiến trúc Semantic Web

13


Hình 3-1: Đồ thị biểu diễn bộ ba

35

Hình 3-2: Đồ thị biểu diễn nhóm bộ ba

36

Hình 3-3 Mối quan hệ giữa các thành phần trong triple.

41

Hình 3-4 Mơ tả một phát biểu đơn giản bằng đồ thị

41

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

42

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

43

Hình 3-7 Kiểu Typed Literal biểu diễn cho tuổi của Mr John

44

Hình 3-8 Tạo địa chỉ(address) cho Mr John


46

Hình 3-9 Sử dụng một blank Node.

47

Hình 3-10 Mơ tả 1 bag container đơn giản

52

Hình 3-11 Mơ tả 1 Alt container đơn giản

53

Hình 3-12 Mơ tả một RDF : Collection

55

Hình 3-13 Khơng gian domain và range của thuộc tính

60

Hình 4.1. Mơ hình hệ thống tích hợp dữ liệu

74

Hình 4.2. Mơ hình chuyển đổi cơ sở dữ liệu quan hệ sang XML

83



ABSTRACT
TITLE:
CONVERT RELATIONAL DATA INTO SEMANTIC WEB
This thesis is devided into five chapters
Chapter 1: Introduction about semantic web
This chapter introduces generally about semantic web, gives out basic
concepts as well as components of a Semantic Web structure. It also points
out the role of the components in a Semantic Web structure and gives out
some basic uses of semantic web.
Chapter 2: Introduction about XML technology
This chapter introduces generally about XML technology, points out
the role and use of XML in practice, introduces establishing technology and
data process in XML
Chapter 3: Introduction about RDF
This chapter inroduces generally about RDF, points out the role of
RDF in Semantic Web and introduces technology to establish, process and
query in RDF.
Chapter 5: Data convert into Semantic Web
This chapter introduces data convert technology into Semantic Web,
does research on methodologies to convert components of data relation unit
into XML and RDF, immitates implementation system of the convert
procedure.
Chapter 5: Conclusion and further developments
Giving out conclusion of the thesis and some suggestions about further
developments


TĨM TẮT LUẬN VĂN

TÊN ĐỀ TÀI LUẬN VĂN:
“TÍCH HỢP DỮ LIỆU VÀO SEMANTIC WEB”
Luận văn được chia làm 5 chương
Chương I: GIỚI THIỆU VỀ SEMANTIC WEB
Chương này giới thiệu tổng quan về Semantic Web, đưa ra các khái
niệm cơ bản cũng như các thành phần trong kiến trúc Semantic Web, chỉ ra
vai trò các thành phần trong kiến trúc Semanitic Web và đưa ra một số ứng
dụng cơ bản trong lĩnh vực Semantic Web.
Chương II: GIỚI THIỆU CÔNG NGHỆ XML
Chương này giới thiệu tổng quan công nghệ XML, chỉ ra các vai trò
và ứng dụng của XML trong thực tế, giới thiệu các kỹ thuật tạo lập cũng như
xử lý dữ liệu trên XML.
Chương III: GIỚI THIỆU VỀ RDF
Chương này giới thiệu tổng quan về RDF, chỉ ra vai trò của RDF
trong kiến trúc Semantic Web đồng thời giới thiệu các kỹ thuật tạo lập, xử lý
và thực hiện truy vấn trên RDF.
Chương IV: TÍCH HỢP DỮ LIỆU VÀO SEMANTIC WEB
Chương này giới thiệu các kỹ thuật tích hợp dữ liệu vào Semantic
Web, nghiên cứu các phương pháp chuyển đổi các thành phần của một cơ sở
dữ liệu quan hệ sang XML và RDF, mô phỏng hệ thống thực hiện các quá
trình chuyển đổi này.
Chương V: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Đưa ra các kết luận về luận văn đồng thời đề xuất một số hướng phát
triển tiếp theo của luận văn.


8

CHƯƠNG I : GIỚI THIỆU SEMANTIC WEB
1.1. Worl wide web và những hạn chế của nó

Các kĩ thuật tạo lập Web hiện tại phần nào cản trở khả năng phát triển
dịch vụ thơng tin trên nó. Sự đơn giản trong các kĩ thuật xây dựng tạo ra hiện
tượng thắt cổ chai, gây khó khăn trong việc tìm kiếm, rút trích, bảo trì và phát
sinh thơng tin. Máy tính chỉ được dùng như những thiết bị gửi và trả thông
tin, không thể truy xuất được những nội dung thật sự cần. Do đó, chúng chỉ
hỗ trợ ở một giới hạn nào đó, việc truy xuất và xử lý thơng tin. Kết quả tất yếu
là người sử dụng phải chịu trách nhiệm khơng chỉ truy cập và xử lý thơng tin
mà cịn phải rút trích và diễn giải thơng tin.
Tuy nhiên, Hoạt động thực tế tạo ra một khối lượng khổng lồ các tài
nguyên trên Web. Điều này làm nảy sinh vấn đề rất quan trọng là làm thế nào
để tìm kiếm chính xác tài nguyên mong muốn. Dữ liệu trong các file HTML
chỉ hữu ích trong một vài ngữ cảnh nhưng có thể khơng đem lại ngữ nghĩa
trong ngữ cảnh khác. Thêm vào đó, HTML khơng thể mơ tả về dữ liệu đóng
gói trong đó.
Ví dụ, giả sử biết mã vùng (PostCode) và muốn tìm địa chỉ tương ứng.
Do mỗi quốc gia có tên và hệ thống mã vùng khác biệt và Web không biểu
diễn được mối liên hệ này, nên ta không thể nhận được kết quả như mong đợi.
Trái lại, đối với Semantic Web, có thể chỉ ra kiểu mối liên hệ này, chẳng hạn,
Zip Code tương đương với PostCode. Do vậy hồn tồn có thể tìm được
thơng tin mong muốn.
Nếu như các thành phần chính yếu của dữ liệu trong Web trình bày
theo dạng thức thơng thường, khó sử dụng dữ liệu này một cách phổ biến.
Một thiếu sót của Web hiện nay là thiếu cơ cấu hiệu quả để chia sẻ dữ liệu khi
ứng dụng được phát triển một cách độc lập. Do đó, cần phải mở rộng Web để
máy có thể hiểu, tích hợp dữ liệu, cũng như tái sử dụng dữ liệu thông qua các
ứng dụng khác nhau. Để khắc phục các yếu điểm của Web hiện tại, khái niệm
“Semantic Web” đã ra đời.


9


1.2. Sự ra đời của Semantic Web
Semantic Web (hay Web có ngữ nghĩa) là thế hệ mở rộng của Web
hiện tại được đưa ra bởi Tim Berners-Lee vào khoảng năm 1998. Mục tiêu
ban đầu của Semantic Web là hỗ trợ người dùng tìm kiếm thơng tin trên mạng
một cách nhanh chóng, chuẩn xác và thơng minh hơn so với các cơng cụ tìm
kiếm truyền thống.
Kể từ đó đến nay, các kỹ thuật liên quan đến Semantic Web khơng
ngừng được hồn thiện. Các ứng dụng liên quan đến Semantic Web cũng
được mở rộng như: Phát triển các chuẩn công nghệ chung để biểu diễn thơng
tin và cho phép máy tính có thể hiểu được một số thông tin trên Web, hỗ trợ
tìm kiếm thơng minh, hỗ trợ việc khám phá, tách chiết thơng tin, tích hợp dữ
liệu và tự động hóa một số công việc được thực hiện thủ công.
Xét về mặt bản chất, Semantic Web chỉ là một công cụ để con người
cũng như máy tính sử dụng để biểu diễn thơng tin, hay nói chính xác hơn
Semantic Web là một dạng dữ liệu trên Web. Khác với các dạng thức dữ liệu
được trình bày trong HTML, dữ liệu trong Semantic Web được đánh dấu,
phân lớp, mơ hình hóa, được bổ sung thêm các thuộc tính, các mối liên hệ…
theo các lĩnh vực cụ thể, qua đó giúp cho các phần mềm máy tính có thể hiểu
được dữ liệu và tự động xử lý được những dữ liệu đó.
Semantic Web làm cho các dịch vụ thơng minh hơn, ví dụ như mơi giới
thơng tin, tác nhân tìm kiếm, bộ lọc thông tin v.v. Những dịch vụ thông minh
trên hệ thống web giàu ngữ nghĩa sẽ vượt trội hơn những phiên bản sẵn có
hiện tại của các dịch vụ này, vốn giới hạn về chức năng xử lý.
1.2.1. Semantic Web là gì?
Semantic Web khơng phải là Web chun biệt, nhưng là một mở rộng
của Web hiện tại, theo đó thơng tin được xác định ý nghĩa tốt hơn, cho phép
máy tính và người cộng tác với nhau tốt hơn.
Semantic Web được hình thành từ ý tưởng của Tim Berners-Lee, người
phát minh ra WWW, URI, HTTP và HTML.



10

Semantic Web là một mạng lưới các thông tin, được liên kết sao cho
chúng có thể được xử lý dễ dàng bởi các máy tính ở phạm vi tồn cầu. Nó
được xem là cách mơ tả thơng tin rất hiệu quả trên World Wide Web và cũng
được xem là một cơ sở dữ liệu có khả năng liên kết tồn cầu.
Semantic Web là một phương pháp cho phép định nghĩa và liên kết dữ
liệu một cách có ngữ nghĩa, nhằm phục vụ cho máy tính có thể “hiểu” được.
Semantic Web cịn cung cấp một mơi trường chia sẻ và xử lý dữ liệu một cách
tự động bằng máy tính.
Ví dụ, giả sử cần so sánh giá để chọn mua một bó hoa hay cần tra cứu
catalog của các hãng chế tạo xe khác nhau, để tìm ra thiết bị thay thế cho các
bộ phận bị hư hỏng của xe Volvo 740. Thơng tin ta thu được trực tiếp trên
Web có thể trả lời các câu hỏi này nhưng đòi hỏi người sử dụng phải tự phân
tích ý nghĩa của dữ liệu và mối liên quan của nó với yêu cầu đề ra, khơng thể
xử lý tự động bằng máy tính.
Với Semantic Web ta có thể giải quyết vấn đề này theo 2 cách:
o Thứ nhất, nó sẽ mơ tả chi tiết dữ liệu. Do đó, một chương trình xử lý
khơng cần quan tâm đến các format, hình ảnh, quảng cáo trên một trang Web
để tìm ra sự liên quan của thông tin.
o Thứ hai, Semantic Web cho phép chúng ta tạo ra một file mô tả mối
liên hệ giữa các tập dữ liệu khác nhau. Ví dụ, có thể tạo một liên kết semantic
giữa một cột ‘zip-code’ trong database với trường ‘zip’ ở trên form nhập liệu,
nếu chúng có chung ý nghĩa. Điều này cho phép máy tính theo các link và tích
hợp dữ liệu từ nhiều nguồn khác nhau.
Ý tưởng liên kết các nguồn khác nhau (tài liệu, hình ảnh, con người,
khái niệm, …) cho phép chúng ta mở rộng Web thành một môi trường mới
với tập các mối quan hệ


mới (như hasLocation, worksFor, isAuthorOf,

hasSubjectOf, dependsOn, ...) giữa các nguồn dữ liệu, tạo ra các mối liên hệ
ngữ cảnh (contextual relationship), Web hiện tại chưa làm được.


11

1.2.2. Semantic Web mang lại những gì?
1.2.2.1. Máy có thể hiểu được thơng tin trên Web
Internet ngày nay dựa hồn toàn vào nội dung. Web hiện hành giúp con
người khai thác thơng tin nhưng máy tính thì rất khó để hiểu được thơng tin
trên nó. Semantic Web sẽ cung cấp ngữ nghĩa để máy tính có thể hiểu được.
Ví dụ như:
• The Beatles là một ban nhạc nổi tiếng của Liverpool.
• John Lennon là một thành viên của The Beatles.
• Bản nhạc “Hey Dude” do nhóm The Beatles trình bày.
Con người có thể hiểu và suy luận được trên các câu này nhưng làm
cho máy tính hiểu được như vậy khơng hồn tồn đơn giản.
Về hình thức người sử dụng máy tính vẫn có được nội dung thơng tin
như trước đây, nhưng đối với máy tính Semantic Web nới rộng khả năng xử
lý cho phép, máy không phải suy luận dựa vào ngữ pháp và các ngôn ngữ
đánh dấu (Markup Language), do cấu trúc ngữ nghĩa của văn bản (text) khi đó
hàm chứa những gì cần thiết cho xử lý.
1.2.2.2. Thơng tin được tìm kiếm nhanh chóng và chính xác hơn
Với Semantic Web, việc tìm kiếm sẽ trở nên dễ dàng do mọi thứ đã
được đặt trong ngữ cảnh. Ý tưởng chính yếu ở đây là tồn bộ ngữ cảnh đều
được người sử dụng mô tả. Mục tiêu của Semantic Web là phát triển các tiêu
chuẩn và kĩ thuật để giúp máy hiểu thông tin trên Web nhiều hơn, cho phép

tìm ra các thơng tin dồi dào hơn, tích hợp, duyệt dữ liệu và tự động hóa các
thao tác.
Với Semantic Web khơng những chỉ nhận được những thơng tin chính
xác hơn khi tìm kiếm từ một máy tính, mà máy tính cịn có thể tích hợp thơng
tin từ nhiều nguồn khác nhau, so sánh chúng với nhau.
1.2.2.3. Dữ liệu liên kết động
Với Semantic Web, có thể gắn các thơng tin mơ tả có ngữ nghĩa với bất
kì nguồn dữ liệu nào.


12

Ví dụ, nhờ thêm các metadata (siêu dữ liệu) cho các tài liệu khi tạo lập
ta có thể tìm kiếm các tài liệu có metadata về “tác giả của các tài liệu là Eric
Miller”. Tương tự, với metadata phối hợp có thể tìm kiếm các tài liệu thuộc
loại “tài liệu nghiên cứu”.
Với Semantic Web, ta không chỉ cung cấp các URI cho tài liệu như
trước mà còn cung cấp các khái niệm, các mối liên hệ. Như trong ví dụ trên,
sử dụng định danh cho ‘tác giả’ và khái niệm ‘tài liệu nghiên cứu’, ta đã làm
rõ thêm đó là ai và mối quan hệ của người này với một tài liệu nào đó về mặt
tác giả. Ngồi ra, ta có thể phân biệt những tài liệu của Eric Miller với những
tài liệu của những người khác, có thể kết hợp những thông tin đã được mô tả
ở nhiều site khác nhau để biết thêm về người này ở những ngữ cảnh khác
nhau ví dụ như vai trị khi là tác giả, nhà quản lý, nhà phát triển, …
1.2.2.4. Hỗ trợ cơng cụ tự động hóa
Ngồi ra, Semantic cịn cung cấp các loại dịch vụ tự động từ các phạm
vi khác nhau: trong gia đình, các thư viện kĩ thuật số cho đến các dịch vụ kinh
doanh điện tử và dịch vụ sức khỏe.v.v.
Semantic Web cung cấp các phương tiện để mô tả các thông tin chi tiết
trên Web hỗ trợ việc tự động hóa xử lý các dịch vụ.

1.2.3. Kiến trúc Semantic Web
1.2.3.1. Giới thiệu :
Xét từ góc độ mô tả, Semantic Web chứa đựng một tập hợp các ngôn
ngữ mô tả. Các lớp của Semantic Web được sử dụng để tạo ra các giá trị
thông tin tốt nhất cho các ứng dụng.


13

Hình 1-1 Kiến trúc Semantic Web
o Lớp Unicode & URI cho phép sử dụng tập kí tự quốc tế và cung
cấp phương tiện khi định danh các đối tượng trong Semantic Web.
o Lớp XML cùng với các định nghĩa về namespace và schema (lược
đồ) cho phép có thể tích hợp các định nghĩa Semantic Web với các chuẩn dựa
trên XML khác.
o Lớp RDF [RDF] và RDFSchema [RDFS] cho phép tạo các phát
biểu (statement) mô tả các đối tượng với từ vựng và định nghĩa của URI. Các
đối tượng này được tham chiếu đến khi sử dụng từ vựng và định nghĩa của
URI ở trên. Đây cũng là lớp có thể gán các kiểu (type) cho các tài nguyên liên
kết, cũng là lớp quan trọng nhất trong kiến trúc Semantic Web .
o Lớp Ontology: Cho phép hỗ trợ những tiến triển về từ vựng, cho
phép định nghĩa mối liên hệ giữa các khái niệm khác nhau.
o Lớp Digital Signature: được dùng để xác định chủ thể của tài liệu
(ví dụ: tác giả của một tài liệu).
Các lớp Logic, Proof, Trust: các lớp này đang trong giai đoạn nghiên
cứu chỉ một số thể hiện trong các ứng dụng giản đơn được xây dựng. Lớp
Logic cho phép đưa ra các luật (rule), lớp Proof tiến hành suy diễn trên các
luật và cùng với lớp Trust đánh giá xem ứng dụng có nên chấp nhận minh
chứng đã nêu hay không.



14

1.2.3.2. Vai trò các lớp trong kiến trúc Semantic Web
Ta sẽ xem xét các thành phần khác nhau của Semantic Web và cách
thức thể hiện các thành phần này.
1.2.3.2.1. Lớp định danh tài nguyên-URI
URI (Uniform Resource Identifier) là định danh Web, tương tự như
“http” hay “ftp”. Bất kỳ người sử dụng nào cũng có thể tạo một URI và có
quyền sở hữu chúng, vì vậy URI đã hình thành một cơng nghệ nền để xây
dựng một hệ thống mạng tồn cầu. Mạng Internet cho phép mọi URI có thể
lưu thơng tin trên mạng.
Khi sử dụng URI có thể dùng một cách đặt tên đơn giản để đề cập đến
các tài nguyên khi sử dụng các giao thức khác nhau: HTTP, FPT, GOPHER,
EMAIL,....
Một dạng thức quen thuộc của URI là URL - Uniform Resource
Locator. Thực chất URL là địa chỉ, cho phép ta truy nhập trang Web, như:
Nếu click vào nó, URL sẽ bảo máy tính nơi
đến.
Mặc dù thường được tham chiếu đến như là URL, nhưng URI còn được
tham chiếu đến như các khái niệm trong Semantic Web, để chỉ các resource .
Ví dụ, chúng ta có một quyển sách với tiêu đề “Machine Learning”, với
URI như sau:
/>Dưới đây là ví dụ về URI:
• uuid:04b749bf-3bb2-4dba-934c-c92c56b709df: Đây là một UUIDUniversal Unique Identifier. UUID có thể được thiết lập bằng cách kết hợp
thời gian và địa chỉ của Ethernet card hay một con số ngẫu nhiên được xác
định duy nhất.
• mailto:: xác định địa chỉ mail của một người
nào đó.



15

URI là nền tảng của Semantic Web. Mọi thành phần khác của Web có
thể thay thế nhưng URI thì khơng được phép thay đổi. URI liên hệ các thành
phần của Web lại với nhau.
Để định danh các thành phần trên Web, ta sử dụng bộ định danh. Do sử
dụng một hệ thống đồng bộ các định danh, mỗi thành phần được định danh là
một tài nguyên, nên ta gọi bộ định danh này là “Các Bộ Định Danh Tài
Nguyên” hay URIs. Có thể gán URI cho bất cứ thứ gì và bất cứ thứ gì có URI
đều có thể biểu diễn trên Web. Ví dụ, con người, quyển sách, con ruồi,... Nếu
muốn tất cả đều có thể có URI.
Một nguyên tắc chung tạo các URI là bắt đầu với một trang Web.
Trang mô tả đối tượng được định danh và URL của trang là URI cho đối
tượng đó. Ví dụ muốn tạo một URI cho bản sao “Weaving the Web” của Tim
Berners-Lee, trước tiên ta tạo một trang Web mô tả bản sao. Sau đó, xem URI
của bản sao quyển sách chính là URL của trang web tương ứng, nhờ vậy đã
kết hợp URI ( với bản sao
“WeavingTheWeb”.


thể

nhận

thấy

rằng

trong


thể

hiện

này,

URI:

“http://logicerror/myWeaving TheWeb” thực hiện hai nhiệm vụ: biểu diễn nội
dung cả quyển sách, cũng như trang Web mô tả. Đây là một lĩnh vực đang
được thảo luận, gọi là vấn đề định danh Semantic Web và nó là tâm điểm thảo
luận khi phát triển Semantic Web.
1.2.3.2.2. Lớp XML và XML Schema
Cho đến bây giờ , XML[Bray et al, 1998] được biết rộng rãi và đã
nhanh chóng trở thành nền tảng khi phát triển phần mềm. XML được thiết kế
đơn giản cho phép trao đổi các tài liệu qua Web. Thiết kế định dạng tài liệu và
sau đó soạn thảo tài liệu theo định dạng đó.
XML là một mở rộng của ngơn ngữ đánh dấu cho các các cấu trúc tài
liệu, khác với HTML chỉ là một loại ngôn ngữ đánh dấu chỉ dành cho các loại
tài liệu siêu liên kết. Một tài liệu XML bao gồm một tập các thẻ đóng và thẻ


16

mở được lồng vào nhau, theo đó mỗi một thẻ có một cặp các thuộc tính và giá
trị. Phần cốt yếu của tài liệu XML là bộ từ vựng của các thẻ và cách kết hợp
tuy không cố định, nhưng có thể xác định qua các ứng dụng XML.
Đây là một ví dụ của một tài liệu dạng văn bản đơn giản:
I just got a new pet dog.


Ở đây đã dùng các từ: “sentence”, “person” và “animal” trong ngôn
ngữ định dạng. Nhưng đây là các từ thơng dụng. Điều gì xảy ra nếu những
người khác cũng dùng những từ này trong ngôn ngữ định dạng của họ?
Làm thế nào máy tính hiểu đúng?
Để ngăn ngừa sự bất cập này, phải xác định các phần tử định dạng một
cách duy nhất. Tốt hơn hết là định danh chúng bằng một URI: gán URI cho
mỗi element và attribute, bằng cách sử dụng XML Namespace. Theo cách
này, một người có thể tạo các tag riêng và trộn chúng với những tag của
người khác. Một namespace chỉ là một cách nhận diện các phần của Web
(space) để biết được ý nghĩa của những tên này. Tạo một Namespace cho
ngôn ngữ định dạng bằng cách dùng một URI cho nó.
Như đã nói ở trên, ta sẽ tạo một trang Web để mô tả ngôn ngữ định
dạng và dùng URL như URI cho namespace. Vì các tag của mỗi người có các
URI riêng nên khơng xẩy ra mâu thuẫn tên tag. Tất nhiên, XML cho phép
chúng ta rút gọn và đặt URI mặc định nên không phải gõ chúng ra mỗi lần sử
dụng. Xét “sentence” trong ví dụ dưới đây.


17

Ở đây http:// example.org/xml/documents/" là namespace mặc định và
tất cả các element và attribute khơng có “c:” được đặt trước.
XML cho phép người dùng thêm cấu trúc cho các tài liệu của họ nhưng
không đề mô tả được ý nghĩa của các cấu trúc. Tên các tag không cung cấp ý
nghĩa. Semantic Web chỉ dùng XML cho mục đích mơ tả cú pháp.
1.2.3.2.3. Lớp RDF - RDF Schema
Ban đầu Web được tạo ra để người sử dụng: đọc, hiểu, …. Mặc dù máy
có thể đọc được mọi thứ trên Web, nhưng nó khơng hiểu được dữ liệu trên
Web. Giải pháp được đưa ra là dùng siêu dữ liệu (metadata) mô tả dữ liệu

trên Web để máy có thể hiểu được chúng. Siêu dữ liệu là một dạng dữ liệu mô
tả về dữ liệu khác. Nói cách khác siêu dữ liệu là những thông tin mô tả tài
nguyên trên Web. Chẳng hạn như, sách là một loại tài nguyên trên Web
( Khi đó các thơng tin mơ tả cho tài
ngun này như: tên tác giả, tên tựa sách, ngày xuất bản, … chính là siêu dữ
liệu.
RDF (Resource Description Framework) là nền tảng của Semantic Web
và xử lý metadata, được định nghĩa bởi tổ chức W3C. RDF cho phép trao đổi
thông tin giữa các ứng dụng trên Web để máy tính có thể hiểu được.
Về mặt cấu trúc RDF được mô tả rất đơn giản, gồm 3 thành phần:
o Subject: chủ thể - là vấn đề được đề cập, thường được định danh
bởi một URI.
o Predicate: thuộc tính của chủ thể, có kiểu metadata (ví dụ như tiêu
đề, tác giả, ...), cũng có thể được xác định bởi một URI.
o Object: giá trị của thuộc tính (ví dụ: tên tác giả như Eric Miller).


18

Tập hợp các RDF được lưu dưới dạng cú pháp của XML, còn được gọi
là RDF/XML.
Ta xét một khai báo RDF đơn giản:
< />< />< />URI thứ nhất là subject. Trong thể hiện này subject là “me”. URI thứ 2
là predicate. Nó liên kết subject và object. Trong thể hiện này predicate là
“reallyLikes”. URI thứ 3 là object, ở đây object là “Tim Berners-Lee’s book
‘Weaving the Web’”. Vì vậy, khai báo RDF trên cho ta thơng tin “I really like
‘Weaving the Web’”.
Ví dụ trên được viết dưới dạng RDF như sau:

Tuy nhiên, mô hình dữ liệu RDF khơng cung cấp những cơ chế cho

việc khai báo các thuộc tính, cũng như khơng cung cấp bất kỳ cơ chế nào để
có thể định nghĩa ra những quan hệ giữa các thuộc tính và các tài ngun. Đó
là vai trị của RDF schema, nói cách khác RDF schema được dùng để định
nghĩa các tài nguyên (các lớp trong RDF schema) và thuộc tính (thuộc tính
trong RDF schema), cũng như các quan hệ qua lại giữa tài nguyên với tài
nguyên, giữa thuộc tính với thuộc tính và giữa tài nguyên với thuộc tính.
Tương tự XML schema, RDF schema là một tập những từ khoá cho
phép người dùng định nghĩa bộ từ vựng (resource, property) cụ thể cho dữ


19

liệu RDF (ví dụ như: hasName, hasPrice, authorOf, …) và định nghĩa các
quan hệ của nó với các đối tượng liên quan. Chẳng hạn như từ hasName được
định

nghĩa

quan

hệ

của



trên

hai


đối

tượng:

“ và “Jim Lerners” như sau:
hasName (‘ Lerners”)
1.2.3.2.4. Lớp Ontology
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 đó để biểu diễn và trao đổi thông tin. Đây
cũng là một hướng tiếp cận để xây dựng Semantic Web. Tổ chức W3C cũng
đã đề ra một ngôn ngữ ontology trên Web (OWL: Web Ontoloty Language)
để xây dựng Sematic Web dựa trên nền tảng của ontology.
Ontology định nghĩa một bộ từ vựng phổ biến thường gặp, cho phép
các chia sẻ thông tin trong một hoặc nhiều lĩnh vực. Bao gồm các định nghĩa
về các khái niệm căn bản trong một lĩnh vực và các mối liên hệ giữa chúng để
máy có thể hiểu được.
Lý do cần thiết phải phát triển Ontology có thể biểu đạt như sau:
o Chia sẻ hiểu biết chung về cấu trúc thông tin giữa con người và các
software agent.
o Cho phép tái sử dụng tri thức lĩnh vực (domain knowledge).
o Làm tường minh các giả thuyết về lĩnh vực.
o Tách biệt tri thức lĩnh vực (domain knowledge) khỏi tri thức tác
nghiệp (operational knowledge ).
o Phân tích tri thức lĩnh vực.
1.2.3.2.5. Lớp logic
Không giống như thảo luận ở trên, ở đây khơng xét một hệ cụ thể nào,
thay vào đó một khái niệm tổng qt có thể hình thành về nhiều hệ khác nhau.
Ngoài những khái niệm cơ bản (subclass, inverse...), còn phải cung cấp
các nguyên tắc logic và cho phép máy tính suy diễn (suy luận) giữa vào các
nguyên tắc này.



20

Sau đây là một ví dụ: Một cơng ty quyết định rằng người nào bán hơn
100 sản phẩm sẽ là thành viên của Super Salesman Club. Chương trình thơng
minh có thể hiểu luật này thực hiện suy diễn đơn giản rằng khi “John bán
được 102 sản phẩm, John sẽ là thành viên của Super Salesman Club”.
1.2.3.2.6. Lớp Proof
Vấn đề là xây dựng các hệ suy diễn logic và dùng chúng để chứng
minh. Trước hết phải đưa ra các khai báo logic. Sau đó máy tính có thể dùng
những Semantic link (liên kết ngữ nghĩa) này để kiểm chứng.
Ví dụ, tập hợp các thông tin bán hàng cho thấy Jane đã bán 55 widget
và 66 sprocket. Hệ thống kiểm kê cho thấy widget và sprocket là những sản
phẩm của các công ty khác nhau. Nếu có luật thể hiện là 55 + 66 =121 và 121
lớn hơn 100 và người nào bán hơn 100 sản phẩm sẽ là thành viên của Super
Salesman Club. Máy tính kết hợp tất cả các luật logic lại với nhau thành một
kết luận (proof):
Jane là một Super Salesman.
Lớp proof được dùng để cung cấp các thông tin cho các agent kiểm tra
chéo các kết quả được suy luận bởi các Agent. Tuy nhiên, điều này đòi hỏi
phải dịch các cơ chế suy luận nội tại của mỗi agent theo một ngôn ngữ thể
hiện proof thống nhất.


21

CHƯƠNG II. CÔNG NGHỆ XML
2.1. Giới thiệu
XML (Extensible Markup Language) ra đời vào tháng 2/1998, là ngơn

ngữ có kiến trúc gần giống với HTML, XML nhanh chóng trở thành một
chuẩn phổ biến trong việc chuyển đổi thông tin qua các trang web sử dụng
giao thức HTTP. HTML là ngôn ngữ chủ yếu cho phép hiển thị dữ liệu thì
XML lại hướng về việc chuyển tải, trao đổi và thao tác dữ liệu. XML đưa ra
một định dạng chuẩn cho cấu trúc của dữ liệu hoặc thông tin thông qua tự
định nghĩa định dạng của tài liệu. Bằng cách này, dữ liệu được lưu trữ bằng
XML sẽ độc lập với xử lý. Vì vậy, XML sẽ đáp ứng được yêu cầu ngày càng
cao của lập trình trong vấn đề trao đổi và xử lý thông tin.
2.2. Mục tiêu ra đời và lợi ích khi sử dụng XML
2.2.1. Mục tiêu ra đời của XML
Ngày nay, XML đang trở thành một chuẩn chung cho trao đổi dữ liệu
cho những ứng dụng chạy trên mơi trường Internet. XML cho phép người
dùng có thể tự định nghĩa các thẻ (tag) (Thẻ này làm cho tài liệu XML đa
dạng hơn những ngôn ngữ thông thường như HTML). Như vậy mục tiêu ra
đời XML là gì? Đầu tiên phải tương thích với SGML, và thuận lợi khi viết
những chương trình xử lý. Kế tiếp, tài liệu XML diễn đạt rõ ràng, dễ đọc, dễ
dàng tạo lập. Và điều quan trọng là nó được nhiều ứng dụng hỗ trợ. Nói tóm
lại, XML dễ dàng cho phép chia sẻ thông tin qua những định dạng khác nhau
thông qua môi trường Web. Nói cách khác XML được thiết kế dành cho mọi
người, được mọi người sử dụng.
2.2.2. Lợi ích khi sử dụng XML
XML là sự lựa chọn hàng đầu vì nó dễ hiểu, dễ đọc, và dễ thực hiện.
Sau đây là một số lợi ích khi sử dụng XML
1. XML mơ tả cấu trúc dữ liệu
Dữ liệu có cấu trúc khá phong phú như bảng tính, sổ địa chỉ, các thơng
số cấu hình, quản lý kinh doanh và bản vẽ kỹ thuật. XML cho phép định dạng


22


văn bản theo cấu trúc dữ liệu hiện có. XML khơng phải là một ngơn ngữ lập
trình và bạn khơng cần phải là một lập trình viên mới sử dụng được nó. XML
dễ tạo, dế đọc và làm cho cấu trúc dữ liệu được rõ ràng hơn. XML tránh được
những hạn chế trong thiết kế ngơn ngữ do XML có tính mở rơng, độc lập về
nền tảng và theo chuẩn Unicode.
2. XML giống với HTML
Giống như HTML, XML dùng thẻ (tags - các từ được đặt giữa dấu "<"
và dấu ">") và thuộc tính (attributes - có dạng name="giá trị"). HTML chỉ rõ
ý nghĩa, tác dụng của từng thẻ để hiển thị dữ liệu trên trình duyệt như thế nào
thì XML sử dụng những thẻ chỉ cho mục đích phân định rõ các mảnh dữ liệu
và các ứng dụng có thể đọc được chúng. Đây là một ví dụ, trong HTML thẻ

được dùng để hiển thị đoạn văn bản (paragraph), nhưng trong XML có
thể mang nhiều nội dung khác nhau như tên người, một con số, bí danh...tùy
thuộc vào nhu cầu người sử dụng
3. XML mô tả văn bản nhưng khơng chỉ để đọc
Chương trình ứng dụng thường xuất dưới dạng bảng tính, sổ địa chỉ, và
các dữ liệu có cấu trúc, kết quả lưu trữ dữ liệu trên đĩa dưới dạng nhị phân
hoặc định dạng văn bản. Điều thuận lợi khi sử dụng dạng định dạng văn bản
là cho phép mọi người khi cần có thể xem những dữ liệu trên đó bằng chương
trình biên soạn văn bản khác mà khơng nhất thiết phải xem bằng chương trình
tạo ra nó. Định dạng văn bản cũng cho phép người phát triển dễ dàng hơn
trong việc gỡ lỗi (debug) của các ứng dụng. Cũng giống như HTML, tập tin
dưới định dạng văn bản XML khơng phải hồn tồn dễ đọc. Khác với HTML,
các quy tắc trong các tập tin XML rất nghiêm ngặt. Chỉ cần một thẻ mở mà
quên đóng hay một thuộc tính khơng đặt giữa 2 dấu ngoặc kép sẽ làm cho tập
tin XML trở nên vô dụng trong khi HTML vẫn có thể cho phép được hiển thị.
Đặc tả XML chính thức bắt buộc những ứng dụng khi đọc gặp lỗi trong tập
tin XML phải dừng lại ngay tại dịng có lỗi và thơng báo về lỗi đó.
4. Kích thước tập tin XML



×