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

Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL

79 742 0

Đ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

Tiêu đề Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Tác giả Võ Hoàng Hải
Người hướng dẫn Cao Hoàng Trụ
Trường học Trường Đại Học Bách Khoa Thành phố Hồ Chí Minh
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn thạc sĩ
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 79
Dung lượng 822,97 KB

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

Nội dung

Đồ thị ý niệm Concept Graph-CG là một mô hình biểu diễn tri thức trực quan có thể dùng làm ngôn ngữ truy vấn thân thiện hơn với người sử dụng.. Với mục tiêu phát triển ngôn ngữ đồ thị ý

Trang 1

Lời cám ơn

Trước hết, tôi xin gửi lời cảm ơn sâu sắc đến thầy Cao Hoàng

Trụ, người đã trực tiếp hướng dẫn tôi hoàn thành bản luận văn này

Nếu không nhờ những hướng dẫn chu đáo và tận tình chỉ bảo của thầy

cùng những tài liệu quý giá do thầy cung cấp thì có lẽ luận văn này đã

không được hoàn thành và có kết quả như hôm nay

Tôi xin chân thành cảm ơn tất cả các thầy cô trong Khoa Công

Nghệ Thông Tin, cùng các thầy cô ở Phòng Đào Tạo Sau đại học

trường Đại Học Bách Khoa Tp.Hồ Chí Minh đã giúp đỡ tạo điều kiện

cho tôi hoàn thành khóa học cao học này

Tôi cũng xin gửi lời cảm ơn đến tất cả người thân, bè bạn,

những người đã động viên, khích lệ tinh thần, giúp tôi vượt qua mọi

khó khăn trong cuộc sống để đạt được kết quả như ngày hôm nay

Luận văn này được hoàn thành trong một thời gian hạn hẹp nên

sẽ không tránh khỏi sai sót, tôi rất mong sự góp ý của quí thầy cô và

các bạn

Học viên

Trang 2

1 Tóm tắt

Resource Desription Framework (RDF) và RDF Schema (RDFS) được thừa nhận là chuẩn biểu diễn thông tin tri thức cho Web ngữ nghĩa SeRQL là một ngôn ngữ truy vấn tri thức biểu diễn bởi RDF&RDFS hiệu quả Tuy nhiên với cú pháp tương tự ngôn ngữ truy vấn dữ liệu SQL truyền thống, SeRQL vẫn phức tạp đối với người sử dụng đầu cuối Đồ thị ý niệm (Concept Graph-CG) là một mô hình biểu diễn tri thức trực quan có thể dùng làm ngôn ngữ truy vấn thân thiện hơn với người

sử dụng Với mục tiêu phát triển ngôn ngữ đồ thị ý niệm truy vấn tri thức biểu diễn bằng RDF&RDFS tương đương với SeRQL, chúng tôi nghiên cứu các thành phần

cơ bản của ngôn ngữ SeRQL kết hợp khai thác sức mạnh diễn đạt và suy luận của

CG, từ đó xây dựng nên các thành phần của ngôn ngữ truy vấn tri thức bằng đồ thị ý niệm tương ứng

Luận văn này nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL, đề nghị cách ánh xạ chúng vào các thành phần của đồ thị ý niệm trong ngữ cảnh của tri thức biểu diễn bằng RDF&RDFS tương ứng và phát triển hướng hiện thực cho ngôn ngữ đồ thị ý niệm truy vấn tri thức biểu diễn bằng RDF&RDFS

Trang 3

2 Mục lục

1 Tóm tắt i

2 Mục lục ii

3 DANH MỤC HÌNH iv

1 CHƯƠNG 1: MỞ ĐẦU 1

1.1 Giới thiệu, động cơ và mục tiêu của đề tài 1

1.2 Các công trình liên quan 2

1.2.1 Resource Desription Framework (RDF) 2

1.2.2 Ngôn ngữ truy vấn RDF 4

1.2.3 Ngôn ngữ truy vấn SeRQL 4

1.2.4 Đồ thị ý niệm 6

1.3 Cấu trúc luận văn 8

2 CHƯƠNG 2: ÁNH XẠ CÁC THÀNH PHẦN SERQL VÀO CG 9

2.1 Giới thiệu 9

2.2 Hằng, Biến, Định danh tài nguyên duy nhất và Biểu thức đường dẫn 9

2.2.1 Hằng, Biến, Định danh tài nguyên duy nhất 9

2.2.2 Biểu thức đường dẫn 10

2.2.3 Cây phân cấp lớp và quan hệ trong RDF&RDFS 14

2.3 Mệnh đề điều kiện luận lý WHERE 14

2.3.1 Các toán tử luận lý cơ bản 15

2.3.2 AND, OR, NOT 16

2.3.3 Mệnh đề WHERE lồng trong điều kiện tùy chọn 16

2.3.4 Các hàm kiểm tra luận lý khác của SeRQL 17

2.4 Các tính năng nâng cao và tùy chọn khác 18

2.4.1 Truy vấn lồng nhau – Query Nesting 18

2.4.2 Các phép toán tập hợp 21

Trang 4

2.4.3 Các mệnh đề OFFSET và LIMIT 22

2.5 Kết luận 23

3 Chương 3: NGÔN NGỮ ĐỒ THỊ Ý NIỆM TRUY VẤN TRI THỨC 25 3.1 Giới thiệu 25

3.2 Đồ thị ý niệm truy vấn tri thức đơn giản - sCGQL 25

3.3 Đồ thị ý niệm truy vấn tri thức - CGQL 27

3.4 Đồ thị ý niệm truy vấn tri thức mở rộng - xCGQL 31

3.5 Kết luận 34

4 CHƯƠNG 4: HIỆN THỰC HỆ THỐNG TRUY VẤN TRI THỨC36 4.1 Giới thiệu 36

4.2 Tổng quan hệ thống truy vấn tri thức bằng xCGQL 37

4.3 Xây dựng công cụ soạn thảo đồ thị ý niệm truy vấn - xCGQL Editor 39 4.3.1 Truy vấn Ontology 40

4.3.2 Soạn thảo đỉnh khái niệm 42

4.3.3 Soạn thảo đỉnh quan hệ: 48

4.3.4 Kiểm tra tính hợp lệ của đồ thị ý niệm truy vấn 49

4.4 Phân tích, chuyển đổi đồ thị ý niệm truy vấn xCGQL thành câu truy vấn SeRQL 53

4.4.1 Cơ chế quản lý đối tượng 53

4.4.2 Phương pháp thực hiện chuyển đổi từ xCGQL thành SeRQL 55

4.4.3 Các thuật toán chuyển đổi chi tiết 59

4.5 Bộ thực thi truy vấn và hiển thị kết quả 66

4.6 Kết luận 67

5 CHƯƠNG 5: KẾT LUẬN 68

5.1 Tổng kết 68

5.2 Phương hướng phát triển 69

6 REFERENCE 70

7 PHỤ LỤC 73

Trang 5

3 DANH MỤC HÌNH

Hình 1.2.1.1: Ví dụ về RDF 3

Hình 1.2.4.1: Ví dụ CG 6

Hình 1.2.4.2: Ví dụ coreference 7

Hình 2.2.2.1.1 Ví dụ đường dẫn cơ bản 10

Hình 2.2.2.4.1 Ví dụ đường dẫn tùy chọn 13

Hình 2.2.2.4.2 Biểu diễn đường dẫn tùy chọn 13

Hình 2.3.1.1 Ví dụ về câu truy vấn dân số > 1000000 15

