1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chuyển đổi cơ sở dữ liệu quan hệ sang dạng ontology

61 1K 6

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 2,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

2.2 MỐI TƯƠNG QUAN GIỮA ONTOLOGY VÀ CƠ SỞ DỮ LIỆU QUAN HỆ * Cơ sở dữ liệu quan hệ R: Cấu trúc của một cơ sở dữ liệu quan hệ được định nghĩa là bộ 4 thành phần như sau: R = Trong đó: –

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CƠNG NGHỆ THƠNG TIN

LƯƠNG ĐÌNH NGUYÊN

CHUYỂN ĐỔI CƠ SỞ DỮ LIỆU QUAN HỆ

SANG DẠNG ONTOLOGY

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CƠNG NGHỆ THƠNG TIN

NHA TRANG – NĂM 2016

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CƠNG NGHỆ THƠNG TIN

LƯƠNG ĐÌNH NGUYÊN

CHUYỂN ĐỔI CƠ SỞ DỮ LIỆU QUAN HỆ

SANG DẠNG ONTOLOGY

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CƠNG NGHỆ THƠNG TIN

CÁN BỘ HƯỚNG DẪN:

TS PHẠM THỊ THU THÚY

NHA TRANG – NĂM 2016

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN 2

1.1 HẠN CHẾ CỦA CƠ SỞ DỮ LIỆU QUAN HỆ 2

1.2 SƠ LƯỢC VỀ ONTOLOGY 3

1.3 YÊU CẦU ĐỀ TÀI 3

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4

2.1 ONTOLOGY 4

2.1.1 Giới thiệu Ontology 4

2.1.2 Khung mô tả tài nguyên RDF (Resource Description Framework) 5

2.1.3 Lược đồ RDF (RDF Schema) 6

2.1.4 Ngôn ngữ biểu diễn Ontology OWL (Web Ontology Language) 9

2.1.5 Giới thiệu phần mềm Protégé 10

2.2 MỐI TƯƠNG QUAN GIỮA ONTOLOGY VÀ CƠ SỞ DỮ LIỆU QUAN HỆ 12

2.3 CÁC NGHIÊN CỨU LIÊN QUAN 13

2.4 PHƯƠNG PHÁP CHUYỂN ĐỔI CƠ SỞ DỮ LIỆU QUAN HỆ SANG DẠNG ONTOLOGY 14

2.4.1 Bảng chuyển đổi kiểu dữ liệu 14

2.4.2 Các quy tắc ánh xạ lớp và thuộc tính 16

2.4.3 Các quy tắc ánh xạ ràng buộc trên thuộc tính 18

2.4.4 Các quy tắc ánh thể hiện 21

CHƯƠNG 3: THỰC NGHIỆM 22

3.1 CƠ SỞ DỮ LIỆU MINH HỌA 22

3.2 THUẬT TOÁN CHUYỂN ĐỔI VÀ MINH HỌA TRÊN CƠ SỞ DỮ LIỆU MẪU 25

Trang 4

3.2.1 Mô tả cơ sở dữ liệu 25

3.2.2 Chuyển đổi cơ sở dữ liệu sang dạng Ontology 35

3.2.3 Đánh giá thuật toán 39

3.3 CHƯƠNG TRÌNH RDB2OWL 39

3.3.1 Mô tả chương trình 39

3.3.2 Môi trường cài đặt 40

3.3.3 Giao diện chương trình 40

3.3.4 Hướng dẫn sử dụng chương trình 41

CHƯƠNG 4: KẾT LUẬN 47

4.1 KẾT QUẢ ĐẠT ĐƯỢC VÀ THẢO LUẬN 47

4.2 HƯỚNG PHÁT TRIỂN 48

TÀI LIỆU THAM KHẢO 49

PHỤ LỤC 50

Trang 5

DANH MỤC CÁC CHỮ VIẾT TẮT

RDBMS Relational Database Management System

Trang 6

DANH MỤC CÁC BẢNG

1Bảng 2.1 Các lớp RDFS 7

2Bảng 2.2 Các thuộc tính RDFS (tất cả đều là thể hiện của rdf:Property) 8

3Bảng 2.3 Ánh xạ kiểu dữ liệu từ SQL sang XSD 15

4Bảng 3.1 Phương pháp phân loại bảng trong SQL 26

5Bảng 3.2 Thông tin mô tả trong bảng Attributes 27

6Bảng 3.3 Thông tin mô tả trong bảng Attributes ứng với cơ sở dữ liệu mẫu NhaTrangUniversity 27

7Bảng 3.4 Thông tin mô tả trong bảng ClassPriority 29

8Bảng 3.5 Thông tin mô tả trong bảng ClassPriority ứng với cơ sở dữ liệu mẫu NhaTrangUniversity 29

9Bảng 3.6 Thông tin mô tả trong bảng PkeyInheritance 30

10Bảng 3.7 Thông tin mô tả trong bảng PkeyInheritance ứng với cơ sở dữ liệu mẫu NhaTrangUniversity 30

11Bảng 3.8 Thông tin mô tả trong bảng MTRDB 311

12Bảng 3.9 Thông tin mô tả trong bảng MTRDB ứng với cơ sở dữ liệu mẫu NhaTrangUniversity 322

Trang 7

DANH MỤC CÁC HÌNH

1Hình 2.1 Bộ ba RDF dưới dạng đồ thị diễn tả cho phát biểu "Joe has homepage

identified by URI http://www.example.org/~joe/" 5

