Luận văn được thực hiện nhằm mục đích tìm hiểu việc mở rộng chương trình Datalog cho Web ngữ nghĩa. Cấu trúc của luận văn bao gồm phần mở đầu, nội dung ba chương, phần kết luận và tài liệu tham khảo. Chương 1: Tổng quan về chương trình Datalog và Web ngữ nghĩa. Chương này giới thiệu một số khái niệm cơ sở của chương trình Datalog, hai tiếp cận thường dùng để xác định ngữ nghĩa của chương trình Datalog là tiếp cận theo lý thuyết mô hình và tiếp cận theo lý thuyết điểm bất động. Ngoài ra, chương 1 cũng trình bày tổng quan về Web ngữ nghĩa và vai trò của Ontology, logic mô tả trong Web ngữ nghĩa. Chương 2: Trình bày về cú pháp và ngữ nghĩa của chương trình Datalog± là một lớp chương trình Datalog mở rộng, cho phép các biến với lượng từ tồn tại xuất hiện trong phần đầu của các quy tắc. Chương 3: Trình bày việc chuyển đổi logic mô tả DLLITE về chương trình Datalog±. Phần kết luận nêu những kết quả đã đạt được và hướng phát triển của luận văn. Do thời gian có hạn và bản thân chỉ mới bước đầu nghiên cứu về lĩnh vực này nên không thể tránh khỏi những thiếu sót, kính mong sự giúp đỡ và góp ý thêm của Quý Thầy, Cô và các bạn.
Trang 1LỜI CAM ĐOANTôi xin cam đoan đề tài “Tìm hiểu việc mở rộng chương trình Datalog cho Web ngữ nghĩa” là công trình nghiên cứu do tôi thực hiện, không sao chép bất
kỳ kết quả nghiên cứu nào của các tác giả khác Các số liệu và kết quả nghiên cứunêu trong luận văn là trung thực và chưa từng được công bố trong bất kỳ một côngtrình nào khác Nội dung của luận văn có tham khảo và sử dụng một số thông tin,tài liệu từ các nguồn sách, tạp chí được liệt kê trong danh mục các tài liệu thamkhảo
Tôi xin chịu hoàn toàn trách nhiệm về nội dung của luận văn này
Thừa Thiên Huế, ngày 17 tháng 08 năm 2018
Người cam đoan
Bùi Thị Kim Tuyến
Trang 2LỜI CẢM ƠN
Qua quá trình học tập và nghiên cứu, tôi xin gởi lời cảm ơn chân thành sâusắc đến Quý thầy cô giáo Khoa Công nghệ thông tin - Trường Đại học Khoa họcHuế và trường Đại học An Giang đã tận tình hướng dẫn, truyền đạt kiến thức, tạođiều kiện thuận lợi cho tôi trong quá trình học tập và thực hiện luận văn tốt nghiệp
Để hoàn thành được luận văn này, tôi xin chân thành gửi lời biết ơn sâu sắcđến PGS.TS Trương Công Tuấn, thầy đã khuyến khích, hướng dẫn tận tình, cónhững góp ý sâu sắc và đã truyền đạt rất nhiều kiến thức quý báu cho tôi trong suốtquá trình nghiên cứu Thầy đã cho tôi nhiều lời động viên cũng như những nhận xétchân thành để tôi có thể hoàn thành được đề tài này
Cuối cùng tôi xin được cảm ơn Ban Giám Hiệu, quý thầy cô trong tổ nơi tôicông tác đã tạo mọi điều kiện để tôi đi học và thực hiện đề tài nghiên cứu này Tôicũng gửi lời cảm ơn chân thành đến anh chị em học viên KHMT_K3 luôn giúp đỡđộng viên Đó cũng là động lực để tôi hoàn thành việc học và nghiên cứu của mình.Bản thân tôi đã cố gắng hết sức trong quá trình thực hiện đề tài này nhưngchắc chắn sẽ không tránh khỏi những thiếu sót Kính mong quý thầy cô và các bạntận tình hướng dẫn, góp ý và chỉ bảo
Xin chân thành cám ơn!
Thừa Thiên Huế, ngày 17 tháng 08 năm 2018
Học viên
Bùi Thị Kim Tuyến
Trang 3MỤC LỤC
Trang
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC HÌNH v
DANH MỤC CÁC THUẬT NGỮ vi
DANH MỤC CÁC KÝ HIỆU vii
DANH MỤC CÁC CHỮ VIẾT TẮT viii
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ CHƯƠNG TRÌNH DATALOG VÀ WEB NGỮ NGHĨA 3
1.1 GIỚI THIỆU VỀ CHƯƠNG TRÌNH DATALOG VÀ WEB NGỮ NGHĨA 3
1.1.1 Một số khái niệm cơ sở 3
1.1.2 Giới thiệu về web ngữ nghĩa 5
1.2 CHƯƠNG TRÌNH DATALOG 6
1.2.1 Cú pháp chương trình Datalog 6
1.2.2 Ngữ nghĩa của chương trình Datalog 10
1.2.2.1 Tiếp cận lý thuyết mô hình 10
1.2.2.2 Tiếp cận điểm bất động 12
1.3 ONTOLOGY VÀ LOGIC MÔ TẢ TRONG WEB NGỮ NGHĨA 15
1.3.1 Ontology trong Web ngữ nghĩa 15
1.3.2 Logic mô tả trong web ngữ nghĩa 16
1.4 TIỂU KẾT CHƯƠNG 1 17
CHƯƠNG 2 CHƯƠNG TRÌNH DATALOG± 18
2.1 VÍ DỤ MỞ ĐẦU 18
2.2 CHƯƠNG TRÌNH DATALOG± 19
2.2.1 Cú pháp của chương trình Datalog ± 19
2.2.2 Ngữ nghĩa của chương trình Datalog ± 21
2.2.2.1 Tiếp cận lý thuyết – mô hình 22
Trang 42.2.2.2 Tiếp cận điểm bất động 23
2.3 CHƯƠNG TRÌNH DATALOG± ĐƯỢC BẢO VỆ (GUARDED DATALOG±) 26
2.4 TIỂU KẾT CHƯƠNG 2 29
CHƯƠNG 3 CHUYỂN ĐỔI LOGIC MÔ TẢ DL-LITE VỀ CHƯƠNG TRÌNH DATALOG 30
3.1 GIỚI THIỆU VỀ LOGIC MÔ TẢ 30
3.2 LOGIC MÔ TẢ DL-LITE 33
3.2.1 Cú pháp của logic mô tả DL-Lite 33
3.2.2.Ngữ nghĩa của logic mô tả DL-Lite 35
3.3 CHUYỂN ĐỔI LOGIC MÔ TẢ DL-LITE THÀNH DATALOG± 36
3.4 CÁC VÍ DỤ MINH HỌA 38
3.5 TIỂU KẾT CHƯƠNG 3 41
KẾT LUẬN 42
TÀI LIỆU THAM KHẢO 43
Trang 5DANH MỤC CÁC HÌNH
Hình 2.1 Đồ thị chuyển đổi của ví dụ 2.8 28 Hình 2.2 Rừng chuyển đổi của ví dụ 2.8 28
Trang 6DANH MỤC CÁC THUẬT NGỮ
Chương trình Datalog± Datalog± program
Chương trình logic xác định Definite logic program
Datalog± được bảo vệ Guarded Datalog±
Toán tử hệ quả trực tiếp The immediate consequence operator
Trang 7DANH MỤC CÁC KÝ HIỆU
B P Cơ sở Herbrand của chương trình P
U P Vũ trụ Herbrand của chương trình P
2B P Tập tất cả các tập con của cơ sở Herbrand B P
MP Mô hình nhỏ nhất của P
TP Toán tử hệ quả trực tiếp trên 2B P
2S Tập các tập con của tập S
supX Cận trên của tập X
infX Cận dưới của tập X
Trang 8DANH MỤC CÁC CHỮ VIẾT TẮT
BGDP Bounded Guard-Depth Property
EGD Equality-Generating Dependencies
SQL Structured Query Language
TGD Tuple Generating Dependencies
Trang 9MỞ ĐẦU
Hiện nay, Web ngữ nghĩa là một mạng lưới các thông tin toàn cầu được liênkết theo một cách thức để máy tính có thể dễ dàng xử lý Web ngữ nghĩa có khảnăng làm việc với dữ liệu, điều này đã mở ra một lớp các ứng dụng mới trên nềnWeb ngữ nghĩa Web ngữ nghĩa là một cách nhìn về cách thức tổ chức dữ liệu: đó là
ý tưởng về việc dữ liệu trên web được định nghĩa và liên kết theo cách mà nó có thểđược sử dụng bởi máy tính, với mục đích không chỉ cho việc hiển thị mà còn tựđộng hóa, tích hợp và sử dụng lại dữ liệu qua các ứng dụng
Bên cạnh các nghiên cứu về Web ngữ nghĩa, các nhà khoa học đã tìm ranhiều sự liên quan với ngôn ngữ Datalog Datalog là một ngôn ngữ mạnh dựa trênquy tắc, lúc đầu được thiết kế để biểu diễn các truy vấn phức tạp trên dữ liệu quan
hệ và hiện nay là cơ sở của các ngôn ngữ đặc tả tối ưu hóa Datalog đã được mởrộng theo nhiều hướng khác nhau nhằm mục đích đáp ứng các yêu cầu của thựctiễn Hiện nay một họ ngôn ngữ Datalog mở rộng giàu khả năng diễn đạt, được gọi
là Datalog±, đây được xem là một mô hình mới để trả lời truy vấn trên các ontologycho Web ngữ nghĩa, đã được nhiều người nghiên cứu trong thời gian gần đây và rấtnhiều công trình có giá trị được công bố Họ Datalog± cho phép các biến với lượng
từ tồn tại trong xuất hiện trong phần đầu của các quy tắc và có những ràng buộcthích hợp nhằm đảm bảo truy vấn Ontology đạt hiệu quả cao
Luận văn được thực hiện nhằm mục đích tìm hiểu việc mở rộng chương trìnhDatalog cho Web ngữ nghĩa Cấu trúc của luận văn bao gồm phần mở đầu, nội dung
ba chương, phần kết luận và tài liệu tham khảo
Chương 1: Tổng quan về chương trình Datalog và Web ngữ nghĩa Chươngnày giới thiệu một số khái niệm cơ sở của chương trình Datalog, hai tiếp cận thườngdùng để xác định ngữ nghĩa của chương trình Datalog là tiếp cận theo lý thuyết môhình và tiếp cận theo lý thuyết điểm bất động Ngoài ra, chương 1 cũng trình bàytổng quan về Web ngữ nghĩa và vai trò của Ontology, logic mô tả trong Web ngữnghĩa
Trang 10Chương 2: Trình bày về cú pháp và ngữ nghĩa của chương trình Datalog± - làmột lớp chương trình Datalog mở rộng, cho phép các biến với lượng từ tồn tại xuấthiện trong phần đầu của các quy tắc.
Chương 3: Trình bày việc chuyển đổi logic mô tả DL-LITE về chương trìnhDatalog±
Phần kết luận nêu những kết quả đã đạt được và hướng phát triển của luậnvăn
Do thời gian có hạn và bản thân chỉ mới bước đầu nghiên cứu về lĩnh vựcnày nên không thể tránh khỏi những thiếu sót, kính mong sự giúp đỡ và góp ý thêmcủa Quý Thầy, Cô và các bạn
Trang 111.1 GIỚI THIỆU VỀ CHƯƠNG TRÌNH DATALOG VÀ WEB NGỮ NGHĨA
1.1.1 Một số khái niệm cơ sở
Định nghĩa 1.1 (Bộ ký tự) Bộ ký tự bao gồm các lớp ký hiệu sau:
Hằng: là các giá trị xác định thường được ký hiệu bởi các chữ cái thường, ví
dụ: a, b, c,…
Biến: chỉ những đại lượng có giá trị thay đổi trong một miền nào đó, thường
được ký hiệu bởi các chữ cái in hoa, ví dụ: X, Y, Z,…
Ký hiệu hàm, thường ký hiệu bởi các chữ cái thường, ví dụ: f, g, h,
Ký hiệu vị từ, thường ký hiệu bởi các chữ cái thường, ví dụ: p, q, r,…
Hằng vị từ: true, false
Ký hiệu kết nối: ¬ (phủ định), (tuyển), (hội), (kéo theo), ↔ (tươngđương)
Các ký hiệu lượng từ: (với mọi), (tồn tại)
Dấu ngoặc đơn trái: (, dấu ngoặc đơn phải: ), dấu phẩy (,)
Mỗi ký hiệu hàm, ký hiệu vị từ có kèm theo một số tự nhiên xác định để chỉ các
đối số tham gia cùng với ký hiệu hàm hoặc ký hiệu vị từ đó, gọi là ngôi của vị từ
Trên cơ sở bộ ký tự đã cho, người ta đưa ra khái niệm về hạng thức Hạng thức
là yếu tố quan trọng của công thức logic, được xây dựng từ các hằng, biến, hàm vàđược định nghĩa hình thức như sau:
Trang 12Định nghĩa 1.2 (Hạng thức) Hạng thức được định nghĩa đệ quy như sau:
(i) Mỗi hằng là một hạng thức,
(ii) Mỗi biến là một hạng thức,
(iii) Nếu f là ký hiệu hàm n-ngôi và t1, …,tn là các hạng thức thì f(t1,…,tn) làmột hạng thức,
(iv) Hạng thức chỉ được sinh ra bởi các quy tắc trên
Hạng thức nền là hạng thức không chứa biến
Định nghĩa 1.3 (Nguyên tố) Nếu p là ký hiệu vị từ n-ngôi và t1,…,t n là các hạng
thức thì p(t1,…,t n ) được gọi là một nguyên tố Nguyên tố nền là nguyên tố không
chứa biến
Ví dụ 1.1 Xét nguyên tố me(Mai,Linh) trong đó vị từ me là vị từ 2-ngôi để chỉ mối
quan hệ mẹ con, hạng thức Mai, Linh là các hằng Nguyên tố này có ý nghĩa là Mai
là mẹ của Linh Nguyên tố này cũng là nguyên tố nền vì nó không chứa biến.
Định nghĩa 1.4 (Literal) Nguyên tố hoặc phủ định của một nguyên tố được gọi là
một literal Một literal dương là một nguyên tố, literal âm là phủ định của một
nguyên tố
Theo định nghĩa 1.3 nếu p là một nguyên tố, lúc đó p là literal dương và p
là literal âm
Ví dụ 1.2 Xét nguyên tố như ví dụ 1.1, trong đó me(Mai,Linh) là literal dương và
me(Mai,Linh) là literal âm.
Định nghĩa 1.5 (Công thức) Công thức được định nghĩa đệ quy như sau:
(i) Nguyên tố là một công thức,
(ii) Hằng vị từ true và false là các công thức,
(iii) Nếu E và F là các công thức thì: (E F), (E), (E ← F), (E F),
(E ↔ F) là các công thức,
(iv) Nếu E là công thức, X là biến thì X(E), X(E) là các công thức,
Trang 13(v) Công thức chỉ được sinh ra bởi một số hữu hạn các quy tắc trên.
Công thức không chứa biến được gọi là công thức nền.
Ví dụ 1.3 Sau đây là các công thức:
X(Y((yeuthuong(X,Y) ← me(X) con_cua(Y,X)))
me(Mai) con_cua(Hoa,Mai)
Nếu trong các công thức X(E) hoặc X(E) chứa biến X và các biến khác không nằm trong phạm vi của ký hiệu lượng từ , thì biến X gọi là biến ràng
buộc, các biến khác gọi là biến tự do
Công thức đóng là công thức không chứa biến tự do.
Ví dụ 1.4 Y(X)(p(X,Y) q(X)) là công thức đóng
Tuy nhiên, X(p(X,Y) q(X)) không phải là công thức đóng vì Y là biến tự do
1.1.2 Giới thiệu về web ngữ nghĩa.
Tim- Berners Lee là người phát triển Web ngữ nghĩa, ông là cha đẻ của
WWW, URIs, HTTP và HTML Theo Ông, “Web ngữ nghĩa là sự mở rộng củaWeb 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íchlọc thông tin một cách dễ dàng và chính xác” Công nghệ web có ngữ nghĩa là côngnghệ cho phép máy tính có thể hiểu được nhiều hơn thông tin trên Web, sao chochúng có thể hỗ trợ tốt hơn việc khám phá thông tin, tích hợp dữ liệu và tự động hóacác công việc
Những tính năng nổi bật của web ngữ nghĩa so với web hiện tại:
- Thông tin trên Web được máy tính hiểu: Các thông tin trên Web được tổchức bao gồm các quan niệm về khái niệm và bổ sung quan hệ dưới dạng mà máytính có thể hiểu được Vì vậy, việc xử lý, tìm kiếm, đánh giá, tích hợp thông tin cóthể được tiến hành một cách tự động
Trang 14- Tối ưu hóa việc tìm kiếm thông tin: Với công nghệ web ngữ nghĩa, máytính có thể xác định một thực thể có thuộc tính và quan hệ dựa trên ngữ cảnh chứa
nó Do đó, thu hẹp không gian tìm kiếm, cho kết quả nhanh chóng và chính xác
- Công nghệ Web có khả năng suy luận thông minh: Dựa vào các luật suydiễn trên cơ sở tri thức về các lớp, các thực thể, các thuộc tính và mối quan hệ màmáy tính có khả năng đưa ra những kết luận mới
- Cách liên kết dữ liệu là cách liên kết động: Thay thế cách liên kết sử dụnghyperlink tĩnh trong Web 2.0, Web ngữ nghĩa liên kết bằng siêu dữ liệu từ nhiềunguồn khác nhau một cách hiệu quả hơn dựa trên định danh của tài nguyên-Uniform Resource Identifier (URI) và mối quan hệ giữa chúng
- Với công nghệ web ngữ nghĩa: Các truy vấn từ người dùng được máy tínhhiểu và xử lí nhanh chóng, chính xác đưa ra kết quả tối ưu nhất
1.2 CHƯƠNG TRÌNH DATALOG
Chương trình Datalog đã được sử dụng như một ngôn ngữ truy vấn và lậptrình cơ sở dữ liệu trong hơn ba thập kỷ qua Mặc dù Datalog hiếm khi được sửdụng trực tiếp như một ngôn ngữ truy vấn trong bối cảnh ứng dụng doanh nghiệp,Datalog đã ảnh hưởng đến sự phát triển của các ngôn ngữ truy vấn phổ biến nhưSQL, cho phép người dùng biểu diễn các truy vấn đệ quy
1.2.1 Cú pháp chương trình Datalog
Định nghĩa 1.6 (Quy tắc Datalog) Một quy tắc Datalog r là một công thức có dạng:
X1X2…X k ( p0 ← q1 .qn) (n≥ 0) (1)
trong đó p0, q i (i = 0, ,n) là các nguyên tố có các đối là hằng hoặc biến, X1, X2,…,
X k là các biến xuất hiện trong các nguyên tố, mỗi biến trong p0 phải có mặt trong
một q i nào đó Ta thường viết quy tắc (1) dưới dạng rút gọn:
p0 ← q1 .qn
Trang 15Nguyên tố p0 được gọi là đầu của quy tắc, ký hiệu head(r), tập các nguyên tố {q1, , q n } được gọi là thân của quy tắc, ký hiệu body(r)
Ngữ nghĩa của quy tắc (1) là “đối với mỗi phép gán của mỗi biến bởi các hằng
làm cho thân quy tắc đúng thì đầu quy tắc đúng”.
Khi n = 0, (1) trở thành p0 ← được gọi là mệnh đề đơn vị Ngữ nghĩa của
p0 ← là “đối với mỗi phép gán của mỗi biến trong p 0 bởi các hằng thì p 0 luôn đúng”.
Nếu các đối của mệnh đề đơn vị là các hằng thì nó được gọi là một sự kiện
Định nghĩa 1.7 (Chương trình Datalog) Chương trình Datalog là một tập hữu hạn
các quy tắc Datalog
Tập các hằng xuất hiện trong P, ký hiệu dom(P)
Trong chương trình Datalog, các vị từ chỉ xuất hiện trong thân các quy tắc
được gọi là vị từ EDB, các vị từ xuất hiện ở đầu quy tắc được gọi là vị từ IDB, các
vị từ IDB cũng có thể xuất hiện trong thân quy tắc
Mỗi vị từ q k-ngôi được đặt tương ứng một quan hệ Q có k thuộc tính Giá trị của quan hệ Q là một tập các bộ, một bộ của quan hệ Q có k thuộc tính được biểu thị bởi (a 1 , ,a k ), trong đó các a i là hằng và q(a 1 , ,a k ) là đúng nếu (a 1 , ,a k ) thuộc Q
Cơ sở dữ liệu EDB của P, ký hiệu EDB(P) bao gồm các vị từ EDB của P mà giá trị của chúng được cho bởi một CSDL vào CSDL IDB của P, ký hiệu IDB(P), bao gồm các vị từ IDB của P mà giá trị của chúng được tính bởi chương trình P
Lược đồ của P, ký hiệu SCH(P) là tập các vị từ EDB(P) IDB(P).
Ví dụ 1.5 Cho chương trình Datalog P gồm các quy tắc sau đây:
Trang 16r5: totien(X,Z) ← totien(X,Y) cha_me(Y,Z)
r6: anhemho(X,Y) ← totien(Z,X) totien(Z,Y)
Trong chương trình này, quy tắc r1, r2 định nghĩa vị từ cha_me để chỉ mối quan hệ cha/mẹ, quy tắc r3 định nghĩa vị từ ong để chỉ mối quan hệ ông, quy tắc r4,
r5 định nghĩa vị từ totien để chỉ mối quan hệ tổ tiên, quy tắc r6 định nghĩa vị từ
anhemho để chỉ mối quan hệ anh em họ Các vị từ cha, me là vị từ EDB và cha_me, ong, totien, anhemho là các vị từ IDB
Như vậy :
EDB(P) = {cha, me},
IDB(P) = {cha_me, ong, totien, anhemho}.
Quy tắc r1 có nghĩa: với mọi X và Y, nếu X là cha của Y thì X là cha/mẹ của Y
Quy tắc r2 có nghĩa: với mọi X và Y, nếu X là mẹ của Y thì X là cha/mẹ của Y Quy tắc r3 có nghĩa: với mọi X, Y, Z, nếu X là cha của Y và Y là cha/mẹ của Z thì X là ông của Z.
Trang 17Quy tắc r4 có nghĩa: với mọi X và Y, X là tổ tiên của Y nếu X là cha/mẹ của Y Quy tắc r5 có nghĩa: với mọi X, Y, Z, X là tổ tiên của Z nếu X là tổ tiên của Y và
Y là cha/mẹ của Z
Quy tắc r6 có nghĩa: với mọi X, Y, Z, X là anh em họ của Y nếu X và Y có cùng
tổ tiên là Z
Định nghĩa 1.8 Cho P là một chương trình Datalog Lúc đó:
1 Vũ trụ Herbrand của P, ký hiệu U P là tập tất cả các hằng của P
2 Cơ sở Herbrand của P, ký hiệu B P là tập tất cả các nguyên tố nền của P Mỗi phần tử thuộc B P được gọi là một sự kiện
3 Thể hiện Herbrand của Plà một tập con I bất kỳ của cơ sở Herbrand B P
- Nếu A I ta nói rằng A đúng trong I và ký hiệu I ⊨ A.
- Nếu A B P nhưng A I, ta nói rằng A sai trong I và ký hiệu I ⊭ A
Đối với chương trình Datalog thì U P , B P đều là những tập hữu hạn
Ví dụ 1.7 Xét chương trình Datalog P gồm các quy tắc như sau:
Vũ trụ Herbrand của P là: U P = {a, b, c}
Cơ sở Herbrand của P là:
B P = {p(a, a), p(b, b), p(c, c), p(a, b), p(b, c), p(a, c), p(b, a), p(c, b), p(c, a), q(a, a),
q(b, b), q(c, c), q(a, b), q(b, c), q(a, c), q(b, a), q(c, b), q(c, a)}.
Ví dụ 1.8 Xét chương trình Datalog P gồm các quy tắc như sau:
Trang 18r1: duongdi(X, Y) ← cung(X, Y)
r2: duongdi(X, Z) ← cung(X, Y) duongdi(Y, Z)
Giả sử quan hệ của vị từ EDB cung chỉ gồm 2 bộ là (1,2) và (2,3)
Lúc đó:
Vũ trụ Herbrand của P là: U P = {1, 2, 3}
Cơ sở Herbrand của P là:
B P = {cung(1,1),cung(2,2), cung(3, 3), cung(1, 2), cung(2, 3), cung(1, 3), cung(2, 1),
cung(3, 2), cung(3, 1), duongdi(1, 1), duongdi(2, 2), duongdi(3, 3), duongdi(1, 2), duongdi(2, 3), duongdi(1, 3), duongdi(2, 1), duongdi(3, 2), duongdi(3, 1)}.
1.2.2 Ngữ nghĩa của chương trình Datalog
Hai cách tiếp cận thường được sử dụng để xác định ngữ nghĩa chương trìnhDatalog là tiếp cận lý thuyết mô hình và tiếp cận lý thuyết điểm bất động
1.2.2.1 Tiếp cận lý thuyết mô hình
Theo quan điểm lý thuyết mô hình, các quy tắc trong chương trình được xem
là công cụ để xác định mô hình Một thể hiện của một tập các vị từ sẽ gán giá trịchân lý cho mỗi tình huống có thể có của các vị từ Để là mô hình của một tập cácquy tắc, một thể hiện phải làm cho các quy tắc đúng với mọi phép gán trị cho cácbiến trong mỗi quy tắc được lấy từ miền giá trị đã cho Với tiếp cận này, ngữ nghĩa
của chương trình Datalog P là mô hình nhỏ nhất của P Ta có định nghĩa sau:
Định nghĩa 1.9 (Mô hình) Cho P là chương trình Datalog Lúc đó:
(i) Một thể hiện Herbrand I của P được gọi là mô hình Herbrand (hoặc đơn giản chỉ gọi là mô hình) của P, ký hiệu I ⊨P, nếu với mọi quy tắc:
p ← q1 q2 q n
trong P đều đúng trong thể hiện I.
Trang 19(ii) Mô hình Herbrand I của P được gọi là mô hình Herbrand nhỏ nhất nếu với mọi mô hình J của P ta luôn có I ⊆ J.
Ví dụ 1.9 Xét chương trình Datalog gồm các quy tắc như sau:
r1: p(X) ← q(X, Y),
r2: q(X, Y) ← r(X) s(X,Y).
trong đó p, q là các vị từ IDB, r và s là các vị từ EDB Giả sử CSDL EDB là {r(1),
s(1,2)}
Xét thể hiện M1 = {r(1), s(1,2), q(1,2), p(1)} Khi thay X = 1, Y = 2 vào quy tắc r1
và r2 đều làm cho r1 và r2 đều đúng nên M1 là một mô hình
Cũng vậy, với thể hiện M2 = {r(1), s(1,2), q(1,2), p(1), p(2)} thì M2 cũng là mô
hình Tuy nhiên, với thể hiện M3 = {r(1), s(1,2), q(1,2)} thì M3 không phải là một
môhình Vì khi thay X=1, Y=2 vào r1 ta được một giả thiết đúng và một kết luận sai
Ví dụ 1.10 Cho chương trình Datalog P như sau:
là mô hình Herbrand của P.
Định nghĩa 1.10 (Ngữ nghĩa của chương trình Datalog) Ngữ nghĩa của chương
trình Datalog P được xác định bởi mô hình Herbrand nhỏ nhất của P, ký hiệu P(D).
Ví dụ 1.11 Xét chương trình Datalog P graph gồm các quy tắc:
r1: diden(X) ← dinh(X),
Trang 20r2: diden(Y) ←canh(X,Y) tiepcan(X).
Ta có EDB(Pgraph) = {canh, dinh} và IDB(P graph ) = {diden}.
Giả sử CSDL EDB D = {canh(v1,v3), canh(v2,v3), canh(v3,v4), canh(v4,v5),
canh(v5,v3), canh(v1)} đối với lược đồ EDB(Pgraph)
Các quy tắc trên định nghĩa vị từ diden và nguyên tố diden(X) có ý nghĩa là từ đỉnh X có thể đi đến một đỉnh khác trong một đồ thị có hướng cho trước Chương trình Datalog P graph cho phép tìm được các đỉnh trong một đồ thị có hướng (tập
diden của các đỉnh) mà có thể đi đến chúng từ các đỉnh và các cạnh có hướng
(canh) đã cho trước.
Dễ kiểm tra P graph có mô hình nhỏ nhất là
Định nghĩa 1.11 Một quan hệ R trên tập S là một quan hệ thứ tự nếu thỏa mãn 3
tính chất sau:
(i) Phản xạ: Với mọi xS, xRx.
(ii) Đối xứng: Với mọi x, yS, xRy và yRx suy ra x = y.
(iii) Bắc cầu: Với mọi x, y, zS, xRy và yRz suy ra xRz.
Nếu trên tập hợp S đã xác định một quan hệ thứ tự thì ta nói tập S được sắp thứ
tự, ta thường ký hiệu một quan hệ thứ tự là
Trang 21Ví dụ 1.12 Cho S là một tập hợp, ký hiệu 2 S là tập các tập con của S Lúc đó quan
hệ trên 2S là một quan hệ thứ tự
Định nghĩa 1.12 Cho S là một tập hợp và là quan hệ thứ tự trên S Phần tử aS là
một chặn trên của tập con X của S nếu x a, với mọi xX Tương tự phần tử bS
là một chặn dưới của tập con X của S nếu b x, với mọi xX.
Định nghĩa 1.13 Cho S là một tập hợp và là quan hệ thứ tự trên S Lúc đó phần
tử a S là một cận trên của tập con X của S (ký hiệu là supX) nếu a là một chặn trên của X và với mọi chặn trên a’ của X thì a a’ Tương tự b S là một cận
dưới của tập con X của S (ký hiệu là infX) nếu b là một chặn dưới của X và với mọi
chặn dưới b’ của X thì b’b.
Chú ý: Cận trên của X nếu tồn tại thì duy nhất, tương tự, cận dưới của X nếu tồn tại
thì duy nhất
Định nghĩa 1.14 Một tập được sắp thứ tự L là một dàn đầy đủ nếu supX và infX tồn
tại với mọi tập con X của L
Ví dụ 1.13 Tập 2S cùng với quan hệ là một dàn đầy đủ Thật vậy, gọi X là tập con
Định nghĩa 1.15 Cho L là một dàn đầy đủ và T: LL là một ánh xạ Ta nói T đơn
điệu nếu a, bL, a b suy ra T(a) T(b)
Định nghĩa 1.16 Cho L là một dàn đầy đủ và T: LL là một ánh xạ
(i) Phần tử a L được gọi là điểm bất động của ánh xạ T nếu T(a) = a.
(ii) Phần tử a L được gọi là điểm bất động nhỏ nhất của T nếu a là điểm bất động của T và với mọi điểm bất động b của T thì a b Ký hiệu a = lfp(T).
(iii) Điểm bất động a của T được gọi là điểm bất động cực tiểu của T nếu không tồn tại điểm bất động b nào khác của T mà b a.
Trang 22Định lý 1.2 Cho L là một dàn đầy đủ và T: LL là một ánh xạ đơn điệu Lúc đó T
có điểm bất động nhỏ nhất lfp(T) Hơn nữa:
lfp(T) = inf{x L | T(x) x}
Trong phần sau đây, ta sẽ xây dựng mô hình Herbrand nhỏ nhất MP bằng cách
dùng khái niệm điểm bất động Cho P là chương trình Datalog, BP là cơ sở
được định nghĩa như sau:
Với mỗi I 2B P , Tp(I) = {A BP | AA1 A2 An là hiện hành nền của P và {A1,…,An} I}
TP được gọi là toán tử hệ quả trực tiếp của chương trình Datalog P.
Định lý sau đây cung cấp một đặc trưng điểm bất động của mô hình Herbrandnhỏ nhất của chương trình logic xác định
Định lý 1.3 [2] Cho P là chương trình Datalog Lúc đó toán tử Tp đơn điệu và điểm
bất động nhỏ nhất của Tp là mô hình Herbrand nhỏ nhất MP của P.
Mệnh đề 1.1 Cho P là chương trình Datalog Mô hình Herbrand nhỏ nhất của P là
giới hạn của dãy T Pn, nN, trong đó T P0 = EDB(P), TP(i+1) = TP (T Pi).
Từ mệnh đề này ta có thuật toán:
Thuật toán 1.1: Tính mô hình Herbrand nhỏ nhất của chương trình Datalog P Vào: Chương trình Datalog P và DB là cơ sở dữ liệu EDB đã cho của P.
Ra: Mô hình Herbrand nhỏ nhất của P.
Phương pháp: Thuật toán được viết theo ngôn ngữ tựa Pascal như sau:
I := ;
J :=T P (DB);
Trang 23r2 : duongdi(X, Z) ← cung(X, Y) duongdi(Y, Z)
Giả sử CSDL EDB(P) được cho bởi:
EDB(P) = {cung(1, 2), cung(2, 3), cung(3, 4), cung(4, 5)}
Các bước lặp để tính mô hình nhỏ nhất của P:
I0 = EDB(P) = {cung(1, 2), cung(2, 3), cung(3, 4), cung(4, 5)},
I1 = T P (I1) = I1 {duongdi(1, 2), duongdi(2, 3), duongdi(3, 4), duongdi(4, 5)},
I2 = T P (I2) = I2 {duongdi(1, 3), duongdi(2, 4), duongdi(3, 5)},
1.3 ONTOLOGY VÀ LOGIC MÔ TẢ TRONG WEB NGỮ NGHĨA
1.3.1 Ontology trong Web ngữ nghĩa.
Trong những năm gần đây, Ontology đã trở thành một thuật ngữ được biếtđến nhiều trong lĩnh vực khoa học máy tính và được xem như linh hồn của web ngữ
Trang 24nghĩa Nó giúp con người và máy tính có thể hợp tác, cùng nhau làm việc, giúp máy
có thể hiểu và xử lý thông tin hiệu quả
Ontology đã được tích hợp với quá trình suy diễn logic và hiện nay đã bắtđầu được áp dụng vào Web có ngữ nghĩa Có 3 thuộc tính mà ontology phải có là:
- Phân cấp khái niệm con chặt: mỗi thể hiện của một lớp phải là một thể hiện
của lớp cha của nó
- Không bị sự nhập nhằng trong biểu diễn các ngữ nghĩa và các quan hệ:
người sử dụng có thể định nghĩa các thuộc tính, các giá trị của thuộc tính có thể bịhạn chế đối với các miền xác định
- Sử dụng từ vựng điều khiển, giới hạn nhưng có thể mở rộng.
Ngôn ngữ Ontology:
Ngôn ngữ phổ dụng (RDF) cho phép người sử dụng mô tả các tài nguyênbằng cách sử dụng các tài nguyên riêng của nó RDFS cung cấp phương pháp xâydựng một mô hình đối tượng từ dữ liệu thực tế và cho chúng ta ngữ nghĩa của dữliệu Ngắn gọn, RDFS cho phép người sử dụng định nghĩa tài nguyên với các lớp,các thuộc tính và các giá trị (tương tự khái niệm lớp)
Ngôn ngữ Web Ontology (OWL) mô tả các lớp, các thuộc tính và các quan
hệ giữa các đối tượng khái niệm này theo cách mà máy có thể hiểu được nội dungWeb OWL là sự kế thừa của RDFS nhưng giàu ngữ nghĩa hơn OWL được phânthành ba chủng khác nhau:
- OWL Lite cung cấp các lớp và các thuộc tính có phân cấp, các ràng buộc
đơn giản với đủ khả năng biểu đạt và các ontology đơn giản
- OWL DL tăng khả năng biểu đạt và tính quyết định của vấn đề phân lớp,
cho phép hỗ trợ suy diễn hiệu quả
- OWL Full là ngôn ngữ đầy đủ, không có giới hạn, nhưng nó không đưa ra
khả năng quyết định
Trang 251.3.2 Logic mô tả trong web ngữ nghĩa.
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 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
Logic mô tả được ứng dụng đặc biệt hiệu quả trong các hệ thống thông minh,
và gần đây với ý tưởng xây dựng hệ thống Web thế hệ mới: Web Ngữ nghĩa, vớimục đích tăng khả năng liên kết giữa các tài nguyên và khả năng hiểu được thôngtin của máy Logic mô tả đóng vai trò nền tảng logic để bổ sung ngữ nghĩa, hỗ trợsuy diễn
Ngôn ngữ mô tả: Ngôn ngữ mô tả đầu tiên được gọi là ngôn ngữ thuộc tính
AL (attributive language), là ngôn ngữ mô tả có các luật cú pháp đơn giản nhất Cácngôn ngữ khác của họ ngôn ngữ này là sự mở rộng của ngôn ngữ AL
Thuật ngữ trong logic mô tả: ta xét các tiên đề thuật ngữ mà thiết lập các câu
lệnh về việc làm thế nào các khái niệm, các quan hệ có liên hệ với các khái niệm,quan hệ khác
Trong trường hợp tổng quát nhất, các tiên đề thuật ngữ có dạng:
C ⊐ D (R ⊐ S) hay C ≡ D (R ≡ S)
Với C, D là các khái niệm, R và S là các quan hệ Các tiên đề dạng đầu tiênđược gọi là các tiên đề bao hàm, các tiên đề thứ hai gọi là các đẳng thức
1.4 TIỂU KẾT CHƯƠNG 1
Chương 1 đã trình bày các khái niệm cơ sở của ngôn ngữ bậc nhất, cú pháp
và ngữ nghĩa của chương trình Datalog theo tiếp cận lý thuyết mô hình và tiếp cậnđiểm bất động Để ý rằng tất cả các biến xuất hiện trong các quy tắc của chươngtrình Datalog đều mặc định xuất hiện sau lượng từ với mọi Chương 1 cũng trìnhbày tổng quan về Web ngữ nghĩa, vai trò của Ontology và logic mô tả trong Webngữ nghĩa Ở chương 2 sẽ tìm hiểu việc mở rộng chương trình Datalog khi cho phépcác biến được lượng hóa bởi lượng từ tồn tại xuất hiện trong phần đầu các quy tắc