Truy vấn kho các trang Web có ngữ nghĩa

Một phần của tài liệu Nghiên cứu phát triển các kỹ thuật xây dựng và khai thác thông tin web có ngữ nghĩa (Trang 115 - 120)

Trong VN-KIM, ngoài cơ sở tri thức còn có một kho các trang Web đã được VN-KIM IE chú thích ngữ nghĩa. Để người dùng có thể tìm kiếm các trang Web này theo các thực thể có tên, thay vì theo từ khoá, Lucence được sử dụng để quản trị kho trang Web này ([88]).

Như đã giới thiệu trong Chương 2, Lucene là một thư viện mã nguồn mở cung cấp các phương thức để lập chỉ mục tài liệu theo các trường dữ liệu mà người dùng quy định như trường nội dung, trường tiêu đề, …, và để lưu trữ tài liệu, tìm kiếm tài liệu theo các trường và sắp xếp các kết quả tìm được.

Dựa trên thư viện của Lucene chúng tôi đã xây dựng RMILuceneServer để phục vụ việc bổ sung và khai thác kho trang Web đã chú thích thông qua giao thức RMI. Bên cạnh đó, do RMI thường bị chặn bởi các tường lửa, chúng tôi xây dựng thêm HTTPLuceneServer để các chương trình ứng dụng khai thác thông qua giao thức HTTP.

HTTPLuceneServer thực chất là RMILuceneServer được đắp thêm một lớp HTTP để truyền nhận dữ liệu với ứng dụng khách, như mô tả ở Hình 5.4.1.

Hình 5.4.1 Kiến trúc của HTTPLuceneServer

Nhiệm vụ của lớp HTTP là nhận yêu cầu của người dùng, sau đó kết nối đến RMILuceneServer bằng giao thức RMI để lấy về đối tượng QueryServer và gọi các phương thức xử lý từ đối tượng này. Kết quả sau khi truy vấn sẽ được lớp HTTP trả về cho người dùng. Thông qua lớp HTTP, người dùng có thể gửi yêu cầu để lấy số lượng kết quả được tìm thấy hoặc lấy tất cả các tài liệu kết quả có thể có trong kho tài liệu đã được chú thích của VN-KIM.

Để thực hiện việc truy vấn tìm tài liệu, phía người dùng phải gửi dữ liệu theo dạng

“conceptID=ID@ID@...@ID” với ID là định danh của các thực thể. Các ID trong chuỗi định dạng phải được phân cách bởi dấu ‘@’ và điều này có nghĩa là Lucene phải trả về tất cả các tài liệu có chứa đồng thời các ID trên. Các ID này sẽ được lớp HTTP phân tách thành các ID riêng biệt và được lưu trữ trong một chuỗi để gửi đến RMILuceneServer như là thông số đầu vào của các phương thức được gọi.

Sau khi đã xử lý truy vấn ở Lucene, lớp HTTP đảm nhận việc gởi kết quả về phía người dùng. Với yêu cầu lấy về số kết quả có thể có, lớp HTTP sẽ trả về một số nguyên cho người dùng. Tuy nhiên, với yêu cầu thứ hai nói trên, nó phải tiến hành xây dựng lại kết quả trả về từ RMILuceneServer theo một chuẩn mà người dùng có thể hiểu. Chuẩn được quy định ở đây là một đoạn văn bản có cấu trúc XML. Cấu trúc của đoạn văn bản này được mô tả ở Hình 5.4.2.

Tóm lại, với thiết kế này, giao tiếp giữa người dùng và máy chủ tuân theo giao thức HTTP, các kết nối thông qua giao thức RMI hoàn toàn chỉ xảy ra ở phía máy chủ Lucene.

Do đó, vấn đề về tường lửa cho RMI sẽ được giải quyết. Hơn nữa, thiết kế trên rất dễ dàng để mở rộng HTTPLuceneServer với những chức năng khác cung cấp cho người dùng. Khi đó, với mỗi chức năng mới được thêm vào, người phát triển chỉ cần viết một Servlet khác cho chức năng mới này.

