Tiểu kết chương 2

Một phần của tài liệu Tìm hiểu về chương trình Datalog∃ và logic mô tả DL-Lite (Trang 35)

Chương 2 đã trình bày chi tiết về cú pháp và ngữ nghĩa của chương trình Datalog cùng với các ví dụ minh họa cụ thể. Cách tiếp cận để xác định ngữ nghĩa của chương trình Datalog là sự mở rộng cách tiếp cận để xác định ngữ nghĩa của chương trình Datalog thông thường. Chương 2 cũng trình bày một lớp chương trình hạn chế của chương trình Datalog gọi là chương trình Datalog được bảo vệ. Đối với lớp chương trình này, việc trả lời câu truy vấn được thực hiện trong thời gian đa thức. Trong chương 3 sẽ tiếp tục trình bày mối liên hệ giữa chương trình Datalogvà logic mô tả, cụ thể là logic mô tả DL-Lite.

Chương 3

QUAN HỆ GIỮA CHƯƠNG TRÌNH DATALOGVÀ LOGIC MÔ TẢ DL-LITE

Logic mô tả mô hình hóa một miền quan tâm theo các khái niệm và vai trò, nó biểu diễn các lớp cá thể và các quan hệ hai ngôi trên các lớp cá thể. Một cơ sở tri thức logic mô tả mã hóa các quan hệ tập con giữa các khái niệm, các quan hệ tập con giữa các vai trò, thành viên của các cá thể đối với khái niệm, thành viên của các cặp cá thể đối với vai trò và các phụ thuộc hàm trên các vai trò. Chương 3 sẽ trình bày chi tiết về cú pháp và ngữ nghĩa logic mô tả DL-Lite và mối quan hệ đối với lớp chương trình Datalog [5] đã xem xét ở chương 2.

Trước khi trình bày về logic mô tả DL-Lite, ta hãy xem mối quan hệ giữa chương trình Datalog và logic mô tả.

3.1. Tổng quan về quan hệ giữa chương trình Datalog và logic mô tả

Chương trình Datalog được thiết kế để suy luận trên các cơ sở dữ liệu hữu hạn, trong đó ta chỉ quan tâm đến những giá trị hiện có trong CSDL EDB. Trong phần này sẽ trình bày tổng quan về mối quan hệ giữa chương trình Datalog và logic mô tả. Trước hết ta xem ví dụ sau:

Ví dụ 3.1 Xem chương trình Datalog để định nghĩa quan hệ tổ tiên (ancestor):

ancestor(X,Y) ← parent(X,Y)

ancestor(X,Z) ← parent(X,Y), ancestor(Y,Z)

Xét ở một khía cạnh khác, các ngôn ngữ ontology cũng đã được thiết kế cho web ngữ nghĩa để có thể biểu diễn thông tin ontology như ở trên. Các ngôn ngữ ontology khác nhau của web ngữ nghĩa dựa trên họ các logic mô tả (DLs) [4], [5].

DLs mô hình hóa miền mà ta quan tâm theo các khái niệm và vai trò, trong đó khái niệm được hiểu là tập các cá thể (nghĩa là các hằng) và vai trò là quan hệ

hai ngôi trên chúng. Một cơ sở tri thức DL  = (,) bao gồm một TBox  và một ABox . TBox  bao gồm các tiên đề, trong đó các tiên đề phổ biến là các phát biểu bao hàm (α ⊑ β) giữa các cặp khái niệm hoặc vai trò. ABox  là tập hợp sự kiện về sự tham gia của cá thể trong các khái niệm và vai trò. Nói theo ngôn ngữ cơ sở dữ liệu, ABox có thể được xem là một cơ sở dữ liệu quan hệ (có thể không đầy đủ) chỉ có các quan hệ một ngôi và hai ngôi, trong khi TBox là một tập hợp các ràng buộc toàn vẹn có ý nghĩa trên dữ liệu.

Ví dụ, xét DL có tên , DL này có hầu hết các đặc trưng của ngôn ngữ OWL. Các khái niệm của  được xây dựng bằng cách áp dụng các tạo tử khái niệm trên các vai trò và các khái niệm khác. Ta sử dụng chữ cái A, B, C để biểu diễn các tên khái niệm và R, S để biểu diễn tên các vai trò. Một Abox

 gồm các công thức nguyên tố nền có dạng R(a,b) và A(a), trong đó R là vai trò và A là khái niệm. Một TBox  bao gồm các tiên đề có một trong các dạng sau đây:

