Trong đề tài này, tôi nghiên cứu ứng dụng công nghệ Web ngữ nghĩa, đề xuất giải pháp và xây dựng ontology dựa trên thông tin, dữ liệu về động vật rừng, từ đó xây dựng ứng dụng hỗ trợ tì
Trang 1TRẦN XUÂN TRƯỜNG
XÂY DỰNG ONTOLOGY PHỤC VỤ TÌM KIẾM NGỮ NGHĨA ĐỘNG VẬT RỪNG
TRÊN ĐỊA BÀN THÀNH PHỐ ĐÀ NẴNG
LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN
Đà Nẵng – Năm 2016
Trang 2TRẦN XUÂN TRƯỜNG
XÂY DỰNG ONTOLOGY PHỤC VỤ TÌM KIẾM NGỮ NGHĨA ĐỘNG VẬT RỪNG
TRÊN ĐỊA BÀN THÀNH PHỐ ĐÀ NẴNG
Chuyên ngành: Hệ thống Thông tin
Mã số: 60.48.01.04
LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN
Người hướng dẫn khoa học: TS NGUYỄN TRẦN QUỐC VINH
Đà Nẵng – Năm 2016
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan:
Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy TS Nguyễn Trần Quốc Vinh
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực tên tác giả, tên công trình, thời gian, địa điểm công bố
Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm
Người cam đoan
Trần Xuân Trường
Trang 4MỤC LỤC
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 3
3 Đối tượng và phạm vi nghiên cứu 3
4 Phương pháp nghiên cứu 3
5 Ý nghĩa khoa học và thực tiễn 3
6 Bố cục đề tài 4
7 Tổng quan tài liệu nghiên cứu 4
CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN 6
1.1 TỔNG QUAN VỀ WEB NGỮ NGHĨA 6
1.1.1 Giới thiệu 6
1.1.2 Khái niệm 7
1.1.3 Nội dung xây dựng hệ thống web ngữ nghĩa 9
1.1.4 Kiến trúc phân tầng của web ngữ nghĩa 11
1.2 RDF – NỀN TẢNG CỦA WEB NGỮ NGHĨA 17
1.2.1 Khái niệm 17
1.2.2 Mô hình RDF 18
1.2.3 Đồ thị RDF 19
1.2.4 Namespace 19
1.2.5 Literal 19
1.2.6 Kiểu dữ liệu có cấu trúc 20
1.2.7 RDFS (RDF Schema) 27
1.3 ONTOLOGY VÀ NGÔN NGỮ OWL 27
1.3.1 Định nghĩa ontology 27
1.3.2 Các lĩnh vực ứng dụng ontology 28
Trang 51.3.3 Vai trò ontology và web ngữ nghĩa 28
1.3.4 Các thành phần của ontology 29
1.3.5 Ngôn ngữ OWL 30
1.3.6 Hệ truy vấn SPARQL 32
1.4 ĐỘNG VẬT RỪNG TRÊN ĐỊA BÀN THÀNH PHỐ ĐÀ NẴNG 34
1.4.1 Giới thiệu 34
1.4.2 Cấu trúc, thành phần loài động vật 34
1.4.3 Cấu trúc, thành phần loài con trùng 36
1.5 MỘT SỐ NGHIÊN CỨU WEB NGỮ NGHĨA ĐÃ TRIỂN KHAI 38
1.6 KẾT CHƯƠNG 39
CHƯƠNG 2 PHƯƠNG PHÁP VÀ PHẦN MỀM XÂY DỰNG ONTOLOGY 40
2.1 GIỚI THIỆU 40
2.2 PHƯƠNG PHÁP XÂY DỰNG ONTOLOGY 40
2.3 QUY TRÌNH XÂY DỰNG ONTOLOGY CHO DỮ LIỆU ĐỘNG VẬT RỪNG 44
2.4 MỘT SỐ PHẦN MỀM BIÊN TẬP ONTOLOGY 48
2.4.1 Phần mềm Sesame 48
2.4.2 Phần mềm Jena 50
2.4.3 Phần mềm Protégé 50
2.5 KẾT CHƯƠNG 53
CHƯƠNG 3 XÂY DỰNG ONTOLOGY VÀ PHÁT TRIỂN ỨNG DỤNG 54
3.1 MÔ TẢ BÀI TOÁN 54
3.2 ĐẶC TẢ DỮ LIỆU 54
3.3 QUY TRÌNH XÂY DỰNG ONTOLOGY VÀ PHẦN MỀM 57
3.4 XÂY DỰNG ONOTLOGY VÀ PHẦN MỀM 58
Trang 63.4.1 Ontology động vật rừng 58
3.4.2 Phần mềm hỗ trợ khai thác và tìm kiếm 65
3.5 KẾT CHƯƠNG 71
KẾT LUẬN VÀ KIẾN NGHỊ 72 TÀI LIỆU THAM KHẢO
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao)
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
CSDL Cơ sở dữ liệu
DAML DARPA Agent Markup Language
DARPA Defense Advanced Research Projects Agency
DTD Document Type Definition
FOAF Friend Of A Friend
HTML HyperText Markup Language
HTTP Hypertext Transfer Protocol
IE Information Extraction
IR Information Retrieval
IRI Internationalized Resource Identifier
JSP JavaServer Pages
NLP Natural Language Processing
OIL Ontology Inference Layer
QA Question Answering
RDF Resource Description Framework
RDFS Resource Description Framework Schema SGML Standard Generalized Markup Language SOAP Simple Object Access Protocol
SQL Structured Query Language
URI Uniform Resource Identifier
URL Oxygen Uniform Resource Locator
W3C World Wide Web Consortium
XML Extensible Markup Language
XMLS Extensible Markup Language Schema
Trang 93.1 Tình trạng và phân bố của khu hệ động vật Sơn Trà 55
3.8 Cây phân cấp các lớp Phân bố, Thức ăn 61
3.10 Thuộc tính chung của lớp Ví dụ lớp Khỉ 62
Trang 10Số hiệu
3.12 Các thuộc tính của ontology động vật 63 3.13 Thông tin mô tả của loài khỉ vàng 64 3.14 Xây dựng ontology cho loài Khỉ vàng 64 3.15 Biểu diễn từ đồng nghĩa trong ontology 65
3.17 Chức năng thêm và xóa thuộc tính cho thể hiện 67
3.20 Chức năng lưu nội dung đã chỉnh sửa 68
3.24 Kết quả tìm kiếm loài Chà vá chân nâu 70 3.25 Tìm kiếm kết quả trên cây phân cấp 70
Trang 11MỞ ĐẦU
1 Lý do chọn đề tài
Thành phố Đà Nẵng có lợi thế rất lớn về địa hình và được thiên nhiên ban tặng cho nhiều sinh vật có giá trị, là một trong những thành phố hiếm có trên thế giới về đa dạng sinh học, nơi hội tụ sự đa dạng các hệ sinh thái rừng, biển và sông; với hơn 1.200km2
(kể cả huyện đảo Hoàng Sa), diện tích rừng chiếm gần 50%, đường bờ biển 72km và trên 1.000ha diện tích lưu vực sông,
hồ và vùng trũng Hệ động vật rừng của thành phố Đà Nẵng đặc trưng cho khu hệ động vật Nam Trường Sơn với các loài Voọc vá, Khỉ đuôi dài, Chồn dơi, Sóc vàng, Trĩ sao, Gà lôi và các loài thuộc khu hệ động vật Bắc Trường Sơn: Tê tê, Gà tiền, Khỉ vàng Mặc dù sự phân bố loài không đồng đều trong các lớp động vật nhưng thành phần thì đa dạng, đặc biệt là nguồn gen các loài quý hiếm như: Gấu, Beo lửa, Mèo rừng, Cu ly, Vọoc vá Chân nâu, Trĩ sao, Công, Gà tiền, Gà lôi lam, Mang Trường Sơn và một số loài bò sát, lưỡng cư [1], [9]
Hiện nay, việc điều tra, thống kê hệ động vật rừng của thành phố Đà Nẵng đã được nhiều nhà khoa học, cơ quan, tổ chức thực hiện thông qua các chương trình, dự án, các đề tài, như: Điều tra khu động – thực vật và nhân tố ảnh hưởng, đề xuất phương án bảo tồn hợp lý khu bảo tồn thiên nhiên bán đảo
Sơn Trà [1], Báo cáo tài nguyên rừng thành phố Đà Nẵng [9], [14],… Tuy
nhiên, việc công bố các nội dung điều tra, thống kê đó trên internet để cá nhân, tổ chức khác có nhu cầu tìm hiểu, tra cứu thì còn nhiều hạn chế Một số website cung cấp thông tin về hệ động – thực vật của thành phố Đà Nẵng như: website Sở Nông nghiệp và phát triển Nông thôn TP Đà Nẵng [10], website Văn phòng thuộc Ban chỉ đạo thành phố Ứng phó biến đổi khí hậu và nước biển dâng thành phố Đà Nẵng [7],… đều chủ yếu cung cấp tin tức, số liệu
Trang 12thống kê sơ lược, chưa có website nào cung cấp chức năng tra cứu chuyên sâu
về hệ động - thực vật nói chung và động vật rừng nói riêng tại thành phố Đà Nẵng
Hiện nay, công nghệ web 2.0 đã đạt được những thành tựu rất đáng kể trong việc nâng cao tính tương tác cũng như đẩy nhanh tốc độ xử lý đáp ứng yêu cầu của người dùng Tuy nhiên trong xã hội thông tin đương đại nhu cầu của người dùng không dừng lại ở việc cải thiện tốc độ mà còn phải cải thiện chất lượng xử lý của trang web theo yêu cầu ngày càng nâng cao Web 3.0 (Semantic Web - Web ngữ nghĩa) ra đời nhằm đáp ứng những yêu cầu về chất lượng đó Với đặc điểm chính là nâng cao khả năng chia sẻ tài nguyên và tăng
―sự hiểu biết‖ trong quá trình xử lý dữ liệu của máy tính, Web ngữ nghĩa đã đi sâu vào phân tích và định hướng dữ liệu, đồng thời hỗ trợ phát triển ứng dụng Web ngữ nghĩa trên nhiều lĩnh vực khác nhau Một trong những lĩnh vực thế mạnh của Web ngữ nghĩa là xử lý và tìm kiếm thông tin Việc phân tích và định hướng nội dung lưu trữ cho phép chúng ta xây dựng những cơ sở dữ liệu phục vụ tìm kiếm chính xác hơn, tinh gọn hơn
Do đó, xây dựng công cụ để tìm kiếm ngữ nghĩa động vật rừng thành phố Đà Nẵng là một nhu cầu cấp thiết, phù hợp với chủ trương của Thành phố trong việc bảo tồn đa dạng sinh học rừng với mục tiêu Thành phố môi trường
mà Thành phố đã đề ra trong đề án "Xây dựng Đà Nẵng - Thành phố môi trường" [8]
Vậy, với những vấn đề đã nêu trên tôi đề xuất xây dựng đề tài “Xây
dựng ontology phục vụ tìm kiếm ngữ nghĩa động vật rừng trên địa bàn
thành phố Đà Nẵng” làm đề tài tốt nghiệp luận văn cao học Trong đề tài
này, tôi nghiên cứu ứng dụng công nghệ Web ngữ nghĩa, đề xuất giải pháp và xây dựng ontology dựa trên thông tin, dữ liệu về động vật rừng, từ đó xây dựng ứng dụng hỗ trợ tìm kiếm ngữ nghĩa động vật rừng phân bố tại thành
Trang 13phố Đà Nẵng một cách dễ dàng và tiện lợi, góp phần phổ biến rộng rãi thông tin về đa dạng sinh học của Thành phố
2 Mục tiêu nghiên cứu
Xây dựng ontology cho dữ liệu động vật rừng tại thành phố Đà Nẵng; Xây dựng ứng dụng tìm kiếm ngữ nghĩa cho dữ liệu động vật rừng; Phổ biến thông tin và góp phần bảo tồn đa dạng sinh học rừng của thành phố Đà Nẵng
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu là các vấn đề liên quan đến web ngữ nghĩa,
phương pháp xây dựng và lưu trũ dữ liệu trong web ngữ nghĩa, nghiên cứu ontology, RDF và OWL, dữ liệu động vật rừng tại thành phố Đà Nẵng
Phạm vi nghiên cứu là dữ liệu động vật rừng phân bố trên địa bàn thành
phố, nghiên cứu về RDF, SPARQL, các ứng dụng biên tập ontology:
(Sesame, Jena, Protégé,…)
4 Phương pháp nghiên cứu
Phương pháp lý thuyết: Tìm hiểu lý thuyết: Web ngữ nghĩa, ontology,
RDF Tìm kiếm, tổng hợp dữ liệu động vật rừng trên địa bàn thành phố Đà Nẵng Nghiên cứu phương pháp và phần mềm xây dựng web ngữ nghĩa
Nghiên cứu xây dựng ontology cho dữ liệu động vật rừng
Phương pháp thực nghiệm: Xây dựng ontology; Triển khai thực tế trên
internet
5 Ý nghĩa khoa học và thực tiễn
Về mặt khoa học đề tài đóng góp phương pháp xây dựng ontology về
dữ liệu động vật nói chung và dữ liệu động vật rừng trên địa bàn thành phố
Đà Nẵng nói riêng, ứng dụng semantic web về mặt tìm kiếm và vấn đề đa ngữ trong ontology, một công cụ hỗ trợ khai thác, phát triển và tìm kiếm theo công nghệ web ngữ nghĩa
Trang 14Về thực tiễn đề tài mở ra hướng nghiên cứu ứng dụng mới về tìm kiếm
dữ liệu các loài động vật
6 Bố cục đề tài
Luận văn được trình bày bao gồm các nội dung như sau :
Chương 1: Trong chương này, tôi trình bày cơ sở lý thuyết về web ngữ
nghĩa, ngôn ngữ RDF, OWL và nêu khái niệm về ontology, đồng thời tôi giới thiệu và trích dẫn tổng quan thông tin động vật rừng từ các nghiên cứu động vật trên địa bàn thành phố Đà Nẵng
Chương 2: Chương này tôi tìm hiểu phương pháp xây dựng ontology,
từ đó đưa ra phương pháp xây dựng ontology động vật rừng Đồng thời, tôi tìm hiểu các phần mềm ứng dụng trong việc biên tập và khai thác ontology
Chương 3: Dựa trên những nghiên cứu, tìm hiểu ở chương 2, tôi tiến
hành đặc tả dữ liệu động vật rừng, tiến hành xây dựng chi tiết ontology động vật rừng và phát triển các chức năng của phần mềm hỗ trợ khai thác, tìm kiếm động vật rừng thành phố Đà Nẵng
Ngoài ra, để đánh giá toàn bộ quá trình nghiên cứu, phần cuối của luận văn có nêu lên kết quả và hướng phát triển cho đề tài
7 Tổng quan tài liệu nghiên cứu
Để thực hiện luận văn này, tôi đã tổng hợp và tham khảo nhiều nguồn tài liệu có liên quan, trong đó chú trọng nguồn tài liệu với 2 nội dung chính là: tài liệu về thông tin, dữ liệu động vật rừng trên địa bàn thành phố Đà Nẵng và tài liệu về phương pháp xây dựng ontology và ứng dụng web ngữ nghĩa, trong đó:
- Tài liệu về thông tin, dữ liệu động vật rừng trên địa bàn thành phố Đà Nẵng gồm: Báo cáo tổng kết đề tài cấp Thành phố Đà Nẵng ―Điều tra khu động – thực vật và nhân tố ảnh hưởng, đề xuất phương án bảo tồn hợp lý khu bảo tồn thiên nhiên bán đảo Sơn Trà‖ [1] Sử dụng nội dung, thông tin mô tả
Trang 15chi tiết các loài động vật trong Sách đỏ Việt Nam [12], đồng thời tham khảo trong các website có nguồn dữ liệu về động vật phong phú và chính xác, thường được các nhà nghiên cứu tham khảo như: vncreatures.net (Sinh vật rừng Việt Nam) [17], wikipedia.org (Bách khoa toàn thư mở) để xây dựng ontology động vật rừng
Tài liệu về phương pháp xây dựng ontology và ứng dụng web ngữ nghĩa: tôi tham khảo ở các nghiên cứu trước đây về phương pháp xây dựng ontology, các ứng dụng web ngữ nghĩa, từ các giáo trình, các luận văn và các
bài báo Tôi tham khảo sách tiếng anh: What Is an Ontology?[13]
Ngoài sự hướng dẫn của TS Nguyễn Trần Quốc Vinh (người hướng dẫn khoa học), tôi còn nhờ sự tư vấn của Thạc sĩ Nguyễn Văn Khánh, Trường Đại học Sư phạm, Đại học Đà Nẵng, nghiên cứu trong ngành sinh học, tôi tham khảo để xác định các loài động vật rừng thuộc loại quý hiếm trên địa bàn thành phố hoặc đã từng xuất hiện trên rừng thuộc địa bàn thành phố những năm trước đây để chọn minh họa xây dựng ontology
Trang 16CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN 1.1 TỔNG QUAN VỀ WEB NGỮ NGHĨA
Web 2.0 đã đạt được những thành tựu rất đáng kể trong việc nâng cao tính tương tác cũng như đẩy nhanh tốc độ xử lý đáp ứng yêu cầu của người dùng Tuy nhiên trong xã hội thông tin đương đại nhu cầu của người dùng không dừng lại ở việc cải thiện tốc độ mà còn phải cải thiện chất lượng xử lý của trang web theo yêu cầu ngày càng nâng cao Web 3.0 (Web Semantic) ra đời nhằm đáp ứng những yêu cầu về chất lượng đó
Với đặc điểm chính là nâng cao khả năng chia sẻ tài nguyên và tăng ―sự hiểu biết‖ trong quá trình xử lý dữ liệu của máy tính Web Semantic đã đi sâu vào phân tích và định hướng dữ liệu, đồng thời hỗ trợ phát triển ứng dụng Web Semantic trên nhiều lĩnh vực khác nhau Một trong những lĩnh vực thế mạnh của Web Semantic là xử lý và tìm kiếm thông tin Việc phân tích và định hướng nội dung lưu trữ cho phép chúng ta xây dựng những cơ sở dữ liệu phục vụ tìm kiếm chính xác hơn, tinh gọn hơn [7]
1.1.1 Giới thiệu
Web ngữ nghĩa là sự mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa rõ ràng sao cho con người và máy tính có thể cùng làm việc với nhau một cách hiệu quả hơn Mục tiêu của Web có ngữ nghĩa là để phát triển các chuẩn chung và công nghệ cho phép máy tính có thể hiểu được nhiều hơn thông tin trên Web, sao cho chúng có thể hỗ trợ tốt hơn việc khám phá thông tin, tích hợp dữ liệu (dữ liệu liên kết động), và tự động hóa các công việc
Semantic Web (Web ngữ nghĩa) là một mạng lưới thông tin được kết ghép trong một phương pháp sao cho có thể xử lí dễ dàng bởi máy tính trên
sự cân bằng toàn diện Bạn có thể nghĩ về nó giông như một phương pháp
Trang 17trình bày dữ liệu hiệu quả trên World Wide Web (www), hoặc như là một cơ
sở dữ liệu liên kết toàn diện
Semantic Web là một ý tưởng về việc dữ liệu trên Web được xác định
và liên kết với nhau theo cách mà nó có thể được sử dụng bởi máy tính không chỉ cho mục đích thể hiện mà còn cho mục đích tự động, tích hợp và tái sử dụng dữ liệu thông qua nhiều ứng dụng khác nhau
Semantic Web được nghĩ ra bởi Tim Berners-Lee, một nhà phát minh
ra WWW, URIs (Uniform Resource Identifier – Định dạng tài nguyên thống nhất), HTTP (HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản) và HTML (HyperText Markup Language – Ngôn ngữ Đánh dấu Siêu văn bản) ―Web ngữ nghĩa là sự mở rộng của Web hiện nay theo hướng mà thông tin được xác định ngữ nghĩa rõ ràng, cho phép máy tính và con người
có thể làm việc cộng tác với nhau‖ - Tim Berners [4]
Semantic Web được xây dựng dựa trên cú pháp sử dụng URIs để biểu diễn dữ liệu, luôn luôn trong bộ ba cấu trúc: tức là các bộ ba của dữ liệu URI
mà có thể được giữ lại trong cơ sở dữ liệu hoặc được trao đổi trong World Wide Web dùng một tập những cú pháp đặc biệt được phát triển riêng cho tác
vụ nào đó Cú pháp này được gọi là cú pháp RDF (Resource Description Framework - Khung mô tả tài nguyên)
1.1.2 Khái niệm
Web ngữ nghĩa được phát triển bởi Tim- Berners Lee, cha đẻ của
WWW, URIs, HTTP và HTML Theo Ông, „„Web ngữ nghĩa là sự mở rộng
của Web hiện tại, cho phép người dùng có thể truy tìm, phối hợp, sử dụng lại
và trích lọc thông tin một cách dễ dàng và chính xác‟‟ [4]
Phân biệt web ngữ nghĩa với Web 2.0:
❖ Web 2.0: lưu trữ thông tin (store things)
• Trình bày thông tin;
Trang 18• Tìm kiếm chủ yếu dựa vào từ khóa;
• Thông tin không đồng bộ và nhanh chóng bị lạc hậu
❖ Web ngữ nghĩa: thao tác trên thông tin (does things)
• Trình bày thông tin nhưng nội dung trang Web có thể được xử lý bởi máy;
• Nội dung của Web nói lên ngữ nghĩa của nó thông qua các siêu dữ liệu (metadata);
• Các ontology được chia sẽ để có thể hiểu được ngữ nghĩa;
• Do có thể hiểu được ngữ nghĩa nên các phần mềm agent có thể giao tiếp, trao đổi thông tin với nhau;
• Sử dụng nhiều kỹ thuật của lĩnh vực trí tuệ nhân tạo;
• Tìm kiếm chủ yếu dựa vào ngữ nghĩa
Do có những công cụ tự động cập nhật nên thông tin luôn được đồng
bộ và kịp thời
Một cách phân biệt khác:
• HTML: Web trực quan (visual Web)
• XML: Web theo cú pháp (syntactic Web)
• Logic: Web theo ngữ nghĩa [7]
Ví dụ: Ta có thể tạo một liên kết ngữ nghĩa giữa cột mã quốc gia code‘ trong cơ sở dữ liệu (database) với trường ‗zip‘ ở trên giao diệ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 đường kết nối 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 giữa các nguồn dữ liệu, tạo ra các mối liên hệ ngữ cảnh (contextual relationship), điều mà Web 2.0 chưa làm được [16]
Trang 19‗zip-Hình 1.1 Liên kết ngữ nghĩa giữa các nguồn khác nhau trong Semantic Web
1.1.3 Nội dung xây dựng hệ thống web ngữ nghĩa
Để xây dựng hệ thống Web ngữ nghĩa thay thế cho World Wide Web hiện tại, các nhà nghiên cứu đang nỗ lực và tập trung nghiên cứu với ba hướng chính sau:
- Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và siêu dữ liệu (RDF) trên Web
- Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa
- Phát triển nâng cao Web có ngữ nghĩa (Semantic Web Advanced Development- SWAD)
a Chuẩn hoá các ngôn ngữ biểu diễn dữ liệu (XML) và các siêu dữ liệu (RDF) trên Web
Như chúng ta đã biết, World Wide Web đã rất thành công bởi ngôn ngữ XML XML đã làm cho công nghệ Web phát triển mạnh mẽ như hiện nay Và Web ngữ nghĩa được phát triển trên nền Web hiện tại, trên nền XML, chúng
ta có thể thấy rất rõ ngay trong sơ đồ kiến trúc của Web ngữ nghĩa Web ngữ nghĩa được bổ sung các chú thích ngữ nghĩa cho các tài nguyên Web, và W3C
Trang 20đã giới thiệu RDF là chuẩn cú pháp để tạo, thay đổi và sử dụng chú thích trong Web ngữ nghĩa Do vậy việc xây dựng ngôn ngữ chuẩn cho XML và RDF là thiết yếu để biểu diễn dữ liệu cho Web ngữ nghĩa Trong quá trình này, đã có một số cú pháp được đưa ra để biểu diễn RDF như: Notation 3 (hay N3), XML/RDF Các cú pháp này hỗ trợ biểu diễn dữ liệu cho máy có thể hiểu được
b Chuẩn hoá các ngôn ngữ biểu diễn Ontology cho Web có ngữ nghĩa
Ontology đóng vai trò then chốt trong việc cung cấp tài nguyên có thể truy nhập để xử lý tự động bằng cách cung cấp bộ từ vựng cho việc đánh dấu ngữ nghĩa của Web ngữ nghĩa Để biểu diễn Ontology cho phát triển Web có ngữ nghĩa cần thiết đưa ra một ngôn ngữ chuẩn cho sự biểu diễn mềm dẻo, linh hoạt và đa dạng của tài nguyên Web Trong quá trình chuẩn hoá ngôn ngữ biểu diễn Ontology, một số ngôn ngữ được đề xuất với các khả năng biểu diễn tăng dần như: RDFS, DAML+OIL, OWL, và tiếp tục được mở rộng trong tương lai Các ngôn ngữ này có khả năng biểu diễn tăng dần nhưng tương ứng là khả năng quyết định giảm dần (độ phức tạp tăng dần) Và các ngôn ngữ biểu diễn Ontology được xây dựng phải cân bằng được khả năng biểu diễn và độ phức tạp tính toán Các ngôn ngữ này được xây dựng trên nền các chuẩn XML, RDF, và thường sử dụng cơ sở logic là logic mô tả để biểu diễn ngữ nghĩa và hỗ trợ lập luận
c Phát triển nâng cao Web ngữ nghĩa (Semantic Web Advanced Development - SWAD)
Các công việc chuẩn hoá các ngôn ngữ biểu diễn dữ liệu XML, siêu dữ liệu RDF hay ngôn ngữ biểu diễn Ontology là các công việc nền tảng, cơ sở tạo ra chuẩn chung cơ sở để phát triển hệ thống và các ứng dụng trên Web ngữ nghĩa Việc đưa các chuẩn đó thành các thể hiện, các sản phẩm của hệ
Trang 21thống Web ngữ nghĩa là công việc của SWAD SWAD thực hiện nghiên cứu
và đưa ra các thể hiện của Web ngữ nghĩa trên công nghệ cơ sở và nó cũng bổ sung, hoàn thiện các công nghệ cơ sở này Nó chỉ ra các công nghệ Web ngữ nghĩa được sử dụng như thế nào? Mục tiêu cụ thể của SWAD là sử dụng các công nghệ, kỹ thuật và các công cụ hiện có của Web ngữ nghĩa để tạo ra các chương trình vượt xa hơn tầm hiện có, phát triển các thể hiện thực tiễn và cung cấp các công cụ và các chuẩn mới cho Web ngữ nghĩa Để phát triển SWAD hiện tại đã có một số dự án của các tổ chức thực hiện nghiên cứu và phát triển như: SWAD-Europe, SWAD-DAML, SWAD-Simile, SWAD-Oxygen Hiện tại, ở Việt Nam, một dự án cấp Nhà nước đang nghiên cứu thực hiện trích rút tự động thông tin từ các trang Web về tin tức để xây dựng các ontology cho lĩnh vực này nhằm "tiếp nhận" công nghệ Web ngữ nghĩa khi có
hệ thống mạng mới này [6]
1.1.4 Kiến trúc phân tầng của web ngữ nghĩa
Để có được những khả năng như đã đề cập ở phần trên, web ngữ nghĩa cần có một hạ tầng chặt chẽ với nhiều lớp hỗ trợ Dưới đây là kiến trúc tổng quát nhất của web ngữ nghĩa do tổ chức W3C đề xuất:
Hình 1.2 Kiến trúc của Web ngữ nghĩa
Trang 22d Unicode và định danh tài nguyên thống nhất
Tầng thấp nhất là tài nguyên (một đối tượng, một thực thể hay một khái niệm, v.v ), chúng được mô tả bằng các định danh tài nguyên thống nhất - Uniform Resource Identifier (URI) Mục đích của tầng này là xác định tính duy nhất của mỗi tài nguyên Một tài nguyên có duy nhất một URI, tập con của URI là định vị tài nguyên thống nhất: Uniform Resource Locator (URL),
nó chứa phương thức truy cập và vị trí của tài liệu trên mạng Một tập con khác của URI là tên tài nguyên thống nhất: Uniform Resource Name (URN), cho phép xác định một tài nguyên mà không cần phải chứa địa chỉ và phương thức truy cập đến nó, ví dụ chỉ số ISBN là một URN Việc sử dụng URI là rất quan trọng, vì nó cho phép xây dựng một hệ thống phân tán, trong đó các tài nguyên nằm ở nhiều nơi khác nhau trên mạng Một biến thể khác của URI là định danh tài nguyên được quốc tế hóa (Internationalized Resource Identifier – IRI), nó cho phép sử đụng các kí tự Unicode trong định danh
Để mã hóa các thông tin, dữ liệu ta sử dụng chuẩn mã hóa Unicode, đây
là chuẩn thống nhất dùng để mã hóa các tập kí tự quốc tế Nó cho phép tất cả các ngôn ngữ của tất cả các nước có thể được mã hóa thống nhất, tránh hiện tượng mỗi quốc gia lại sử dụng một chuẩn mã hóa riêng, gây khó khăn cho trao đổi dữ liệu
e Biểu diễn XML
Tầng tiếp theo là Ngôn ngữ đánh dấu mở rộng: Extensible Markup Language (XML), nó được dùng để biểu diễn dữ liệu mà máy tính có thể hiểu
và xử lí dữ liệu được XML là công nghệ chính và là chuẩn của web hiện tại
và trong tương lai Với XML, máy tính có thể tích hợp và tương tác trao đổi
dữ liệu với nhau XML cung cấp một phương tiện dùng văn bản để mô tả thông tin và áp dụng một cấu trúc kiểu cây cho thông tin đó Tại mức căn bản, mọi thông tin đều thể hiện dưới dạng văn bản, chen giữa là các thẻ đánh dấu
Trang 23với nhiệm vụ ký hiệu sự phân chia thông tin thành một cấu trúc có thứ bậc của các dữ liệu ký tự, các phần tử dùng để chứa dữ liệu và các thuộc tính của các phần tử đó Đơn vị cơ sở của XML là các ký tự theo định nghĩa của Bộ ký
tự toàn cầu (Universal Character Set) Các ký tự được kết hợp theo các tổ hợp chuỗi hợp lệ để tạo thành một tài liệu XML Tài liệu này gồm một hoặc nhiều thực thể, mỗi thực thể thường là một phần nào đó của các ký tự thuộc tài liệu, được mã hóa dưới dạng một chuỗi các bit và lưu trữ trong một tệp văn bản
Các tệp XML có thể dùng cho nhiều loại dữ liệu đa phương tiện, RFC3023 định nghĩa các loại "application/xml" và "text/xml", với ý rằng dữ liệu được biểu diễn bằng XML mà không nói gì đến ngữ nghĩa của dữ liệu
Bằng cách cho phép các tên dữ liệu, cấu trúc thứ bậc được phép, và ý nghĩa của các phần tử và thuộc tính có tính chất mở và có thể được định nghĩa bởi một lược đồ tùy biến được (XML Scheme), XML cung cấp một cơ sở cú pháp (Document Type Definition - DTD) cho việc tạo lập các ngôn ngữ đánh dấu dựa XML theo yêu cầu Cú pháp chung của các ngôn ngữ đó là cố định
— các tài liệu phải tuân theo các quy tắc chung của XML, bảo đảm rằng tất
cả các phần mềm hiểu XML ít ra cũng phải có khả năng đọc (phân tích cú pháp) và hiểu bố cục tương đối của thông tin trong các tài liệu đó Lược đồ chỉ bổ sung một tập các ràng buộc cho các quy tắc cú pháp Các lược đồ thường hạn chế tên của phần tử và thuộc tính và các cấu trúc thứ bậc được phép, ví dụ, chỉ cho phép một phần tử tên 'ngày sinh' chứa một phần tử tên 'ngày' và một phần tử có tên 'tháng', mỗi phần tử phải chứa đúng một ký tự
Có một khái niệm rất quan trọng trong XML là Không gian tên XML (XML namespace) Không gian tên XML là cơ chế cho phép gom các tên phân tử và thuộc tính vào một nhóm Nó thường xuyên được dùng để phối hợp việc dùng tên phần tử (hay thuộc tính) từ nhiều nguồn khác nhau trong một tài liệu XML, mà vẫn tránh được nguy cơ trùng tên Một Không gian tên
Trang 24là tập hợp các tên có thể dùng trong tài liệu XML, như tên các phần tử, thuộc tính, , nó gom các tên này vào các vùng riêng
f Trao đổi dữ liệu RDF
Cơ cấu mô tả tài nguyên - RDF được W3C giới thiệu để cung cấp một
cú pháp chuẩn để tạo, thay đổi và sử dụng các chú thích trong Web ngữ nghĩa Một mệnh đề RDF là một bộ ba có dạng: [chủ đề], [thuộc tính], [đối tượng] Trong đó, [chủ đề] là tài nguyên mà được mô tả bằng [thuộc tính] và [đối tượng] [Thuộc tính] thể hiện mối quan hệ giữa [chủ đề] và [đối tượng] Còn [đối tượng] ở đây có thể là một tài nguyên hoặc một giá trị Ba thành phần trên trong RDF đều là các URI
Ví dụ về biểu diễn RDF của siêu dữ liệu Dublin Core:
<dc:title>Các dang khao sát hàm số</dc:title>
<dc:description>Giơi thiêu các dang khao sát hàm số thương hay găp trong các kì thi đai hoc</dc:description>
<dc:date>2000-01-20</dc:date>
</rdf:Description>
</rdf:RDF>
g Lược đồ RDF
Để xác định ra cấu trúc và ngữ nghĩa của RDF, ngôn ngữ lược đồ RDF:
RDF Scheme (hay RDFS) đã được đề xuất RDFS là một ngôn ngữ Bản thể
luận đơn giản của web ngữ nghĩa, được coi là một ngôn ngữ cơ sở của web
Trang 25ngữ nghĩa RDFS cung cấp một phương tiện để đặc tả các từ vựng mô tả tính chất và quan hệ giữa các tài nguyên RDF, bao gồm:
- Định nghĩa các lớp tài nguyên;
- Định nghĩa các quan hệ giữa các lớp;
- Định nghĩa các loại thuộc tính mà các lớp trên có;
- Định nghĩa các mối quan hệ giữa các thuộc tính
h Bản thể luận
Đối với mỗi miền ứng dụng cụ thể, sẽ có một tập các khái niệm và các mối quan hệ, ràng buộc giữa chúng tạo thành một bản thể luận Một khái niệm có thể là một lớp, một thuộc tính của một lớp hay bộ từ vựng sử dụng trong miền ứng dụng đó Bộ từ vựng bản thể luận được xây dựng trên cơ sở tầng RDF và RDFS, cung cấp biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên web và có khả năng hỗ trợ lập luận Để xây dựng được các bộ từ vựng này, người ta đã sử dụng các ngôn ngữ bản thể luận để biểu diễn chúng như: RDFS, OIL, DAML, DAML+OIL, hay ngôn ngữ bản thể luận cho web (OWL), Các ngôn ngữ này cung cấp khả năng biểu diễn và hỗ trợ lập luận khác nhau và chúng dựa trên nền tảng là các ngôn ngữ logic mô tả tương ứng khác nhau
Để cung cấp các luật suy diễn dựa trên các ngôn ngữ bản thể luận, một
số ngôn ngữ luật đang được phát triển và chuẩn hóa, chẳng hạn, ngôn ngữ Qui tắc trao đổi định dạng (Rule Interchange Format RIF )
Để truy vấn dữ liệu RDF trong một cơ sở tri thức, ngôn ngữ truy vấn RDF: Simple Protocol and RDF Query Language - SPARQL đã được đề xuất Ngôn ngữ SPARQL là ngôn ngữ truy vấn tương tự như ngôn ngữ truy vấn có cấu trúc SQL dùng để thao tác với các hệ hệ quản trị CSDL quan hệ
i Tầng Logic
Việc biểu diễn các tài nguyên dưới dạng các bộ từ vựng ontology có
Trang 26mục đích là để máy có thể lập luận được Mà cơ sở lập luận chủ yếu dựa vào logic Chính vì vậy mà các ontology được ánh xạ sang logic, cụ thể là logic
mô tả để có thể hỗ trợ lập luận Vì logic mô tả có biểu diễn ngữ nghĩa hình thức và cung cấp các dịch vụ lập luận, là cơ sở để hỗ trợ máy tính có thể lập luận và hiểu tài nguyên
Để đảm bảo dữ liệu đầu vào đáng tin cậy, có thể sử dụng mật mã, chẳng hạn như sử dụng chữ kí điện tử để thẩm định xuất xứ của nguồn dữ liệu [9], [14]
k Tầng xác nhận
Đảm bảo tính tin cậy của các ứng dụng trên Web ngữ nghĩa Ví dụ: có một mệnh đề: X là A, một mệnh đề khác lại xác định X không là A, như thế Web ngữ nghĩa là không đáng tin cậy? Câu trả lời ở đây được xem xét trong các ngữ cảnh Mỗi ứng dụng trên web ngữ nghĩa sẽ có một ngữ cảnh cụ thể, chính vì thế các mệnh đề trên có thể nằm trong các ngữ cảnh khác nhau khi
đó ngữ nghĩa tương ứng khác nhau nên các mệnh đề đó vẫn đúng, đáng tin cậy trong ngữ cảnh của nó Để có được sự chứng minh về độ tin cậy thì các lập luận được áp dụng là không đơn điệu và có các cơ chế kiểm tra chứng minh kết hợp với công nghệ chữ ký điện tử để xác nhận độ tin cậy Các ngôn ngữ chứng minh là ngôn ngữ cho ta chứng minh một mệnh đề là đúng hay sai
l Giao diện người dùng và ứng dụng
Đây là tầng trực tiếp giao tiếp với người dùng và ứng dụng, tầng này
Trang 27cung cấp giao diện cho người dùng và các dịch vụ khác truy cập [3], [5], [10], [11]
1.2 RDF – NỀN TẢNG CỦA WEB NGỮ NGHĨA
1.2.1 Khái niệm
Ngôn ngữ biểu diễn dữ liệu và tri thức là một khía cạnh quan trọng của Semantic Web Như đã đề cập ở bên trên, XML là nền tảng cơ bản làm nên web ngữ nghĩa, tuy nhiên XML không đủ khả năng để tạo ra ngữ nghĩa trong web Mặc dù XML cho phép người dùng thêm dữ liệu tùy ý vào cấu trúc tài liệu nhưng nó không đề cập gì đến ngữ nghĩa của tài liệu hàm chứa
Ngôn ngữ Cơ cấu mô tả tài nguyên - RDF được đề xuất nhằm khắc phục những nhược điểm của XML không thể giải quyết được Định nghĩa cơ bản của ngôn ngữ RDF là dùng để mã hóa các siêu dữ liệu của các tài nguyên vào một bộ ba (RDF Triple): [chủ ngữ], [vị ngữ] và [đối tượng] Ta biết rằng mỗi một thực thể hay khái niệm đều có các thuộc tính, mỗi thuộc tính đều có các giá trị, vì vậy mọi tài nguyên cũng đều có thể được biểu diễn qua ngôn ngữ RDF
XML cung cấp cú pháp để mã hóa dữ liệu, RDF là một cơ cấu chỉ ra điều gì đó về dữ liệu RDF 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ó RDF đượ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 để trình bày dữ liệu cho người dùng Là một thành phần của Web ngữ nghĩa, được đặt trên XML, RDF sử dụng cú pháp của XML để biểu diễn thông tin, điều này có nghĩa là các tài liệu RDF được viết bằng XML Ngôn ngữ XML dùng để biểu diễn thông tin trong RDF được gọi là RDF/XML Thông qua định dạng này, các thông tin trong RDF có thể được trao đổi dễ dàng giữa các hệ thống máy tính cũng như các hệ điều hành hay các ngôn ngữ lập trình ứng dụng khác nhau
Trang 28RDF mô tả các nguồn tài nguyên bởi bộ ba [chủ ngữ], [vị ngữ], [ đối tượng] Một [vị ngữ] là một khía cạnh, tính chất, thuộc tính, hay mối liên hệ
mô tả cho một tài nguyên Một phát biểu bao gồm một tài nguyên riêng biệt, một thuộc tính được đặt tên, và giá trị thuộc tính cho tài nguyên đó ([đối tượng]) Giá trị này cơ bản có thể là một tài nguyên khác hay một giá trị mang tính nghĩa đen hay dạng chuỗi văn bản tùy ý [Chủ ngữ] và đối tượng được xác định qua Định danh tài nguyên thống nhất - URI, chẳng hạn chúng có thể
là một liên kết của một trang web Các [vị ngữ] cũng được xác định qua URI,
do đó bất kì ai cũng có thể định nghĩa ra một khái niệm mới, một thuộc tính mới, bằng cách chỉ cần định nghĩa URI cho chúng Bởi vì RDF sử dụng URI
để biểu diễn các thông tin trong một tài liệu, các URI đảm bảo rằng các khái niệm không chỉ chứa văn bản thuần túy mà nó còn là định danh tài nguyên duy nhất mà tất cả người dùng có thể tìm kiếm được trên mạng Trong RDF, các URI đóng một vai trò rất quan trọng: Chúng ta có thể tạo ra các (siêu) dữ liệu dựa trên bất kỳ một nguồn tài nguyên nào trên Web, ngữ nghĩa được đưa vào các nguồn tài nguyên Web thông qua các URI, và URI cho phép liên kết giữa các phần tử dữ liệu thông qua các thuộc tính
Ví dụ một câu nói như sau: ―Lông cổ của Chà vá chân nâu có màu đà hung đỏ‖ Như vậy, ta có thể biểu diễn bởi một Phát_biểu với các ―thông số‖ sau:
- Chủ ngữ của Phát_biểu RDF là: ―Chà vá chân nâu‖
Trang 29- Tính chất là: ―Lông cổ‖
- Đối tượng là: ―đà hung đỏ‖
Mô hình cơ bản của RDF gồm ba bộ phận sau:
• Tài nguyên: là tất cả những gì được mô tả bằng biểu thức RDF
• Thuộc tính: là đặc tính hay quan hệ mô tả tính chất tài nguyên
- [Chủ ngữ] : địa chỉ hay vị trí tài nguyên muốn mô tả
- [Vị ngữ]: xác định tính chất của tài nguyên
- [Đối tượng]: nội dung gán cho thuộc tính
1.2.3 Đồ thị RDF
Tập hợp các bộ ba tạo thành đồ thị RDF (đồ thị có hướng) Các nút trong đồ thị là [chủ ngữ] và [đối tượng], các cung trong đồ thị là [Vị ngữ] và luôn có hường từ [chủ ngữ] tới [đối tượng] Dùng đồ thị làm cho thông tin thể hiện rõ ràng và dễ hình dung hơn
Hình 1.3 Đồ thị RDF
1.2.4 Namespace
Khai báo namespace: việc khai báo namespace giúp cho giúp cho tài liệu RDF ngắn ngọn và dễ đọc hơn đối với người xây dựng ontology
Cú pháp khai báo một Namespace theo W3C:
NSAttName ::= PrefixedAttName| DefaultAttName
Trang 30chuỗi… Bất kỳ điều gì có thể biểu diễn bởi một giá trị Literal thì cũng có thể biểu diễn dưới dạng một URI Một Literal có thể là một Object của một phát biểu, nhưng không thể là một Subject hay Predicate
Literal có hai kiểu sau: Plain Literal hay Typed Literal
1.2.6 Kiểu dữ liệu có cấu trúc
Mọi thứ sẽ rất đơn giản nếu chỉ những loại thông tin được ghi nhận về mọi thứ một cách rõ ràng trong định dạng của những phát biểu RDF đơn giản
đã được minh họa từ trước tới giờ Tuy nhiên, hầu hết dữ liệu thế giới thực bao gồm những cấu trúc mà phức tạp hơn đó Ví dụ, trong ví dụ ban đầu,
ngày tạo trang web được ghi nhận như một thuộc tính exterms:creation-date
đơn với một Plain Literal như giá trị của nó Tuy nhiên, giả sử giá trị của
thuộc tính exterms:creation-date cần được ghi ngày, tháng, năm thành những
mẫu thông tin tách biệt thì chúng được viết như thế nào hay trong trường hợp thông tin cá nhân của John Smith, giả sử địa chỉ của John được mô tả, cả điạ chỉ có thể được viết như một Plain Literal, như trong bộ ba:
exstaff:85740 exterms:address "1501 Grant Avenue, Bedford, Massachusetts 01730"
Tuy nhiên, giả sử địa chỉ của John cần thiết để ghi nhận như một cấu trúc bao gồm những giá trị như: tên đường phố, thành phố, bang … thì điều này sẽ được viết trong RDF như thế nào ? Thông tin có cấu trúc được biểu diễn trong RDF bằng cách coi toàn bộ mọi thứ được mô tả (như địa chỉ của John Smith) như một tài nguyên, và tạo ra những phát biểu về tài nguyên mới
Vì vậy, trong đồ thị RDF, để chia nhỏ địa chỉ của John Smith thành những thành phần của nó, một nút mới được tạo ra để biểu diễn khái niệm địa chỉ của John Smith, với một URI mới để xác định nó
exaddressid:85740) Những phát biểu RDF có thể được viết với nút đó như
Trang 31chủ ngữ, để biểu diễn thông tin bổ sung, tạo ra đồ thị biểu diễn ở hình 1.4:
Hình 1.4 Mô tả việc chia nhỏ giá trị một thuộc tính
Hay những bộ ba:
exstaff:85740 exterms:address exaddressid:85740
exaddressid:85740 exterms:street "1501 Grant Avenue"
exaddressid:85740 exterms:city "Bedford"
exaddressid:85740 exterms:state "Massachusetts"
exaddressid:85740 exterms:postalCode "01730"
Cách biểu diễn thông tin có cấu trúc này trong RDF có thể kéo theo
việc tạo ra vô số những URI trung gian nhƣ exaddressid:85740 để biểu diễn
tòan bộ những khái niệm nhƣ địa chỉ của John Smith Nhiều khái niệm có thể không bao giờ cần thiết đƣợc đề cập tới một cách trực tiếp từ bên ngoài của một đồ thị đặc biệt, và vì vậy không thể yêu cầu những định danh toàn cục Ngoài ra, trong bản vẽ của đồ thị biểu diễn nhóm những phát biểu trong hình 1.5, URI gán vào để xác định địa chỉ của John Smith không thật sự cần thiết,
từ đó đồ thị có thể đƣợc vẽ dễ dàng nhƣ trong hình 1.5:
Trang 32Hình 1.5 Sử dụng nút rỗng
Hình 1.5 là một đồ thị RDF sử dụng một nút mà không có một URI để đại diện cho địa chỉ của John Smith Nút rỗng này cung cấp những kết nối cần thiết tới những thành phần khác của đồ thị Nút trống cũng được gọi là tài nguyên vô danh Tuy nhiên, một định danh rõ ràng cho nút trống đó rất cần thiết để biểu diễn đồ thị này như những bộ ba Để thấy điều này, hãy cố gắng viết những bộ ba tương ứng với những gì vẽ trong hình 1.6 sẽ tạo ra một cái
Trang 33này một định danh nút rỗng _:johnaddress có thể được dùng để đề cập đến nút rỗng, mà trong trường hợp này những bộ ba có thể là:
exstaff:85740 exterms:address _:johnaddress
_:johnaddress exterms:street "1501 Grant Avenue"
_:johnaddress exterms:city "Bedford"
_:johnaddress exterms:state "Massachusetts"
_:johnaddress exterms:postalCode "01730"
Trong việc biểu diễn những bộ ba của một đồ thị, mỗi nút rỗng riêng biệt trong đồ thị được cho một định danh nút rỗng khác nhau Không như những URI và những Literal, những định danh nút rỗng không được coi là những thành phần thực sự của đồ thị RDF (điều này có thể thấy rõ bằng cách nhìn vào đồ thị ở hình 1.6 và để ý nút rỗng không có định danh cho nó) Những định danh nút rỗng chỉ là một cách để thể hiện nó trong một đồ thị và phân biệt nó với nút rỗng khác khi đồ thị được viết ở định dạng bộ ba Những định danh nút rỗng cũng chỉ quan trọng trong những bộ ba biểu diễn một đồ thị đơn (hai đồ thị khác nhau với cùng số những nút rỗng có thể sử dụng độc lập những định danh nút rỗng để phân biệt chúng, và điều đó không đúng khi cho rằng những nút rỗng từ những đồ thị khác nhau có cùng những định danh nút rỗng thì như nhau) Nếu một nút trong đồ thị cần được tham chiếu từ đồ thị bên ngoài, thì một URI có thể được gán để xác định nó Sau cùng, bởi vì những định danh nút rỗng biểu thị những nút rỗng hơn là biểu thị các cung trong định dạng bộ ba của một đồ thị RDF, những định danh nút rỗng có thể chỉ xuất hiện như chủ ngữ hay tân ngữ trong những bộ ba; định danh nút rỗng không thể là vị từ trong bộ ba
Ở phần mở đầu của phần này đã chú ý rằng toàn bộ những cấu trúc, như địa chỉ của John Smith có thể được biểu diễn bằng cách coi những điều này được mô tả như một tài nguyên riêng biệt, và sau đó tạo ra những phát
Trang 34biểu về những tài nguyên mới này Ví dụ này minh họa một khía cạnh quan trọng của RDF: RDF chỉ biểu diễn trực tiếp những quan hệ nhị phân, ví dụ: quan hệ giữa John và Literal thể hiện địa chỉ của anh ta Việc biểu diễn mối quan hệ John và nhóm những thành phần tách biệt của địa chỉ này kéo theo làm việc với n cách quan hệ (trong trường hợp này là 5) giữa John và tên đường phố, thành phố, bang và những thành phần mã vùng Để biểu diễn như những cấu trúc một cách trực tiếp trong RDF thì quan hệ n cách phải chia nhỏ vào thành một nhóm những quan hệ nhị phân tách biệt Những nút rỗng tạo ra một cách thức để làm được điều này Đối với mỗi quan hệ n cách này một trong những thành phần tham gia được chọn như chủ ngữ của quan hệ (trong trường hợp này là John), một nút rỗng được tạo ra để biểu diễn phần còn lại của quan hệ (địa chỉ của John) Những thành phần tham gia còn lại trong quan
hệ (như thành phố) sau đó được biểu diễn như những thuộc tính riêng biệt của tài nguyên mới thể hiện bởi nút rỗng
Những nút rỗng cũng cung cấp một cách thức để tạo ra những phát biểu chính xác hơn mà không có những URI, nhưng chúng được mô tả dưới dạng quan hệ với tài nguyên khác để làm cho chúng có URI Ví dụ, khi tạo những phát biểu về một người, như Jane Smith, điều đó rất bình thường để sử dụng một URI dựa vào điạ chỉ email của người đó như URI của người đó, ví dụ:
mailto:jane@example.org Tuy nhiên, phương pháp này có thể dẫn đến một
số vấn đề Ví dụ, khi cần thiết để ghi lại thông tin về hộp thư của Jane cũng như về chính Jane và sử dụng một URI cho Jane dựa vào địa chỉ mail của cô
ấy dẫn đến những khó khăn khi muốn biết xem Jane hay hộp thư mail của cô
ấy được mô tả Vấn đề tương tự tồn tại khi một URL trang web của một công
lần nữa, thật sự cần thiết để ghi nhận thông tin về chính trang web (ví dụ: người tạo ra trang web và được tạo khi nào) cũng như về công ty, và sử dụng
Trang 35http://www.example.com/ như một định danh dẫn đến việc rất khó biết trong
số những cái đó cái nào là chủ ngữ thực sự
Vấn đề cơ bản là với việc sử dụng hộp thư mail của Jane như một đại diện cho Jane không thực sự chính xác: Jane và hộp thư mail của cô ấy thì không giống nhau, và vì vậy chúng nên được xác định khác nhau Khi chính Jane không có một URI, một nút rỗng tạo ra cách chính xác hơn của mô hình trong tình huống này Jane có thể được biểu diễn như một nút rỗng, và nút
rỗng đó được dùng như chủ ngữ của một phát biểu với exterms:mailbox như thuộc tính và URI mailto:jane@example.org như giá trị của thuộc tính đó Nút rỗng này cũng có thể được mô tả với một thuộc tính rdf:type có giá trị
exterms:Person, thuộc tính exterms:name có giá trị ―John Smith‖, và một số
khác mô tả thông tin rất có lợi, như biểu diễn trong những bộ ba sau:
_:jane exterms:mailbox <mailto:jane@example.org>
_:jane rdf:type exterms:Person
_:jane exterms:name "Jane Smith"
_:jane exterms:empID "23748"
_:jane exterms:age "26"
Để ý rằng mailto:jane@example.org được viết trong dấu ―< >‖ trong
bộ ba đầu tiên, bởi vì mailto:jane@example.org là một URI đầy đủ trong lược
đồ URI mailto, hơn là một dạng rút gọn QName, và những URI đầy đủ phải
được đặt trong dấu ―< >‖ trong các định dạng bộ ba
Điều này chỉ rõ rằng có một tài nguyên thuộc kiểu exterms:Person, mà
hộp thư mail của người nào được xác định bởi mailto:jane@example.org thì tên người đó là Jane Smith Nghĩa là, nút rỗng có thể đọc như ―có một tài nguyên‖ Những phát biểu với nút rỗng là chủ ngữ cung cấp thông tin về đặc trưng của tài nguyên
Thực ra, việc sử dụng nút rỗng thay cho những URI trong những
Trang 36trường hợp như thế này không làm thay đổi cách mà loại thông tin này được
xử lý nhiều Ví dụ, nếu một điạ chỉ email xác định duy nhất người nào đó tại
example.org thì địa chỉ đó có thể vẫn được dùng để kết hợp thông tin về
người đó từ nhiều tài nguyên, thậm chí khi điạ chỉ email không là URI của người đó Trong trường hợp này, nếu một vài RDF được tìm thấy trên web
mô tả về một cuốn sách và đưa thông tin liên lạc của tác giả như
mailto:jane@example.org, thì điều đó có thể hợp lý, việc kết hợp thông tin
mới này với tập những bộ ba trước kết luận rằng tên của tác giả là Jane Smith Vấn đề là điều đó nói rằng bất cứ thứ gì đó như ―tác giả của cuốn sách là
mailto:jane@example.org” là một cách rút gọn của ―tác giả của cuốn sách là
bất kì ai người mà có hộp thư mail là mailto:jane@example.org‖ Việc sử dụng một nút rỗng để biểu diễn ―bất kì ai này‖ chỉ là một cách chính xác để biểu diễn trong tình huống thế giới thực
Sử dụng nút rỗng theo cách này cũng giúp tránh sử dụng những Literal trong những tình huống không thích hợp Ví dụ, trong mô tả cuốn sách của Jane, thiếu một URI để xác định tác giả, người xuất bản có thể viết (sử dụng
từ vựng riêng ex2terms: của người xuất bản):
ex2terms:book78354 rdf:type ex2terms:Book
ex2terms:book78354 ex2terms:author "Jane Smith"
Tuy nhiên, tác giả cuốn sách thực ra không phải là chuỗi kí tự ―Jane Smith‖, nhưng một người mà tên của người đó là Jane Smith Thông tin tương tự có thể chính xác hơn cho người xuất bản sử dụng một nút rỗng như:
ex2terms:book78354 rdf:type ex2terms:Book
ex2terms:book78354 ex2terms:author _:author78354
_:author78354 rdf:type ex2terms:Person
_:author78354 ex2terms:name "Jane Smith"
Về cơ bản điều này nói rằng tài nguyên ex2terms:book78354 thuộc
Trang 37loại ex2terms:Book và tác giả là một tài nguyên thuộc loại ex2terms:Person,
tên tác giả là Jane Smith‖ Tất nhiên, trong trường hợp đặc biệt này ngừơi xuất bản có thể thay việc gán URI riêng của nó để tác giả của nó thay thế việc
sử dụng những nút rỗng để xác định chúng, để giúp những tham chiếu bên ngoài tới tác giả của nó
Cuối cùng, ví dụ trên cho biết tuổi của Jane là 26 chứng tỏ rằng đôi khi giá trị của thuộc tính có thể xuất hiện ở dạng đơn giản, nhưng cũng có thể phức tạp Trong trường hợp này, tuổi của Jane thực sự là 26 years, nhưng thông tin đơn vị years không thể hiện rõ Thông tin như thế này thường được
bỏ đi trong những phạm vi mà điều đó có thể an toàn để mọi người truy cập giá trị thuộc tính sẽ hiểu những đơn vị được dùng Tuy nhiên, trong phạm vi rộng hơn của web, thông thường điều đó không an toàn để đưa ra giả định này Ví dụ, một trang web ở Mỹ có đơn vị đo lường là pound, nhưng bất kỳ ai truy cập dữ liệu đó ở bên ngoài nước Mỹ (Việt Nam) có thể cho rằng đơn vị
đó là kilogram Thông thường, chúng ta nên xem xét cẩn thận để đưa ra những đơn vị đại diện và những thông tin tương tự
1.3 ONTOLOGY VÀ NGÔN NGỮ OWL
1.3.1 Định nghĩa ontology
Nhiều định nghĩa về ontology xuất hiện trong thập kỷ trước nhưng có lẽ
Trang 38định nghĩa mô tả rõ nhất bản chất của ontology là: “An ontology is a formal, explicit specification of a shared conceptualization.” [2] (Một ontology là
một hình thức, đặc tả rõ ràng khái niệm chia sẻ) Trong ngữ cảnh này,
conceptualization (khái niệm hoá) đề cập đến một mô hình trừu tượng của
một vài hiện tượng trong thế giới thực dùng để nhận dạng các khái niệm liên
quan đến hiện tượng đó Explicit (rõ ràng) có nghĩa là loại khái niệm được sử
1.3.3 Vai trò ontology và web ngữ nghĩa
Hiện tại, các ontology đã ứng dụng vào World Wide Web tạo ra Web ngữ nghĩa Các cấu trúc ở mức khái niệm dùng xác định một ontology cơ sở cung cấp chìa khoá để máy tính có thể xử lý được dữ liệu trên Web ngữ nghĩa Các ontology phục vụ như các giản đồ siêu dữ liệu, cung cấp khái niệm
về từ vựng có thể kiểm soát được, mỗi ontology được xác định rõ ràng và máy tính có thể xử lý được ngữ nghĩa Bằng cách xác định các nguyên lý trên lĩnh vực chia sẻ và thông thường, các ontology giúp cho người và máy thông tin một cách chính xác - hỗ trợ việc trao đổi ngữ nghĩa chứ không chỉ cú pháp Vì vậy sự thành công và phát triển của Web ngữ nghĩa phụ thuộc vào việc cấu trúc các ontology trên lĩnh vực đặc trưng một cách nhanh chóng và ít tốn kém
Trang 391.3.4 Các thành phần của ontology
Ontology được sử dụng như là một biểu mẫu trình bày tri thức về thế giới hay một phần của nó Ontology thường miêu tả:
Cá thể: Các đối tượng cơ bản, nền tảng
Lớp: Các tập hợp, hay kiểu của các đối tượng
Thuộc tính: Thuộc tính, tính năng, đặc điểm, tính cách, hay các thông
số mà các đối tượng có và có thể đem ra chia sẻ
Mối liên hệ: cách mà các đối tượng có thể liên hệ tới một đối tượng khác
Bộ từ vựng ontology được xây dựng trên cơ sở tầng RDF và RDFS, cung cấp khả năng biểu diễn ngữ nghĩa mềm dẻo cho tài nguyên Web và có khả năng hỗ trợ lập luận
a Cá thể (Individuals) – Thể hiện
Cá thể là thành phần cơ bản của một ontology Các cá thể trong một ontology có thể bao gồm các đối tượng rời rạc như xe, con cọp…, cũng như các đối tượng trừu tượng như con số và từ
b Lớp (Classes) - Khái niệm
Lớp là những nhóm, bộ hoặc tập hợp các đối tượng Một lớp có thể gộp nhiều lớp hoặc được gộp vào lớp khác Một lớp gộp vào lớp khác được gọi là lớp con của lớp gộp Điều quan trọng của quan hệ xếp gộp là tính kế thừa
c Thuộc tính (Properties)
Các đối tượng trong ontology có thể được mô tả thông qua việc khai báo các thuộc tính của chúng Mỗi một thuộc tính đều có tên và giá trị của thuộc tính đó Các thuộc tính được sử dụng để lưu trữ các thông tin mà đối tượng có thể có Ví dụ, đối với một cá nhân có thể có các thuộc tính: Họ_tên, ngày_sinh, quê_quán, số_cmnd… Giá trị của một thuộc tính có thể có các kiểu dữ liệu phức tạp
Trang 40d Mối quan hệ (Relation)
Quan hệ giữa các đối tượng trong một ontology cho biết các đối tượng liên hệ với đối tượng khác như thế nào Sức mạnh của ontolgy nằm ở khả năng diễn đạt quan hệ Tập hợp các quan hệ cùng nhau mô tả ngữ nghĩa của domain Tập các dạng quan hệ được sử dụng và cây phân loại thứ bậc của chúng thể hiện sức mạnh diễn đạt của ngôn ngữ dùng để biểu diễn ontology
Ontology thường phân biệt các nhóm quan hệ khác nhau Ví dụ:
là ―ontology‖ Ontology mô tả một lĩnh vực (domain) và diễn tả những đối tượng trong lĩnh vực đó cùng những mối quan hệ giữa các đối tượng này OWL là phần mở rộng về từ vựng của RDF và được kế thừa từ ngôn ngữ DAML+OIL Web ontology – một dự án được hỗ trợ bởi W3C OWL biểu diễn ý nghĩa của các thuật ngữ trong các từ vựng và mối liên hệ giữa các thuật ngữ này để đảm bảo phù hợp với quá trình xử lý bởi các phần mềm
OWL được xem như là một kỹ thuật trọng yếu để cài đặt cho Web ngữ nghĩa trong tương lai OWL được thiết kế đặc biệt để cung cấp một cách thức thông dụng trong việc xử lý nội dung thông tin của Web Ngôn ngữ này được
kỳ vọng rằng sẽ cho phép các hệ thống máy tính có thể đọc được thay thế cho con người Vì OWL được viết bởi XML, các thông tin OWL có thể dễ dàng