Để người dùng có thể gởi yêu cầu đến HTTPLuceneServer, máy chủ cung cấp một tập các API cho phía người sử dụng. Đối tượng HTTPService được xây dựng như một đối tượng cung cấp dịch vụ cho người dùng. Để khởi tạo đối tượng này, người dùng phải cung cấp địa chỉ URL đến HTTPLuceneServer. Trong quá trình khởi tạo, các đối tượng URL kết nối đến các Servlet xử lý cụ thể ở phía máy chủ cũng được tạo ra. Bảng 5.4.1 liệt kê các ví dụ về ba đối tượng URL để kết nối đến HTTPLuceneServer.

<xmlQueryResult>

<tuple>

<URI>URI của tài liệu</URI>

<lastModified>Ngày cập nhật tài liệu lần cuối </lastModified>

<summary>tóm tắt sơ lược của tài liệu</summary>

</tuple>

...

<tuple>

<URI>URI của tài liệu</URI>

<lastModified>Ngày cập nhật tài liệu lần cuối </lastModified>

<summary>tóm tắt sơ lược của tài liệu</summary>

</tuple>

</xmlQueryResult>

Hình 5.4.2 Cấu trúc XML của kết quả trả về

Bảng 5.4.1 Các URL để kết nối đến HTTPLuceneServer

URL Ghi chú

URL để kết nối đến HTTPLuceneServer http://172.28.10.27:8080/WebModuleLucene/

Máy chủ Lucene đang chạy ở máy có địa chỉ IP là 172.28.10.27 và cổng giao tiếp là 8080 URL đến Servlet xử lý yêu cầu trả về số lượng kết quả có thể

http://172.28.10.27:8080/WebModuleLucene/getlengthresu ltservlet?

Các đối số nếu có sẽ được thêm vào cuối sau ký tự “?”

URL đến Servlet yêu cầu trả về tất cả các tài liệu tìm kiếm được

http://172.28.10.27:8080/WebModuleLucene/searchdocum entservlet?

Thông qua đối tượng HTTPService, người dùng có thể gọi hai phương thức tương ứng với hai loại yêu cầu được đề cập ở trên. Phương thức thứ nhất là getLengthOfResult()

với thông số đầu vào là một chuỗi các định danh của thực thể phân cách nhau bằng dấu

‘@’. Phương thức này tương ứng với yêu cầu lấy về số lượng kết quả có thể có. Phương thức thứ hai là phương thức performDocumentQuery(). Trong đó, thông số đầu vào cũng là một chuỗi các định danh tương tự như phương thức thứ nhất. Phương thức này tương ứng với yêu cầu máy chủ tìm và trả về tất cả các tài liệu tìm kiếm được có chứa các định danh trên.

Việc gọi các phương thức trên thực chất là kết nối đến các Servlet xử lý của lớp HTTP tương ứng bằng các URL tương ứng. Ngoài ra, trước khi kết nối, HTTPService sẽ xây dựng lại dữ liệu truyền đi dựa vào các thông số đầu vào của các phương thức theo chuẩn như đã trình bày ở trên. Ví dụ, URL để kết nối đến Servlet lấy về tất cả các tài liệu con sông có định danh sông_1907 và huyện có định danh huyện_1820 là:

http://172.28.10.27:8080/WebModuleLucene/searchdocumentservlet?conceptID=

sông_1907@huyện_1820

Các phương thức và API trình bày ở trên đã được dùng trong phần mềm soạn thảo truy vấn và truy hồi thông tin, và phần mềm để chú thích ngữ nghĩa các trang Web và truy hồi thông tin qua giao diện Web của VN-KIM. Một trong những chức năng của các phần mềm này là tìm kiếm và hiển thị các tài liệu Web đã được chú thích cho người dùng.

Ch−ơng 6

Xây dựng hệ thống máy chủ và xử lý song song

các yêu cầu

Chương 6

Xây dựng hệ thống máy chủ và xử lý song song các yêu cầu

Một phần của tài liệu Nghiên cứu phát triển các kỹ thuật xây dựng và khai thác thông tin web có ngữ nghĩa (Trang 115 - 120)

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

(208 trang)