2Hình 2.2 Bộ ba RDF dưới dạng đồ thị diễn tả cho phát biểu "Joe has family name Smith" 6

3Hình 2.3 Phần mềm Protégé 11

4Hình 2.4 Phương pháp chuyển đổi CSDL quan hệ sang dạng Ontology 14

5Hình 3.1 Cơ sở dữ liệu NhaTrangUniversity 22

6Hình 3.2 Sơ đồ tổng thể của bài toán chuyển đổi 25

7Hình 3.3 Giao diện chương trình RDB2OWL 40

8Hình 3.4 Giao diện chương trình RDB2OWL ở trạng thái ban đầu 42

9Hình 3.5 Giao diện chương trình RDB2OWL sau bước 1 43

10Hình 3.6 Giao diện chương trình RDB2OWL sau bước 2 44

11Hình 3.7 Các tập tin mô tả CSDL được tạo ra sau bước 2 44

12Hình 3.8 Giao diện chương trình RDB2OWL sau bước 3 45

13Hình 3.9 Tập tin Ontology được tạo ra sau bước 3 46

Trang 8

LỜI MỞ ĐẦU

Từ khi ra đời đến nay, World Wide Web (WWW) đã trở thành một công

cụ quan trọng để lưu trữ và chia sẻ nguồn tri thức khổng lồ của nhân loại Phần lớn dữ liệu trên WWW hiện nay đang được lưu trữ trong các hệ quản trị cơ sở

dữ liệu quan hệ (RDBMS) Việc tổ chức lưu trữ dữ liệu của hệ quản trị cơ sở

dữ liệu quan hệ mang lại nhiều ưu điểm như: lưu trữ hiệu quả, thực thi được các truy vấn phức tạp, khả năng mở rộng, tính bảo mật cao Tuy nhiên, các cơ

sở dữ liệu quan hệ (RDB) thường tách biệt nhau, không đồng nhất về lược đồ, thuật ngữ, định danh Do đó, kỹ thuật RDF và Ontology đã ra đời nhằm mục đích cung cấp nền tảng cho việc tích hợp tất cả các nguồn dữ liệu đó

Như đã đề cập ở trên, phần lớn dữ liệu trên WWW hiện nay đang được lưu trữ trong các hệ quản trị cơ sở dữ liệu quan hệ Việc chuyển đổi dữ liệu từ

mô hình quan hệ sang dạng Ontology là giải pháp để tận dụng và khai thác nguồn dữ liệu khổng lồ đã có sẵn này Việc chuyển đổi này phải là tự động với bất kì cơ sở dữ liệu quan hệ nào Và đó là lý do tôi chọn đề tài “Chuyển đổi cơ

sở dữ liệu quan hệ sang dạng Ontology” làm đề tài cho đồ án tốt nghiệp

Cũng trong đề tài này, tôi ứng dụng phương pháp chuyển đổi để cài đặt chương trình RDB2OWL – chuyển đổi tự động một cơ sở dữ liệu quan hệ bất

kì sang dạng Ontology (RDF/OWL) Kết quả chương trình có thể chuyển đổi

tự động các cơ sở dữ liệu quan hệ sang dạng Ontology đúng với phương pháp

đề ra

Tôi xin chân thành cảm ơn cô Phạm Thị Thu Thúy, Giảng viên bộ môn

Hệ thống thông tin, thuộc khoa Công nghệ thông tin, trường Đại học Nha Trang,

đã tận tình hướng dẫn để tôi có thể hoàn thành được đề tài này Dù đã rất cố gắng trong quá trình thực hiện đề tài nhưng vẫn không thể tránh khỏi sai sót Rất mong nhận được sự góp ý của thầy cô để giúp tôi có thêm kinh nghiệm và hoàn thiện đề tài

Trang 9

CHƯƠNG 1: TỔNG QUAN

1.1 HẠN CHẾ CỦA CƠ SỞ DỮ LIỆU QUAN HỆ

Khi mới ra đời, cơ sở dữ liệu là khái niệm chỉ được sử dụng trong những phòng thí nghiệm của các dự án nghiên cứu đặc biệt Ngày nay, cơ sở dữ liệu

là một thành phần rộng khắp trong ngành công nghệ thông tin Đi kèm sự phát triển như vũ bão của công nghệ là sự ra đời của các tiêu chuẩn trong công nghệ

cơ sở dữ liệu Ngoài ra, một số mô hình cơ sở dữ liệu khác nhau cũng ra đời, nổi bật nhất trong đó là mô hình cơ sở dữ liệu quan hệ Thực tế thì mô hình quan hệ là mô hình được sử dụng phổ biến nhất trong số những mô hình cơ sở

dữ liệu bởi những ưu điểm:

– Dễ dàng định nghĩa, bảo trì và thao tác các cấu trúc lưu trữ dữ liệu – Dữ liệu được bảo vệ tốt

– Có các tiêu chuẩn được ban hành bởi các tổ chức tiêu chuẩn hóa như ANSI (American National Standards Institute) và ISO (International Organization for Standardization)

– Có nhiều nhà cung cấp với nhiều sản phẩm đa dạng

– Việc chuyển đổi triển khai giữa các nhà cùng cấp được thực hiện tương đối dễ dàng

– Các hệ quản trị cơ sở dữ liệu quan hệ là sản phẩm đã được phát triển lâu dài và ổn định

World Wide Web, là một mạng lưới thông tin toàn cầu mà mọi người có thể truy nhập qua các máy tính có kết nối Internet Web được phát minh và đưa vào sử dụng vào khoảng năm 1990, 1991 bởi viện sĩ Viện Hàn lâm Anh Tim Berners-Lee và Robert Cailliau (Bỉ) tại CERN, Geneva, Switzerland Phần lớn