(1) ABC là bao hàm khái niệm. Khái niệm phức AB để chỉ giao của A và B, tiên đề này nói rằng mỗi đối tượng thuộc cả A và B thì cũng thuộc C. Tiên đề này được chuyển thành công thức của logic bậc nhất (FOL) là X pA(X)

pB(X) → pC(X), trong đó các vị từ pA, pB và pC biểu diễn các vị từ FOL tương ứng với tên khái niệm (t.ư. vai trò). Chẳng hạn, tiên đề ParentMaleFather

biểu diễn tri thức về một người là bố/mẹ (parent) và có giới tính nam (male) thì là người bố (father).

(2) A B C là một dạng khác của bao hàm khái niệm, tiên đề này nói rằng mỗi đối tượng là A thì cũng là B hoặc C. Tiên đề có thể viết dưới dạng công thức FOL là X pA(X) → pB(X) pC(X). Chẳng hạn, tiên đề Person Female

Male có nghĩa là một người (person) phải là nam (male) hoặc nữ (female). (3) A ⊑R.Blà một bao hàm sử dụng khái niệm phức hợp R.B ở vế phải, biểu diễn tập tất cả các đối tượng thỏa mãn điều kiện tất cả các "láng giềng" R là

B và nhận được bởi XY pR(X,Y) → pB(Y). Tiên đề chuyển thành công thức logic bậc nhất XY pA(X)  pR(X,Y) →pB(Y). Chẳng hạn, tiên đề MetalDevice

⊑ hasPart.Metal nói rằng tất cả các bộ phận của một thiết bị kim loại được làm bằng kim loại.

(4) A ⊑ R.B là một bao hàm sử dụng thêm một loại khái niệm phức hợp

R.B ở bên phải. R.B biểu thị tập các đối tượng có một "láng giềng" R là B, và nhận được bởi XY pR(X,Y)  pB(Y). Tiên đề này chuyển thành công thức FOL

X pA(X) → YpR(X,Y)  pB(Y). Chẳng hạn, Student ⊑ attends.Course để biểu diễn cho yêu cầu là mỗi sinh viên phải tham gia ít nhất một khóa học.

(5) A ⊑ ≤ 1R.B hạn chế số lượng "láng giềng" R mà B có thể có. Tiên đề nói rằng mỗi đối tượng là A, thông qua quan hệ R có thể liên quan đến nhiều nhất một đối tượng là B. Tiên đề này chuyển thành công thức FOL XY1Y2

pA(X)  pR(X,Y1)  pB(Y1)  pR(X,Y2)  pB(Y2) → Y1 = Y2. Chẳng hạn, Person ⊑ ≤ 1 hadldSocialSecNum, có nghĩa là một người có nhiều nhất một số an sinh xã hội.

(6) Tiên đề A disjB biểu diễn sự rời nhau giữa các khái niệm A và B, chẳng hạn, Student disj Professor chỉ rằng Students và Professors là các tập rời nhau. Tiên đề này chuyển thành công thức FOL X pA(X)  pB(X) → ⊥.

(7) R S biểu diễn bao hàm của R trong S, chẳng hạn brotherOf

relativeOf nghĩa là anh trai là người thân. Tiên đề này chuyển thành công thức

XY pR(X,Y) i P

T pS(X,Y) của logic bậc nhất.

(8) Tiên đề Rinv S cho phép định nghĩa vai trò nghịch đảo và được chuyển sang logic bậc nhất là XY pR(X,Y) ↔ pS(Y,X). Chẳng hạn, a là con (child) của

b khi và chỉ khi b là bố/mẹ (parent) của a. Điều này được biểu diễn là parentOf

(9) Cuối cùng, tiên đề trans(R) biểu diễn tính bắc cầu của vai trò R và được chuyển thành công thức X Y Z pR(X,Y)  pR(Y,Z) → pR(X,Z).

Ví dụ 3.2 Xét các quy tắc Datalog để biểu diễn nam hay nữ cũng đều là người:

person(X) ← female(X)

person(X) ← male(X)

và các quy tắc Datalog định nghĩa quan hệ tổ tiên (ancestor) ở ví dụ 3.1, ta có thể biểu diễn theo cùng ngữ nghĩa bởi cú pháp của logic mô tả như sau:

Female Person (1)

Male Person (2)

parentOf ancestorOf (3)

trans(ancestorOf) (4)

