Chi tiết sự thực hiện (Implementation details)

Một phần của tài liệu QUẢN LÝ SỰ BIẾN ĐỔI TRONG PHÁT TRIỂN WEB ONTOLOGY (Trang 26)

Chúng tôi hình dung ra framework (nền tảng chung) của chúng tôi đề xuất như là một thành phần giúp các trình soạn thảo ontology. Framework chính nó không cung cấp các chức năng chỉnh sửa ontology, đúng hơn là nó thực hiện sự lắng nghe (cụ thể cho một trình soạn thảo ontology) để theo dõi và ghi nhận các biến đổi. Framework được thực hiện cho các ontology được định nghĩa trong RDF và tất cả các biến thể của OWL. Các thành phần khác nhau được thực hiện đầy đủ trên framework để thực thi các công việc liên quan đến quản lý lịch sử sự biến đổi. Ví dụ, các thành phần Change Logger, lưu giữ các biến

đổi và các thành phần phục hồi, nằm ở bên trên tất cả các thành phần khác, cung cấp các chức năng phục hồi ontology. Kiến trúc cơ bản của framework mô tả như trong hình 13. Với mô tả chi tiết của các thành phần được đưa ra trong [19].

Hình 13: Kiến trúc các thành phần cơ bản của Framework.

Để xác nhận làm việc trên framework đã đề xuất, chúng tôi cũng đã phát triển một

TabWidget plug-in, ChangeTracer Tab, cho trình soạn thảo ontology của Protégé. Thông tin chi tiết của các mô-đun khác nhau được đưa ra dưới đây:

6.1. Change listener

Mô-đun Change listener gồm nhiều listener chủ động giám sát các loại khác nhau của các biến đổi áp dụng cho mô hình ontology trong Protégé. Bảng 1 trình bày tất cả các

listener mà chúng tôi đã thực hiện bằng cách sử dụng Protégé OWL API. ProjectListener

lắng nghe các thay đổi liên quan đến dự án. Một trong những chức năng chính của nó là lắng nghe để lưu hoặc ra lệnh kích hoạt ChangeSet hoạt động trong CHL.

KnolwedgeBaseListenerlistener được sử dụng nhiều nhất để bắt giữ những biến đổi kể cả những biến đổi được kích hoạt bởi các listener khác. Sự chồng chéo các listener với

ClsListener, ClassListener, SlotListener và PropertyListener. FacetListener cũng trùng lặp với ClsListener, ClassListener, SlotListener và PropertyListener; Tuy nhiên, nó cũng

cung cấp thêm thông tin thay đổi liên quan. InstanceListener trùng lặp với KnolwedgeBaseListener để bắt giữ những biến đổi theo từng cấp. Khi một biến đổi xảy ra, listener tương ứng của nó thu thập thông tin cần thiết theo ngữ cảnh, chẳng hạn như tác nhân thay đổi, mục tiêu và cập nhật giá trị.

Bảng 1: Danh sách các change listener

6.2. Change Logger

Những thay đổi được bắt giữ bởi listener và được ghi lại cho phù hợp với CHO. Tất cả các thay đổi được xử lý ở mức độ nguyên tử. Ở khía cạnh này bao gồm cả hai thay đổi nguyên tử, chẳng hạn như xóa một khái niệm đơn lẻ hay phức tạp hơn, như là xóa một cây con liên quan đến nhiều khái niệm. Sự biến đổi nguyên tử dễ dàng để xử lý. Ngược lại, những biến đổi phức hợp sẽ khó khăn hơn để xử lý. Ví dụ, xóa một lớp ChangeAgent

cũng sẽ ảnh hưởng đến các lớp con của nó. Kết quả, mỗi yêu cầu thay đổi phải được xử lý ở cấp độ nguyên tử. Thành phần bản ghi cuối cùng của nhật ký đóng một vai trò quan trọng trong việc duy trì những thay đổi nguyên tử, lùi lại hoặc làm lại các thao tác, trong trường hợp thất bại. Thành phần bản ghi nhật ký sử dụng các bản ghi chi tiết trong CHO lưu trữ những biến đổi liên tục. Hình14 cho thấy chi tiết về lịch sử biến đổi. Trong bảng đưa ra các trường hợp ChangeSet khác nhau và việc lựa chọn một trường hợp ChangeSet

đặc biệt từ danh sách và thông tin liên quan của nó được hiển thị trong bảng (Resource infomation) bên dưới. Dropdown-box chứa chi tiết của tất cả các thay đổi tương ứng với ChangeSet được lựa chọn và màu sắc của nó thể hiện cho sự thay tương ứng. Khi một yếu tố thay đổi được chọn dropdown-box, thông tin thay đổi tương ứng của nó được hiển thị. Ví dụ: trong hình 14, thuộc tính biến đổi là hasReceivedDate được chọn có kiểu là thêm (addition) và các chi tiết tương ứng kèm theo.

Hình 14: Bảng ChangeSets và các thay đổi nguyên tử trong ontology

6.3. Change history log implementation

CHL là một kho lưu trữ theo dõi tất cả các biến đổi được thực hiện trong ontology. CHL cần thiết cho mục đích đảo ngược khi một kỹ sư ontology muốn lùi lại hoặc làm lại một vài biến đổi. Nhật ký sử dụng Jena dựa trên ba cách lưu trữ và mô tả thay đổi được cung cấp bởi CHO, để lưu giữ những thay đổi và sử dụng sau. Chi tiết của các ứng dụng CHL được đưa ra trong phần 4.