dữ liệu trên WWW hiện nay đang được lưu trữ trong các hệ quản trị cơ sở dữ liệu quan hệ Việc tổ chức lưu trữ dữ liệu của hệ quản trị cơ sở dữ liệu quan hệ mang lại nhiều ưu điểm đã được nêu ở phần trên Tuy nhiên, các cơ sở dữ liệu

Trang 10

quan hệ thường tách biệt nhau, không đồng nhất về lược đồ, thuật ngữ, định danh Do đó, kỹ thuật RDF và Ontology đã ra đời nhằm mục đích cung cấp nền tảng cho việc tích hợp tất cả các nguồn dữ liệu đó Việc chuyển đổi dữ liệu từ

mô hình quan hệ sang dạng Ontology là giải pháp để tận dụng và khai thác nguồn dữ liệu khổng lồ đã có sẵn này

1.2 SƠ LƯỢC VỀ ONTOLOGY

Ontology là một thuật ngữ mượn từ Triết học, được tạm dịch là “bản thể học”, nhằm chỉ khoa học mô tả các loại thực thể trong thế giới thực và cách chúng liên kết với nhau Trong khoa học máy tính, Ontology là mô hình dữ liệu biểu diễn một lĩnh vực, được sử dụng để suy luận về các đối tượng và mối quan

hệ giữa chúng trong lĩnh vực đó Công cụ quan trọng nhất của ontology là biểu diễn tri thức

1.3 YÊU CẦU ĐỀ TÀI

Mục tiêu của đề tài này là:

– Tiếp cận các kiến thức về Ontology, mối tương quan giữa mô hình

cơ sở dữ liệu quan hệ và Ontology

– Tìm hiểu các phương pháp chuyển đổi cơ sở dữ liệu quan hệ sang dạng Ontology đã được đưa ra trước đó, hiệu chỉnh một số quy tắc (nếu có) để hoàn thiện thêm phương pháp chuyển đổi

– Ứng dụng phương pháp chuyển đổi để tạo thuật toán và cài đặt chương trình RDB2OWL Yêu cầu của chương trình RDB2OWL là chuyển đổi tự động một cơ sở dữ liệu quan hệ bất kì sang dạng Ontology

Trang 11

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 ONTOLOGY

2.1.1 Giới thiệu Ontology

Ontology là một thuật ngữ mượn từ Triết học, được tạm dịch là “bản thể học”, nhằm chỉ khoa học mô tả các loại thực thể trong thế giới thực và cách chúng liên kết với nhau Trong khoa học máy tính, Ontology là mô hình dữ liệu biểu diễn một lĩnh vực, mô tả các khái niệm và các mối quan hệ giữa các khái niệm trong lĩnh vực đó Ontology cung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc tính và các định nghĩa về các khái niệm và thuộc tính này

Các thành phần trong Ontology bao gồm:

– Các cá thể (Individuals): Các cá thể là các thành phần cơ bản, nền tảng

của một Ontology Các cá thể trong một Ontology có thể bao gồm các đối tượng

cụ thể như con người, động vật, cái bàn… cũng như các cá thể trừu tượng như các thành viên hay các từ

– Các lớp (Classes): là các nhóm, tập hợp các đối tượng trừu tượng

Chúng có thể chứa các cá thể, các lớp khác

– Các thuộc tính (Properties): là thành phần mô tả các đối tượng Mỗi

một thuộc tính đều có tên và giá trị 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ó

– Các mối quan hệ (Relations): là thành phần mô tả mối liên hệ giữa các

đối tượng trong Ontology Một mối quan hệ là một thuộc tính có giá trị là một đối tượng khác trong Ontology

Trang 12

2.1.2 Khung mô tả tài nguyên RDF (Resource Description Framework)

Khung mô tả tài nguyên RDF (Resource Description Framework) là một khung tiêu chuẩn dành cho việc biểu diễn thông tin về tài nguyên của WWW dưới dạng đồ thị

Trong RDF, thông tin được biểu diễn bởi bộ ba (triples) subject–

predicate–object

Ví dụ về bộ ba được minh họa trong hình 2.1 Thông tin này có nghĩa là

“Joe Smith has homepage http://www.example.org/~joe” (Joe Smith có trang chủ là http://www.example.org/~joe) Tất cả các thành phần trong bộ ba là các tài nguyên được định nghĩa bởi các URI (Uniform Resource Identifier) Tài nguyên đầu tiên là http://www.example.org/~joe/contact.rdf#joesmith

(subject), là phần định danh cho Joe Smith Tài nguyên thứ hai là

http://xmlns.com/foaf/0.1/homepage (predicate), là phần vị ngữ chỉ trang chủ

trong bộ từ vựng FOAF (Friend-of-a-friend) Tài nguyên cuối cùng là

http://www.example.org/~joe/ (object), chỉ trang chủ của Joe Smith

homepage identified by URI http://www.example.org/~joe/"

Tất cả các thành phần trong bộ ba RDF đều là tài nguyên, nhưng riêng

thành phần object có thể là một literal Literal trong RDF là một giá trị kiểu

chuỗi hoặc kiểu số Literal có thể là một từ đơn giản, hoặc là một số thuộc kiểu

Trang 13