trong đó (1), (2) là các bao hàm khái niệm, (3) là một bao hàm vai trò và (4) có nghĩa là vai trò ancestorOf có tính bắc cầu.

Datalog và DLs có nhiều điểm tương đồng nhưng cũng có nhiều điểm khác biệt cần dung hòa để tích hợp chúng vào các ứng dụng web ngữ nghĩa [4], [5]. Sự khác biệt bao gồm phép tuyển và lượng từ tồn tại trong các ontology DL, cũng như các giả thuyết khác nhau làm cơ sở cho ngữ nghĩa của các ngôn ngữ (chẳng hạn, giả thuyết thế giới mở và đóng). Bảng 1 biểu diễn sự chuyển đổi một số biểu thức trong logic mô tả thành các quy tắc Datalog. Một số biểu thức không thể biểu diễn được trong Datalog được ký hiệu là N/A.

Bảng 3.1. Chuyển đổi một số biểu thức trong logic mô tả sang Datalog A B C A B C A ⊑R.B A ⊑R.B A ⊑ ≤1 R.B R S A disj B R inv S trans(R) R(a,b) A(b) ⇝ pC(X) ← pA(X), pB(X) ⇝ N/A pB(Y) ← pA(X), pR(X,Y) ⇝ N/A N/A pS(X,Y)← pR(X,Y) ⇝ N/A pS(X,Y) ↔ pRY,X) ⇝ pS(X,Z) ← pR(X,Y), pR(Y,Z) ⇝ pS(a,b) ← ⇝ pA(b) ←

(1) Tiên đề A B C biểu diễn thông tin tuyển và do đó không thể biểu diễn trực tiếp trong Datalog thông thường. Tuy nhiên, chúng ta có thể sử dụng Datalog dạng tuyển để hỗ trợ các quy tắc có dạng pB(X)  pC(X) ← pA(X).

(2) Chú ý rằng việc chuyển ràng buộc hàm A ⊑ ≤ 1R.B thành logic bậc nhất có liên quan đến vị từ bằng. Do sự khác biệt nhỏ giữa ngữ nghĩa của các DL và Datalog, dấu bằng sẽ khác nhau trong hai ngôn ngữ. Chẳng hạn, trái ngược với Datalog, DLs không sử dụng giả thiết tên duy nhất (UNA). Các hằng khác nhau được xem như các đối tượng thuộc miền khác nhau do ngữ nghĩa của Datalog, nhưng một cặp hằng có thể biểu diễn cùng một đối tượng theo ngữ nghĩa chuẩn của logic bậc nhất.

(3) Ràng buộc về tính rời nhau A disj B có thể gây ra sự không nhất quán của một ontology. Chẳng hạn, ontology K = (A,), trong đó A = {Blue(ball), Red(ball)} và  = {Red disj Blue} là không nhất quán, tức là lý thuyết bậc nhất của K không thể thỏa mãn. Tuy nhiên, Datalog không có các chương trình không

nhất quán và do đó phép chuyển đổi giữ nguyên tính thỏa mãn đối với các ràng buộc rời nhau nói chung là không thể.

(4) Tiên đề A ⊑ R.B, việc chuyển nó sang logic bậc nhất liên quan đến lượng từ tồn tại thể hiện rõ nhất sự khác biệt giữa Datalog và DLs. Datalog được thiết kế và suy luận trên cơ sở dữ liệu hữu hạn, trong đó chúng ta giả sử chỉ có những đối tượng được đề cập đến một cách rõ ràng trong cơ sở dữ liệu mới tồn tại. Ngược lại, các ontology dựa trên logic mô tả DL hỗ trợ lượng từ tồn tại và do đó có thể tham chiếu đến các đối tượng không được đặt tên tường minh trong ontology.

Những bàn luận ở trên cho thấy lượng từ tồn tại, ràng buộc rời nhau và ràng buộc hàm đóng vai trò quan trọng trong biểu diễn tri thức. Chúng rất cần thiết trong việc biểu diễn các cấu trúc đơn giản của các ngôn ngữ ontology phổ biến và có rất nhiều DLs quan trọng trong đó các ontology có thể có các mô hình vô hạn và chỉ những mô hình vô hạn không thể biểu diễn được bằng các mô hình của chương trình Datalog.

3.2. Cú pháp của logic mô tả DL-Lite

Trước hết ta định nghĩa cú pháp của logic mô tả DL-Lite [5]. Ký hiệu A, RA

