ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN THỊ KIỀU THANH THÚY THIẾT KẾ VÀ XÂY DỰNG NGÔN NGỮ TRUY VẤN MỜ TRÊN SESAME Chuyên ngành: Công nghệ thông tin Mã số ngành: 01.02.10 LUẬN VĂN THẠC SĨ TP Hồ Chí Minh, tháng 07 năm 2006 CƠNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học: PGS TS Cao Hoàng Trụ Cán chấm nhận xét 1: TS Đặng Trần Khánh Cán chấm nhận xét 2: TS Hồ Bảo Quốc Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH, ngày 24 tháng 07 năm 2006 TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÒNG ĐÀO TẠO SĐH ĐỘC LẬP – TỰ DO – HẠNH PHÚC NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Nguyễn Thị Kiều Thanh Thúy Phái: Nữ Ngày sinh: 22/08/1980 Nơi sinh: Tây Ninh Chuyên ngành: Công nghệ Thông tin MSHV: 00704182 I TÊN ĐỀ TÀI: Thiết kế xây dựng ngôn ngữ truy vấn mờ Sesame II NHIỆM VỤ VÀ NỘI DUNG: Sesame kiến trúc hệ thống với mã nguồn mở dùng phổ biến để quản trị sở tri thức biểu diễn theo RDF SeRQL ngôn ngữ truy vấn mạnh Sesame có cú pháp tương tự SQL sở liệu quan hệ Mục tiêu luận án thiết kế thực ngôn ngữ cho phép truy vấn gần Sesame, đó, sở tri thức biểu diễn phát biểu RDF thông thường, cịn câu truy vấn phát biểu SeRQL có kèm theo mức ngưỡng III NGÀY GIAO NHIỆM VỤ: 16/01/2006 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 24/07/2006 V CÁN BỘ HƯỚNG DẪN: PGS TS Cao Hoàng Trụ CÁN BỘ HƯỚNG DẪN (Đã kí) CN BỘ MƠN QL CHUN NGÀNH PGS TS Cao Hoàng Trụ Nội dung đề cương luận văn thạc sĩ Hội đồng chuyên ngành thông qua Ngày 10 tháng 08 năm 2006 TRƯỞNG PHÒNG ĐT – SĐH TRƯỞNG KHOA QL NGÀNH Lời cảm ơn Trước hết, xin gởi lời biết ơn chân thành đến Thầy Cao Hồng Trụ, người hướng dẫn cho tơi suốt trình thực đề tài Thầy tận tình hướng dẫn cho tơi từ phương pháp nghiên cứu khoa học đến cách thức trình bày vấn đề cách khoa học Sự tận tình dẫn Thầy giúp tơi hồn thành luận văn mong đợi thời gian hạn định Bên cạnh đó, xin gởi lời cảm ơn đến tác giả báo cơng trình mà sử dụng để nghiên cứu tham khảo luận văn tốt nghiệp Cuối cùng, xin cảm ơn ba mẹ chăm sóc động viên suốt trình thực luận văn tốt nghiệp i Tóm tắt RDF (Resource Description Framework) ngôn ngữ dùng để biểu diễn thông tin tài nguyên World Wide Web Nó dùng để biểu diễn kiện đối tượng thực tế có quan hệ với mặt ngữ nghĩa xem dạng đơn giản tri thức có cấu trúc Cùng với xuất nhiều hệ thống quản trị tri thức khác, Sesame hệ thống phát triển để lưu trữ, quản lý, rút trích thơng tin biểu diễn dạng RDF dùng phổ biến hệ thống quản lý thông tin tri thức lớn Sesame cung cấp ngôn ngữ truy vấn SeRQL (Sesame RDF Query Language) ngôn ngữ truy vấn mạnh việc xử lý phát biểu RDF Ngôn ngữ truy vấn dùng để truy hồi xác tri thức có sở tri thức quản lý Sesame Trong đó, ứng dụng web có ngữ nghĩa chủ yếu chương trình tìm kiếm Các chương trình phải đáp ứng yêu cầu trả lời kết không xác hay gần cho người sử dụng Để giúp hệ thống Sesame đáp ứng đòi hỏi thực tế này, tiến hành nghiên cứu thực động truy hồi gần dựa Sesame SeRQL để truy hồi kết có ngữ nghĩa gần với truy vấn người dùng Trong luận văn này, đưa cách tiếp cận cho việc tìm kiếm theo ngữ nghĩa cho hệ quản trị sở tri thức Sesame cách định nghĩa ngôn ngữ truy vấn mờ FSeRQL cho Sesame Bên cạnh đó, động tìm kiếm mờ cho ngôn ngữ thực để trả kết xấp xỉ cho người dùng, với độ đo tương tự bao phủ truy vấn kết Ngoài ra, việc thực từ đầu động tìm kiếm mờ để tìm kết có ngữ nghĩa gần với truy vấn người dùng việc làm nhiều thời gian cơng sức Do đó, luận văn này, sử dụng kĩ thuật biến đổi truy vấn để tận dụng lại khả tìm kiếm xác có sẵn Sesame Cụ thể là, câu truy vấn ngôn ngữ truy vấn mờ FSeRQL người sử dụng, sau phân tích cú pháp, ánh xạ sang câu truy vấn dạng ngôn ngữ SeRQL Sesame cách thay đổi kiểu khái niệm kiểu quan hệ mà người sử dụng truy vấn thành kiểu khái niệm kiểu quan hệ cha Ontology xét Sau đó, câu SeRQL kết dùng để truy vấn ii Tóm tắt iii tri thức kết động tìm kiếm xác Sesame Cuối cùng, độ đo tương tự bao phủ truy vấn gốc kết tính tốn trả cho người dùng Động tìm kiếm mờ với ngôn ngữ FSeRQL xây dựng tích hợp vào mã nguồn Sesame Cụ thể, chúng tơi thực động tìm kiếm dạng dịch vụ tìm kiếm mờ theo chuẩn giao thức HTTP để hỗ trợ người dùng truy vấn tìm kiếm mờ từ xa nhiều hệ điều hành khác nhận kết định dạng XML Ngồi ra, gói thư viện viết ngôn ngữ Java để cung cấp cho nhà phát triển ứng dụng dễ dàng truy xuất đến dịch vụ tìm kiếm mờ Gói thư viện thực tích hợp vào gói thư viện Sesame Mục lục Danh mục hình vi Danh mục bảng vii Chương Phát biểu vấn đề Chương Cơ sở lý thuyết 2.1 Các cơng trình trước vấn đề tìm kiếm mờ 2.1.1 Hướng tiếp cận xây dựng truy vấn mờ 2.1.2 Hướng tiếp cận thêm thông tin mờ vào hệ thống 2.2 Các độ đo ngữ nghĩa kiểu khái niệm quan hệ 2.2.1 Độ đo tương tự 2.2.2 Độ đo bao phủ 10 2.3 Hệ quản trị sở tri thức Sesame ngôn ngữ truy vấn SeRQL 10 2.3.1 Kiến trúc Sesame 11 2.3.2 Ngôn ngữ truy vấn SeRQL 13 Chương Ngôn ngữ truy vấn mờ FSeRQL Sesame 17 3.1 Ngôn ngữ truy vấn mờ FSeRQL 18 3.2 Ngữ nghĩa thành phần FSeRQL 21 3.3 Cú pháp FSeRQL 26 3.3.1 Khái niệm 26 3.3.2 Hình thức 30 Chương Giải thuật tìm kiếm mờ Sesame 33 4.1 Kĩ thuật biến đổi truy vấn 33 4.2 Ánh xạ truy vấn mờ FSeRQL sang truy vấn SeRQL 43 4.3 Giải thuật tìm kiếm mờ với ngơn ngữ truy vấn FSeRQL 46 Chương Dịch vụ tìm kiếm mờ Sesame 49 5.1 Bộ phân tích cú pháp cho FSeRQL 49 5.1.1 Thành phần javacc_options 50 5.1.2 Thành phần java_compiler_unit 51 5.1.3 Thành phần production 52 5.2 Cấu trúc lưu trữ thành phần FSeRQL 57 5.2.1 Biểu thức đường dẫn mệnh đề FROM 58 5.2.2 Biểu thức Boolean mệnh đề WHERE 58 iv Mục lục v 5.3 Hiện thực giải thuật tìm kiếm mờ 59 5.3.1 Tìm kiếm kết gần 59 5.3.2 Tính tốn độ đo truy vấn kết 61 5.3.3 Lọc kết trả dựa mức ngưỡng 66 5.4 Tích hợp chức tìm kiếm mờ vào Sesame 67 5.4.1 Ý tưởng thực 67 5.4.2 Xây dựng API cho phía Client 69 5.4.3 Xây dựng dịch vụ cho Sesame Server 69 Chương Kết luận 72 6.1 Kết đạt đánh giá 72 6.2 Hướng phát triển 78 Tài liệu tham khảo 79 Phụ lục: Văn phạm FSeRQL 81 Danh mục hình Hình 1: Một ví dụ tập mờ với biến ngôn ngữ Hình 2: Kiến trúc tổng quát Sesame 11 Hình 3: Mơ hình Sesame Server làm việc thông qua giao thức HTTP 12 Hình 4: Một đồ thị RDF minh họa biểu thức đường dẫn 14 Hình 5: Giải thuật tìm kiếm mờ 47 Hình 6: Lược đồ mơ tả q trình xử lý dịch vụ tìm kiếm mờ 70 Hình 7: Truy vấn FSeRQL có mệnh đề FROM 73 Hình 8: Truy vấn FSeRQL khơng có đoạn mức ngưỡng mệnh đề FROM 74 Hình 9: Truy vấn FSeRQL tìm kiếm tên thực thể 75 Hình 10: Truy vấn FSeRQL có biểu thức điều kiện WHERE 76 Hình 11: Truy vấn FSeRQL khơng có đoạn mức ngưỡng mệnh đề WHERE 77 vi Danh mục bảng Bảng 1: Sự ánh xạ tên biến kiểu biến sau bước biến đổi truy vấn 42 Bảng 2: Sự ánh xạ literal biến mặt nạ sau bước biến đổi truy vấn 42 Bảng 3: Sự ánh xạ kiểu thực thể truy vấn kiểu thực thể sau biến đổi truy vấn 42 vii Chương 5: Dịch vụ tìm kiếm mờ Sesame 69 vụ tìm kiếm mờ Sesame server, lấy kết từ liệu XML sau sử dụng hàm thư viện có sẵn để phân tích chuyển lại thành đối tượng Sesame nhớ trả cho người dùng 5.4.2 Xây dựng API cho phía Client Trong lớp quản lý chức truy xuất kho sở tri thơng qua giao thức HTTP HTTPRepository có thư viện hỗ trợ cho client, thêm vào phương thức hỗ trợ tìm kiếm mờ performFuzzyQuery() Quá trình thực phương thức tương tự cách thức thực phương thức hỗ trợ tìm kiếm xác có sẵn performTableQuery() Sesame Tuy nhiên, điểm khác biệt nhỏ tên servlet dùng để giao tiếp với Sesame Server evaluateFuzzyQuery evaluateTableQuery phương thức tìm kiếm xác Các thông số truyền vào thực gởi yêu cầu đến Sesame Server gồm định danh kho sở tri thức, câu truy vấn FSeRQL, ngôn ngữ truy vấn với mặc định FSeRQL, loại định dạng kết trả dạng XML dạng nhị phân Tuy nhiên, phía Sesame Server, hỗ trợ trả kết định dạng XML 5.4.3 Xây dựng dịch vụ cho Sesame Server Cách thức thực dịch vụ tìm kiếm mờ server cho phép giao tiếp thông qua HTTP dựa vào cách xây dựng dịch vụ truy vấn tìm kiếm xác Sesame từ biến đổi cho phù hợp Chúng thực chức đón nhận u cầu truy vấn tìm kiếm mờ từ client cách sử dụng công nghệ Servlet Java để thực lớp Servlet phía Sesame Server đặt tên FuzzyQueryServlet Đối tượng thuộc lớp đảm nhiệm việc đón nhận câu truy vấn mờ FSeRQL tên kho sở tri thức mà người dùng muốn thực truy vấn Qua hàm thư viện Sesame đối tượng đăng nhập tạo lúc người sử dụng đăng nhập, kiểm tra quyền thao tác người sử dụng kho sở tri thức đó, hợp lệ thực thi giải thuật tìm kiếm mờ để tìm kết trả về, khơng hợp lệ trả thơng báo lỗi tương ứng Tóm lại, mơ hình hoạt động dịch vụ tìm kiếm mờ với người dùng biểu diển lược đồ trình tự sau Chương 5: Dịch vụ tìm kiếm mờ Sesame 70 Hình 6: Lược đồ mơ tả q trình xử lý dịch vụ tìm kiếm mờ Sau thực thi thực thi giải thuật tìm kiếm mờ xong, liệu kết trả cho phía client Để tận dụng hàm thư viện xây dựng sẵn đối tượng kết trả về, thực trả kết theo định dạng XML mà Sesame quy định Từ việc lập trình cho gói thư viện hỗ trợ phía client thực đơn giản cách sử dụng parser kết XML mà Sesame xây dựng sẵn tận dụng phương thức đối tượng kết QueryResultsTable hỗ trợ sẵn Sesame Định dạng XML mà dịch vụ tìm kiếm mờ trả cho phía client sau tên cột thứ … tên cột thứ n URI … literal … Chương 5: Dịch vụ tìm kiếm mờ Sesame 71 … URI … Hằng literal … Ngoài ra, để tăng tính linh động bảo mật việc thực thi Servlet vào thời gian thực thi, thực việc đặt tên cho lớp Servlet mà thực mã nguồn fuzzySearch.fuzzyQueryServlet fuzzyQuery Sau đó, tên Servlet ánh xạ với mẫu URL dùng để truy xuất người sử dụng, cụ thể đặt tên mẫu URL cho dịch vụ tìm kiếm mờ >/servlets/evaluateFuzzyQuery/* Các thơng số viết thêm vào file cấu hình web.xml ứng dụng web Sesame Server sau fuzzyQuery fuzzySearch.fuzzyQueryServlet -1000 fuzzyQuery /servlets/evaluateFuzzyQuery/* Cách làm có điểm lợi chỗ khơng có ràng buộc cứng nhắc mẫu URL để gọi tên lớp Servlet lập trình Xét khía cạnh bảo mật, người sử dụng phía Client khơng biết đối tượng Servlet thực server thực thi vào thời điểm thực thi yêu cầu truy vấn, Web Server tự động ánh xạ mẫu URL với đối tượng thuộc lớp Servlet tương ứng file cấu hình XML đặt Web Server Ngoài ra, kĩ thuật cao cấp dùng để giúp cho người phát triển phía Server dễ dàng thay đổi nâng cấp phiên lớp Servlet cách thay đổi khai báo file cấu hình Chương Kết luận 6.1 Kết đạt đánh giá Phần trình bày kết đạt sau thực luận văn Ngôn ngữ truy vấn mờ FSeRQL mà định nghĩa cho phép người sử dụng đưa vào thành phần mức ngưỡng ràng buộc thành phần biểu thức đường dẫn biểu thức điều kiện vào câu truy vấn Một phân tích cú pháp cho ngơn ngữ xây dựng, kết hợp với kĩ thuật biến đổi truy vấn để ánh xạ sang ngôn ngữ truy vấn xác SeRQL Sesame Trong đó, tất kiểu khái niệm, kiểu quan hệ thay thành kiểu cha có Ontology mà bảo đảm tính đắn câu truy vấn Sau đó, câu truy vấn SeRQL dùng để truy vấn vào sở tri thức Sesame quản lý để tìm kiếm kết Cuối cùng, độ đo tương tự bao phủ truy vấn kết tính tốn, lọc dựa mức ngưỡng truy vấn FSeRQL, trả cho người dùng Động tìm kiếm mờ với ngôn ngữ truy vấn FSeRQL xây dựng tích hợp vào mã nguồn Sesame có khả giao tiếp với Client từ xa thông qua giao thức chuẩn HTTP với kết trả theo định dạng XML Đồng thời, thư viện hỗ trợ cho nhà phát triển ứng dụng phía Client thực nhằm dễ dàng giao tiếp với dịch vụ tìm kiếm mờ mà chúng tơi vừa xây dựng Chúng xây dựng ứng dụng Client cho phép người sử dụng soạn thảo câu truy vấn FSeRQL với chức cho phép lưu, mở file soạn thảo, thiết lập thơng số cấu hình với Sesame Server Ứng dụng sử dụng thư viện hỗ trợ cho nhà phát triển ứng dụng phía Client mà chúng tơi xây dựng để giao tiếp với Sesame Server dựa vào thơng số cấu hình cung cấp u cầu thực thi câu truy vấn FSeRQL Thư viện hỗ trợ nhà phát triển ứng dụng phía Client mà xây dựng đảm nhận việc tạo kết nối cần thiết lấy kết định dạng XML trả về, sau phân 72 Kết luận 73 tích chuyển thành đối tượng lưu trữ dạng bảng Ứng dụng Client mà xây dựng sử dụng đối tượng để hiển thị kết cho người sử dụng Qua thử nghiệm, nhận thấy rằng, thời gian đáp ứng trả lời truy vấn nhanh chấp nhận Thời gian thực việc phân tích cú pháp thực biến đổi truy vấn nhỏ Qua thực nghiệm, nhận thấy thời gian cho việc phân tích cú pháp biến đổi truy vấn trung bình tốn khoảng 1ms Phần lại, thời gian truy vấn Sesame chiếm khoảng 20% tổng thời gian thực truy vấn thời gian đo đạc, lọc kết chiếm khoảng 80% tổng thời gian thực truy vấn Như vậy, thời gian đáp ứng câu truy vấn phần lớn phụ thuộc vào thời gian để truy hồi kết thực tính tốn độ đo Tùy theo loại câu truy vấn mà số lượng kết nhiều hay Do đó, tốc độ xử lý để tìm kết khác thời gian để duyệt qua kết để tính tốn độ đo lọc giá trị độ đo kết thỏa mãn giá trị mức ngưỡng người dùng đưa vào khác Hình giao diện chương trình với truy vấn“Tìm kiếm dịch vụ y tế chăm sóc sắc đẹp định vị thành phố cấp một phần quốc gia Việt Nam” Hình 7: Truy vấn FSeRQL có mệnh đề FROM Kết luận 74 Khi người sử dụng không đưa đoạn mức ngưỡng vào mệnh đề FROM câu vấn để thực truy vấn “Tìm kiếm dịch vụ y tế chăm sóc sắc đẹp định vị thành phố cấp một phần quốc gia Việt Nam” hình Hình 8: Truy vấn FSeRQL khơng có đoạn mức ngưỡng mệnh đề FROM Chúng ta nhận thấy kết trả hình kết hình phải thỏa thêm điều kiện độ tương tự độ bao phủ truy vấn kết thuộc đoạn mức ngưỡng mặc định [1, 1] không truy vấn Tiếp theo, hình ví dụ cho trường hợp người sử dụng thực truy vấn “Tìm kiếm người nam có chức vụ đại biểu quốc hội Việt Nam khóa XI có tên Nơng Đức Mạnh” Kết luận 75 Hình 9: Truy vấn FSeRQL tìm kiếm tên thực thể Các độ đo kết hiển thị hình độ đo mệnh đề FROM truy vấn mệnh đề FROM kết với độ đo mệnh đề WHERE truy vấn mệnh đề WHERE kết Ở đây, đề cập đến độ đo hai mệnh đề WHERE, tính dựa độ đo cho giá trị thuộc tính chuỗi có hai mệnh đề WHERE Độ tương tự hai chuỗi độ bao phủ thực theo cơng trình [4] Chúng ta nhận thấy kết tương ứng với thực thể có danh hiệu Nam_106 cột x có tên lưu sở tri thức “NÔNG ĐỨC MẠNH” giống hồn tồn xác với truy vấn người sử dụng nên có kết trả 100% Các kết đo khác có kết nhỏ Điển hình, độ bao phủ mệnh đề WHERE truy vấn kết tương ứng với thực thể có danh hiệu Nam_2 cột x có tên “NGUYỄN MẠNH ĐỨC” có độ đo 64.5018% Điều giải thích chuỗi tên “NGUYỄN MẠNH ĐỨC” tính tốn giống với chuỗi tên “NÔNG ĐỨC MẠNH” độ đo 0.645018 Điều dẫn đến độ bao phủ mệnh đề WHERE truy vấn mệnh đề WHERE kết tương ứng cho thực thể Nam_2 64.5018% Còn độ tương tự tương ứng cho thực thể Nam_2 0% Một trường hợp khác độ đo cho thực thể Nam_156 cột x có tên Kết luận 76 “NƠNG THẾ CỪ” Chúng ta tính độ đo chuỗi tên “NƠNG ĐỨC MẠNH” “NÔNG THẾ CỪ” 0.491307 Kết độ bao phủ mệnh đề WHERE truy vấn mệnh đề WHERE kết tương ứng cho thực thể Nam_156 49.1307% Còn độ tương tự thực thể 0% Một ví dụ phát biểu truy vấn có mệnh đề WHERE hình 10 cho truy vấn “Tìm kiếm người nam có chức vụ đại biểu quốc hội Việt Nam khóa XI có tên Nơng Đức Mạnh với điều kiện tên người cần tìm t phải thỏa biểu thức điều kiện (t LIKE “NÔNG ĐỨC MẠNH” OR t LIKE “NÔNG THẾ CỪ”) SIM[0,1] SUB[0,1] AND (t LIKE “NGUYỄN MẠNH ĐỨC”) SIM[0,1] SUB[0,1] ” Hình 10: Truy vấn FSeRQL có biểu thức điều kiện WHERE Kết hình 10 gồm có hai độ đo cho mệnh đề FROM hai độ đo cho mệnh đề WHERE Ở đây, đề cập độ bao phủ cho mệnh đề WHERE Trong trường hợp này, mệnh đề WHERE gồm biểu thức điều kiện D1 (t LIKE “NÔNG ĐỨC MẠNH” OR t LIKE “NÔNG THẾ CỪ”) kết hợp với biểu thức điều kiện D2 (t LIKE “NGUYỄN MẠNH ĐỨC”) theo toán tử AND Điều có nghĩa là, người sử dụng muốn kết trả phải thỏa D1 D2 Kết luận 77 Xét trường hợp cụ thể thực thể có danh hiệu Nam_156 cột x có tên “NÔNG THẾ CỪ” Trên biểu thức D1, độ bao phủ chuỗi tên “NÔNG ĐỨC MẠNH” “NÔNG THẾ CỪ” 0.491307 độ bao phủ chuỗi tên “NÔNG THẾ CỪ” “NÔNG THẾ CỪ” Do đó, hai biểu thức điều kiện D1 kết hợp toán tử OR nên độ đo cho D1 1, giá trị thuộc đoạn [0, 1] Trên D2, độ bao phủ chuỗi tên “NÔNG THẾ CỪ” “NGUYỄN MẠNH ĐỨC” 0, giá trị thuộc đoạn [0, 1] Vì D1 D2 kết hợp với toán tử AND nên độ bao phủ mệnh đề WHERE (1+0)/2 = 50% Hình 11 trường hợp người sử dụng đặt câu truy vấn tương tự câu truy vấn hình 10 khơng có đoạn mức ngưỡng cho biểu thức điều kiện Trong trường hợp này, đoạn mức ngưỡng mặc định [1, 1] Hình 11: Truy vấn FSeRQL khơng có đoạn mức ngưỡng mệnh đề WHERE Kết luận 78 6.2 Hướng phát triển Trong cơng trình chúng tơi, tất giá trị đo mờ giá trị thuộc tính chúng tơi thực thành phương thức để gọi Tuy nhiên, có độ đo mờ giá trị thuộc tính chuỗi tên thực thể tác giả cơng trình [4] nghiên cứu chúng tơi áp dụng thực chương trình đề tài Các hàm đo cho giá trị thuộc tính khác trả khơng tương ứng với giá trị biến không với giá trị cần đo Điều có nghĩa độ đo mờ giá trị thuộc tính khác cần khảo sát, nghiên cứu thực thuộc tính diện tích, dân số, thời gian, … Do phạm vi giới hạn đề tài nên ngôn ngữ truy vấn FSeRQL đưa chưa cho phép dạng truy vấn có sử dụng từ khóa LIMIT, OFFSET dạng truy vấn có sử dụng tốn tử IN, EXIST, UNION, INTERSECT, MINUS Như vậy, vấn đề cần phát triển cho đề tài xây dựng dạng truy vấn FSeRQL có bổ sung thêm loại truy vấn có sử dụng LIMIT, OFFSET Bên cạnh đó, dạng truy vấn có sử dụng tốn tử IN, EXIST, UNION, INTERSECT, MINUS, ngữ nghĩa chúng vấn đề tìm kiếm mờ cần nghiên cứu thực để phát triển cho FSeRQL Ngoài ra, việc xây dựng động truy hồi tri thức mờ Sesame thực cách xây dựng sở tri thức mờ tương ứng cho sở tri thức quản lý Sesame Đây hướng tiếp cận khác cần nghiên cứu để xây dựng động tìm kiếm mờ khác cho Sesame Tài liệu tham khảo [1] Andreas Meier, Nicolas Werro, Martin Albrecht, Miltiadis Sarakinos 2005 Using a Fuzzy Classification Query Language for Customer Relationship Management Trong kỷ yếu hội nghị lần thứ 31 Very Large Data Base Endowment, Trondheim, Norway [2] Berners-Lee T., Hendler J., Lassila O 2001 The semantic web Trong tạp chí Scientific American [3] Cao Hoàng Trụ, Huỳnh Tấn Đạt 2005 Approximate retrieval of knowledge graphs Trong kỷ yếu The 11th International Fuzzy Systems Association Conference, Tsinghua-Springer, 652-657 [4] Cao Hoàng Trụ, Huỳnh Tấn Đạt 2006 Approximate knowledge graph retrieval: measures and realization Trong sách Sanchez E (Ed.): Fuzzy Logic and the Semantic Web, Elsevier Science, 283-304 [5] Christian Nancoz 2004 mEdit membership function editor for fCQL – based architecture Luận văn tốt nghiệp cao học, khoa CNTT, Đại học Fribourg (DIUF), 2/2004, Switzerland [6] Earl Cox 2000 FuzzySQL – A Tool for Finding the Truth: The Power of Approximate Database Queries Trong tạp chí PC AI, vol 14, phần 1, 48-51 [7] FuzzySQL Tutorial FuzzySQL For Concept – Based Data Exploration: http://www.scianta.com [8] Huỳnh Tấn Đạt, 2005 So trùng mờ đồ thị tri thức Luận văn tốt nghiệp cao học, Khoa CNTT, ĐHBK TP.HCM [9] JavaCC Parser: https://javacc.dev.java.net/ [10] José Galindo, Juan Miguel Medina, Olga Pons, Juan Carlos Cubero 1998 A Server for Fuzzy SQL Queries Trong sách T Andreasen, H Christiansen, H L Larsen (Eds): FQAS’98 (Flexible Query-Answering Systems), LNAI 1495, 1998 © Springer-Verlag Berlin Heidelberg 1998, 164-174 79 Tài liệu tham khảo 80 [11] Konstantinos A Nedas, Max J Egenhofer 2003 Spatial Similarity Queries with Logical Operators Trong kỷ yếu hội nghị quốc tế lần thứ Advance in Spatial and Temporal Database, Santorini Island, Greece, 24–27/7/2003, 430 – 448 [12] Leonid Tineo, Marlene Goncalves, Juan Carlos Eduardo 2004 A Fuzzy Querying System based on SQLf2 and SQLf3 Trong tạp chí CLEI 2004 [13] Leopoldo Pavesi, Angélica Urrutia 2004 Extending the capabilities of database queries using fuzzy logic Trong hội nghị Collaborative Electronic Commerce Technology and Research (CollECTeR LatAm 2004), 13-15/10/2004, Santiago, Chile [14] Nicolas Werro, Andreas Meier, Christian Mezger, Gunter Schindler 2005 Concept and Implementation of a Fuzzy Classification Query Language Trong kỷ yếu The 2005 International Conference on Data Mining, World Congress in Applied Computing, 23/6/2005, Las Vegas, USA [15] Patrick Bosc, Olivier Pivert 1994, Fuzzy Queries and Relational Databases Trong ACM Symposium on Applied Computing, 170-174 [16] Punam Bedi , Harmeet Kaur, Ankit Malhotra 2002 Fuzzy Dimension to Databases Trong The 37th National Convention of Computer Society of India, 11/2002, Bangalore, Ấn Độ [17] SeRQL Manual: http://www.openRDF.org/ [18] Vokorokos Liberios, Ádám Norbert, Baláž Anton 2005 Parallelism in Fuzzy Databases Trong 3rd Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence, Herl’any Slovakia, 21-22/1/2005, Budapest, Budapest Tech, Hungary, ISBN 963-7154-35-3, 175–183 Phụ lục: Văn phạm FSeRQL Query ::= Table_query (Namespace_list)? Namespace_list ::= "using" "namespace" Namespace ("," Namespace)* Namespace ::= Prefix_name "=" Full_uri Table_query ::= (Define_list)? Select_query Select_query ::= "select" Projection ("from" Graph_pattern)? Define_list ::= ("sim" "{" (functionNOT)? (functionAND)? (functionOR)? "}" )? ("sub" "{" (functionNOT)? (functionAND)? (functionOR)? "}" )? functionNOT ::= "and" "(" ")" ::= "complement" | "binary" functionAND ::= "and" "(" ")" ::= "min" | "avg" functionOR ::= "or" "(" ")" ::= "max" Projection ::= "*" | Projection_elem ("," Projection_elem)* Projection_elem ::= Var_or_value ("as" )? Graph_pattern ::= Path_expr_listF ("where" Boolean_exprF)? Path_expr_listF ::= Path_exprF ( "," Path_exprF)* Path_exprF ::= "(" Path_expr_list ")" ("sub" [ α , Boolean_exprF ::= And_exprF ("or" Boolean_exprF)? And_exprF ::= Boolean_elemF ("and" And_exprF)? 81 β1 ])? ("sim" [ α , β ])? 82 Phụ lục Boolean_elemF ::= "(" Boolean_expr ")" ("sub" [ λ1 , Path_expr_list ::= Path_expr ("," Path_expr)* Path_expr ::= Path_expr_head ((";")? Path_expr_tail)? Path_expr_head ::= Node Predicate Node Path_expr_tail ::= Predicate Node ((";")? Path_expr_tail)? Predicate γ ])? ("sim" [ λ , γ ])? ::= Var | Uri Node ::= "{" (Node_elem_list)? "}" Node_elem_list ::= Node_elem ("," Node_elem)* Node_elem ::= Var | Uri | BNode | Literal Boolean_expr ::= And_expr ("or" Boolean_expr)? And_expr ::= Boolean_elem ("and" And_expr)? Boolean_elem ::= "(" Boolean_elem ")" | "true" | "false" | "not" Boolean_elem | Var_or_value COMP_OP Var_or_value | Var_or_value "like" COMP_OP ::= "=" | "!=" | "=" Var_or_value ::= Var | Value Var ::= Nc_name Value ::= Uri | Literal | BNode Uri ::= FULL_URI | Qname Bnode ::= BNODE Phụ lục Literal 83 ::= (* A SeRQL literal, see section on literals *) | POS_INTEGER | NEG_INTEGER | DECIMAL ::= "" Qname ::= Prefix_name ":" * ::= " :_" Nc_name ::= "+" ? [0-9]+ ::= "-" ? [0-9]+ ::= ("+" | "-") ? [0-9]* "." [0-9]+ ::= '"' (* zero or more (encoded) characters *) '"' Prefix_name ::= * | "_" + Nc_name ::= ( | '_') * ::= (* see http://www.w3.org/TR/REC-xml-names/#NTNCNameChar *) ::= (* see http://www.w3.org/TR/REC-xml/#NT-Letter *) Num ::= POS_INTEGER | NEG_INTEGER | DECIMAL {với Num giá trị α i , β i , λi , γ i } ... truy vấn mờ FSeRQL Sau nghiên cứu văn phạm ngôn ngữ truy vấn SeRQL xem xét khả để đưa khái niệm mờ vào ngôn ngữ truy vấn này, đưa văn phạm ngôn ngữ truy vấn mờ FSeRQL có đặc điểm sau Truy vấn SELECT... thông tin mờ vào hệ thống Trong cách tiếp cận thứ hai này, tác giả đưa ngơn ngữ truy vấn mờ mà cịn xây dựng lại sở liệu mờ cho ngôn ngữ truy vấn mờ Các tác giả xây dựng số hệ thống sở liệu mờ MySQL,... ngơn ngữ câu truy vấn Cụ thể tác giả [18] đưa đầy đủ bốn loại truy vấn mờ trên MySQL Và tác giả [10], [13] đưa ngơn ngữ truy vấn mờ FSQL cho truy vấn chọn SELECT Khi người sử dụng thực truy vấn mờ,