dữ liệu của XML Ví dụ về thành phần object có thể là một literal được thể hiện

 rdf:type – mô tả tài nguyên là thể hiện của một lớp

 rdf:Property – mô tả thuộc tính

 rdf:Alt, rdf:Bag, rdf:Seq – mô tả danh sách tài nguyên

 rdf:List – lớp của RDF Lists

 rdf:nil – thể hiện của rdf:List biểu diễn một danh sách rỗng

2.1.3 Lược đồ RDF (RDF Schema)

Lược đồ RDF là phần mở rộng của bộ từ vựng RDF để mô tả sự phân cấp của các lớp và thuộc tính Ngoài ra, nó còn định nghĩa cho một số thành phần của RDF, chẳng hạn như đặt domain và range của một thuộc tính

Trang 14

:Person rdfs:subClassOf :Animal

:hasChild rdfs:range :Animal;

Các lớp được định nghĩa bởi RDFS được liệt kê trong bảng 2.1 Mọi tài nguyên có thể chia thành các nhóm là các lớp Các lớp cũng là tài nguyên nên chúng được định nghĩa bằng các URI và được mô tả bằng các thuộc tính

1

Bảng 2.1 Các lớp RDFS

Trang 15

rdfs:Container rdfs:Resource rdfs:Class

Thuộc tính trong RDFS là quan hệ giữa subject và object trong bộ ba RDF, tức predicate Các thuộc tính định nghĩa bởi RDFS được liệt kê trong

bảng 2.2 Mọi thuộc tính có thể được dùng để định nghĩa domain và range Domain của một thuộc tính cho tài nguyên mà thuộc tính đó thuộc về Range của một thuộc tính cho biết giá trị mà thuộc tính đó nhận được trong thể hiện của một lớp

Xét ví dụ sau, thuộc tính hasSon có domain là lớp Person (tức thuộc tính này là thuộc tính mô tả cho lớp Person), có range là lớp Man (tức giá trị của thuộc tính này thuộc lớp Man):

Bảng 2.2 Các thuộc tính RDFS (tất cả đều là thể hiện của rdf:Property)

rdfs:subPropertyOf rdf:Property rdf:Property

Trang 16

rdfs:label rdfs:Resource rdfs:Literal

rdfs:comment rdfs:Resource rdfs:Literal

rdfs:member rdfs:Resource rdfs:Resource

rdf:_1, rdf:_2, rdfs:Container rdfs:Resource rdfs:seeAlso rdfs:Resource rdfs:Resource rdfs:isDefinedBy rdfs:Resource rdfs:Resource

rdf:object rdf:Statement rdfs:Resource rdf:predicate rdf:Statement rdfs:Resource rdf:subject rdf:Statement rdfs:Resource

2.1.4 Ngôn ngữ biểu diễn Ontology OWL (Web Ontology Language)

OWL (The Web Ontology Language) là một ngôn ngữ dùng để mô tả các hệ cơ sở tri thức, được viết theo cú pháp XML OWL là một ngôn ngữ đánh dấu dùng để xuất bản và chia sẻ dữ liệu trên Internet thông qua những mô hình

dữ liệu gọi là “ontology” 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 OWL được xem như là một

kỹ thuật trọng yếu để cài đặt cho Semantic Web OWL được thiết kế đặc biệt

để cung cấp cách thứ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 dựa trên XML, các thông tin OWL có thể dễ dàng trao đổi giữa các kiểu hệ thống máy tính khác nhau, sử dụng các hệ điều hành và các ngôn ngữ ứng dụng khác nhau Mục đích chính của OWL là cung

Trang 17

cấp các chuẩn để tạo ra một nền tảng tích hợp các nguồn tài nguyên, dữ liệu trên WWW OWL ra đời sau và kế thừa các ngôn ngữ XML, RDF và RDFS nên nó có nhiều từ vựng để biểu diễn ý nghĩa và ngữ nghĩa hơn

OWL gồm có 3 loại: OWL Lite, OWL DL (Description Logic), và OWL Full

– OWL Lite: hỗ trợ cho những người dùng chủ yếu cần sự phân lớp theo

thứ bậc và các ràng buộc đơn giản

– OWL DL (OWL Description Logic): hỗ trợ cho những người dùng cần

sự diễn cảm tối đa và cũng cần cần duy trình tính tính toán toàn vẹn (tất cả các kết luận phải được đảm bảo để tính toán) và tính quyết định (tất cả các tính toán

sẽ kết thúc trong khoảng thời gian hạn chế) OWL DL bao gồm tất cả các cấu trúc của ngôn ngữ OWL, nhưng bị ràng buộc khi sử dụng

– OWL Full: hỗ trợ sự diễn cảm tối đa và sự tự do của RDF mà không

cần đảm bảo sự tính toán của các biểu thức

Mối liên hệ giữa các phần của OWL:

– Mọi ontology hợp lệ trên OWL Lite thì đều hợp lệ trên OWL DL – Mọi ontology hợp lệ trên OWL DL thì đều hợp lệ trên OWL Full – Mọi kết luận hợp lệ trên OWL Lite thì đều hợp lệ trên OWL DL – Mọi kết luận hợp lệ trên OWL DL thì đều hợp lệ trên OWL Full

2.1.5 Giới thiệu phần mềm Protégé

Protégé là công cụ biên tập Ontology mã nguồn mở (được phát triển tại Trường Đại học Stanford) sử dụng đối với việc xây dựng các hệ thống thông minh Protégé được hỗ trợ bởi cộng đồng lớn bao gồm: các viện nghiên cứu, các tổ chức chính phủ và những người sử dụng cộng tác

Trang 18