và I lần lượt là các tập không giao nhau đôi một của các khái niệm nguyên tố, các vai trò trừu tượng và các cá thể. Những thành phần cơ bản này được sử dụng để xây dựng các vai trò và khái niệm, ta có các định nghĩa sau:

Định nghĩa 3.1 (Vai trò cơ sở, vai trò tổng quát)

 Một vai trò cơ sởQ là một vai trò nguyên tố PRA hoặc vai trò nghịch đảo P .

 Một vai trò tổng quát R là một vai trò cơ sở Q hoặc phủ định của vai trò cơ sở  Q.

Định nghĩa 3.2 (Khái niệm cơ sở, khái niệm tổng quát)

 Một khái niệm cơ sở B là một khái niệm nguyên tố AA hoặc một hạn chế tồn tại trên vai trò cơ sở Q, ký hiệu Q.

 Một khái niệm tổng quát C là một khái niệm cơ sở B hoặc phủ định của khái niệm cơ sở  B.

Từ các vai trò và khái niệm hình thành nên các tiên đề, ta có định nghĩa:

Định nghĩa 3.3 (Tiên đề) Một tiên đề hoặc là:

(1) Tiên đề bao hàm khái niệm có dạng BC trong đó B là khái niệm cơ sở và C là một khái niệm, hoặc

(2) Tiên đề hàm (funct Q), trong đó Q là vai trò cơ sở, hoặc

(3) Tiên đề thành viênkhái niệm A(a), trong đó AA và AI, hoặc (4) Tiên đề thành viênvai trò P(a,c), trong đó P RA và a, cI.

(5) Tiên đề bao hàm vai tròQ R, trong đó Q là một vai trò cơ sở và R là một vai trò.

Định nghĩa 3.4 (Tbox, ABox)

 Một TBox là một tập hữu hạn các tiên đề bao hàm khái niệm và các tiên đề hàm.

 Một ABox là một tập hữu hạn các tiên đề thành viên khái niệm và tiên đề thành viên vai trò.

Định nghĩa 3.5 (Cơ sở tri thức) Một cơ sở tri thứcKB, bao gồm một TBox T và một ABox A, ký hiệu KB = (T,A).

Ví dụ 3.3 Xét các tập khái niệm nguyên tố, các vai trò trừu tượng và các cá thể lần lượt được ký hiệu là A, RA và I được cho như sau:

A = {Scientist, Article, ConferencePaper, JournalPaper},

RA = {hasAuthor, hasFirstAuthor, isAuthorOf},

Xét các tiên đề khái niệm bao hàm sau đây:

(i) ConferencePaper Article, JournalPaperArticle

(ii) ConferencePaper ⊑ JournalPaper, Scientist⊑∃isAuthorOf

(iii) isAuthorOf Scientist,isAuthorOf−⊑ Article

Tiên đề (i) có ý nghĩa: bài báo tại Hội thảo và bài báo đăng ở tạp chí đều là bài báo.

Tiên đề (ii) có ý nghĩa: bài báo tại Hội thảo không phải là bài báo đăng ở tạp chí và nhà khoa học có một bài báo được công bố.

Tiên đề (iii) có nghĩa: tác giả của bài báo là nhà khoa học và bài báo của một tác giả là bài báo.

Một số tiên đề bao hàm vai trò và tiên đề hàm như sau: (iv) isAuthorOf−⊑ hasAuthor,hasAuthor isAuthorOf, (v) (funct hasFirstAuthor)

Tiên đề (iv) nói rằng isAuthorOf là nghịch đảo của hasAuthor và (v)

hasFirstAuthor là có tính chất hàm.

Sau đây là một số khái niệm và vai trò thành viên, biểu diễn cá thể i1 là một nhà khoa học và là tác giả của bài báo i2:

Scientist(i1), isAuthorOf(i1,i2), Article(i2).

3.3. Ngữ nghĩa của logic mô tả DL-Lite

Ngữ nghĩa của logic mô tả DL-Lite được định nghĩa qua khái niệm thể hiện:

Định nghĩa 3.6 (Thể hiện) Một thể hiện là một cặp  = (,.), trong đó  là một tập khác rỗng các cá thể được gọi là miền của thể hiện, .là ánh xạ gán mỗi khái niệm nguyên tố CA với một tập con của , mỗi vai trò trừu tượng RRA với một tập con của x, mỗi cá thể aI với một phần tử của . Các cá thể khác nhau được gán với những phần tử khác nhau của .

