Về mặt lý thuyết thì người ta có thể hoàn toàn xây dựng được một OWL Ontology mà không cần đến các công cụ để hỗ trợ, mà có thể thực hiện trực tiếp và thủ công bằng các ngôn ngữ như OWL. Tuy nhiên, nếu một Ontology có kích thước lớn và có cấu trúc phức tạp, thì việc thực hiện thủ công sẽ mất khá nhiểu thời gian và công sức. Thêm vào đó, việc xây dựng nên một Ontology không chỉ đòi hỏi việc tao ra các cấu trúc phân cấp, định nghĩa các thuộc tính, ràng buộc, v.v. mà nó còn liên quan đến việc kiểm tra tính đúng đắn và đầy đủ của Ontology, suy luận trên Ontology, v.v. Vì vậy, các công cụ hỗ trợ sẽ làm giảm được thời gian xây dựng cũng như có thể kiểm chứng được mô hình Ontology. Công cụ hỗ
trợ góp phần đắc lực trong việc xây dựng Ontology và ảnh hưởng rất lớn đến chất lượng của một hệ thống Ontology. Sau đây là một số các công cụ hỗ trợ xây dựng OWL Ontology:
1.4.2.1. Protégé
Protégé là một bộ phần mềm mã nguồn mở Java nổi tiếng, được nghiên cứu và phát triển từ năm 1978 do một nhóm nghiên cứu của Mark Musen, ĐH, Stanford, để quản lý thông tin trong lĩnh vực y học. Mã nguồn của Protégé có thể được tìm thấy tại website:
http://smi-protege.stanford.edu/repos/protege/owl/trunk. Các ưu điểm của Protégé là:
o Đầu tiên, công cụ này hỗ trợ đầy đủ ba phiên bản của ngôn ngữ OWL là OWL Lite, OWL DL và OWL Full.
o Thứ hai là, nhờ việc sử dụng mô hình hướng đối tượng của ngôn ngữ Java, Protégé tỏ ra rất hiệu quả trong việc mô hình các lớp, thực thể, và các mối quan hệ, v.v.
o Thứ ba, giao diện thiết kế của nó có tính trực quan và tính tương tác cao. Người sử dụng có thể định nghĩa các thành phần của Ontology bằng cách điền trực tiếp vào các form cho sẵn.
o Thứ tư, nó cho phép biểu diễn trực quan Ontology dưới dạng các sơ đồ.
o Thứ năm là nó cung cấp chức năng tìm kiếm lỗi, kiểm tra tính nhất quán và đầy đủ của Ontology. Để sử dụng, người thiết kế chọn chức năng Run Ontology Test và Check Consistency.
o Và cuối cùng, nó hỗ trợ sinh mã tự động. Protégé cho phép chuyển Ontology thành mã nguồn RDF/XML, OWL, DIG, Java, EMF Java Interfaces, Java Schema Classes. Các mã này có thể được nhúng trực tiếp vào ứng dụng và là đầu vào cho các thao tác trên Ontology khi cần.
Ngoài ra, nó còn cung cấp đầy đủ chuẩn giao tiếp cho các Plug-in. Và sau đây là giao diện của Protégé 3.4:
Hình 1.8. Giao diện Protégé 3.4.4.
Bên cạnh công cụ hỗ trợ xây dựng Ontology hữu hiệu như là Protégé, còn có một số công cụ khác, cũng hỗ trợ để xây dựng, và chỉnh sửa OWL Ontology rất trực quan và khá hiệu quả. Một trong số đó là Altova Semantic Works.
1.4.2.2. Altova SemanticWorks ® 2010
Altova SemanticWorks cung cấp sự hỗ trợ hiệu quả trong việc tạo ra và chỉnh sửa những OWL Ontology một cách rất trực quan.
Altova SemanticWorks ® 2010 hỗ trợ cả ba mức ngôn ngữ của OWL. Sử dụng SemanticWorks, ta có thể tạo ra những ontology phức tạp một cách trực quan, có các biểu tượng trực quan, v.v.
Altova SemanticWorks ® 2010 chia ra các thành phần khác nhau tạo nên một ontology thành năm mục: Classes (Các lớp), Properties (Thuộc tính), Instances (các ví dụ cụ thể), allDifferent và Ontologies. Trong mục Classes, nó hiển thị tất cả các lớp của ontology và một phần cửa sổ hiện ra sẽ là danh sách các thuộc tính và những thể hiện của lớp đó. Toàn bộ thuộc tính của ontology cũng được liệt kê trong mục Property, và có một cửa sổ ngăn cách là các mục liệt kê các miền của thuộc tính đó. Tất cả các thể hiện của lớp được liệt kê trong mục Instances, còn mục allDifferent là danh sách các mục (items) phân biệt với nhau trong một ontology. Và cuối cùng là mục Ontologies chứa tất cả các tài nguyên là các ontology, bao gồm các ontology đã được nhập vào file hiện tại.
Công cụ này cung cấp cấu trúc kiểm tra xem OWL ontology có thể chuyển thành đặc tả RDF/XML, đồng thời, nó cũng hỗ trợ việc kiểm tra ngữ nghĩa trong OWL DL và OWL Lite, và đưa ra các danh sách lỗi hoặc xung đột.
Hình 1.10. Giao diện Altova SematicWorks.
Hiện nay, còn rất nhiều công cụ có khả năng hỗ trợ tạo ra OWL Ontology, song Protégé là công cụ rất hữu ích để xây dựng một ontology một cách rất trực quan và được sử dụng khá phổ biến. Nó hỗ trợ khá chi tiết về các lớp, thuộc tính và mối quan hệ ràng buộc trong các ontology. Do vậy, chúng tôi sẽ sử dụng công cụ hỗ trợ Protégé 3.4 để tạo ra OWL Ontology trong bài khóa luận này. Và sau đây là một ví dụ về một OWL Ontology biểu diễn một hệ thống các sinh vật bằng Protégé:
Hình 1.11. Các lớp và thuộc tính với các ràng buộc.
Hình 1.13. Các thể hiện của lớp.
Chương 1 đã trình bày sơ lược về ngôn ngữ mô hình hóa thống nhất UML bao gồm các loại biểu đồ: biểu đồ ca sử dụng, biểu đồ lớp, biểu đồ đối tượng, biểu đồ trạng thái, biểu đồ tuần tự, biểu đồ cộng tác, và các thành phần trong mô hình UML. Bên cạnh đó, chương này cũng đề cập đến các khái niệm về Ontology, OWL và các thành phần chính của OWL. Và cuối cùng là một số các công cụ hỗ trợ tạo một OWL Ontology. Trong chương 2, tôi sẽ trình bày về các quy tắc để chuyển đổi từ mô hình UML sang OWL Ontology.
CHƯƠNG 2: CÁC QUY TẮC CHUYỂN ĐỔI TỪ MÔ HÌNH UML SANG OWL
ONTOLOGY