3 Hình 2.3 Phần mềm Protégé

Protégé hiện bao gồm 02 phiên bản:

– Phiên bản chạy trên Web (web-based), người sử dụng có thể thực hiện việc biên tập, xây dựng Ontology trực tiếp tại địa chỉ:

http://protege.stanford.edu/products.php#web-protege Ngoài ra người dùng

cũng có thể tải bộ cài đặt phiên bản web về để cài trên Webserver của mình và

sử dụng trong mạng nội bộ, đường dẫn tải bộ cài và hướng dẫn cài đặt tại:

Trang 19

2.2 MỐI TƯƠNG QUAN GIỮA ONTOLOGY VÀ CƠ SỞ DỮ LIỆU QUAN HỆ

* Cơ sở dữ liệu quan hệ (R):

Cấu trúc của một cơ sở dữ liệu quan hệ được định nghĩa là bộ 4 thành phần như sau:

R = <RS, RA, RC, RT>

Trong đó:

– RS là tập các thực thể và mối quan hệ giữa chúng trong cơ sở dữ liệu – RA là tập các thuộc tính trong cơ sở dữ liệu; bao gồm tên thuộc tính, kiểu dữ liệu và giá trị mặc định

– RC là tập các ràng buộc trên thuộc tính trong cơ sở dữ liệu, bao gồm PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, DEFAULT

– RT là tập các bộ dữ liệu chứa trong cơ sở dữ liệu đó Một bộ dữ liệu biểu diễn thông tin của một đối tượng

* Ontology (O):

Cấu trúc của Ontology được định nghĩa là bộ 5 thành phần như sau:

O = <C, A, I, CD, AD>

Trong đó:

– C là tập các khái niệm trong ontology

– A là tập các thuộc tính trong ontology

– I là tập các thể hiện của lớp trong ontology

– CD là tập các định nghĩa về các khái niệm trong ontology, nó định nghĩa sự phân cấp giữa các khái niệm

– AD là tập các định nghĩa về thuộc tính trong ontology, nó định nghĩa giá trị của domain và range của thuộc tính

Trang 20

Như vậy, sự tương đồng giữa mô hình cơ sở dữ liệu quan hệ và Ontology thể hiện như sau:

– RS ↔ C

– RA ↔ C × A

– RC ↔ CD

– RT ↔ I

2.3 CÁC NGHIÊN CỨU LIÊN QUAN

Việc trích xuất, biểu diễn và suy luận thông tin trong các cơ sở dữ liệu đòi hỏi sự chuyển đổi dữ liệu từ mô hình quan hệ sang mô hình ngữ nghĩa, và

mô hình Ontology là một mô hình thích hợp đáp ứng được các yêu cầu này Hiện nay đã có nhiều phương pháp chuyển đổi cơ sở dữ liệu quan hệ sang dạng Ontology được đưa ra Lei Zhang và Jing Li [4] đã đề xuất một phương pháp xây dựng tự động Ontology từ cơ sở dữ liệu quan hệ Tuy nhiên, phương pháp này lại bỏ qua một số bảng thể hiện dữ liệu liên kết Phương pháp của Yutao Ren, Lihong Jiang, Fenglin Bu và Hongming Cai [8] lại chưa xét đến bảng biểu diễn thuộc tính đa trị Phương pháp của Mohammed Reda Chbihi Louhdi, Hicham Behja và Said Ouatik El Alaoui [5] đã bổ sung thêm quy tắc ánh xạ mối quan hệ N-ary Tuy nhiên, cả 3 phương pháp trên vẫn chưa hoàn thiện được việc ánh xạ ràng buộc trên thuộc tính, cụ thể là với ràng buộc CHECK Phương pháp của Nguyễn Lý Hữu Huấn, Hoàng Hữu Hạnh và Lê Mạnh Thạnh [1] đã tương đối hoàn thiện việc chuyển đổi khi xét đầy đủ các bảng, các quan hệ và các ràng buộc Tuy nhiên lại có điểm chưa hợp lý khi ánh xạ ràng buộc CHECK

và các phương pháp trên đều có chung quy tắc ánh xạ thể hiện, đó là đặt tên cho thể hiện dựa trên giá trị khóa chính, và quy tắc này có thể không áp dụng được với một số CSDL có giá trị khóa chính trùng nhau Trong đồ án này, phương pháp của tôi kế thừa từ các phương pháp đã nêu trên đây, đồng thời hoàn thiện quy tắc khi ánh xạ ràng buộc CHECK và ánh xạ thể hiện

Trang 21

2.4 PHƯƠNG PHÁP CHUYỂN ĐỔI CƠ SỞ DỮ LIỆU QUAN HỆ SANG DẠNG ONTOLOGY

Việc chuyển đổi dữ liệu từ dạng cơ sở dữ liệu quan hệ sang dạng Ontology được biểu diễn bằng các ngôn ngữ RDF và OWL Quá trình chuyển đổi bao gồm 2 bước:

– Ánh xạ lược đồ: là bước trích xuất thông tin từ lược đồ cơ sở dữ liệu quan hệ, chuyển đổi chúng thành các khái niệm và tính chất trong Ontology Cụ thể là tạo ra các lớp từ các bảng, tạo ra các thuộc tính đối tượng (object property) từ các khóa ngoại và tạo ra thuộc tính kiểu dữ liệu (data property) từ các thuộc tính không phải khóa ngoại

– Ánh xạ dữ liệu: là bước trích xuất dữ liệu trong cơ sở dữ liệu (các bản ghi) và tạo ra các thể hiện trong Ontology