6.4. Parser

Công việc của Parser là: (1) Phân tích CHL cho tất cả ChangeSet(s) tương ứng với mô hình mở trong Protégé theo yêu cầu của người sử dụng. (2) Đưa ra những biến đổi nghịch đảo của những lưu trữ để phục hồi trạng thái trước đó của ontology, khi đó tất cả các trường hợp của RangeAddition sẽ được chuyển đổi sang RangeDeletion như thể hiện trong các hình 11 và hình 12. Trình tự áp dụng các biến đổi ngược trở lại cũng theo thứ tự ngược, nghĩa là những thay đổi trong một ChangeSet được áp dụng ở cuối sẽ được chuyển đầu tiên, tiếp theo là thay đổi thứ hai,… Những biến đổi ngược được trao cho các mô-đun đảo chiều (reverser) thực hiện những thay đổi theo thứ tự ngược lại. Hình15 hiển thị các truy vấn SPARQL nhằm phân tích những biến đổi ontology từ CHL. Các truy vấn này được thực hiện trên CHL bởi các module Parser trích xuất tất cả các thay đổi tương

ChangeSet theo thứ tự thời gian và sau đó dựa trên nhu cầu của người sử dụng,

ChangeSet thích hợp được lựa chọn và các biến đổi tương ứng của nó được lấy từ CHL. Sau đó, chi tiết của những biến đổi này được trích ra. Các truy vấn rất quan trọng cho mục đích phục hồi bao gồm cả rollbackrollforward.

6.5. Recovery

Module Recovery chịu trách nhiệm thực hiện các biến đổi được áp dụng trên các mô hình mở trong Protégé, chuyển tiếp hay đảo ngược, dựa theo yêu cầu của người sử dụng. Module này được kích hoạt khi một người dùng yêu cầu undo/redo bất kỳ thay đổi hoặc yêu cầu khôi phục lại trạng thái trước đó của ontology. Đối với bất kỳ yêu cầu ở trên, module Recovery yêu cầu module Paser lấy các mục ChangeSet được yêu cầu và tất cả các biến đổi tương ứng, module Paser trả về những thay đổi trong nhật ký của

ChangeSet tương ứng theo thứ tự ngược, module Recovery sau đó thực hiện những biến đổi này trên mô hình mở. Minh họa cho việc phục hồi và trực quan của hệ thống được trình bày trong [23].

6.6. Visualization

Các module Visualization chịu trách nhiệm cho việc trực quan hóa ontology, sự biến đổi ontology và tác động của nó lên ontology. Trực quan hóa có cấu trúc giống cấu trúc đồ thị hơn là cấu trúc cây, bởi vì ontology với lớp (class) và hệ thống phân cấp các lớp con (sub-class) cũng có thể có mối quan hệ liên kết với các lớp khác [26]. Hình16 là một giao diện trực quan của ontology và trực quan đường đi thông qua các trạng thái khác nhau của nó. Các thành phần của ontology (các khái niệm và các quan hệ) cũng như các biến đổi được thực hiện trong ontology được trực quan. Ảnh hưởng của những biến đổi này, ví dụ làm thế nào nó tiến hóa đến trạng thái hiện tại, được xác định bằng cách định hướng từ quá trình tồn tại của ontology. Để hình dung sự biến đổi, quá trình phân tích sự biến đổi ontology yêu cầu ChangeSets và những biến đổi tương ứng của nó. Những biến đổi được trở lại nguyên bản hoặc thực hiện trên ontology với sự trợ giúp của các module phục hồi để có trạng thái trước hoặc sau của ontology. Chúng tôi đã mở rộng Touch- Graph API để vẽ đồ thị trực quan cấu trúc ontology. Các lớp được biểu diễn như là các nút. Những nút được kết nối qua các thuộc tính, xem như cạnh của đồ thị. Hướng của một cạnh mô tả hướng mối quan hệ giữa các nút. Số bộ lọc được hỗ trợ trong graph view,

chẳng hạn như phóng to và thu nhỏ đồ thị. Phiên bản sửa đổi của thuật giải vẽ đồ thị

Spring [32] thực hiện sự trực quan hóa đảm bảo tính thẩm mỹ cho cấu trúc đồ thị và các nút được phân định rõ ràng. Chúng tôi đã cung cấp các tính năng playback và play- forward được sử dụng không những trên sự biến đổi ontology mà còn có thể điều hướng được. Việc trực quan điều hướng những biến đổi và các hiệu ứng thay đổi trên ontology giúp trong việc phân tích các xu hướng (Hình 16). Bắt đầu từ bản ontology đầu tiên, người dùng có thể thực hiện những biến đổi ontology và các hiệu ứng của nó trên ontology. Các khái niệm thay đổi được đánh dấu và tô màu để phản ánh sự thay đổi. Ví dụ, các khái niệm bị xóa sẽ mờ dần và khái niệm thêm mới sẽ dần dần xuất hiện trong đồ thị. Điều này cải thiện sự hiểu biết về lịch sử tiến hóa của ontology.

Hình 16: Đồ thị trực quan của ontology với tính năng xem lại lịch sử thay đổi. Người dùng có thể trực quan điều hướng thông qua các thay đổi ontology.

Một phần của tài liệu QUẢN LÝ SỰ BIẾN ĐỔI TRONG PHÁT TRIỂN WEB ONTOLOGY (Trang 26)