Hình 2.3.3.1 Ví dụ truy vấn WHERE trong điều kiện tùy chọn 17

Hình 2.3.4.1 Ví dụ truy vấn các hàm kiểm tra luận lý 18

Hình 2.4.1.1 Truy vấn “Tìm tên của những người là tác giả” 19

Hình 2.4.1.2 Truy vấn “Tìm tên và sở thích của những người có trùng tên với tên tác giả nào đó” 20

Hình 2.4.1.3 Truy vấn “Tìm giá trị lớn nhất trong của các tài nguyên trong cơ sở dữ liệu” 21

Hình 2.4.2.1 Ví dụ truy vấn với các phép toán tập hợp 22

Hình 2.4.3.1 Ví dụ truy vấn với các mệnh đề OFFSET, LIMIT 23

Hình 3.3.1 Ví dụ mở rộng thuộc tính 27

Hình 3.3.2: Biểu diễn chi tiết cho đỉnh khái niệm mở rộng 28

Hình 3.3.3 Truy vấn đỉnh mở rộng có điều kiện 30

Hình 3.4.1 Đỉnh truy vấn con các quan hệ 31

Hình 4.2.1: Hệ thống truy vấn tri thức bằng đồ thị ý niệm 37

Hình 4.2.2: Hệ thống truy vấn tri thức chi tiết 38

Hình 4.3.1: Cấu trúc bộ soạn thảo 40

Hình 4.3.2.1 Soạn thảo Đỉnh khái niệm 43

Trang 6

Hình 4.3.2.2 Soạn thảo Kiểu khái niệm 44

Hình 4.3.2.3 Soạn thảo tham chiếu thực thể khái niệm 45

Hình 4.3.2.4 Soạn thảo cây ràng buộc điều kiện 46

Hình 4.3.2.5 Ví dụ giao diện soạn thảo đồ thị ý niệm 47

Hình 4.3.3.1 Soạn thảo đỉnh quan hệ 48

Hình 4.3.3.2 Cây phân cấp kiểu quan hệ 49

Hình 4.3.4.1 Cây ràng buộc điều kiện thuộc tính 51

Hình 4.4.1.1 Các mức truy vấn lồng nhau 54

Hình 4.4.1.2 Cấu trúc quản lý đối tượng 55

Hình 4.4.3.1 Chuyển đổi câu truy vấn sang SeRQL 65

Hình 4.5.1 Giao diện kết quả chuyển đổi 66

Trang 7

1 CHƯƠNG 1: MỞ ĐẦU

1.1 Giới thiệu, động cơ và mục tiêu của đề tài

Web ngữ nghĩa là hình thức mở rộng web hiện tại với thông tin trên nó được chú thích ngữ nghĩa giúp cho giao tiếp giữa con người và máy tính tốt hơn hay giúp cho máy tính có thể “hiểu” được ngữ nghĩa của thông tin [16] Song song với sự phát triển Web ngữ nghĩa, Resource Desription Framework (RDF) và RDF Schema (RDFS) được thừa nhận là chuẩn biểu diễn thông tin tri thức [12] Cũng theo đó, các ngôn ngữ truy vấn tri thức biểu diễn bởi RDF&RDFS ngày càng phát triển hiệu quả hơn Trong số các ngôn ngữ này, SeRQL là một ứng viên tiêu biểu đáp ứng được các yêu cầu chính yếu khi truy vấn tri thức biểu diễn bằng RDF&RDFS [3] Tuy nhiên với cú pháp tương tự ngôn ngữ truy vấn dữ liệu SQL truyền thống, SeRQL vẫn phức tạp trong việc truy vấn tri thức đối với người sử dụng

Đồ thị ý niệm (CG) mô hình biểu diễn tri thức trực quan Với khả năng ánh xạ vào ngôn ngữ tự nhiên một cách trực tiếp, CG được dùng làm ngôn ngữ trung gian chuyển đổi qua lại giữa ngôn ngữ tự nhiên và ngôn ngữ hình thức sử dụng cho máy tính Với biểu diễn trực quan dạng đồ họa, CG gần gũi với người sử dụng nhưng vẫn không mất đi tính đặc tả hình thức [5] Do đó có thể sử dụng CG làm ngôn ngữ truy vấn thông tin thân thiện hơn với người sử dụng

Việc sử dụng CG để truy vấn cơ sở dữ liệu quan hệ đã được đề cập trong bài viết của Frithjof Dau với mục tiêu xây dựng một ngôn ngữ truy vấn dữ liệu quan hệ phổ dụng và thân thiện hơn với người dùng so với ngôn ngữ SQL truyền thống [2] Hơn nữa, trong lĩnh vực biểu diễn tri thức, với kết luận CG dễ dàng được tích hợp với Web ngữ nghĩa [16], chúng ta hoàn toàn tin tưởng vào việc có thể xây dựng

Trang 8

được một ngôn ngữ CG tương ứng với SeRQL – một ngôn ngữ truy vấn tri thức Web ngữ nghĩa biểu diễn bằng RDF&RDFS

Mục tiêu của luận văn là phát triển một ngôn ngữ đồ thị ý niệm truy vấn (CGQL) đủ mạnh, có khả năng diễn đạt gần tương đương với SeRQL khi truy vấn tri thức biểu diễn bằng RDF&RDFS Để thực hiện điều này, chúng tôi nghiên cứu các thành phần cơ bản của ngôn ngữ SeRQL kết hợp với việc khai thác sức mạnh diễn đạt, suy luận của CG, từ đó xây dựng nên các thành phần của ngôn ngữ CG tương ứng Ngôn ngữ CG này cần phải được biểu diễn hình thức ở bước tiếp theo Công việc cuối cùng là thực hiện một hệ thống truy hồi tri thức dùng đồ thị ý niệm

đã xây dựng ở phần giao diện

1.2.1 Resource Desription Framework (RDF)

RDF được xem là chuẩn biểu diễn và chuyển đổi thông tin cho Web ngữ nghĩa Trong RDF, thông tin về một tài nguyên (resource) nào đó được biểu diễn dưới dạng mệnh đề (statement) Mệnh đề là một bộ ba chủ ngữ-vị từ-bổ ngữ (subject-predicate-object triple) Cách thức biểu diễn thông tin của RDF cho phép các máy tính giao tiếp với nhau theo ngữ nghĩa của đối tượng nhưng cú pháp bộ ba của RDF không dễ đọc và hiểu bởi con người RDF Primer tiếp cận theo hướng diễn đạt mô hình RDF một cách trực quan bằng đồ thị [12] Trong đồ thị RDF, các chủ ngữ, bổ ngữ của bộ ba RDF được biểu diễn bằng các đỉnh của một đồ thị, trong khi các vị từ được biểu diễn bằng cung có hướng Các đỉnh và cung này được gán nhãn là các tài nguyên hay giá trị thông tin cụ thể

Dưới đây là ví dụ biểu diễn mô hình RDF trích từ [12]

Trang 9

Hình 1.2.1.1: Ví dụ về RDF

RDF trong ví dụ này sử dụng Uniform Resource Identifier (URIs) để xác định:

ƒ một cá nhân, Eric Miller, xác định bởi http://www.w3.org/People/EM/contact#me

ƒ cá nhân này là một người, Person, người được định nghĩa bởi cohttp://www.w3.org/2000/10/swap /pim/contact #Person

ƒ cá nhân này có thuộc tính là địa chỉ thư điện tử (mailbox) xác định bởi http://www.w3.org/2000/10/swap/pim/contact#mailbox

ƒ giá trị của thuộc tính thư điện tử là: mailto:em@w3.org