2.4.1 Bảng chuyển đổi kiểu dữ liệu

OWL không có các kiểu dữ liệu được định nghĩa sẵn, mà nó sử dụng các kiểu dữ liệu của XML Schema (XSD) Bảng 2.3 là danh sách một số kiểu dữ liệu thường dùng trong SQL cùng với kiểu dữ liệu tương ứng trong XSD

CSDL

quan hệ

Ontology Quy tắc ánh xạ

Trang 22

3 Bảng 2.3 Ánh xạ kiểu dữ liệu từ SQL sang XSD

Kiểu dữ liệu trong SQL Kiểu dữ liệu trong XSD

Integer, Int

xsd;Integer, xsd;positiveInteger, xsd;negativeInteger, xsd;nonPositiveInteger, xsd;nonNegativeInteger

Trang 23

2.4.2 Các quy tắc ánh xạ lớp và thuộc tính

* Ánh xạ lớp

Tôi phân các bảng trong SQL thành 6 loại

– Loại 1: Bảng cơ sở

Là bảng chỉ có khóa chính, không có khóa ngoại

– Loại 2: Bảng có khóa ngoại thông thường

Là bảng vừa có khóa chính, vừa có khóa ngoại Trong đó, thuộc tính tạo

khóa chính không tham gia vào việc tạo khóa ngoại

– Loại 3: Bảng tạo thành sự kế thừa

Các bảng được xem là tạo thành sự kế thừa nếu có hai bảng có cùng khóa chính, trong đó có một bảng gọi là bảng chính Khóa chính của bảng chính không phải là khóa ngoại, khóa chính của bảng còn lại cũng là khóa ngoại tham chiếu đến bảng chính Tất cả các giá trị khóa chính trong bảng chính không bắt

buộc phải tồn tại trong bảng kế thừa

– Loại 4: Bảng biểu diễn thuộc tính đa trị

Là bảng chỉ có đúng 2 thuộc tính, trong đó có một thuộc tính là khóa ngoại, còn thuộc tính còn lại không phải là khóa ngoại Khóa chính của bảng là

hợp của 2 thuộc tính này

– Loại 5: Bảng biểu diễn quan hệ đa nguyên kèm thuộc tính

Là bảng biểu diễn mối quan hệ nhiều–nhiều giữa 2 bảng trở lên và có thêm thuộc tính khác ngoài các thuộc tính khóa ngoại

– Loại 6: Bảng biểu diễn mối quan hệ nhị nguyên

Là bảng chỉ có đúng 2 thuộc tính, cả 2 thuộc tính này đều là khóa ngoại

tham chiếu đến 2 bảng khác

Quy tắc R1: Các bảng cơ sở, bảng có khóa ngoại thông thường, bảng biểu diễn mối quan hệ đa nguyên kèm thuộc tính trong SQL sẽ được ánh xạ thành các lớp tương ứng trong Ontology

Trang 24

Quy tắc R2: Đối với các bảng tạo thành sự kế thừa, cả bảng chính lẫn bảng kế thừa đều được ánh xạ thành lớp Trong đó, lớp ứng với bảng kế thừa

là lớp con của lớp ứng với bảng chính

Quy tắc R3: Bảng biểu diễn thuộc tính đa trị và bảng biểu diễn mối quan

hệ nhị nguyên sẽ không được ánh xạ thành lớp tương ứng trong Ontology

* Ánh xạ thuộc tính đối tượng

Quy tắc R4: Thuộc tính khóa ngoại trong bảng có khóa ngoại thông thường, bảng tạo ra sự kế thừa, bảng biểu diễn mối quan hệ đa nguyên kèm thuộc tính sẽ được ánh xạ thành thuộc tính đối tượng trong Ontology, với domain là lớp tương ứng của bảng chứa thuộc tính và range là lớp tương ứng của bảng chúng tham chiếu tới

Quy tắc R5: Thuộc tính khóa ngoại trong bảng đa trị sẽ không được ánh

xạ thành thuộc tính đối tượng trong Ontology

Quy tắc R6: Đối với bảng r biểu diễn mối quan hệ nhị nguyên giữa hai bảng s và t, ta có thể tạo ra hai thuộc tính đối tượng đảo nhau P và P’ P có domain là cs và range là ct, P’ có domain là ct và range là cs, trong đó cs và ct là các lớp tương ứng với các bảng s và t

* Ánh xạ thuộc tính kiểu dữ liệu

Quy tắc R7: Thuộc tính đa trị ở trong bảng đa trị sẽ được chuyển thành một thuộc tính kiểu dữ liệu có domain là lớp tương ứng với bảng chính và range

là kiểu dữ liệu liệt kê với ràng buộc owl:someValuesFrom, tập các phần tử của danh sách liệt kê là miền trị của thuộc tính đa trị

Quy tắc R8 : Các thuộc tính không tham gia vào khóa ngoại mà không

áp dụng được quy tắc R7 và R14 thì sẽ được ánh xạ thành các thuộc tính kiểu

dữ liệu có domain là lớp tương ứng của bảng chứa thuộc tính và range là kiểu

dữ liệu tương ứng của chúng trong OWL

Trang 25

2.4.3 Các quy tắc ánh xạ ràng buộc trên thuộc tính