Ánh xạ . được mở rộng cho tất cả các khái niệm và vai trò:

 (P )= {(a,b) | (b,a) P}

 (Q) = x Q

 (∃Q) = {x  Δ|y : (x,y) QI}

 (B) = \ B

Định nghĩa 3.7 (Tính thỏa mãn) Tính thỏa mãn của một tiên đề F trong thể hiện

 = (,.), ký hiệu ⊨F , được định nghĩa như sau: (1)⊨ B C khi và chỉ khi B ⊆C;

(2) ⊨ (funct Q) khi và chỉ khi (o,o) Q và (o,o) Q kéo theo o= o; (3) ⊨ A(a) khi và chỉ khi a  A;

(4) ⊨ P(a,b) khi và chỉ khi (a,b) P; và (5) ⊨ Q ⊑ R khi và chỉ khi Q⊆R.

Định nghĩa 3.8 (Mô hình của tiên đề) Thể hiện  là một mô hình của tiên đề F

khi và chỉ khi ⊨F.

Định nghĩa 3.9 (Mô hình của cơ sở tri thức) Thể hiện  là mô hình của cơ sở tri thức KB = (,), ký hiệu  ⊨ KB khi và chỉ khi  ⊨ F với mọi F   . KB

được gọi là thỏa mãn nếu KB có ít nhất một mô hình.

3.4. Chuyển đổi logic mô tả DL-Litethành chương trình Datalog

Phép chuyển đổi Τ từ các thành phần cơ bản và các tiên đề của DL-Lite

thành Datalog được thực hiện như sau [5]:

(1) Mỗi khái niệm nguyên tố A A được gắn với một vị từ một ngôi T(A) = pA R, mỗi vai trò trừu tượng P RA được gắn với một vị từ hai ngôi T(P) =

(2) Mỗi tiên đề bao hàm khái niệm B C được chuyển thành một TGD hoặc ràng buộc T(B C ) = T (B) → T(C), trong đó

(i) T (B) được định nghĩa là pA(X), pP(X,Y) và pP(Y,X), nếu B lần lượt có dạng là A, P và P¯ và

(ii) T(C) được định nghĩa là pA(X), Z pP(X,Z), Z pP(Z,X),  pA(X), 

pP(X.Y’) và pP(Y’,X), nếu C lần lượt có dạng là A, P, P¯, A, P và P

¯ .

(3) Các tiên đề hàm (funct P) và (funct P¯) qua T được chuyển thành các

pP(X,Y)  pP(X,Y’) → Y = Y và pP(X,Y) pP(X,Y) → X = X .

(4) Mỗi tiên đề khái niệm thành viên A(a) qua T được chuyển thành nguyên tố pA(ca) và mọi tiên đề vai trò thành viên P(a,b) chuyển thành nguyên tố

pP(ca,cb).

(5) Mỗi tiên đề bao hàm quan hệ Q R được chuyển đổi thành TGD hoặc ràng buộc T(Q R) = T (Q) → T(R), trong đó

(i) T(Q) được định nghĩa pP(X,Y), pP(Y,X), nếu Q là lần lượt có dạng P và

(ii) T(R) được định nghĩa là pP(X,Y), pP(Y,X), pP(X,Y) và pP(Y,X), nếu

R lần lượt có dạng P, P¯, P vàP¯.

Ví dụ 3.4 Các tiên đề bao hàm khái niệm ở Ví dụ 3.3 được chuyển đổi thành các TGDs và ràng buộc sau đây:

ConferencePaper(X) → Article(X)

JournalPaper(X) → Article(X)

ConferencePaper(X) → JournalPaper(X)

Scientist(X) → ZisAuthorOf(X,Z)

isAuthorOf(X,Y) → Scientist(X)

Các tiên đề bao hàm quan hệ và tiên đề hàm ở ví dụ 3.3 được chuyển đổi thành các TGDs và EGDs sau đây:

isAuthorOf(Y,X) → hasAuthor(X,Y)

hasAuthor(Y,X) → isAuthorOf(X,Y)

hasFirstAuthor(X,Y), hasFirstAuthor(X,Y’) → Y = Y’

Các tiên đề khái niệm và tiên đề quan hệ thành viên ở ví dụ 3.3 được chuyển đổi thành các nguyên tố sau (trong đó ta đồng nhất các cá thể với các

Một phần của tài liệu Tìm hiểu về chương trình Datalog∃ và logic mô tả DL-Lite (Trang 35)

Tải bản đầy đủ (PDF)

(56 trang)