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

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.3 MB, 61 trang )

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 NGUN

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


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 NGUN

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




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



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


DANH MỤC CÁC CHỮ VIẾT TẮT
Các chữ viết tắt

Cụm từ đầy đủ

WWW

World Wide Web

RDBMS

Relational Database Management System

RDB


Relational Database

XML

Extensible Markup Language

XSD

XML Schema Definition

RDF

Resource Description Framework

RDFS

RDF Schema

OWL

Web Ontology Language

SQL

Structured Query Language

URI

Uniform Resource Identifier


CSDL

Cơ sở dữ liệu


DANH MỤC CÁC BẢNG
1

2

3

4

5

6

Bảng 2.1 Các lớp RDFS ................................................................................... 7
Bảng 2.2 Các thuộc tính RDFS (tất cả đều là thể hiện của rdf:Property) ........ 8
Bảng 2.3 Ánh xạ kiểu dữ liệu từ SQL sang XSD........................................... 15
Bảng 3.1 Phương pháp phân loại bảng trong SQL ......................................... 26
Bảng 3.2 Thông tin mô tả trong bảng Attributes............................................ 27
Bảng 3.3 Thông tin mô tả trong bảng Attributes ứng với cơ sở dữ liệu mẫu

NhaTrangUniversity ........................................................................................ 27
7

8


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

NhaTrangUniversity ........................................................................................ 29
9

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

10

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

mẫu NhaTrangUniversity ................................................................................ 30
11

12

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

NhaTrangUniversity ...................................................................................... 322


DANH MỤC CÁC HÌNH
1

Hì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 ........................................... 5
2


Hì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
3

4

5

6

7

8

9

Hình 2.3 Phần mềm Protégé ........................................................................... 11
Hình 2.4 Phương pháp chuyển đổi CSDL quan hệ sang dạng Ontology....... 14
Hình 3.1 Cơ sở dữ liệu NhaTrangUniversity ................................................. 22
Hình 3.2 Sơ đồ tổng thể của bài toán chuyển đổi .......................................... 25
Hình 3.3 Giao diện chương trình RDB2OWL ............................................... 40
Hình 3.4 Giao diện chương trình RDB2OWL ở trạng thái ban đầu .............. 42
Hình 3.5 Giao diện chương trình RDB2OWL sau bước 1............................. 43

10

11


12

13

Hình 3.6 Giao diện chương trình RDB2OWL sau bước 2............................. 44
Hình 3.7 Các tập tin mô tả CSDL được tạo ra sau bước 2............................. 44
Hình 3.8 Giao diện chương trình RDB2OWL sau bước 3............................. 45
Hình 3.9 Tập tin Ontology được tạo ra sau bước 3........................................ 46


1

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.


2

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


3

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.


4

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.


5

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 (Joe Smith có trang
chủ là 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



/>
(subject), là phần định danh cho Joe Smith. Tài nguyên thứ hai là
(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à

(object), chỉ trang chủ của Joe Smith.

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 />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


6

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

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"
Tiếp đầu ngữ của không gian tên trong ngôn ngữ RDF là rdf: và được
định nghĩa tại Từ vựng RDF
bao gồm:
 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.
Xét ví dụ sau:
@prefix :


< .

@prefix rdf: < .
@prefix rdfs: < />
:Dog

rdfs:subClassOf

:Animal.


7

:Person

rdfs:subClassOf

:hasChild

rdfs:range

:Animal;

rdfs:domain
:hasSon

:Animal.

:Animal.


rdfs:subPropertyOf :hasChild.

:Max a :Dog.
:Abela :Person.
:Adam

a :Person;

:hasSon :Abel.
Trong ví dụ ở trên, có sự phân cấp giữa các lớp (Dog và Person là lớp
con của Animal), sự phân cấp giữa thuộc tính (hasSon là thuộc tính con của
hasChild), thuộc tính hasChild có domain và range thuộc lớp 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

Lớp

rdfs:subClassOf

rdf:type

rdfs:Resource

rdfs:Resource

rdfs:Class


rdfs:Class

rdfs:Resource

rdfs:Class

rdfs:Literal

rdfs:Resource

rdfs:Class

rdfs:Datatype

rdfs:Class

rdfs:Class

rdf:XMLLiteral

rdfs:Literal

rdfs:Datatype

rdf:Property

rdfs:Resource

rdfs:Class


rdf:Statement

rdfs:Resource

rdfs:Class

rdf:List

rdfs:Resource

rdfs:Class


8

rdfs:Container

rdfs:Resource

rdfs:Class

rdf:Bag

rdfs:Container

rdfs:Class

rdf:Seq


rdfs:Container

rdfs:Class

rdf:Alt

rdfs:Container

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):
@prefix: < />@prefix rdfs: < />:hasSon

2

rdfs:domain

:Person;

rdfs:range

:Man.


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

rdfs:domain

rdfs:range

rdfs:range

rdf:Property

rdfs:Class

rdfs:domain

rdf:Property

rdfs:Class

rdf:type

rdfs:Resource

rdfs:Class

rdfs:subClassOf

rdfs:Class


rdfs:Class

rdfs:subPropertyOf

rdf:Property

rdf:Property


9

rdfs:label

rdfs:Resource

rdfs:Literal

rdfs:comment

rdfs:Resource

rdfs:Literal

rdfs:member

rdfs:Resource

rdfs:Resource

rdf:first


rdf:List

rdfs:Resource

rdf:rest

rdf:List

rdf:List

rdf:_1, rdf:_2, ...

rdfs:Container

rdfs:Resource

rdfs:seeAlso

rdfs:Resource

rdfs:Resource

rdfs:isDefinedBy

rdfs:Resource

rdfs:Resource

rdf:value


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


10

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.


11

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ỉ:

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:
/>– Phiên bản chạy trên Desktop (desktop-based): phiên bản này với mục
đích biên tập Ontology trên máy tính cá nhân, phiên bản mới nhất là 5.0 beta,
tải về tại địa chỉ: />

12

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


13

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.


14

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.

Quy tắc ánh xạ
CSDL
quan hệ


4

Ontology

Hình 2.4 Phương pháp chuyển đổi CSDL quan hệ sang dạng 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.


15

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

Decimal, Numeric

xsd;decimal

Real

xsd;float


Float

xsd;double
xsd;Integer,
xsd;positiveInteger,

Integer, Int

xsd;negativeInteger,
xsd;nonPositiveInteger,
xsd;nonNegativeInteger

BigInt

xsd;long

SmallInt

xsd;short

TinyInt

xsd;unsignedByte

Char, VarChar,
Nchar, NVarChar,

xsd;string


Text, Ntext
DateTime

xsd;dateTime

Date

xsd;date

Time

xsd;time

Binary, VarBinary

xsd;base64Binary

Boolean

xsd;boolean

Variant

xsd;anyType


16

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.


17

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.


18

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.


×