Thực sự cách biểu diễn mô hình RDF thừa kế từ các ý tưởng biểu diễn tri thức bao gồm cả đồ thị ý niệm Sự so sánh giữa mô hình RDF và CG được tác giả Tim Berners Lee nghiên cứu trong [15] chỉ ra rằng hai lĩnh vực này có rất nhiều điểm trùng nhau và do đó dễ dàng kết hợp với nhau trong việc phát triển web ngữ nghĩa

Trang 10

1.2.2 Ngôn ngữ truy vấn RDF

Cùng với sự phát triển của RDF, nhiều ngôn ngữ truy vấn tài liệu RDF đã được đề nghị [11] Các ngôn ngữ này hầu như khác hẳn nhau về cú pháp và ngữ nghĩa và trải rộng theo nhiều hướng: từ ngôn ngữ khai báo, theo phương pháp truy vấn dữ liệu cổ điển (SQL) cho đến ngôn ngữ luật sinh, theo hướng suy luận dựa trên các luật (rules language)

Các ngôn ngữ truy vấn RDF lại có các chức năng hoặc cách hỗ trợ mở rộng khác nhau Tuy rằng hiện nay vẫn chưa có một ngôn ngữ nào được chấp nhận là chuẩn sử dụng, gần đây W3C đã đưa ra đặc tả và yêu cầu chung cho một ngôn ngữ truy vấn dữ liệu RDF [10]

Các ngôn ngữ truy vấn hầu hết đều được xem xét trên các tính chất chung bao gồm khả năng diễn đạt của ngôn ngữ, tính đóng, tính đầy đủ, tính trực giao và tính

an toàn [4] Hơn nữa, các ngôn ngữ truy vấn này phải đáp ứng được các yêu cầu của

mô hình RDF RDF là mô hình dữ liệu trừu tượng chỉ bao gồm các bộ ba RDF nên các ngôn ngữ sẽ không cung cấp các chức năng truy vấn liên quan đến việc lưu trữ

dự liệu cụ thể Mô hình RDF không chỉ lưu trữ thông tin mà còn hỗ trợ suy luận tri thức [14] Do đó các ngôn ngữ truy vấn cũng phải xem xét khía cạnh này và cung cấp chức năng nhận biết các hệ quả suy luận này Ngôn ngữ truy vấn tri thức còn phải hỗ trợ tính không đầy đủ thông tin của mô hình RDF vì không phải bất cứ tài nguyên nào được lưu trữ cũng có đầy thông tin mô tả về nó

1.2.3 Ngôn ngữ truy vấn SeRQL

SeRQL là ngôn ngữ hiệu quả đáp ứng các yêu cầu truy vấn RDF SeRQL là một phần của Sesame [8], một kiến trúc lưu trữ và truy vấn đa dạng tri thức biểu diễn bằng RDF và RDFS đang được phát triển bởi Aduna Ngôn ngữ này kết hợp các đặc tính của các ngôn ngữ truy vấn khác và thêm các chức năng riêng của mình

để đáp ứng được hầu hết các yêu cầu chính yếu Đồng thời trong quá trình phát

Trang 11

triển, SeRQL còn đặt ra thêm các vấn đề thực tiễn mà một ngôn ngữ truy vấn RDF cần đáp ứng [3]

SeRQL hỗ trợ hai loại truy vấn tri thức Loại thứ nhất là tìm kiếm một bảng hay tập các giá trị hoặc là tập các biến ràng buộc giá trị Truy vấn loại này được gọi

là truy vấn tìm kiếm - “select query” Loại truy vấn tri thức thứ hai của SeRQL trả

về một đồ một đồ thị con hay một đồ thị RDF mới chứa thông tin của của mô hình RDF ban đầu Loại thứ hai được gọi là truy vấn xây dựng - “construct query” Mỗi loại truy vấn trong SeRQL thường bao gồm 6 mệnh đề: SELECT (hay CONSTRUCT), FROM, WHERE, LIMIT, OFFSET and USING NAME SPACE Mệnh đề đầu tiên SELECT (hay CONSTRUCT) xác định kết quả cuối cùng được truy vấn Mệnh đề tiếp theo FROM chứa các biểu thức đường dẫn (path-expression) Các biểu thức đường dẫn này xác định các quan hệ hay các liên kết giữa đối tượng trong đồ thị RDF được quan tâm trong câu truy vấn Mệnh đề WHERE dùng để kiểm tra các điều kiện luận lý trên các giá trị của các đối tượng tìm thấy trong đường dẫn Đối tượng là các đỉnh hay cạnh trong đồ thị RDF Các điều kiện luận lý trên các đối tượng này không thể diễn đạt bằng biểu thức đường dẫn sẽ được thực hiện trong mệnh đề WHERE Các mệnh đề LIMIT hay OFFSET

có thể dùng kết hợp hay riêng lẻ cho phép xác định một tập con của tất cả kết quả trở về Mệnh đề NAME SPACE cho phép định nghĩa các không gian tên để có thể dùng các tiếp đầu ngữ viết tắt khi truy vấn

Ở đây chúng tôi quan tâm chủ yếu đến câu truy vấn tìm kiếm - “select query” Trên thực tế, vì hai loại câu truy vấn tìm kiếm và xây dựng của SeRQL chỉ khác nhau về mặt tạo ra kết quả cuối cùng nên vấn đề truy vấn xây dựng sẽ được xem xét này ở phần hiện thực cuối cùng, khi đã có được kết quả truy vấn tìm kiếm

Như vậy có thể thấy SeRQL phát triển theo hướng dựa trên ngôn ngữ truy vấn

dữ liệu quan hệ SQL truyền thống Tuy đã có những cải tiến giúp người dùng có thể viết câu truy vấn dễ dàng nhưng với cú pháp tương tự ngôn ngữ SQL, SeRQL vẫn còn phức tạp với người dùng bình thường nếu không được học bài bản

Trang 12

Bằng cách kết hợp các khái niệm và các quan hệ, mô hình CG có thể dùng để biểu diễn tri thức trực quan thân thiện với người dùng Sau đây là một ví dụ dùng

CG để biểu diễn cho phát biểu “Nam học một môn thuộc khoa CNTT”:

Hình 1.2.4.1: Ví dụ CG

Trong ví dụ trên, [Sinh viên: Nam],[Môn:*] và [Khoa:CNTT] là các khái niệm

có kiểu khái niệm lần lượt là Sinh viên, Môn, Khoa còn (Học) và (Thuộc) là các quan hệ Các tham chiếu –referents- Nam và CNTT của các khái niệm [Sinh viên:Nam] và [Khoa:CNTT] là các kí hiệu cá thể – individual markers chỉ định rõ một đối tượng thuộc về một kiểu khái niệm nào đó Tham chiếu * trong khái niệm [Môn:*] là một kí hiệu chung ám chỉ sự tồn tại của thực thể nào đó Hai khái niệm khác nhau nếu tham chiếu đến hai cá thể khác nhau Như vậy để nói rõ hai tham chiếu * cùng là một đối tượng, CG cho phép sử dụng liên kết coreferent:

Trang 13

đồ thị ý niệm Khái niệm biến trong đồ thị ý niệm được biểu diễn bằng tham chiếu

? Nó có ý nghĩa là đối tượng có tham chiếu ? được xác định cụ thể khác hoàn toàn với đối tượng có tham chiếu * (là một đối tượng tồn tại nhưng không cần xác định) [1] Chúng tôi thừa kế ý tưởng này cho việc ánh xạ các biến trong SeRQL với các thành phần của CG ở phần tiếp theo Tuy nhiên, với cách tiếp cận theo hướng phân tích lý thuyết ngữ nghĩa, tác giả đã xây dựng được ngôn ngữ có ý nghĩa lớn về mặt