Trong một cơ sở dữ liệu quan hệ, ràng buộc (constraint) là các qui tắc được áp đặt cho các cột dữ liệu trên các bảng Chúng được sử dụng để ràng buộc dữ liệu đầu vào của các bảng Ngôn ngữ SQL hỗ trợ nhiều loại ràng buộc, bao gồm UNIQUE, NOT NULL, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT Đối với những ràng buộc mà OWL không có thành phần tương ứng để mô tả thì ràng buộc đó trong SQL sẽ không được xét đến (như ràng buộc DEFAULT – định giá trị mặc định cho thuộc tính)

2.4.3.1 Ràng buộc NOT NULL

NULL trong ngôn ngữ SQL là một khái niệm dùng để biểu diễn giá trị của một thuộc tính bị khuyết thiếu Ràng buộc NOT NULL trên một thuộc tính

là ràng buộc quy định giá trị của thuộc tính đó không được khuyết thiếu Trong Ontology, tương ứng với ràng buộc NOT NULL trong SQL là ràng buộc bản

số cực tiểu bằng 1

Với ràng buộc PRIMARY KEY trên một thuộc tính, bản thân ràng buộc này đã chứa ràng buộc NOT NULL nên trong quy tắc này, tôi chỉ đề cập đến việc áp dụng ràng buộc cho các thuộc tính thông thường

Quy tắc R9: Ràng buộc NOT NULL trên thuộc tính trong mô hình RDB

sẽ được ánh xạ thành ràng buộc bản số cực tiểu bằng 1 trên thuộc tính tương ứng trong Ontology

2.4.3.2 Ràng buộc UNIQUE

Ràng buộc UNIQUE quy định giá trị của một thuộc tính trên một bộ phải khác với mọi giá trị của thuộc tính đó trên các bộ còn lại Trong Ontology, tính chất functional trên một thuộc tính quy định thuộc tính đó chỉ có duy nhất một giá trị trên mỗi thể hiện của lớp

Trang 26

Cũng như ràng buộc NOT NULL ở trên, ràng buộc PRIMARY KEY trên một thuộc tính cũng đã chứa ràng buộc UNIQUE nên trong quy tắc này, tôi chỉ

đề cập đến việc áp dụng ràng buộc cho các thuộc tính thông thường

Quy tắc R10: Ràng buộc UNIQUE trên thuộc tính trong mô hình RDB

sẽ được ánh xạ thành tính chất functional của thuộc tính tương ứng trong Ontology

2.4.3.3 Ràng buộc PRIMARY KEY

Khóa chính (PRIMARY KEY) là tập giá trị để phân biệt các bản ghi Giá trị của khóa chính phải là duy nhất và không được phép NULL

Ràng buộc PRIMARY KEY có 2 dạng:

– Ràng buộc PRIMARY KEY trên khóa đơn (ràng buộc trên một thuộc tính)

– Ràng buộc PRIMARY KEY trên khóa hợp (ràng buộc trên nhiều thuộc tính) Tùy trường hợp của các thuộc tính tạo khóa mà sử dụng các quy tắc R4, R5, R6 đã được nêu ở phần trên để ánh xạ

Quy tắc R11: Ràng buộc PRIMARY KEY trên một thuộc tính trong mô hình RDB sẽ được ánh xạ thành tính chất functional và ràng buộc bản số cực tiểu bằng 1 trên thuộc tính tương ứng trong Ontology

2.4.3.4 Ràng buộc CHECK

Ràng buộc CHECK cho phép đặt điều kiện để kiểm tra giá trị đầu vào của một bảng Nếu kết quả kiểm tra dữ liệu đầu vào là false, thì bản ghi vi phạm điều kiện của ràng buộc này và không được thêm vào bảng

– Dạng CHECK (attribute IN (value1, value2, …))

Quy tắc R12: Ràng buộc CHECK với một danh sách giá trị trên thuộc tính trong mô hình RDB sẽ được ánh xạ thành ràng buộc owl:oneOf và owl:DataRange (kiểu dữ liệu liệt kê) trên range của thuộc tính tương ứng trong

Trang 27

Ontology Mỗi phần tử trong kiểu dữ liệu liệt kê là một phần tử trong danh sách giá trị

– Dạng CHECK (attribute = value)

Quy tắc R13: Ràng buộc CHECK với một giá trị cụ thể trên thuộc tính trong mô hình RDB sẽ được ánh xạ thành ràng buộc owl:hasValue cùng với giá trị đó trên thuộc tính tương ứng trong Ontology

– Dạng CHECK (attribute > 0), CHECK (attribute >= 0), CHECK (attribute < 0), CHECK (attribute <= 0)

Quy tắc R14: Các ràng buộc CHECK dạng này, nếu kiểu dữ liệu trên thuộc tính tương ứng là kiểu số nguyên (int/integer) thì trên thuộc tính ánh xạ trong Ontology, sẽ được đặt kiểu dữ liệu (range) như sau:

– CHECK (attribute > 0) tương ứng xsd;positiveInteger

– CHECK (attribute >= 0) tương ứng xsd;nonNegativeInteger

– CHECK (attribute < 0) tương ứng xsd;negativeInteger

– CHECK (attribute <= 0) tương ứng xsd;nonPositiveInteger

Ngược lại, kiểu dữ liệu (range) của thuộc tính trong Ontology sẽ là kiểu

dữ liệu chuyển đổi tương ứng với kiểu dữ liệu trong SQL của thuộc tính đó

– Dạng CHECK (attribute > value1), CHECK (attribute < value2), CHECK (value1 < attribute < value2), …, với value1 ≠ 0 và value2 ≠ 0

Các ràng buộc dạng này sẽ bị bỏ qua do OWL không có thành phần tương ứng để biểu diễn

