LỜI CAM ĐOAN
Tôi xin cam đoan để hoàn thành được luận văn, bản thân đã có quá
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ó.
MỤC LỤC
LỜI CAM ĐOAN
MỤC LỤC
DANH MỤC CÁC CHỮ VIẾT TẮT
DANH MỤC HÌNH VẼ
CHƯƠNG I : GIỚI THIỆU SEMANTIC WEB...........................................1
1.1. Worl wide web và những hạn chế của nó.......................................................1
1.2. Sự ra đời của Semantic Web............................................................................2
1.2.1. Semantic Web là gì?........................................................................2
1.2.2. Semantic Web mang lại những gì?..................................................4
1.2.2.1. Máy có thể hiểu được thông tin trên Web..................................4
1.2.2.2. Thông tin được tìm kiếm nhanh chóng và chính xác hơn..........4
1.2.2.3. Dữ liệu liên kết động..................................................................4
1.2.2.4. Hỗ trợ công cụ tự động hóa........................................................5
1.2.3. Kiến trúc Semantic Web...................................................................5
1.2.3.1. Giới thiệu :.................................................................................5
1.2.3.2. Vai trò các lớp trong kiến trúc Semantic Web...........................7
1.2.3.2.1. Lớp định danh tài nguyên-URI...............................................7
1.2.3.2.2. Lớp XML và XML Schema....................................................8
1.2.3.2.3. Lớp RDF - RDF Schema......................................................10
1.2.3.2.4. Lớp Ontology............................................................................12
1.2.3.2.5. Lớp logic...................................................................................12
1.2.3.2.6. Lớp Proof..................................................................................13
CHƯƠNG II. CÔNG NGHỆ XML.............................................................14
2.1. Giới thiệu.........................................................................................................14
2.2. Mục tiêu ra đời và lợi ích khi sử dụng XML................................................14
2.2.1. Mục tiêu ra đời của XML...............................................................14
2.2.2. Lợi ích khi sử dụng XML................................................................14
2.3. Một tài liệu XML thông dụng........................................................................18
2.4. Tạo lập một tài liệu XML...............................................................................19
2.5. Các thành phần của một tài liệu XML..........................................................20
2.6. Một tài liệu XML hợp lệ.................................................................................21
2.6.1. DTD (Document Type Definition)..................................................21
2.6.2. Lược đồ XML (Schema XML)........................................................22
2.6.2.1. Định nghĩa lược đồ XML.........................................................22
2.6.2.2. Các kiểu dữ liệu trong lược đồ XML.......................................23
2.7. XPath............................................................................................................... 24
2.8. Đặc điểm của XML.........................................................................................24
CHƯƠNG III. TỔNG QUAN VỀ RDF.......................................................26
3.1. Giới thiệu.........................................................................................................26
3.2. Các khái niệm dùng trong RDF.....................................................................27
3.2.1. Namespace và cách khai báo........................................................30
3.2.2. Qualified name(QName) và cách sử dụng....................................31
3.2.3. Mô hình RDF ( RDF Model).........................................................33
3.2.3.1. Bộ ba RDF ( RDF Tripple)......................................................34
3.2.3.2. Đồ thị RDF ( RDF Graph).......................................................34
3.2.3.3. Literal.......................................................................................35
3.2.4. Tripple và cách sử dụng namespace..............................................37
3.2.5. Kiểu dữ liệu có cấu trúc và Blank node.........................................38
3.3. Cấu trúc RDF/XML.......................................................................................41
3.3.1. Cú pháp RDF/XML cơ bản...........................................................41
3.3.2. RDF Container...............................................................................44
3.3.2.1. Mô hình Container...................................................................44
3.3.2.2. Cú pháp Container...................................................................46
3.4. RDF Collection................................................................................................47
3.5. RDF Schema...................................................................................................50
3.5.1. Giới thiệu.......................................................................................50
3.5.2. Định nghĩa class (lớp)...................................................................50
3.5.3 Định nghĩa property( thuộc tính)...................................................53
3.5.3.1. Cách sử dụng rdfs:range..........................................................53
3.5.3.2. Cách sử dụng rdfs:domain.......................................................54
3.5.3.3. Ví dụ.........................................................................................54
3.6. Truy vấn dữ liệu trong RDF..........................................................................56
3.6.1. Tạo một câu truy vấn đơn giản......................................................56
3.6.2. Cú pháp của câu truy vấn.............................................................57
3.6.3. Những dạng cú pháp khác.............................................................58
3.6.4. Ràng buộc dữ liệu..........................................................................61
3.6.5. Thêm vào kiểu Optional.................................................................61
3.6.6. Ràng buộc trong khối Optional......................................................62
3.6.7. Nhiều khối Optional.......................................................................63
3.6.8. Các phép toán và điều kiện trên câu truy vấn................................63
3.6.8.1. Phép hội....................................................................................64
3.6.8.2. DISTINCT...............................................................................64
3.6.8.3. ORDER BY..............................................................................65
3.6.8.4. LIMIT.......................................................................................65
CHƯƠNG IV. TÍCH HỢP DỮ LIỆU VÀO SEMANTIC WEB...............66
4.1. Giới thiệu.........................................................................................................66
4.2. Mô hình tích hợp dữ liệu................................................................................66
4.2.1. Các ngôn ngữ của Semantic Web...................................................66
4.2.2. Mô hình..........................................................................................67
4.3. Chuyển dữ liệu từ Relational Database sang XML......................................67
4.3.1. Giới thiệu.......................................................................................67
4.3.2. Phương thức chuyển đổi cơ sỡ dữ liệu quan hệ sang XML...........68
4.3.2. Mô hình hệ thống...........................................................................75
4.3.3. Chuyển đổi lược đồ quan hệ sang lược đồ XML............................76
4.3.3.1. Mô hình lược đồ quan hệ.........................................................76
4.3.3.2. Chuyển đổi các thành phần của cơ sở dữ liệu quan hệ sang
XML......................................................................................................77
4.4. Chuyển dữ liệu từ cơ sở dữ liệu quan hệ sang RDF.....................................81
4.4.1. Giới thiệu.......................................................................................81
4.4.2. Mô hình hệ thống...........................................................................82
4.4.3. Chuyển đổi cơ sở dữ liệu quan hệ RDF.........................................82
4.4.3.1. Phương pháp thực hiện............................................................82
4.4.3.2. Ví dụ.........................................................................................85
CHƯƠNG V. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN...........................87
5.5. Kết luận...........................................................................................................87
5.2. Kết quả đạt được...........................................................................................87
5.3. Hướng phát triển của đề tài...........................................................................88
TÀI LIỆU THAM KHẢO............................................................................89
DANH MỤC CÁC TỪ VIẾT TẮT
HTTP:
Hypertext Transfer Protocol
HTML:
HyperText Markup Language
XHTML:
Extensible HyperText Markup Language
RDF:
Resource Description Framework
FTP:
File Transfer Protocol
XML:
Resource Description Framework
URI:
Uniform Resource Identifier
URL:
Uniform Resource Locator
OWL:
Web Ontology Language
WWW:
World Wide Web
DANH MỤC HÌNH VẼ
Hình 1-1 Kiến trúc Semantic Web
Hình 3-1: Đồ thị biểu diễn bộ ba
Hình 3-2: Đồ thị biểu diễn nhóm bộ ba
Hình 3-3 Mối quan hệ giữa các thành phần trong triple.
Hình 3-4 Mô tả một phát biểu đơn giản bằng đồ thị
Hình 3-5 Biểu diễn nhiều phát biểu cho cùng một subject
Hình 3-6 Plain Literal biểu diễn cho tuổi của Mr John
Hình 3-7 Kiểu Typed Literal biểu diễn cho tuổi của Mr John
Hình 3-8 Tạo địa chỉ(address) cho Mr John
Hình 3-9 Sử dụng một blank Node.
Hình 3-10 Mô tả 1 bag container đơn giản
Hình 3-11 Mô tả 1 Alt container đơn giản
Hình 3-12 Mô tả một RDF : Collection
Hình 3-13 Không gian domain và range của thuộc tính
Hình 4.1. Mô hình hệ thống tích hợp dữ liệu
Hình 4.2. Mô hình chuyển đổi cơ sở dữ liệu quan hệ sang XML
13
35
36
41
41
42
43
44
46
47
52
53
55
60
74
83
1
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 hoàn toà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.
2
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 hoà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 chuyên 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.
3
Semantic Web là một mạng lưới các thông tin, được liên kết sao cho
chúng có thể được xử lý dễ dàng bởi các máy tính ở phạm vi toàn cầu. Nó
được xem là cách mô tả thông tin rất hiệu quả trên World Wide Web và cũng
được xem là một cơ sở dữ liệu có khả năng liên kết toàn cầu.
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.
4
1.2.2. Semantic Web mang lại những gì?
1.2.2.1. Máy có thể hiểu được thông tin trên Web
Internet ngày nay dựa hoàn toàn vào nội dung. Web hiện hành 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 hoàn toà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à toà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.
5
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ả. Ngoà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
Ngoà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.
6
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.
7
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 toà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ư:
http://www.w3.org/Addressing/. 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:
http://www.cs.bris.ac.uk/home/pw2538/book/title#machinelearning.
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:
[email protected]: xác định địa chỉ mail của một người
nào đó.
8
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 (http://logicerror.com/myWeavingTheWeb) với bản sao
“WeavingTheWeb”.
Có
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ẻ
9
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.
10
Ở đâ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
(http://www.amazon.com/CSharp.htm). Khi đó các thông tin mô tả cho tài
nguyên 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).
11
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 nguyên. Đó
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ữ
12
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
nó
trên
hai
đối
tượng:
“http://www.w3c.org/employee/id1321” và “Jim Lerners” như sau:
hasName (‘http://www.w3c.org/employee/id1321’,“Jim 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 quát 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.
13
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.
14
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