lý thuyết nhưng vẫn không dễ dàng đối với người sử dụng

Ngôn ngữ CG cũng được ứng dụng nhiều trong lĩnh vực biểu diễn tri thức Trong [7], các tác giả với mục tiêu biểu diễn dữ liệu thân thiện hơn với người sử dụng đã đề cập đến cách chuyển đổi các thông tin biểu diễn bằng RDF sang CG Với cách ánh xạ các thành phần tương ứng giữa RDF&RDFS và CG, các tác giả chỉ mới xây dựng hệ thống lưu trữ dữ liệu bằng CG thông qua việc chuyển đổi tri thức biểu diễn bằng RDF và đề nghị giải quyết vấn đề truy vấn dữ liệu RDF bằng CG trong tương lai

Trang 14

1.3 Cấu trúc luận văn

Tiếp theo sau chương 1 là phần trình bày chi tiết về ý tưởng và phương pháp của chúng tôi để đạt được mục tiêu đã đề ra Cấu trúc các chương tiếp theo như sau: Chương 2 trình bày chi tiết các thành phần cấu trúc của ngôn ngữ SeRQL Mục 2.2, 2.3 trình bày các thành phần cơ bản nhất của ngôn ngữ SeRQL Các tính năng nâng cao được trình bày ở mục 2.4 Song song với việc trình bày các thành phần của ngôn ngữ SeRQL ở các mục 2.2, 2.3 và 2.4, phương pháp ánh xạ các thành phần này vào các thành phần tương ứng của đồ thị ý niệm trong ngữ cảnh của tri thức biểu diễn bằng RDF&RDFS cũng được đề cập

Chương 3 tiếp theo giới thiệu ngôn ngữ truy vấn tri thức bằng đồ thị ý niệm (CGQL) Chương này tập trung mô tả hình thức cho ngôn ngữ CGQL từ các mức đơn giản ở các mục 3.2 và 3.3 đến mức nâng cao ở mục 3.4

Việc xây dựng hiện thực hệ thống truy vấn tri thức sử dụng ngôn ngữ CGQL

ở phần giao diện được trình bày ở chương 4 Mục 4.2 trình bày tổng quan hệ thống truy vấn tri thức bằng đồ thị ý niệm trong khi các mục 4.3, 4.4, 4.5 đi vào chi tiết các thành phần chức năng chính của hệ thống

Mỗi chương 2,3 và 4 được trình bày đều có phần giới thiệu và kết luận riêng Chương 5 tổng kết lại những kết quả đạt được và đề nghị hướng phát triển cho tương lai

Phần phụ lục giới thiệu chi tiết giao diện hệ thống đã xây dựng cũng như trình bày chi tiết cú pháp ngôn ngữ SeRQL và một số giải thuật hay mã nguồn liên quan được đề cập trong các chương 2,3 và 4

Trang 15

2 CHƯƠNG 2: ÁNH XẠ CÁC

THÀNH PHẦN SERQL VÀO CG

2.1 Giới thiệu

SeRQL (“Sesame RDF Query Language”) là ngôn ngữ truy vấn dữ liệu RDF

kết hợp nhiều đặc điểm hay của các ngôn ngữ truy vấn RDF khác nhau (RQL,

RDQL, N-Triple, N3) Các tính chất quan trọng nhất của SeRQL bao gồm việc hỗ

trợ cú pháp biểu thức đường dẫn linh hoạt, hỗ trợ RDF Schema và XML Schema

Với mục tiêu xây dựng ngôn ngữ đồ thị ý niệm có tính diễn đạt gần tương đương đề

ra ở phần trước, chương 2 tập trung xem xét các thành phần cơ bản nhất của ngôn

ngữ SeRQL và cách ánh xạ chúng vào các thành phần tương ứng trong một đồ thị ý

niệm Chúng ta tiếp cận theo hướng bắt đầu từ các thành phần cơ bản nhất và phát

triển dần dần thành câu truy vấn SeRQL đầy đủ Mục 2.2 bắt đầu bằng các thành

phần cơ bản nhất trong ngôn ngữ SeRQL

2.2 Hằng, Biến, Định danh tài nguyên duy nhất

và Biểu thức đường dẫn

2.2.1 Hằng, Biến, Định danh tài nguyên duy nhất

Định danh tài nguyên duy nhất (từ đây gọi tắt là tài nguyên) và hằng là các

thành phần cơ bản trong biểu diễn dữ liệu RDF Tài nguyên có thể là vị từ hay bổ

ngữ như hằng nhưng cũng có thể là chủ ngữ của một bộ ba RDF Chính vì vậy, cả

hằng và tài nguyên đều là các thành phần không thể thiếu để thành lập câu truy vấn

SeRQL Ngoài tài nguyên và hằng, trong câu truy vấn SeRQL, biến cũng là một

thành phần chính dùng để trả về kết quả tìm kiếm Biến cũng có thể là chủ ngữ, vị

Trang 16

từ hay bổ ngữ được xác định bởi một tên Như vậy, thật sự là hằng, biến hay tài nguyên là các thành phần cơ bản nhất trong câu truy vấn SeRQL sẽ tùy theo ngữ cảnh truy vấn của nó mà được ánh xạ vào thành phần nào trong ngôn ngữ CG tương ứng Nói cách khác hằng, biến hay tài nguyên đều có thể là khái niệm hay quan hệ trong một CG

2.2.2 Biểu thức đường dẫn

Biểu thức đường dẫn là thành phần cơ bản nhất trong SeRQL Biểu thức đường dẫn sẽ được so trùng với một thành phần đồ thị trong RDF khi thực hiện câu truy vấn

2.2.2.1 Đường dẫn cơ bản

Biểu thức đường dẫn cơ bản nhất trong SeRQL thực chất là một bộ ba RDF được biểu diễn {node} edge {node} Một cách tự nhiên để biểu diễn biểu thức đường dẫn cơ bản trong mô hình CG là chuyển đổi bộ ba RDF thành một đồ thị CG: chuyển chủ ngữ hay bổ ngữ của bộ ba RDF thành khái niệm và chuyển vị từ thành quan hệ [7] Câu truy vấn “Ai là người học môn Toán?” có thể biểu diễn bằng SeRQL và CG tương ứng (giả sử kí hiệu <xxx> là một địa chỉ tài nguyên cụ thể) như sau:

Trang 17

{Ai}<Làm việc>{Công ty}<thuộc lĩnh vực>{<Tin học>}

tương đương với tập 2 biểu thức đường dẫn cơ bản:

{Ai} <Làm việc> {Công ty}

và {Công ty} <thuộc lĩnh vực> {<Tin học>}

ƒ Kết nối nhiều đỉnh đồ thị RDF khác nhau thành đỉnh nhiều giá trị value node) Loại đường dẫn này có thể thực hiện cho các bổ ngữ cùng chủ ngữ và vị từ hay cho các chủ ngữ cùng vị từ và bổ ngữ Biểu thức đường dẫn:

