Khóa luận Chuyển đổi từ mô hình UML sang OWL ontology và ứng dụng

ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
====================***==================  
Giáp Thị Ngọc Thúy  
CHUYỂN ĐỔI TỪ MÔ HÌNH UML SANG OWL  
ONTOLOGY VÀ ỨNG DỤNG  
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY  
Ngành: Công nghệ thông tin  
HÀ NỘI - 2010  
ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
====================***==================  
Giáp Thị Ngọc Thúy  
CHUYỂN ĐỔI TỪ MÔ HÌNH UML SANG OWL  
ONTOLOGY VÀ ỨNG DỤNG  
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY  
Ngành: Công nghệ thông tin  
Cán bộ hướng dẫn: ThS.Vũ Diệu Hương  
Cán bộ đồng hướng dẫn: ThS. Đặng Việt Dũng  
HÀ NỘI - 2010  
1
LỜI CẢM ƠN  
Bài khóa luận “Chuyển đổi từ mô hình UML sang OWL Ontology và ứng  
dụng” của em được hoàn thành bên cạnh nhsự nỗ lực của bản thân, em còn  
được sự chỉ bảo tận tình từ phía các thy cô để giúp em hoàn thành khóa luận này.  
Em xin chân thành cảm ơn các thầy cô trong bộ môn Công nghệ phần mềm  
– khoa CNTT – trường ĐH Công Nghệ đã tạo cơ hội cho em thực hiện khóa  
luận này. Đặc biệt là tới cô Vũ Diệu Hương và thầy Đặng Việt Dũng, là những  
người đã tận tình giúp đỡ và trực tiếp hướng dẫn để em hoàn thành được khóa  
luận này.  
Cuối cùng, em kính mong nhận được những ý kiến đóng góp của thầy cô để  
khóa luận này của em được hoàn chỉnh hơn. Em xin chân thành cảm ơn.  
Giáp Thị Ngọc Thúy  
Khoa Công nghệ thông tin  
Trường Đại học Công ngh- ĐHQGHN  
2
MỤC LỤC  
TÓM TẮT NỘI DUNG ................................................................................................7  
MỞ ĐẦU......................................................................................................................8  
CHƯƠNG 1: GIỚI THIỆU VỀ UML VÀ OWL ONTOLOGY ....................................9  
1.1. Ngôn ngữ UML (Unified Modeling Language) ..............................................9  
1.1.1. Ngôn ngữ mô hình hóa UML ..................................................................9  
1.1.2. Một số thành phần chủ yếu của ngôn ngữ UML ......................................9  
1.2. Ontology ......................................................................................................14  
1.3. OWL (Web Ontology Language)..................................................................14  
1.3.1. Các mức của OWL................................................................................15  
1.3.2. Bản mô tả từ vựng ngôn ngữ OWL Lite ................................................15  
1.4. OWL Ontolgogy...........................................................................................24  
1.4.1. Các phần tử trong OWL Ontology.........................................................25  
1.4.2. Một số công cụ hỗ trợ việc xây dựng OWL Ontology............................25  
CHƯƠNG 2: CÁC QUY TẮC CHUYỂN ĐỔI TỪ MÔ HÌNH UML SANG OWL  
ONTOLOGY..............................................................................................................32  
2.1. Giới thiệu .....................................................................................................32  
2.2. Quy tắc chuyển đổi từ mô hình UML sang OWL Ontology ..........................32  
2.2.1  
Gói (Package)........................................................................................33  
2.2.2. Lớp (Class)............................................................................................34  
2.2.3. Chú thích...............................................................................................35  
2.2.4. Giao diện (Interface) .............................................................................36  
2.2.5. Tổng quát hóa........................................................................................36  
2.2.6. Liên kết (Association) ...........................................................................37  
2.2.7. Các vai trò (Roles).................................................................................41  
2.2.8. Các thuộc tính (Attributes) ....................................................................41  
2.2.9. Ràng buộc số lượng...............................................................................42  
2.2.10. Mối quan hệ phụ thuộc..........................................................................44  
2.2.11. Liệt kê...................................................................................................45  
2.2.12. Kết tập...................................................................................................46  
2.2.13. Phương thức..........................................................................................47  
CHƯƠNG 3: QUY TRÌNH THỰC HIỆN KIỂM TRA KẾT QUẢ ÁP DỤNG MẪU  
VÀO MÔ HÌNH THIẾT KẾ UML .............................................................................50  
3.1. Giới thiệu .....................................................................................................50  
3.2. Mẫu Union Pattern (UP)...............................................................................50  
3.2.1. Giới thiệu ..............................................................................................50  
3.2.2. Các tính chất cấu trúc cần đảm bảo........................................................51  
3.2.3. Một số trường hợp áp dụng sai mẫu Union Pattern................................52  
3.3. Mẫu thiết kế Composite................................................................................53  
3.4. Bài toán........................................................................................................55  
3.4.1. Các bước thực hiện................................................................................56  
3
CHƯƠNG 4: KIỂM TRA KẾT QUẢ TÍCH HỢP MẪU UNION PATTERN VÀO MÔ  
HÌNH THIẾT KẾ HÀNH VI CÁC CON VẬT ...........................................................58  
4.1. Mô tả bài toán cụ thể ....................................................................................58  
4.2. Các bước thực hiện.......................................................................................60  
4.2.1. Bước 1: Biển đổi hai biểu đồ lớp UML sang siêu mô hình.....................60  
4.2.2. Bước 2: Chuyển đổi từ siêu mô hình UML sang OWL Ontology...........60  
4.2.3. Các luật ràng buộc :...............................................................................73  
4.2.4. Bước 3: Kiểm tra bằng công cụ .............................................................75  
4.3. Kết quả kiểm tra và đánh giá. .......................................................................75  
CHƯƠNG 5: TỔNG KẾT ..........................................................................................76  
5.1. Kết quả đạt được: .........................................................................................76  
5.2. Kết luận........................................................................................................76  
PHỤ LỤC 1................................................................................................................77  
PHỤ LỤC 2................................................................................................................91  
Tài liệu tham khảo ....................................................................................................104  
4
DANH MỤC BẢNG BIỂU  
BẢNG 1: BẢNG MÔ TẢ TỪ VỰNG CỦA OWL LITE. ...........................................16  
BẢNG 2. CẤU TRÚC TỪ VỰNG OWL LITE MÔ TẢ RÀNG BUỘC .....................16  
BẢNG 3. BẢNG TỪ VỰNG XÂY DỰNG THÔNG TIN VỀ PHIÊN BẢN VÀ CHÚ  
THÍCH........................................................................................................................16  
BẢNG 4. CÁC KIỂU DỮ LIỆU.................................................................................17  
BẢNG 5: BẢNG LIỆT KÊ CÁC QUY TẮC CHUYỂN ĐỔI .....................................32  
DANH MỤC HÌNH VẼ  
......................................10  
Hình 1.1. Biểu đồ Ca sử dụng của một công ty bảo hiểm. [1]  
...........................................................10  
Hình 1.2. Biểu đồ trình tcho Print Server. [1]  
Hình 1.3. Biểu đồ cộng tác của hệ thống Đặt Sách  
......................................................11  
...........................................................................11  
Hình 1.4. Biểu đồ lớp Thư Viện. [7]  
..............................................12  
Hình 1.5. Biểu đồ lớp và biểu đồ đối tượng của lớp. [1]  
..................................................................................12  
Hình 1.6. Biểu đồ trạng thái. [1]  
...................................................13  
Hình 1.7. Các thành phần mô hình thường dùng. [1]  
..............................................................................27  
Hình 1.8. Giao diện Protégé 3.4.4.  
................................................................28  
..............................................................29  
Hình 1.9. Giao diện Altova SematicWorks.  
Hình 1.10. Giao diện Altova SematicWorks.  
Hình 1.11. Các lớp và thuộc tính với các ràng buộc.  
...................................................30  
..........................................................................................30  
Hình 1.12. Các thuộc tính.  
.................................................................................31  
Hình 1.13. Các thể hiện của lớp.  
.................................................................................................33  
Hình 2.1. Kí hiệu gói.  
................................................................................................33  
Hình 2.2. Ví dụ về gói.  
.......................................................................................34  
Hình 2.3. Kí hiệu Lớp UML.  
................................................................................35  
Hình 2.4. Ví dụ minh họa lớp ảo.  
Hình 2.5. Ví dụ minh họa Interface.  
Hình 2.6. Minh họa quan hệ thừa kế.  
Hình 2.7. Lớp Author liên kết với lớp Computer.  
............................................................................36  
..........................................................................37  
........................................................38  
.....................................................................38  
Hình 2.8. Minh họa liên kết một hướng.  
.................................................................39  
Hình 2.9. Minh họa mối liên kết hai chiều.  
..............................................................................................40  
Hình 2.10. Lớp liên kết.  
........................................................................41  
..........................................................................41  
.......................................................................42  
Hình 2.11. Ví dminh họa các vai trò.  
Hình 2.12. Minh họa thuộc tính lớp.  
Hình 2.13. Minh họa ObjectPropeprty.  
Hình 2.14. Sơ đồ lớp biểu diễn hệ thống quản lý dịch vụ tiết kiệm.  
.............................42  
......................................................................44  
Hình 2.15. Minh họa mối sự phụ thuộc.  
....................................................................................45  
Hình 2.16. Quan hệ phụ thuộc.  
................................................................................46  
Hình 2.17. Minh họa kiểu liệt kê.  
Hình 2.18. Minh họa mối quan hệ kết tập.  
...................................................................47  
5
..........................................................48  
Hình 2.19. Siêu mô hình của biểu đồ lớp UML.  
Hình 3.1. Mô hình của mẫu Union Pattern. .................................................................51  
Hình 3.2. Ví dụ về mô hình áp dụng mẫu Union Pattern. ............................................52  
Hình 3.3. Trường hợp áp dụng sai mẫu UP. ................................................................52  
Hình 3.4. Trường hợp áp dụng sai mẫu UP. ................................................................52  
Hình 3.5. Trường hợp áp dụng sai mẫu UP. ...............................................................53  
Hình 3.6. Cấu trúc mẫu Composite .............................................................................53  
Hình 3.7. Trường hợp áp dụng mẫu Composite đúng..................................................54  
Hình 3.8. Mô hình ban đầu.........................................................................................54  
Hình 3.9. Trường hợp áp dụng sai mẫu Composite .....................................................55  
Hình 3.10. Các bước trong quy trình kiểm tra. ............................................................57  
Hình 4.1. Các lớp UML ban đầu. ................................................................................58  
Hình 4.2. Biểu đồ lớp sau khi tinh chế áp dụng mẫu Union Pattern.............................59  
60  
Hình 4.3. Siêu mô hình của các biểu đồ lớp...................................................................  
Hình 4.4. Các lớp sau khi chuyển đổi từ siêu mô hình bằng công cụ Protégé. .............61  
Hình 4.5. Các thuộc tính của lớp Class. ......................................................................61  
Hình 4.6. Thuộc tính của lớp Operation......................................................................62  
Hình 4.7. Thuộc tính của lớp Parameter. ....................................................................63  
Hình 4.8. Thuộc tính lớp Parameter_Direction_Kind. ................................................64  
Hình 4.9. Thuộc tính của lớp Visibility........................................................................64  
Hình 4.10. Toàn bộ thuộc tính của các lớp..................................................................65  
Hình 4.11. Các thể hiện của lớp Class.........................................................................66  
Hình 4.12. Các thể hiện của lớp Operation. ................................................................67  
Hình 4.13. Các Thể hiện của lớp Parameter. ..............................................................68  
Hình 4.14. Các thể hiện của lớp Parameter.................................................................69  
Hình 4.15. Các thể hiện của lớp Parameter_Direction_Kind .......................................69  
Hình 4.16. Các thể hiện của lớp Visibility_Kind..........................................................70  
Hình 4.17. Các thể hiện của lớp Class.........................................................................70  
Hình 4.18. Các thể hiện của lớp Class: lớp Mammal...................................................71  
Hình 4.19. Các thể hiện của lớp Operation. ................................................................71  
Hình 4.20. Thể hiện của lớp Operation: phương thức makeSound của lớp Mammal. ..72  
Hình 4.21. Thể hiện của lớp Operation: phương thức makeSound trong lớp Cat. ........72  
Hình 4.22. Thể hiện của lớp Parameter. ......................................................................73  
BẢNG CHỮ VIẾT TẮT  
OWL  
UML  
UP  
Web Ontology Language  
Unified Modeling Language  
Union Pattern  
Object Constraint Language  
OCL  
6
TÓM TẮT NỘI DUNG  
Ngôn ngữ mô hình hóa UML được sử dụng phổ biến nhất trong công nghệ  
phần mềm nhưng lại không đủ chặt chẽ và chưa có công cụ hỗ trợ kiểm tra tính  
đúng đắn của đặc tả. Do vậy, chúng ta thường phải kết hợp với các ngôn ngữ đặc tả  
khác để thu được bản đặc tả hệ thống vừa trực quan, dễ hiểu vừa có ngữ nghĩa chặt  
chẽ, được kiểm tra tự động bởi các công c. Và trong quá trình áp dụng các mẫu  
thiết kế để thu được một mô hình thiết kế tối ưu hơn, ta có thể gặp phải những sai  
sót. Do vậy, ta cần phải kiểm tra xem mô hình thu được có thỏa mãn các tính chất  
của mẫu hay không. Điều đó rất quan trọng để có thgiảm thiểu rủi ro và tăng hiệu  
quả trong quá trình phát triển phần mềm. Trong khóa luận này, tôi sẽ vận dụng các  
quy tắc chuyển đổi đặc tả UML sang OWL, từ hai mô hình thiết kế ban đầu và sau  
khi áp dụng mẫu, ta sẽ thu được hai đặc tả OWL, từ đó ta kết hợp với các ràng buộc  
được viết bằng ngôn ngữ đặc tả OCL hoặc Prolog, và với các công cụ kiểm tra tự  
động, ta sẽ kiểm tra hai đặc tả OWL có tương đương nhau hay không, cũng tức là  
hai mô hình đó có tương đương nhau hay không. Do đó, khóa luận của tôi stập  
trung vào quy trình chuyển từ đặc tả UML sang đặc tả OWL, kết hợp với các ngôn  
ngữ đặc tả OCL, Prolog để cho ngữ nghĩa của các đặc tả chặt chẽ hơn. cũng tiến  
hành thử nghiệm ứng dụng quy trình này để kiểm tra kết quả áp dụng mẫu thiết kế  
trong phát triển phần mềm hướng đối tượng.  
7
MỞ ĐẦU  
UML là ngôn ngmô hình hóa thống nhất, với các kí hiệu trực quan nên  
được sử dụng phổ biến trong ngành công nghiệp phần mềm. Một mô hình UML  
thường chứa nhiều biểu đồ thể hiện các khía cạnh khác nhau của hệ thống và  
thêm vào đó là các ràng buộc được mô tả bằng lời hoặc bằng ngôn ngữ ràng buộc  
đối tượng để cho ngữ nghĩa của các yếu tố mô hình được chặt chẽ hơn.  
Để kiểm tra các yếu tố mô hình UML có thỏa mãn một số thuộc tính đã  
được định nghĩa, chúng ta không thể thực hiện được bằng các công cụ đặc tả  
UML hiện tại. Cho đến nay, chúng ta thường phải chuyển mô hình UML sang đặc  
tbằng các ngôn ngữ có tính hình thức cao hơn và sử dụng các công cụ hỗ trợ  
ngôn ngữ đó để phân tích tính đúng đắn của đặc tả.  
Dựa trên hướng nghiên cứu này, chúng tôi đề xuất sử dụng ngôn ngữ OWL  
và Prolog để kiểm tra các yếu tố của mô hình UML. Theo cách tiếp cận này, các  
yếu tố của mô hình sẽ được chuyển đổi sang các yếu tố tương ứng của đặc tả  
OWL, còn các ràng buộc sẽ được mô tbằng Prolog. Khóa luận này tập trung vào  
tìm hiểu cách thức chuyển đổi từ đặc tả UML sang đặc tả OWL, sdụng Prolog  
để thể hiện các ràng buộc cho các yếu tố mô hình và thực hiện một ứng dụng thử  
nghiệm.  
Bài toán được chọn để thực hiện ứng dụng thử nghiệm là kiểm tra kết quả áp  
dụng mẫu thiết kế cho một mô hình UML cho trước. Mẫu thiết kế cung cấp giải  
pháp tốt để giải quyết các vấn đề gặp phải trong giai đoạn thiết kế. Các giải pháp  
này được thẩm định nhiều lần trong các dự án thực tế trước đây, và nếu áp dụng  
đúng các giải pháp mẫu đưa ra thì chúng ta sẽ thu được thiết kế có kiến trúc tốt  
hơn so với mô hình ban đầu. Tuy nhiên, trong thực tế đã có rất nhiều trường hợp  
áp dụng sai giải pháp mẫu đưa ra, dẫn đến mô hình thiết kế mới không thỏa mãn  
các tính chất cấu trúc của giải pháp mẫu.  
Khóa luận sẽ trình bày quy trình chuyển đổi các mô hình UML sang đặc tả  
bằng ngôn ngữ OWL, các tính chất cấu trúc của giải pháp mẫu được mô tả bằng  
Prolog để có thể kiểm tra được tính đúng đắn của việc áp dụng mẫu bằng công cụ  
tự động. Việc xây dựng công cụ sử dụng ở đây được thực hiện bởi khóa luận tốt  
nghiệp của sinh viên Vũ Văn Thế.  
Cấu trúc của Khóa luận này bao gồm năm chương. Chương 1 trình bày khái  
quát về UML, OWL Ontology và bản mô tả từ vựng của OWL cùng các mức của  
nó. Chương 2 trình bày về các quy tắc chuyển đổi từ mô hình UML sang OWL  
Ontology. Chương 3 trình bày về quy trình thực hiện kiểm tra kết quả áp dụng  
mẫu vào mô hình thiết kế UML. Chương 4 sẽ thực hiện kiểm tra kết quả tích hợp  
mẫu Union Pattern vào mô hình thiết kế cụ thể, và chương 5 sẽ tổng kết những  
kết quả đạt được.  
Trước tiên, để hiểu được các quy tắc chuyển đổi từ UML sang OWL  
Ontology, ta cần hiểu được các khái niệm thế nào là UML, Ontology và OWL  
Ontology. Và chương 1 sẽ trình bày chi tiết và rõ ràng hơn về vấn đề này.  
8
CHƯƠNG 1: GIỚI THIỆU VỀ UML VÀ  
OWL ONTOLOGY  
1.1. Ngôn ngUML (Unified Modeling Language)  
1.1.1. Ngôn ngữ mô hình hóa UML  
Ngôn ngữ mô hình hóa UML là một ngôn ngữ biểu diễn mô hình theo  
phương pháp hướng đối tượng được xây dựng bởi ba tác giả là: James Rumbaugh,  
Grady Booch và Ivar Jacobson với mục đích là:  
Thứ nhất là tạo ra một công cụ để có thể mô hình hóa các hệ thống sử  
dụng các khái niệm hướng đối tượng.  
Thứ hai là, nó sthiết lập một mối liên htừ nhận thức của con người  
đến các sự kiện cần mô hình hóa.  
Thứ ba, nó sẽ giải quyết vấn đề về thừa kế trong các hệ thống phức tạp,  
có nhiều ràng buộc khác nhau.  
Và cuối cùng, nó tạo nên một ngôn ngữ mô hình hóa mà ccon người và  
máy tính đều có thể hiểu được.  
Như vậy, ngôn ngữ UML là ngôn ngữ biểu diễn mô hình, nó dựa trên một  
tập hợp các kí tự để xây dựng các mô hình của hệ thống. Mỗi một thành phần  
của nó mang một ý nghĩa khác nhau để có thể biểu diễn các khía cạnh khác nhau  
của hệ thống. Để tìm hiểu thêm về UML, phần tiếp theo chúng ta sẽ nói kĩ hơn  
vmột số thành phần cơ bản của nó.  
1.1.2. Một số thành phần chủ yếu của ngôn ngữ UML  
1.1.2.1. Các loại biểu đồ  
Trong UML có rất nhiều loại biểu đồ khác nhau được sử dụng để cung cấp  
một cái nhìn chi tiết nhất về tất các các khía cạnh của hệ thống. Đầu tiên là biểu  
đồ Ca sử dụng, sau đó là các Biểu đồ tuần tự, Biểu đồ cộng tác, Biểu đồ lớp, Biểu  
đồ đối tượng, Biểu đồ chuyển trạng thái, v.v..  
o
Biểu đồ Ca sử dụng  
Biểu đồ này mô tả chức năng mà hệ thống cung cấp, đó là các hành vi,  
nhiệm vụ của hệ thống người sử dụng mong muốn nó thực hiện, nó không  
miêu tả các chức năng hoạt động bên trong hệ thống ra sao.  
9
Hình 1.1. Biểu đồ Ca sử dụng của một công ty bảo hiểm. [1]  
Biểu đồ này được xây dựng ở giai đoạn đầu của công việc thiết kế, nó xác  
định chức năng theo các nhìn của người sử dụng và với mục đích là xác định ngữ  
cảnh của hệ thống, giúp nhà phát triển phần mềm nắm bắt được yêu cầu và kiểm  
chứng kiến trúc hệ thống [7]. Dựa vào các chức năng mà nó cung cấp, ta có thể  
xây dựng hệ thống ở mức chi tiết hơn ở các loại biểu đó sau đó.  
o Biểu đồ tuần tự  
Chỉ ra trình tự hoạt động giữa các đối tượng, thứ tự giữa các thông điệp gửi  
đi giữa các đối tượng và trình tự tương tác giữa các đối tượng theo sự sắp xếp về  
thời gian..  
Hình 1.2. Biểu đồ trình tự cho Print Server. [1]  
o Biểu đồ cộng tác  
Chỉ ra sự cộng tác giữa các đối tượng. Bên cạnh việc thể hiện các trao đổi  
thông điệp (còn gọi là sự tương tác), nó còn thể hiện các đối tượng và quan hệ  
giữa chúng.  
10  
Hình 1.3. Biểu đồ cộng tác của hệ thống Đặt Sách  
o Biểu đồ lớp  
Biểu đồ chỉ ra cấu trúc các lớp trong hệ thống. Các lớp quan hệ với nhau  
thông qua liên kết, phụ thuộc, tổng quát hóa hay đóng gói. Tất cả các mối quan hệ  
đó đều được thể hiện trong biểu đồ lớp, với cấu trúc bên trong của lớp gồm các  
khái niệm thuộc tính và phương thức [1]. Ví dụ:  
Hình 1.4. Biểu đồ lớp Thư Viện. [7]  
o Biểu đồ đối tượng  
Biểu đồ đối tượng chỉ ra một loạt các đối tượng thực thể của lớp thay vì các  
lớp. Một biểu đồ đối tượng là một ví dụ của biểu đồ lớp. dụ:  
11  
Hình 1.5. Biểu đồ lớp và biểu đồ đối tượng của lớp. [1]  
o Biểu đồ chuyển trạng thái  
Biểu đồ chuyển trạng thái chỉ ra các trạng thái mà các đối tượng của lớp đó  
có thể có và các sự kiện gây nên sự biến đổi trạng thái đó.  
Hình 1.6. Biểu đồ trạng thái. [1]  
Bên cạnh các loại biểu đồ, trong UML còn có các kí hiệu được sử dụng bên trong  
các loại biểu đồ, thể hiện các vai trò và ý nghĩa khác nhau hỗ trợ cho việc lập mô  
hình, và có thể đặc tả đầy đủ các khía cạnh của hệ thống.  
1.1.2.2. Các thành phần trong mô hình UML  
Đó là các kí hiệu được sử dụng trong biểu đồ. Nó là các phần tử của mô  
hình, thể hiện các khái niệm hướng đối tượng quen thuộc. Chẳng hạn như các  
phần tử: Lớp, Đối tượng, Trạng thái, Nút, Gói, Thành phần, .v.v. [1].  
12  
Hình 1.7. Các thành phần mô hình thường dùng. [1]  
Trong đó, một vài quan hệ đáng chú ý như sau:  
o
Liên kết (Association): Liên kết các phần tử và các thực thể với nhau.  
Kí hiệu:  
o
Tổng quát hóa (Generalization): Còn được gọi là tính kế thừa, với nghĩa  
rằng, phần tử này có thể là một sự chuyên biệt hóa của phần tử khác.  
Kí hiệu:  
o
Sự phụ thuộc (Dependency): Chỉ ra rằng một phần tử này phụ thuộc trong  
một phương thức nào đó với phần tử khác.  
Kí hiệu:  
o
Kết tập (Aggregation): Một dạng đặc biệt của liên kết, trong đó, một phần tử  
này chứa các phần tử khác.  
Kí hiệu:  
o Mối quan hệ thực hiện (Realization): Một quan hệ thực hiện chỉ ra một lớp  
thực hiện hành vi đặc tả bởi một lớp khác (thường là một giao diện)[7] và  
được kí hiệu:  
13  
1.2. Ontology  
Để thực hiện việc chuyển đổi từ UML sang OWL Ontology, trước hết ta hãy  
tìm hiểu các khái niệm thế nào là Ontology? và nó có những đặc điểm như thế  
nào. Trước tiên, thuật ngữ “Ontology”, nó có nghĩa là “bản thể học”. Đối tượng  
nghiên cứu chủ yếu của Ontology là các sự vật và phân loại chúng dựa vào các  
điểm đặc trưng mang tính bản chất của nó ở trong thực tế.  
Trong lĩnh vực công nghệ thông tin và khoa học máy tính, ontology còn là  
sự biểu diễn tri thức mang tính hình thức bằng việc thiết lập các khái niệm trong  
một miền lĩnh vực nào đó và các mối quan hệ giữa các khái niệm đó. Nó được sử  
dụng để suy luận về các đặc tính hoặc để mô tả miền lĩnh vực nào đó [9].  
Ontology có thể biểu diễn dựa trên các logic mô tả và khai thác được khả  
năng biểu diễn tri thức cũng như khả năng lập luận hiệu quả của logic mô tả. Vì  
thế, chúng ta sử dụng Ontology với các mục đích:  
o Thứ nhất là để chia sẻ những tri thức về các khái niệm, cấu trúc thông tin  
giữa con người hoặc giữa các hệ thống phần mềm. Ontology giống như  
một cuốn từ điển chuyên ngành, nó sẽ cung cấp và giải thích các thuật ngữ  
cho người dùng khi được yêu cầu.  
o Thứ hai, nó sẽ cho phép tái sử dụng tri thức. Chúng ta có thể trộn hai hay  
nhiều Ontology với nhau, và sử dụng lại các khái niệm được định nghĩa  
trong các Ontology này. Bài toán đặt ra làm cách nào để bổ xung các quan  
hệ, thuộc tính sẵn có vào một hệ thống mới hay đó chính là vấn đề tái sử  
dụng tri thức.  
Và thứ ba là nó đưa ra các giả thiết rõ ràng về miền lĩnh vực. Ontology có  
thdễ dàng thay đổi sự thực thi khi tri thức về lĩnh vực đó thay đổi. Thêm  
vào đó, việc đặc tả rõ ràng vmột miền tri thức sẽ giúp cho người mới tiếp  
cận hiểu được ngữ nghĩa của các miền tri thức ấy.  
o
Để xây dựng được một Ontology, người ta có thể sử dụng khá nhiều ngôn ngữ  
khác nhau, nhưng một trong những ngôn ngữ biểu diễn Ontology một cách dễ dàng và  
hiệu qunhất là OWL (Web Ontology Language).  
1.3. OWL (Web Ontology Language)  
OWL (Web Ontology Language) là ngôn ngữ Ontology được phát triển bởi  
tổ chức W3C (The World Wide Web Consortium). Nó có thể xử lý thông tin chứa  
trong các văn bản, và đưa ra nội dung cần thiết cho người dùng, nó đối lập với  
trường hợp là chỉ đưa ra nội dung thông tin ấy có mặt ở đâu cho người sử dụng.  
Ngoài ra, OWL còn có thể được sử dụng để biểu diễn các ý nghĩa của một nhóm  
từ vựng và các mối quan hệ giữa các nhóm đó một cách rõ ràng rành mạch hơn.  
OWL có khả năng biểu diễn ý nghĩa và ngữ nghĩa một cách dễ dàng hơn là  
XML (Extensible Markup Language-Ngôn ngữ đánh dấu mở rộng), RDF  
(Resource Description Framework- Khung mô tả tài nguyên), hay RDF-S (RDF  
14  
Schema). OWL là một bộ từ vựng, mở rộng của khung mô tả tài nguyên (RDF) và  
được thừa kế từ ngôn ngữ DAML+OIL Web Ontology- một dự án được hỗ trợ  
bởi W3C. Nó kế thừa các ưu thế của ngôn ngữ này đồng thời khắc phục những  
hạn chế của RDFS. OWL có thêm khả năng mô tả các thuộc tính và các lớp, mối  
quan hệ giữa các lớp, các ràng buộc về số lượng, so sánh, nhiều kiểu thuộc tính,  
những nét đặc trưng của thuộc tính, .v.v. Vì vậy mà OWL có khả năng biểu diễn  
thông tin tri thức, nó là ngôn ngữ Ontology khá mạnh.  
Trong OWL có các mức khác nhau, mỗi mức lại có các đặc điểm riêng, và  
sau đây là chi tiết của từng mức.  
1.3.1. Các mức của OWL  
OWL có 3 mức đó là OWL Lite, OWL DL và OWL Full. Ba mức này có  
khả năng diễn đạt cao dần, mức cao hơn là sự mở rộng của mức thấp hơn.  
o OWL Lite: Hỗ trợ những người dùng chủ yếu cần sự phân lớp theo thứ bậc  
và các ràng buộc đơn giản. Có nghĩa nó cho phép bạn định nghĩa các lớp và  
các thuộc tính cũng như thể hiện của các lớp và một vài ràng buộc đơn  
giản. Ví dụ như, khi trợ giúp các ràng buộc về số lượng các phần tử, nó chỉ  
cho phép số lượng các phần tử là 0 hoặc 1. Nó ít có khả năng để diễn đạt  
các mối quan hệ phức tạp và nó ít phức tạp hơn là OWL DL.  
o OWL DL (OWL Discription Logic):Ttrợ giúp những người dùng cần sự  
diễn đạt nhiều nhất trong khi vẫn duy trì được tất cả các chức năng có thể  
được tính toán (đảm bảo các kết luận có thể được tính toán) và có khả năng  
đưa ra quyết định (tất cả các tính toán sẽ kết thúc trong thời gian có hạn  
định). OWL bao gồm tất cả cấu trúc của ngôn ngữ OWL Lite, nhưng có thể  
sử dụng các ràng buộc ở dạng phức tạp hơn.  
o OWL Full: Người sử dụng có thdiễn đạt nhiều nhất và có cấu trúc cũng tự  
do của RDF mà không cần đảm bảo về mặt tính toán của các biểu thức. Ví  
dụ, trong một lớp của OWL Full có thể được coi là một tập hợp các thể  
hiện và cũng đồng thời là chính nó cũng là một thể hiện. OWL Full cho  
phép các ontology tăng thêm ý nghĩa cho vốn từ vựng đã được định nghĩa  
trước đó (RDF hoặc OWL).  
Trong đó, OWL Full là sự mở rộng của OWL DL, OWL DL lại là sự mở  
rộng của OWL Lite. OWL có thể được xem như là sự mở rộng của ngôn ngữ  
RDF, còn OWL Lite và OWL DL có thể được xem như là sự mở rộng ràng buộc  
của RDF. Và sau đây là một số các đặc điểm của OWL Lite, tiếp đó là các đặc  
điểm mở rộng của OWL DL và OWL Full.  
1.3.2. Bản mô ttừ vựng ngôn ngữ OWL Lite  
Và sau đây là các thành phần chính của OWL Lite:  
15  
BẢNG 1: BẢNG MÔ TẢ TỪ VỰNG CỦA OWL LITE.  
RDF Schema  
So sánh  
Các kiểu thuộctính  
ObjectProperty  
Class(Thing, Nothing) equivalentClass  
rdfs:subClassOf  
rdf:Property  
rdfs:subPropertyOf  
rdfs:domain  
equivalentProperty  
sameAs  
DatatypeProperty  
inverseOf  
differentFrom  
AllDifferent  
TransitiveProperty  
SymmetricProperty  
FunctionalProperty  
InverseFunctionalProperty  
rdfs:range  
distinctMembers  
Individual  
Trong OWL cũng hỗ trợ để xây dựng các mối ràng buộc trong Ontolgy, sau đây là  
cấu trúc từ vựng của để mô tả các ràng buộc đó.  
BẢNG 2. CẤU TRÚC TỪ VỰNG OWL LITE MÔ TẢ RÀNG BUỘC  
Các ràng buộc thuộc Ràng buộc về tập hợp  
Các thông tin tiêu đề  
tính  
Restriction  
minCardinality (chỉ có 0 Ontology  
hoặc 1)  
onProperty  
maxCardinality (chỉ có 0 imports  
hoặc 1)  
allValuesFrom  
someValuesFrom  
cardinality (chỉ có  
hoặc 1)  
0
Cũng như một số ngôn ngữ lập trình khác, OWL cho phép xây dựng những đoạn  
ghi chú, các thông tin về phiên bản của nó, v.v.  
BẢNG 3. BẢNG TỪ VỰNG XÂY DỰNG THÔNG TIN VỀ PHIÊN BẢN VÀ  
CHÚ THÍCH.  
Phần giao của lớp Phiên bản  
Chú thích  
intersectionOf  
versionInfo  
16  
rdfs:label  
priorVersion  
rdfs:comment  
backwardCompatibleWit rdfs:seeAlso  
h
incompatibleWith  
DeprecatedClass  
DeprecatedProperty  
rdfs:isDefinedBy  
AnnotationProperty  
OntologyProperty  
Một phần không thể thiếu để có thể biểu diễn các thuộc tính dữ liệu trong  
Ontology đó là các kiểu dữ liệu. OWL hỗ trợ rất nhiều kiểu dữ liệu, và sau đây là  
bảng mô tả các kiểu dữ liệu của OWL:  
BẢNG 4. CÁC KIỂU DỮ LIỆU.  
xsd:string  
xsd:normalizedString  
xsd:float  
xsd:boolean  
xsd:double  
xsd:decimal  
xsd:integer  
xsd:nonNegativeInteger  
xsd:negativeInteger  
xsd:int  
xsd:positiveInteger  
xsd:short  
xsd:nonPositiveInteger  
xsd:long  
xsd:byte  
xsd:unsignedLong  
xsd:hexBinary  
xsd:dateTime  
xsd:gYear  
xsd:unsignedInt  
xsd:unsignedByte  
xsd:base64Binary  
xsd:time  
xsd:unsignedShort  
xsd:date  
xsd:gDay  
xsd:language  
xsd:NCName  
xsd:anyURI  
xsd:gYearMonth  
xsd:gMonthDay  
xsd:gMonth  
xsd:NMTOKEN  
xsd:token  
xsd:Name  
17  
Sau đây mô tả chi tiết về một số thành phần của ngôn ngữ OWL Lite:  
o Class (lớp): Một lớp được định nghĩa là một tập hợp các thể hiện cùng  
có một số thuộc tính như nhau. Ví dụ như Nam Hoa đều thuộc lớp  
Người. Các lớp được tổ chức thành hệ thống phân cấp với việc sử dụng  
subClassOf. Ví dụ: Ta tạo ra 3 lớp : Động vật, Thực vật, và Con người:  
Thực tế, thông thường ta luôn có  
một lớp được định nghĩa sẵn là  
owl:Thing, lớp này là lớp cha của tất cả  
các lớp mà ta dùng định nghĩa. Hoặc  
OWL cũng định nghĩa một lớp rỗng owl:Nothing.  
o rdfs:subClassOf : Tạo ra một hệ thống phân cấp các lớp, một lớp là lớp con  
của một lớp khác. Chẳng hạn, lớp Động vật có thể là lớp con của lớp Sinh vật:  
o rdf:Property: Các thuộc tính có thể được sử dụng để biểu diễn các mối  
quan hgiữa các thể hiện hoặc các thể hiện với các giá trị dữ liệu. Ví dụ  
các thuộc tính như hasChild, hasSibling, hay hasAge. Trong OWL có  
owl:DatatypeProperty owl:ObjectProperty đều là lớp con của  
rdf:Property trong RDF.  
Ví dụ: Máy bay có các chuyến bay lớp Plane có thuộc tính hasFlight,  
liên quan đến lớp Flight.  
Còn thuộc tính name của lớp sinh vật có thuộc tính kiểu dữ liệu xsd:string.  
o
subPropertyOf: các thuộc tính cũng phân cấp, một thuộc tính này có thể là  
thuộc tính con của một hoặc một vài thuộc tính khác. Chẳng hạn như thuộc tính  
hasSibling có thể là thuộc tính con của thuộc tính hasRelative. Ta có:  
18  
o
rdfs:domain : Một miền của thuộc tính giới hạn các thể hiện có thể được  
ứng dụng . Hay nói khác đi là nó xác đinh thuộc tính của miền này thuộc vào lớp  
nào. Như ví dụ lớp Sinh vật ở trên, thuộc tính name được khai báo với  
rdfs:domain thì thuộc tính name này thuộc lớp Sinh_vat.  
o
rdfs:range : Phạm vi của thuộc tính cũng bị giới hạn các giá trị có được. Ta  
xét ví dụ sau:  
Giá trị cụ thể của thuộc tính hasFlight” sẽ là một hoặc một vài thể hiện của lớp  
Flight.  
o
Các thể hiện: Các thể hiện đó là các minh họa cụ thể của lớp. Ví dụ, sinh  
viên Lan, là một thể hiện của lớp Sinh_vien, với thuộc tính name có giá trị là  
Lan, .v.v.  
Ta có ví dụ sau:  
Ta tạo một thể hiện cho lớp Dong_vat:  
o
equivalentClass (Lớp tương đương): Hai lớp cũng có thể tương đương  
nhau, các lớp tương đương có cùng các trường hợp. Ví dụ, người viết một  
cuốn sách (Writer) là một tác giả của cuốn sách ấy (Author) thì hai cách gọi  
Writer Author là tương đương nhau. Vì vậy, một thể hiện của Writer cũng  
là một thể hiện của Author và ngược lại.  
19  
Hoặc:  
Với điều kiện trước đó, ta đã khai báo lớp FictionBook là lớp con của  
lớp Book, lớp Book lại có thuộc tính là genreOf, thì lớp FictionBook được gọi  
là tương đương với lớp Book có thuộc tính genreOf có giá trị là Fiction.  
o
equivalentProperty (Thuộc tính tương đương): Chẳng hạn ta có thể chỉ ra  
rằng thuộc tính writerOf, và thuộc tính authorOf chỉ cùng một khái niệm.  
o
sameAs: Hai cá th(hay là thể hiện) có thể tương đương nhau. Cấu trúc này  
có thể được sử dụng để tạo ra những cái tên khác nhau, nhưng đều cùng chỉ về  
một cá thể (thể hiện). Ví dụ như: một dịch vụ có thể cung cấp cho bạn một thể  
hiện của lớp Vat_dung (Vật dụng) là Coc , trong khi dịch vụ khác lại định nghĩa là  
Ly ta khai báo:  
Khi đó hệ thống đó sẽ biết rằng, bất kì thông tin nào vCoc (cốc) thì cũng áp  
dụng được với Ly (ly) và ngược lại.  
o differentFrom: Một thể hiện này được diễn tả khác với các cá thể khác, nó  
ngược lại với sameAs. Ví dụ:  
20  
o AllDifferent: Tất cả các thể hiện được khai báo trong owl:AllDifferent sẽ  
được phân biệt với nhau.  
o inverseOf: Các thuộc tính nghịch đảo là với mỗi một hoạt động, nó có  
tương ứng một hoạt động ngược lại. Ví dụ, thuộc tính subClass, có thể có  
thuộc tính superClass.  
dụ như:  
o TransitiveProperty (thuộc tính bắc cầu): Nếu A là tổ tiên của B biểu diễn  
bằng thuộc tính isAncestorOf. Tương tự, B là tổ tiên của C thì suy ra A là  
tổ tiên của C, hay là với thuộc tính isAncesorOf là thuộc tính bắc cầu. Đó  
là tính chất bắc cầu. dụ:  
o SysmetricProperty (Thuộc tính đối xứng): chẳng hạn thuộc tính isFriendOf  
là thuộc tính đối xứng, chẳng hạn nều An là bạn của Nam, thì Nam là bạn  
của An. Ví dụ biểu diễn:  
o FunctionalProperty (thuc tính chức năng): Đây là thuộc tính chỉ có giá trị  
duy nhất.  
dụ  
21  
o InverseFunctionalProperty (thuộc tính chức năng nghịch đảo): Ví dụ:  
Khi đó, thuộc tính producesWine chỉ có 1 giá trị, và thuộc tính nghịch đảo  
của nó là hasMaker.  
Và sau đây là một số các ràng buộc trên thuộc tính của OWL Lite:  
o allValuesFrom: Thể hiện sự ràng buộc của thuộc tính với lớp. Nó có  
nghĩa là thuộc tính ấy trên lớp liên quan có một phạm vi ràng buộc đi kèm  
với nó. Chẳng hạn, một lớp Person có một thuộc tính hasDaughter ràng  
buộc kiểu allValuesFrom với lớp Woman. Khi đó, nếu có một thể hiện của  
lớp Person Nam, có thuộc tính hasDaughter có giá trị là An chẳng hạn,  
thì có thể suy ra là An thuộc lớp Woman. Tức là tất cả các giá trị của  
hasDaughter đều là thể hiện của lớp Woman.  
o someValuesFrom: Ví dụ trang WebPaper có ràng buộc kiểu  
someValuesFrom trên thuộc tính hasKeyword thì một vài giá trị của  
hasKeyword có thể là các thể hiện của lớp WebPaper. Hay nói cách khác,  
một trong số các giá trị của hasKeyword có thể là thể hiện của WebPaper.  
Trên OWL Lite còn có sự ràng buộc về tập hợp:  
o minCardinality maxCardinality: số lượng nhỏ nhất và lớn nhất các  
phần tử của tập hợp các giá trị của thuộc tính.  
o cardinality: Số lượng phần tử của giá trị thuộc tính là mt số xác định  
o Khoảng giá trị: Được biểu diễn trong khoảng minCardinality và  
maxCardinality. Trong OWL Lite, giá trị nguyên có thể gán là 0 và 1.  
dụ minh họa:  
22  
Một số các đặc điểm mở rộng của OWL DL và OWL Full:  
o oneOf: Các lớp có thể được mô tả bằng một bảng liệt kê các thể hiện tạo  
nên lớp đó. Ví dụ, lớp daysOfWeek có các thể hiện là Sunday, Monday,  
Tuesday, Wednesday, Thursday, Friday, Saturday. Xét ví dụ:  
o hasValue: Một thuộc tính nào đó yêu cầu cần phải có chắc chắn một giá  
trị.  
ví dụ :  
Thuộc tính hasSugar phải có ít nhất một giá trị, và đó là giá trị Dry.  
o disjointWith: Các lớp có thể được bắt đầu được phân tách ra thành các  
phần khác nhau. Ví dụ, Man Woman có thể được tách ra các lớp. Giả  
dụ, A là một thực thể của Man, thì A không thlà thực thể của Woman. Ta  
xét ví dụ:  
23  
Khi đó, nếu một thực thể của EdibleThing thuộc Pasta thì sẽ không thể là  
Meat, Fowl, Seafood, Dessert, Fruit. Chỉ có Pasta là phân tách với các lớp trên,  
chứ không khẳng định có phân tách giữa các lớp còn lại với nhau, chẳng hạn như  
Meat Fruit.  
o unionOf, complementOf, intersectionOf: OWL DL và OWL Full cho  
phép tính dựa vào sự kết hợp các lớp và các ràng buộc theo kiểu Boolean  
(Đại số Boolean): unionOf (hợp), complementOf (giao), và intersectionOf  
(phần bù).  
dụ:  
o minCardinality, maxCardinality, cardinality: Trong OWL DL và OWL  
Full không giới hạn số lượng các phần tử như trong OWL Lite. Nghĩa là  
một thuộc tính nào đó có thể có số lượng phần tử nhỏ nhất là 2.  
OWL còn rất nhiều cú pháp lệnh nữa, nhưng trong khóa luận này, chúng tôi  
chỉ xin trình bày những cấu trúc từ vựng thường dùng nhất và để thuận tiện cho  
chuyển đổi từ mô hình UML sang OWL Ontology, tôi sẽ sử dụng OWL DL.  
1.4. OWL Ontolgogy  
OWL Ontology cũng có thể hiểu là một ngôn ngữ hay một tập các quy tắc  
để mô tả một cách tường mình các khái niệm và các quan hệ giữa các khái niệm  
để hỗ trợ tương tác giữa các hệ thống được sử dụng trong khoa học máy tính hay  
công nghệ thông tin. Nó sẽ cung cấp một bộ từ vựng để xây dựng các khái niệm,  
các thuộc tính quan trọng. Ngoài ra, OWL Ontology còn cung cấp các mối ràng  
buộc được sử dụng trong một miền lĩnh vực nào đó để có thể giao tiếp giữa  
người với một hệ thống ứng dụng phân tán khác.  
24  
Hay nói một cách ngắn gọn hơn, OWL Ontology là ontology được xây dựng  
sử dụng OWL.  
1.4.1. Các phần tử trong OWL Ontology  
o
o
Các cá thể hay là các thể hiện (individuals):  
Các cá thể là các thành phần cơ bản, nền tảng của một ontology. Các  
cá thể trong một ontology có thể bao gồm các đối tượng cụ thể như con  
người, động vật, cái bàn... hoc là các cá thể trừu tượng như các thành viên  
hay công ty .v.v.  
Các lớp hay là các khái niệm (Class):  
Lớp là một nhóm, một tập hợp các đối tượng trừu tượng có chung các  
đặc tính nào đó. Chúng có thể chứa các cá thể, các lớp khác, hay là sự phối  
hợp của cả hai. Hầu hết các Ontology đều tập trung xây dựng các lớp được  
tổ chức theo một cấu trúc phân cấp để mô tả các loại vật trong một miền lĩnh  
vực cần quan tâm. Ví dụ “sinh vật” là một lớp trong ngữ cảnh sinh vật học.  
Bên dưới lớp này có thể có các lớp con ví dụ như lớp động vật” “thực  
vật”...  
o
o
Các thuộc tính (Properties)  
Các đối tượng trong ontology có thể được mô tả thông qua việc khai  
báo các thuộc tính của chúng. Mỗi một thuộc tính đều có tên và giá trị của  
thuộc tính đó. Các thuộc tính được sử dụng để lưu trữ các thông tin mà đối  
tượng có thể có. Ví dụ, đối với một cá nhân có thể có các thuộc tính:  
Họ_tên, ngày_sinh, quê_quán, số_cmnd...  
Giá trị của một thuộc tính có thể có các kiểu dữ liệu phức tạp.  
Các mối ràng buộc (Relation)  
Các mối ràng buộc mô tả một số ràng buộc về ý nghĩa của các khái  
niệm và quan hệ với các khái niệm khác. Chẳng hạn với tính chất  
Employee_ID” chẳng hạn, sẽ mỗi nhân viên chỉ có duy nhất một mã số.  
1.4.2. Một số công cụ hỗ trợ việc xây dựng OWL Ontology  
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ỗ  
25  
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:  
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 cp 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 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 ca Protégé 3.4:  
26  
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.  
27  
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.9. Giao diện Altova SematicWorks.  
28  
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 crấ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í dvmột OWL Ontology biểu diễn một hệ thống các sinh vật bằng  
Protégé:  
29  

Tải về để xem bản đầy đủ

pdf 105 trang yennguyen 13/05/2025 200
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Chuyển đổi từ mô hình UML sang OWL ontology và ứng dụng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_chuyen_doi_tu_mo_hinh_uml_sang_owl_ontology_va_ung.pdf