2.4.3.5 Ràng buộc FOREIGN KEY

Trong SQL, FOREIGN KEY là ràng buộc dùng để liên kết 2 bảng với nhau FOREIGN KEY là một cột hoặc một tổ hợp các cột có các giá trị so khớp với một PRIMARY KEY trong một bảng khác

Trang 28

Quy tắc R15: Ràng buộc FOREIGN KEY trên các thuộc tính khóa ngoại thông thường trong mô hình RDB sẽ được ánh xạ thành ràng buộc bản số cực tiểu bằng 1 trên thuộc tính tương ứng trong Ontology

2.4.4 Các quy tắc ánh thể hiện

Đầu tiên là gán một định danh duy nhất cho mỗi thể hiện Giá trị phù hợp cho định danh này là giá trị của thuộc tính khóa chính Định danh của các thuộc tính đối tượng biểu diễn mối quan hệ nhiều–nhiều được tạo thành bằng cách ghép nối các khóa chính của cả hai phía trong mối quan hệ

Tuy nhiên, để tránh trường hợp giá trị khóa chính của các bảng có thể giống nhau (ví dụ như cơ sở dữ liệu có nhiều bảng đặt khóa chính dạng số tự tăng), tôi sẽ thêm tên của lớp tương ứng của thể hiện vào phía trước định danh mỗi thể hiện (giá trị thuộc tính khóa chính hoặc giá trị ghép nối các khóa chính) Sau đó, tạo ra các thể hiện cho các lớp từ dữ liệu ở các bảng tương ứng

Trang 29

CHƯƠNG 3: THỰC NGHIỆM

3.1 CƠ SỞ DỮ LIỆU MINH HỌA

CREATE TABLE MonHoc (

MaMonHoc VarChar(10) PRIMARY KEY,

TenMonHoc NVarChar(100) NOT NULL,

GiangDay

MaGiangDay MaGiangVien MaMonHoc HocKy NamHoc

GiangVien

MaGiangVien MaBoMon

KetQua

MaSinhVien MaGiangDay DiemTongKet

Trang 30

SoTC Integer CHECK(SoTC >= 0) )

CREATE TABLE Khoa (

MaKhoa VarChar(10) PRIMARY KEY,

TenKhoa NVarChar(50) NOT NULL,

SoLuongGV Integer CHECK(SoLuongGV > 0) )

CREATE TABLE SinhVien (

MaSinhVien VarChar(10) PRIMARY KEY,

HoSinhVien NVarChar(20) NOT NULL,

TenSinhVien NVarChar(20) NOT NULL,

GioiTinh NVarChar(5) NOT NULL,

MaKhoa VarChar(10) REFERENCES Khoa(MaKhoa) )

CREATE TABLE BoMon (

MaBoMon VarChar(10) PRIMARY KEY,

TenBoMon NVarChar(50) NOT NULL,

MaKhoa VarChar(10) REFERENCES Khoa(MaKhoa) )

CREATE TABLE NhanVien (

MaNhanVien VarChar(10) PRIMARY KEY,

HoNhanVien NVarChar(20) NOT NULL,

TenNhanVien NVarChar(20) NOT NULL,

DiaChi NvarChar(100) NOT NULL,

Email VarChar(30) UNIQUE )

CREATE TABLE DienThoai (

Ngày đăng: 28/11/2016, 15:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
2. Andrew J. Oppel (2009), Databases: A Beginner's Guide, The McGraw-Hill Companies, Inc., USA Sách, tạp chí
Tiêu đề: Databases: A Beginner's Guide
Tác giả: Andrew J. Oppel
Năm: 2009
1. Nguyễn Lý Hữu Huấn, Hoàng Hữu Hạnh, Lê Mạnh Thạnh (2012), Chuyển đổi mô hình quan hệ sang mô hình ngữ nghĩa dựa trên Ontology, pp.115-124 Khác
3. Guntars Bumans (2010), Mapping between Relational Databases and OWL Ontologies: an Example, pp. 99-117 Khác
4. Lei Zhang, Jing Li (2011), Automatic Generation of Ontology Based on Database, Journal of Computational Information Systems Khác
5. Mohammed Reda Chbihi Louhdi, Hicham Behja, Said Ouatik El Alaoui (2013), Transformation Rules for Building OWL Ontologies from Relational Databases, pp. 271-283 Khác
6. Mona Dadjoo, Esmaeil Kheirkhah (2015), An Approach For Transforming of Relational Databases to OWL Ontology, pp. 19-28 Khác
7. Noreddine GHERABI, Khaoula ADDAKIRI (2012), Mapping relational database into OWL Structure with data semantic preservation, pp.42-47 Khác
8. Yutao Ren, Lihong Jiang, Fenglin Bu, Hongming Cai (2012), Rules and Implementation for Generating Ontology from Relational Database, pp.237-244 Khác

HÌNH ẢNH LIÊN QUAN

Bảng  2.2.  Mọi  thuộc  tính  có  thể  được  dùng  để  định  nghĩa  domain  và  range - Chuyển đổi cơ sở dữ liệu quan hệ sang dạng ontology
ng 2.2. Mọi thuộc tính có thể được dùng để định nghĩa domain và range (Trang 15)
Bảng có khóa - Chuyển đổi cơ sở dữ liệu quan hệ sang dạng ontology
Bảng c ó khóa (Trang 33)
Bảng biểu - Chuyển đổi cơ sở dữ liệu quan hệ sang dạng ontology
Bảng bi ểu (Trang 34)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w