(Multi-{subj} pred { obj1,obj2,obj3 }

tương đương với tập các biểu thức đường dẫn cơ bản sau:

Trang 18

2.2.2.3 Reification

Biểu diễn RDF cho phép dùng mệnh đề RDF để mô tả một mệnh đề RDF khác Ngôn ngữ SeRQL cho phép biểu diễn cấu trúc cú pháp cho Reification:

{{reifSubj}reifPred{reifObj}} pred {obj}

Trên thực tế, SeRQL hỗ trợ cách viết tắt cho Reification dựa trên RDFS, bao gồm các vị từ cơ bản như rdf:type, rdf:subject, rdf:predicate, rdf:object và rdf:Statement Như vậy biểu thức đường dẫn Reification trên đây sẽ tương đương với tập các biểu thức đường dẫn cơ bản sau:

2.2.2.4 Đường dẫn tùy chọn – (Optional Match)

SeRQL cho phép truy vấn trong điều kiện giá trị dữ liệu không tồn tại đối với một vị từ nào đó Điều này cho phép truy vấn dữ liệu không đầy đủ biểu diễn bằng RDF Phần biểu thức đường dẫn có vị từ chấp nhận truy vấn dữ liệu không tồn tại được gọi là đường dẫn tùy chọn

Ví dụ câu truy vấn: “Chỉ ra những tài liệu và tiêu đề của nó Nếu tài liệu có tên tác giả thì chỉ ra tên tác giả” được biểu diễn bằng ngôn ngữ SeRQL là

Trang 19

Hình 2.2.2.4.2 Biểu diễn đường dẫn tùy chọn

Chú ý: với quan hệ tùy chọn, chiều mũi tên qui ước được dùng để định tầm

vực tùy chọn cho quan hệ Và một khi quan hệ [Property] là tùy chọn thì toàn bộ phần đồ thị ý niệm tiếp theo sau Obj là tùy chọn đối với Subj của quan hệ này Với cách hiện thực như trên, rõ ràng đã cho phép lồng các quan hệ tùy chọn vào nhau theo cách hiểu quan hệ đứng trước bao lấy các quan hệ tùy chọn phía sau mũi tên của nó Đây cũng ưu điểm cho phép trong SeRQL Để minh họa, hãy xem

xét ví dụ sau: “Chỉ ra những tài liệu và tiêu đề tài liệu Nếu tài liệu có tác giả, chỉ

ra tác giả Nếu tác giả có tên thì chỉ ra tên, nếu có email thì chỉ ra email của tác giả đó”

{Tài liệu}<foo:có tiêu đề>{Tiêu đề};

? [foo:author]

Trang 20

[<foo:có tác giả>{Tác giả}[<foo:có tên>{Tên}]; [<foo:email>{Email}]]

Như vậy theo cách hiểu đã qui định, Tên và Email lần lượt có vị từ

<foo:có tên> và <foo:email> là tùy chọn đối với Tác giả và Tác giả có vị

từ <foo:có tác giả> là tùy chọn của Tài liệu Hơn nữa cả Tên, Email cũng là tùy chọn đối với Tài liệu

2.2.3 Cây phân cấp lớp và quan hệ trong RDF&RDFS

SeRQL hỗ trợ RDFS thông qua các vị từ Ví dụ vị từ <rdfs:subClassOf> để diễn đạt quan hệ lớp con trong RDF [9] Ngoài ra SeRQL cung cấp thêm các vị từ xây dựng sẵn cho phép truy vấn về sự phân cấp các lớp Các vị từ này được dùng như những vị từ của bộ ba RDF trong các biểu thức đường dẫn hoặc dùng để kiểm tra điều kiện luận lý trên những đối tượng truy vấn trong mệnh đề WHERE [3] Sau đây là một số vị từ được cung cấp trong SeRQL:

2.3 Mệnh đề điều kiện luận lý WHERE

Mệnh đề WHERE chỉ cho phép SeRQL truy vấn các điều kiện luận lý trên các biến sau khi đã so trùng biểu thức đường dẫn Trên quan điểm đồ thị ý niệm, các điều kiện luận lý giữa hai thực thể cũng là một loại quan hệ Từ đó, các điều kiện luận lý trong câu SeRQL sẽ được ánh xạ thành các quan hệ trong ngôn ngữ CG

Trang 21

2.3.1 Các toán tử luận lý cơ bản

Các toán tử luận lý trong mệnh đề WHERE được phép trong SeRQL bao gồm:

xét khi hiện thực hệ thống Dưới đây là ví dụ minh họa cho câu truy vấn: “Chỉ ra các tỉnh thành có dân số nhỏ hơn 1000000” :

Select TỉnhTP

From {TỉnhTP} <foo:có dân số> {Dânsố}

Where Dânsố > “1000000”^^xsd:Integer

Hình 2.3.1.1 Ví dụ về câu truy vấn dân số > 1000000

Trang 22

2.3.2 AND, OR, NOT

Trong SeRQL, các toán tử quan hệ luận lý giữa các đối tượng truy vấn có thể kết hợp với nhau qua các ràng buộc luận lý AND, OR, NOT trong mệnh đề WHERE.Trong mô hình CG đơn giản qui tắc ràng buộc AND giữa các quan hệ được hiểu là các mệnh đề viết liền nhau Để phủ định một tập các quan hệ, chúng ta tạo khái niệm mệnh đề bao lấy rồi phủ định [13] Qui tắc OR được thực hiện thông qua phép biến đổi Demorgan: x OR y = NOT((NOT x) AND (NOT y)) Tuy nhiên, điều này quá phức tạp với người sử dụng cuối cùng nên không được sử dụng trong ngôn ngữ CG của chúng tôi

Để mô tả đơn giản hơn cho người sử dụng đầu cuối, ngôn ngữ CG được mở rộng bằng cách ẩn đi các điều kiện luận lý bên trong bản thân các khái niệm hay quan hệ Vấn đề này sẽ được đề cập lại trong phần xây dựng ngôn ngữ và hiện thực

hệ thống

2.3.3 Mệnh đề WHERE lồng trong điều kiện tùy chọn

Như đã thảo luận trong mục trước, ngôn ngữ SeRQL cho phép tùy chọn trong

so trùng đường dẫn Mạnh hơn nữa, SeRQL còn cho phép thực hiện các mệnh đề điều kiện luận lý WHERE cho các thành phần tùy chọn và gọi là Nested WHERE Trong một câu truy vấn tùy theo các điều kiện so trùng tùy chọn mà có thể có nhiều mệnh đề Nested WHERE Tuy nhiên chỉ có thể có nhiều nhất một mệnh đề WHERE chính cho toàn câu truy vấn

Vấn đề này cũng không ảnh hưởng nhiều đến mô hình CG xây dựng theo các ánh xạ như trên Như đã đề cập, khi sử dụng quan hệ tùy chọn đã qui định tầm vực tùy chọn cho một vị từ là toàn bộ phần đồ thị tiếp theo của mũi tên đi ra khỏi vị từ

đó Như vậy mọi quan hệ luận lý trên thành phần tùy chọn này sẽ thuộc mệnh đề Nested WHERE theo một cách tự nhiên Ví dụ: “Chỉ ra tên của tất cả những người trong cơ sở dữ liệu Đồng thời, nếu những người này có địa chỉ mail thì chỉ ra những địa chỉ mail của họ bắt đầu bằng kí tự g”

Trang 23

Select Name, EmailAddress

From {Person} name {Name};

[email {EmailAddress}

WHERE EmailAddress LIKE “g*” ]

Hình 2.3.3.1 Ví dụ truy vấn WHERE trong điều kiện tùy chọn

Ở đây điều kiện LIKE “g*” chỉ áp dụng cho các trường hợp có địa chỉ mail

2.3.4 Các hàm kiểm tra luận lý khác của SeRQL

SeRQL hỗ trợ người dùng các hàm tiện ích để xử lý các hằng (literal) và các định danh tài nguyên URIs Các hàm này vừa cho phép trả về giá trị truy vấn vừa cho phép thực hiện chức năng kiểm tra luận lý trong mệnh đề WHERE Các hàm tiện ích trên hằng bao gồm label(), lang() và datatype(), còn các hàm tiện ích trên tài nguyên là namespace() và localName(). Mỗi hàm tương ứng được xây dựng một cặp quan hệ luận lý và khái niệm tương ứng:

ƒ Khái niệm là đối tượng chứa kết quả trả về của hàm

ƒ Quan hệ giữa đối tượng hàm thực hiện với đối tượng kết quả

Xét ví dụ minh họa sau: “Tìm những tài nguyên trong cơ sở dữ liệu có nhãn là tên hằng bằng tiếng Anh”

Trang 24

Where isLiteral(L) AND lang(L) like “en*”

Hình 2.3.4.1 Ví dụ truy vấn các hàm kiểm tra luận lý

Như vậy hàm lang() được mô tả trong CG bằng cặp quan hệ lang() và khái niệm String : ? Về mặt biểu diễn, chúng tôi dùng cặp dấu ngoặc đơn () theo sau tên các hàm trong quan hệ luận lý của CG để phân biệt với các phép toán luận lý bình thường,

2.4.1 Truy vấn lồng nhau – Query Nesting

SeRQL cung cấp nhiều cấu trúc cho các truy vấn lồng nhau Các truy vấn lồng nhau chỉ có thể xuất hiện như là một toán hạng cho các phép toán kiểm tra luận lý Một cách đơn giản, có thể xem một câu truy vấn SeRQL là một khái niệm trong CG

và biểu diễn chúng bằng một khái niệm đặc biệt Các truy vấn con (được lồng trong một câu truy vấn khác) này sẽ có kiểu khái niệm là SubQUERY Khái niệm mới sẽ tham gia vào các quan hệ luận lý hoàn toàn tương tự như đã thảo luận từ trước SeRQL cũng qui định tầm vực cho biến, một tên ở câu truy vấn ngoài cũng được hiểu là biến của câu truy vấn bên trong nếu được sử dụng lại Để thực hiện tương đương, liên kết coreferent được phép kết nối giữa các concept của câu truy vấn bên ngoài và câu truy vấn con trực tiếp của nó với ý nghĩa hai khái niệm cùng trỏ đến một đối tượng chung

isL

String: ? lang()

isLiteral

“ *”

Trang 25

Chú ý rằng không phải câu truy vấn con có thể tham gia vào mọi phép toán kiểm tra luận lý SeRQL chỉ giới hạn trong một số toán tử luận lý cụ thể như IN (toán tử kiểm tra đối tượng nằm trong một tập kêt quả trả về) hoặc EXIST (kiểm tra tồn tại kết quả trả về của một câu truy vấn hay không) Các ví dụ sau lần lượt sẽ minh họa cách diễn đạt bằng mô hình CG khi gặp các câu truy vấn lồng nhau

“Tìm tên của những người là tác giả” Một cách viết theo truy vấn con như

sau: “Tìm tên của những người có tên trong các tên tác giả”

Trang 26

ƒ “Tìm tên và sở thích của những người có trùng tên với tên tác giả nào đó”

Hình 2.4.1.2 Truy vấn “Tìm tên và sở thích của những người

có trùng tên với tên tác giả nào đó”

SeRQL cho phép sử dụng các ràng buộc tồn tại và phổ dụng bằng ANY và ALL trên các toán hạng là câu truy vấn con của một quan hệ luận lý Tương tự như

n?

ex:name

=Name?

Trang 27

các ràng buộc luận lý NOT đã đề cập ở trên, mô hình CG tiếp tục được mở rộng thêm bằng các loại quan hệ ràng buộc ANY và ALL cho các quan hệ luận lý có các toán hạng là khái niệm subQuery Xét ví dụ sau:

ƒ “Tìm giá trị lớn nhất trong của các tài nguyên trong cơ sở dữ liệu”?

Select highestValue

From {node} ex:value {highestValue}

Where highestValue >= ALL

( Select value

From {} ex:value {value} )

Hình 2.4.1.3 Truy vấn “Tìm giá trị lớn nhất trong của các tài

nguyên trong cơ sở dữ liệu”

Ví dụ trên đã minh họa cho chúng ta thấy cách áp dụng các quan hệ ràng buộc ANY, ALL trên các toán tử quan hệ có toán hạng là các câu truy vấn con

2.4.2 Các phép toán tập hợp

Hoàn toàn tương tự như truy vấn con, các phép toán tập hợp trên SeRQL bao gồm UNION, MINUS, INTERSECT cũng được chuyển thành các quan hệ trong mô hình ngôn ngữ CG tương ứng Sau đây là một ví dụ về phép toán UNION được minh họa bằng quan hệ trong mô hình CG

Trang 28

“Tìm tất cả các tiêu đề sách mà thuộc tính của tiêu đề được mô tả bằng đặc tả dc10 và dc11”

Select title

From {book} dc10:title {title}

UNION

Select title

From {book} dc11:title {title}

Hình 2.4.2.1 Ví dụ truy vấn với các phép toán tập hợp

2.4.3 Các mệnh đề OFFSET và LIMIT

SeRQL cho phép các mệnh đề tùy chọn OFFSET và LIMIT để chọn một phần kết quả trả về của một câu truy vấn Mệnh đề LIMIT để giới hạn số lượng kết quả trả về, mệnh dề OFFSET chỉ ra kết quả trả về đầu tiên trong tất cả kết quả thõa mãn câu truy vấn Hoàn toàn tương tự, chúng ta có thể có thể áp dụng quan hệ luận lý cho các mệnh đề này trong mô hình CG Ví dụ sau minh họa cách chuyển đổi mệnh

đề OFFSET và LIMIT vào CG:

Trang 29

“Chỉ ra 50 người có tên và địa chỉ email bắt đầu từ người thứ 100 trong dữ liệu”

Hình 2.4.3.1 Ví dụ truy vấn với các mệnh đề OFFSET, LIMIT

Các ví dụ ở trên được tham khảo trong [9] Ở đây chúng ta không quan tâm nhiều đến mệnh đề NAME SPACE vì thực tế mệnh đề này chỉ để rút gọn cách viết tắt các URIs Việc này hoàn toàn hiện thực được một cách dễ dàng bằng thuộc tính tùy chọn mặc định các name-space trong một hệ thống truy vấn dữ liệu RDF Trong các ví dụ trên, chúng ta đã giả định các name-space đã được khai báo

Interger: 50 Interger: 100

Trang 30

truy vấn đồ thị ý niệm Cũng qua việc phân tích các thành phần của SeRQL, có thể hình dung công việc viết câu truy vấn của một người dùng bình thường thực tế không dễ dàng Ngôn ngữ truy vấn đồ thị ý niệm sẽ được chúng tôi giới thiệu và trình bày trong các chương tiếp theo Nguyên tắc “càng đơn giản cho người sử dụng càng tốt” luôn luôn được nhớ đến và đặt lên hàng đầu trong quá trình thiết kế, hiện thực và phát triển

Trang 31

3 Chương 3: NGÔN NGỮ ĐỒ THỊ

Ý NIỆM TRUY VẤN TRI THỨC

3.1 Giới thiệu

Như đã giới thiệu trong chương 1, ưu điểm của đồ thị ý niệm là tính trực quan,

có thể diễn đạt ý nghĩa chính xác về mặt luận lý nhưng lại thân thiện với người dùng mà máy tính có thể xử lý được Với mục tiêu ưu tiên phát triển ngôn ngữ đơn giản, hỗ trợ tối đa cho người sử dụng, chúng tôi cố gắng mô tả một cách hình thức ngôn ngữ truy vấn bằng đồ thị ý niệm ở mức độ đơn giản nhất có thể trong thời gian hạn hẹp của luận văn Việc phân tích chính xác ngữ nghĩa của tất cả các thành phần ngôn ngữ sẽ là một vấn đề lý thuyết lớn, chưa thật cần thiết và không sẽ được chú trọng trong luận văn này Thay vào đó chúng ta thiết kế, xây dựng và hiện thực hệ thống sử dụng ngôn ngữ truy vấn này

Sau khi đã phân tích các thành phẩn cơ bản của ngôn ngữ truy vấn tri thức RDF là SeRQL cũng như đề nghị các phương pháp ánh xạ thành phần tương ứng sang đồ thị ý niệm, chương này sẽ trình bày chi tiết ngôn ngữ truy vấn đồ thị ý niệm CGQL (Conceptual Graph Query Language) Mục 3.2, 3.3 đặc tả hình thức cho các thành phần cơ bản trong ngôn ngữ, mục 3.4 là phần mở rộng ngôn ngữ theo hướng

hỗ trợ tích cực người sử dụng

sCGQL

Định nghĩa 3.2.1: Một đồ thị ý niệm truy vấn tri thức đơn giản (viết tắt là

sCGQL) là một đồ thị ý niệm bao gồm tập các đỉnh khái niệm C liên kết với tập các đỉnh quan hệ giữa hai khái niệm R Một đỉnh khái niệm bao gồm kiểu khái niệm và tham chiếu đến đối tượng có khái niệm đó Một đỉnh quan hệ phải liên kết và chỉ

Trang 32

liên kết với đúng hai khái niệm bằng các cạnh có hướng và xác định kiểu quan hệ

có hướng giữa hai đỉnh khái niệm liên kết với nó

Đỉnh khái niệm được biểu diễn bằng hình chữ nhật bao ngoài Kiểu_khái_niệm:Tham_chiếu gọi là nhãn của nó Một đỉnh quan hệ giữa hai khái niệm được kí hiệu bằng hình elíp bao ngoài nhãn của nó là Kiểu_quan_hệ

Một số ví dụ về sCGQL

ƒ Tìm tất cả những người có tên trong cơ sở tri thức (và tên của họ)?

ƒ Tìm tất cả nam đã có vợ trong cơ sở tri thức?

ƒ Tìm tất cả những gì (ai) sở hữu hoàn toàn Tòa nhà A1

Để truy vấn dữ liệu trong một kho tri thức cụ thể thì các kiểu khái niệm và kiểu quan hệ phải hoặc là xác định trong kho tri thức đó hoặc là đang được truy vấn

Đồ thị truy vấn cũng chỉ được phép khi có thành phần được truy vấn

Định nghĩa 3.2.2: Một sCGQL gọi là hợp lệ trên một Ontology nếu và chỉ

Trang 33

ƒ Kiểu quan hệ và kiểu khái niệm của hai khái niệm có quan hệ phải phù hợp với domain, range và relation trong Ontology

ƒ Có ít nhất một kiểu quan hệ, kiểu khái niệm hay tham chiếu khái niệm được truy vấn

Thực thể hay khái niệm trong Ontology thường có thuộc tính riêng của mình Các thuộc tính này cũng có thể được coi là khái niệm và có kiểu quan hệ “thuộc tính” với thực thể có thuộc tính đó

Ví dụ, thuộc tính ngày sinh của một người có thể được biểu diễn bằng simple CGQL như sau:

Hình 3.3.1 Ví dụ mở rộng thuộc tính

Để tăng tính đơn giản cho người sử dụng, chúng ta kết hợp các thuộc tính của một khái niệm vào trong đỉnh khái niệm gọi là đỉnh khái niệm mở rộng Chỉ những thuộc tính nào có quan hệ với các khái niệm khác chúng ta mới thể hiện thành khái

Trang 34

niệm riêng cho nó Như vậy với đỉnh mở rộng khái niệm người như trên, chúng ta ngầm hiểu có thuộc tính ngày sinh ẩn chứa bên trong

Trong một đồ thị truy vấn, một thực thể khái niệm có thể được tìm kiếm dựa trên nhiều điều kiện thuộc tính khác nhau Để hỗ trợ khả năng này chúng tôi xây dựng cây điều kiện VÀ/HOẶC cho các thuộc tính của khái niệm bên trong nó

Định nghĩa 3.3.1: Một đỉnh khái niệm mở rộng là đỉnh khái niệm chứa bên

trong nó các thuộc tính riêng của mình và cây điều kiện VÀ/HOẶC của các thuộc tính này

Hình 3.3.2: Biểu diễn chi tiết cho đỉnh khái niệm mở rộng

Thực tế thì việc biểu diễn đồ thị ý niệm trên mặt phẳng sẽ thêm phức tạp và rắc rối, nhưng với sự hỗ trợ của máy tính, chúng ta có thể xây dựng các cấu trúc chương trình để hiện thực điều này dễ dàng Chúng ta sẽ trở lại vấn đề này trong phần hiện thực ngôn ngữ Đồng thời, để nhất quán trong thuật ngữ từ đây trở về sau, khi nói đến đỉnh khái niệm có nghĩa là đang đề cập đến đỉnh khái niệm mở rộng theo định nghĩa 3.2.2.1

Kiểu_khái_niệm : Tham _chiếu

Thuộc_tính_1 Thuộc_tính_2

Cây điều kiện VÀ/HOẶC

Thuộc_tính_1 Thuộc_tính_2 Và/Hoặc

Trang 35

Định nghĩa 3.3.2: Một đỉnh khái niệm gọi là hợp lệ trên một Ontology nếu và

Định nghĩa 3.3.3: Một đỉnh quan hệ mở rộng là một đỉnh quan hệ giữa hai

khái niệm hoặc là quan hệ được định nghĩa trong Ontology, hoặc là các quan hệ khác do thuộc tính dữ liệu quy định (có thể chưa được mô tả trong dữ liệu nhưng được thừa nhận)

Định nghĩa 3.3.4: Một đỉnh quan hệ mở rộng gọi là hợp lệ trên một Ontology

nếu và chỉ nếu:

ƒ Kiểu quan hệ hoặc tồn tại trên ontology hoặc là quan hệ khác do thuộc tính

dữ liệu quy định hoặc đang được truy vấn

ƒ Các đỉnh khái niệm liên kết với nó phải phù hợp với kiểu quan hệ tức là phù hợp miển dữ liệu domain và range của nó

Một số ví dụ về đỉnh quan hệ mở rộng hợp lệ:

Quan hệ >= giữa Dân_số và Số_nguyên

Trang 36

Quan hệ Bắt_đầu_bằng giữa Tên và Chuỗi_kí_tự

Định nghĩa 3.3.5: Trên một ontology O cho trước, C là tập các đỉnh khái niệm

hợp lệ R và aR lần lượt là tập hợp các kiểu quan hệ được định nghĩa trên O và được thừa nhận trên các kiểu dữ liệu Một đồ thị ý niệm truy vấn tri thức (viết tắt là CGQL) trên một Ontology là một đồ thị ý niệm có các đỉnh khái niệm hợp lệ thuộc

C liên kết với các đỉnh quan hệ mở rộng hợp lệ có kiểu quan hệ thuộc (R U aR) và

Hình 3.3.3 Truy vấn đỉnh mở rộng có điều kiện

Trang 37

3.4 Đồ thị ý niệm truy vấn tri thức mở rộng

Trong lĩnh vực truy vấn dữ liệu, tri thức thì các truy vấn lồng nhau tăng khả năng diễn đạt cho ngôn ngữ truy vấn, giúp cho người sử dụng có thể biểu diễn các câu truy vấn phức tạp Như đã phân tích ở chương 2 và để hỗ trợ khả năng thực thi các câu truy vấn lồng nhau, chúng tôi đã đề nghị xem các câu truy vấn con như là một khái niệm mới, có kiểu khái niệm riêng (tạm gọi là #subQuery) và tham chiếu đến thực thể của nó chính là toàn bộ nội dung câu truy vấn bên trong nó

Về mặt biểu diễn, khái niệm #subQuery không có ý nghĩa lắm đối với người

sử dụng Người sử dụng chỉ quan tâm đến nội dung truy vấn bên trong tức là đến tham chiếu thực thể của nó Chúng tôi xem các câu truy vấn con như là một đỉnh khái niệm đặc biệt được biểu diễn đặc biệt để phân biệt với các khái niệm còn lại gọi là đỉnh truy vấn con

Hình 3.4.1 Đỉnh truy vấn con các quan hệ

truy vấn con

Trang 38

Đỉnh truy vấn con được biểu diễn bằng hình chữ nhật tròn góc bên trong là nội dung một đồ thị ý niệm truy vấn tri thức Một đỉnh truy vấn con là hợp lệ nếu đồ thị CGQL bên trong là hợp lệ

Cùng với việc mở rộng đỉnh khái niệm bằng cách chấp nhận đỉnh truy vấn con, chúng ta mở rộng thêm các đỉnh quan hệ mới Kiểu quan hệ giữa các đỉnh khái niệm của đồ thị truy vấn với đỉnh truy vấn con được xác định tương tự như sự thừa nhận các quan hệ mở rộng do các kiểu dữ liệu Đó chính là các quan hệ IN (thuộc), ABOVE_ALL (lớn hơn tất cả), BELOW_ALL (bé hơn tất cả),… Giữa các đỉnh truy vấn con cũng có thể cho phép các quan hệ tập hợp như UNION (hợp), INTERSECT (giao), hay MINUS (hiệu)…

Ta định nghĩa đồ thị ý niệm truy vấn tri thức mở rộng (viết tắt là xCGQL) một cách đệ qui như sau:

Định nghĩa 3.4.1: Trên một ontology O cho trước có, C là tập các đỉnh khái

niệm hợp lệ R, aR,sR và cR lần lượt là tập hợp các kiểu quan hệ: được định nghĩa trên O; được thừa nhận trên các kiểu dữ liệu; được chấp nhận giữa hai đỉnh truy vấn con và được chấp nhận giữa các đỉnh khái niệm với đỉnh truy vấn con

Đồ thị ý niệm truy vấn tri thức mở rộng được định nghĩa đệ qui như sau:

ƒ Nếu X là CGQL thì X là xCGQL

ƒ Nếu X, Y là xCGQL, r thuộc sR thì subQuery(X) r subQuery (Y) là một xCGQL nếu r hợp lệ (Kí hiệu subQuery(X) là đỉnh truy vấn con thành lập

từ X)

ƒ Nếu X, Y là xCGQL, c là một thành phần của X, c thuộc C, r thuộc cR , và

c r subQuery(Y), r hợp lệ thì X vẫn là xCGQL khi thêm vào X các đỉnh r và subQuery(Y) cùng quan hệ c r subQuery(Y)

Để có thể hiểu rõ về định nghĩa, xét ví dụ sau:

Trang 39

Trên Ontology giả sử có tập hợp các kiểu khái niệm {Nam, Nữ, Tên} và các kiểu quan hệ R={Có_vợ, Có_tên}, tập hợp các kiểu quan hệ giữa Tên và kiểu dữ liệu Chuỗi là aR = {Start_with, End_with, Containt}, tập các quan hệ được chấp nhận giữa hai đỉnh truy vấn con là sR={UNION, INTERSECT} và tập hợp các quan hệ được thừa nhận giữa các đỉnh khái niệm với đỉnh truy vấn con cR={IN} Tập các đỉnh khái niệm hợp lệ C được hình thành từ các kiểu khái niệm Các đồ thị

ý niệm truy vấn tri thức sau được gọi là xCGQL (giả sử các đỉnh khái niệm là đỉnh hợp lệ):

1) Tìm các cặp nam nữ là vợ chồng (nam có vợ là nữ) ?

2) Tìm và hiển thị những nam có tên trong dữ liệu

