Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Phát triển mô hình truy vấn dữ liệu tùy chọn dựa trên ngữ nghĩa của câu truy vấn nl2sql-sparql: trường hợp câu truy vấn insert, update
Nội dung xem thử
Mô tả chi tiết
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
NGUYỄN THỊ PHƯƠNG THẢO
PHÁT TRIỂN MÔ HÌNH TRUY VẤN DỮ LIỆU
TÙY CHỌN DỰA TRÊN NGỮ NGHĨA CỦA
CÂU TRUY VẤN NL2SQL-SPARQL: TRƯỜNG HỢP
CÂU TRUY VẤN INSERT, UPDATE
Chuyên ngành : Hệ thống thông tin
Mã số : 61.49.01.04
TÓM TẮT LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN
Đà Nẵng – Năm 2017
Công trình được hoàn thành tại
TRƯỜNG ĐẠI HỌC SƯ PHẠM - ĐHĐN
Người hướng dẫn khoa học : TS. HOÀNG THỊ THANH HÀ
Phản biện 1 : TS. Nguyễn Trần Quốc Vinh
Phản biện 2 : TS. Nguyễn Quang Thanh
Luận văn đã được bảo vệ trước Hội đồng chấm Luận văn tốt
nghiệp thạc sỹ chuyên ngành Hệ thống thông tin họp tại Đại Học Sư
phạm vào ngày 30 tháng 7 năm 2017
Có thể tìm hiểu luận văn tại :
- Trung tâm Học liệu, Đại Học Đà Nẵng tại trường Đại học Sư phạm
- Thư viện Khoa Tin học, Trường Đại học Sư phạm, ĐHĐN
1
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Workflow hay tiến trình là một quá trình tự động hóa công
việc, một phần hoặc toàn bộ. Trong quá trình đó, các tài liệu, thông
tin hay các nhiệm vụ đƣợc truyền từ đối tƣợng tham gia này sang đối
tƣợng khác để hành động tuân theo một tập hợp quy tắc nhất định.
Một vấn đề đặt ra trong nghiên cứu về tiến trình đó là sự cô lập
dữ liệu cá nhân trong việc thực thi phân tán của một tiến trình trong
đó bao gồm nhiều công cụ thực thi cục bộ, đƣợc gọi là máy thực thi.
Nguyên tắc cô lập này không cho phép truy cập vào dữ liệu cá nhân
của một máy thực thi của ngƣời khác. Lấy một ví dụ trong lĩnh vực y
tế, khi xem xét một tiến trình điều trị bệnh tim mạch, tiến trình này
có nhiều đối tƣợng tham gia nhƣ bệnh nhân, bác sĩ điều trị, bác sĩ
phẩu thuật, trung tâm xét nghiệm, trung tâm chẩn đoán hình
ảnh...Các đối tƣợng này có thể không tập trung tại một địa điểm,
không chia sẻ cùng một hạ tầng thông tin và vì thế dữ liệu điều trị
của họ có thể phân tán. Dữ liệu điều trị có thể nằm tại nhiều địa điểm
khác nhau và cũng có thể dƣới nhiều hình thức khác nhau, ví dụ nhƣ
có có thể là một cơ sở dữ liệu MySQL, có thể là dữ liệu ngữ nghĩa
RDF, hay tổ chức bằng MongoDB. Nhiều hình thức cơ sở dữ liệu sẽ
gây khó khăn cho hệ thống của ngƣời dùng khi muốn truy vấn vào
các kho dữ liệu mà họ cần tra cứu, chẳng hạn bác sĩ điều trị muốn
truy vấn dữ liệu từ trung tâm xét nghiệm chẳng hạn.
Để giúp ngƣời dùng có thể truy vấn một cách dễ dàng với
các mô hình cơ sở dữ liệu, mà phổ biến hiện nay là cơ sở dữ liệu ngữ
nghĩa và cơ sở dữ liệu quan hệ, trong [5] các tác giả đã đề xuất mô
hình truy vấn dữ liệu tùy chọn dựa trên ngữ nghĩa của câu truy vấn,
mô hình này đề xuất giải pháp truy vấn cả hai mô hình CSDL là
CSDL quan hệ và CSDL ngữ nghĩa chỉ với câu truy vấn bằng ngôn
2
ngữ tự nhiên. Tuy nhiên bài báo [5] chỉ mới phát triển mô hình với
bộ từ điển ngữ nghĩa giới hạn cho câu truy vấn SELECT, vì vậy để
mở rộng khả năng ứng dụng của mô hình này trong thực tế, tôi đề
xuất lựa chọn đề tài:
“Phát triển mô hình truy vấn dữ liệu tùy chọn dựa trên
ngữ nghĩa của câu truy vấn NL2SQL-SPARQL: Trường hợp câu
truy vấn insert, update”
2. Mục tiêu
Mục tiêu chính của đề tài là phát triển và hoàn thiện mô hình
NL2SQL - SPARQL để có thể thực thi các truy vấn đa dạng nhƣ
INSERT, UPDATE, ..khi truy vấn bằng ngôn ngữ tự nhiên.
Để thoả mãn mục tiêu này thì cần đạt đƣợc những mục tiêu cụ thể
sau:
- Nắm vững cách tổ chức & truy vấn của các mô hình cơ sở dữ
liệu phổ biến.
- Nắm vững ngôn ngữ truy vấn SPARQL trong cơ sở dữ liệu
ngữ nghĩa RDF.
- Nắm vững cách chuyển đổi từ câu truy vấn tự nhiên theo cấu
trúc cho trƣớc sang câu truy vấn của các mô hình cơ sở dữ liệu.
- Nền tảng có khả năng đƣa ra những câu truy vấn đề nghị
tƣơng ứng với cấu trúc của loại cơ sở dữ liệu lựa chọn.
3. Đối tƣợng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
Đối tƣợng nghiên cứu
- Cách tổ chức và cú pháp truy vấn dữ liệu của các mô hình cơ sở
dữ liệu phổ biến nhƣ: Cơ sở dữ liệu ngữ nghĩa, cơ sở dữ liệu quan hệ.
- Cách chuyển đổi từ câu truy vấn bằng ngôn ngữ tự nhiên
sang câu truy vấn ngữ nghĩa.
- Ngôn ngữ truy vấn SQL trong mô hình cơ sở dữ liệu quan
hệ.
3
- Ngôn ngữ truy vấn SPARQL trong Web ngữ nghĩa.
3.2. Phạm vi nghiên cứu
Trong khuôn khổ của luận văn thuộc loại nghiên cứu, tôi chỉ
giới hạn nghiên cứu các vấn đề sau:
- Giới hạn chuyển đổi các câu truy vấn INSERT và UPDATE
từ SPARQL sang loại cơ sở dữ liệu lựa chọn
4. Phƣơng pháp nghiên cứu
Phƣơng pháp lý thuyết
- Tiến hành thu thập và nghiên cứu các tài liệu có liên quan
đến đề tài.
Phƣơng pháp thực nghiệm
- Thực hiện xây dựng hệ thống từ các kết quả nghiên cứu lý
thuyết đáp ứng mục tiêu đặt ra.
- Kiểm tra, thử nghiệm, nhận xét và đánh giá kết quả.
5. Kết quả dự kiến
5.1. Lý thuyết
Hoàn thiện đƣợc mô hình NL2SQL-SPARQL để có thể thực
thi các truy vấn đa dạng nhƣ INSERT, UPDATE ...khi truy vấn
bằng ngôn ngữ tự nhiên.
5.2. Thực tiễn
Mô hình thực nghiệm cho kết quả nhƣ dự kiến.
6. Bố cục luận văn
Luận văn dự kiến tổ chức thành 3 chƣơng chính nhƣ sau:
Chƣơng 1: TỔNG QUAN VỀ CÁC MÔ HÌNH CƠ SỞ DỮ
LIỆU
CHƢƠNG 2: NGÔN NGỮ TRUY VẤN CƠ SỞ DỮ LIỆU
QUAN HỆ VÀ CƠ SỞ DỮ LIỆU NGỮ NGHĨA
CHƢƠNG 3: PHÁT TRIỂN HỆ THỐNG TRUY VẤN DỮ
LIỆU TÙY CHỌN DỰA TRÊN NGỮ NGHĨA CỦA CÂU TRUY
VẤN
4
CHƢƠNG 1
TỔNG QUAN VỀ CÁC MÔ HÌNH CƠ SỞ DỮ LIỆU
Chƣơng này trình bày tổng quan về: khái niệm của cơ sở dữ
liệu và các mô hình cơ sở dữ liệu liên quan trực tiếp tới luận văn, tổ
chức và cấu trúc câu truy vấn của cơ sở dữ liệu quan hệ SQL và cơ sở
dữ liệu ngữ nghĩa SPARQL.
1.1. CƠ SỞ DỮ LIỆU LÀ GÌ?
Cơ sở dữ liệu (Database), viết tắt là CSDL hoặc DB, là một tập
hợp các dữ liệu có quan hệ logic với nhau, có thể dễ dàng chia sẻ và
đƣợc thiết kế nhằm đáp ứng các nhu cầu sử dụng của một tổ chức, cá
nhân nào đó.
* Vai trò của CSDL?
Ngày nay, CSDL đã trở thành một phần không thể thiếu trong
các hoạt động đời sống hàng ngày. Mỗi ngày, có thể bạn sử dụng
nhiều CSDL khác nhau, nhiều lần khác nhau nhƣng lại không nhận ra
điều đó.
1.1. Vị trí của CSDL trong hệ thống
1.2. PHÂN LOẠI CÁC MÔ HÌNH CƠ SỞ DỮ LIỆU
Mô hình dữ liệu là một tập hợp tích hợp các khái niệm để mô
5
tả và thao tác dữ liệu, mối quan hệ giữa các mô hình dữ liệu và các
ràng buộc trên dữ liệu trong một tổ chức.
1.2.1. Cơ sở dữ liệu ngữ nghĩa
Tim Berners-Lee đã đề xuất một kiến trúc các lớp cho web ngữ
nghĩa mà thƣờng đƣợc biểu diễn bằng sơ đồ.
1.2: Kiến trúc các lớp của Web ngữ g ĩa
Hình 1.2 cho thấy các lớp của web ngữ nghĩa, trong đó mô tả các
lớp chính của thiết kế Web ngữ nghĩa và tầm nhìn của nó.
1.2.2. Cơ sở dữ liệu quan hệ
Cơ sở dữ liệu quan hệ là một tập hợp các quan hệ được tiêu
chuẩn hóa với những tên gọi quan hệ riêng biệt [15].
Các dạng chuẩn hóa cơ sở dữ liệu quan hệ
- Chuẩn hoá là quá trình tách bảng (phân rã) thành các bảng
nhỏ hơn dựa vào các phụ thuộc hàm.
- Các dạng chuẩn là các chỉ dẫn để thiết kế các bảng trong
CSDL.
- Mục đích của chuẩn hoá là loại bỏ các dƣ thừa dữ liệu và
các lỗi khi thao tác dƣ thừa và các lỗi khi thao tác dữ liệu (Insert,
Delete, Update).
- Nhƣng chuẩn hoá làm tăng thời gian truy vấn.
6
Dạng chuẩn 1 – 1NF
Dạng chuẩn 2 – 2NF
Dạng chuẩn 3 – 3NF
Dạng chuẩn BCNF
1.2.3. Cơ sở dữ liệu hƣớng đối tƣợng
Dù có nhiều ngôn ngữ hƣớng đối tƣợng, đa số CSDL hƣớng đối
tƣợng dựa trên C++. Lựa chọn này là do tính hiệu quả và thông dụng
của C++.
CHƢƠNG 2
NGÔN NGỮ TRUY VẤN CƠ SỞ DỮ LIỆU QUAN HỆ VÀ CƠ
SỞ DỮ LIỆU NGỮ NGHĨA
Chƣơng này tìm hiểu kĩ hơn về tổ chức và cấu trúc câu truy
vấn của cơ sở dữ liệu quan hệ SQL và cơ sở dữ liệu ngữ nghĩa
SPARQL.
2.1 NGÔN NGỮ TRUY VẤN TRONG CƠ SỞ DỮ LIỆU QUAN
HỆ
2.1.1. Giới thiệu
Ngôn ngữ truy vấn dữ liệu (Structured Query Language -
SQL) cho phép những ngƣời khai thác CSDL (chuyên nghiệp hoặc
không chuyên) sử dụng để truy vấn các thông tin cần thiết trong
CSDL.
Ngôn ngữ quản lý dữ liệu (Data Control Language - DCL)
cho phép những ngƣời quản trị hệ thống thay đổi cấu trúc của các
bảng dữ liệu, khai báo bảo mật thông tin và cấp quyền hạn khai thác
CSDL cho ngƣời sử dụng.
2.1.2. Câu truy vấn SQL
Tập hợp các câu lệnh truy vấn SQL đƣợc chia ra thành các
nhóm với những mục đích nhƣ sau:
7
- Kiểm soát truy cập: GRANT, REVOKE
- Quản lý phiên làm việc: CONNECT, SET
- Định nghĩa dữ liệu: CREATE, ALTER, DROP
- Thao tác dữ liệu: UPDATE, SELECT, INSERT, DELETE
- Quản lý giao dịch: COMMIT, ROLLBACK, LOCK
TABLE
- Câu lệnh nhập xuất
- Câu lệnh thủ tục: CALL
a. Câu lệnh SELECT
Cú pháp chung của câu lệnh SELECT có dạng: SELECT [ALL |
DISTINCT][TOP n] danh_sách_ch ọn
[INTO tên_bảng_mới]
FROM danh_sách_bảng/khung_nhìn
[W ERE điều_kiện]
[GROUP BY danh_sách_cột]
[ AVING điều_kiện]
[ORDER BY cột_sắp_xếp]
[COMPUTE danh_sách_hàm_gộp [BY danh_sách_cột]]
b. Câu lệnh INSERT
Có hai dạng cú pháp cho lệnh INSERT INTO trong SQL nhƣ
sau:
INSERT INTO TABLE_TEN (cot1, cot2, cot3,...cotN)]
VALUES (giatri1, giatri2, giatri3,...giatriN);
Ở đây, cot1, cot2,...cotN là tên các cột trong bảng mà bạn
muốn chèn dữ liệu.
Bạn có thể không cần xác định tên các cột trong truy vấn
SQL nếu bạn đang thêm các giá trị cho tất cả cột của bảng đó.
Nhƣng bạn nên đảm bảo thứ tự của các giá trị là giống nhƣ thứ tự
8
các cột trong bảng. Cú pháp của lệnh INSERT INTO này nhƣ sau:
INSERT INTO TABLE_TEN VALUES
(giatri1,giatri2,giatri3,...giatriN);
b. Câu lệnh UPDATE
Cú pháp cơ bản của truy vấn UPDATE với mệnh đề
WHERE nhƣ sau:
UPDATE ten_bang
SET cot1 = giatri1, cot2 = giatri2...., cotN = giatriN
WHERE [dieu_kien];
c. Câu lệnh DELETE
Cú pháp của câu lệnh này nhƣ sau:
DELETE FROM tên_bảng
[FROM danh_sách_bảng]
[WHERE điều_kiện]
2.2. NGÔN NGỮ TRUY VẤN TRONG CƠ SỞ DỮ LIỆU NGỮ
NGHĨA
2.2.1. Giới thiệu
Cơ sở dữ liệu ngữ nghĩa là ngôn ngữ và giao thức truy vấn
tiêu chuẩn cho Dữ liệu Mở Liên kết trên web hoặc trong cơ sở dữ
liệu đồ họa ngữ nghĩa (còn đƣợc gọi là RDF triplestore - bộ 3 RDF).
SPARQL, là viết tắt của Giao thức SPARQL và Ngôn ngữ
Truy vấn RDF bằng tiếng Anh, “SPARQL Protocol And RDF Query
Language”, cho phép những ngƣời sử dụng truy vấn thông tin từ các
cơ sở dữ liệu hoặc bất kỳ nguồn dữ liệu nào có thể đƣợc ánh xạ tới
RDF.
2.2.2. Mô hình RDF
Cú pháp tổng quát của SPARQL-SELECT đƣợc liệt kê nhƣ
sau:
9
PREFIX ns: <namespaceURI> PREFIX : <.>
SELECT variables [FROM <dataURI>]
[FROM NAMED <dataURI>]
WHERE { constraints [FILTER] [OPTIONAL] }
[ORDER BY variables] [OFFSET/LIMIT n]
[DISTINCT]
Dữ liệu trong RDF đƣợc mô tả theo dạng các bộ ba. Tập hợp
các bộ ba RDF tạo ra một đồ thị, gọi là đồ thị RDF. Ngôn ngữ truy
vấn SPARQL lấy thông tin từ các đồ thị RDF, nó cung cấp các tính
năng sau:
- Chiết xuất thông tin dƣới dạng các URI, các node trắng
(blank node), các plain literal và typed literal.
- Chiết xuất các đồ thị con RDF.
- Xây dựng các đồ thị RDF mới dựa trên thông tin của các
đồ thị truy vấn.
2.2.3. RDF DATASET
Mô hình dữ liệu RDF thể hiện thông tin về các đồ thị bao
gồm các bộ ba với các subject, predicate và object. Các kho dữ liệu
RDF chứa nhiều các đồ thị RDF và thông tin bản ghi về mỗi đồ thị và
nó cho phép một ứng dụng để thực hiện các truy vấn có liên quan đến
thông tin từ nhiều hơn một đồ thị.
Định nghĩa 2.1: Một RDF Datasset đại diện cho một tập hợp
các đồ thị. RDF Dataset bao gồm một đồ thị mặc định (defaut graph)
và hoặc không có hoặc có nhiều đồ thị đƣợc đặt tên (named graph).
Trong đó các đồ thị đƣợc đặt tên đƣợc định danh bởi một URI.
Đồ thị đƣợc sử dụng cho việc đối sánh một mẫu đồ thị cơ sở
là đồ thị đang hoạt động (active graph). Ở trong các phần trƣớc tất cả
các truy vấn đều đƣợc thực thi đối với một đơn đồ thị, điều đó có
nghĩa là đồ thị mặc định của RDF Dataset chính là đồ thị đang hoạt