3) Tìm tên của những người là nam hoặc nữ trong cơ sở dữ liệu

Ngày đăng: 15/07/2014, 14:19

HÌNH ẢNH LIÊN QUAN

Hình 1.2.4.2: Ví dụ coreference - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 1.2.4.2 Ví dụ coreference (Trang 13)
Hình 2.4.1.1 Truy vấn “Tìm tên của những người là tác giả” - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 2.4.1.1 Truy vấn “Tìm tên của những người là tác giả” (Trang 25)
Hình 2.4.1.2 Truy vấn “Tìm tên và sở thích của những người - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 2.4.1.2 Truy vấn “Tìm tên và sở thích của những người (Trang 26)
Hình 2.4.3.1 Ví dụ truy vấn với các mệnh đề OFFSET, LIMIT - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 2.4.3.1 Ví dụ truy vấn với các mệnh đề OFFSET, LIMIT (Trang 29)
Hình 3.3.2: Biểu diễn chi tiết cho đỉnh khái niệm mở rộng - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 3.3.2 Biểu diễn chi tiết cho đỉnh khái niệm mở rộng (Trang 34)
3.4  Đồ thị ý niệm truy vấn tri thức mở rộng - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
3.4 Đồ thị ý niệm truy vấn tri thức mở rộng (Trang 37)
Hình 4.3.2.1  Soạn thảo Đỉnh khái niệm - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 4.3.2.1 Soạn thảo Đỉnh khái niệm (Trang 49)
Hình 4.3.2.2  Soạn thảo Kiểu khái niệm - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 4.3.2.2 Soạn thảo Kiểu khái niệm (Trang 50)
Hình 4.3.2.3  Soạn thảo tham chiếu thực thể khái niệm - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 4.3.2.3 Soạn thảo tham chiếu thực thể khái niệm (Trang 51)
Hình 4.3.2.4  Soạn thảo cây ràng buộc điều kiện - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 4.3.2.4 Soạn thảo cây ràng buộc điều kiện (Trang 52)
Hình 4.3.2.5  Ví dụ giao diện soạn thảo đồ thị ý niệm - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 4.3.2.5 Ví dụ giao diện soạn thảo đồ thị ý niệm (Trang 53)
Hình 4.3.3.2  Cây phân cấp kiểu quan hệ - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 4.3.3.2 Cây phân cấp kiểu quan hệ (Trang 55)
Hình 4.3.4.1  Cây ràng buộc điều kiện thuộc tính - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 4.3.4.1 Cây ràng buộc điều kiện thuộc tính (Trang 57)
Hình 4.4.3.1 Chuyển đổi câu truy vấn sang SeRQL - Luận văn thạc sĩ công nghệ thông tin nghiên cứu các thành phần cấu trúc trong ngôn ngữ SeRQL
Hình 4.4.3.1 Chuyển đổi câu truy vấn sang SeRQL (Trang 71)

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