UML : Mối quan hệ liên kết OWL: owl:ObjectProperty
Một liên kết là một sự nối kết giữa các lớp, nó liên quan về ngữ nghĩa giữa các đối tượng của các lớp tham gia. Lớp và liên hệ giữa các lớp là những công cụ rất mạnh mẽ cho việc mô hình hóa các hệ thống phức tạp, ví dụ như cấu trúc sản phẩm, cấu trúc văn bản và tất cả các cấu trúc thông tin khác.
Ví dụ:
Hình 2.7. Lớp Author liên kết với lớp Computer.
Theo nguyên tắc, khi chuyển liên kết sang OWL Ontology, thì liên kết sẽ được chuyển thành một thuộc tính đối tượng (kiểu ObjectProperty). Tùy từng loại liên kết thì có quy tắc chuyển khác nhau.
2.2.6.1. Trường hợp Liên kết theo một hướng Ví dụ:
Hình 2.8. Minh họa liên kết một hướng.
Khi đó, trong OWL Ontology, tạo ra 2 lớp HTBanHang và PhieuBanHang, các thuộc tính của lớp tương ứng và thêm một thuộc tính đối tượng (ObjectProperty) là “Ghi_nhan” sẽ được tạo ra trong lớp HTBanHang để liên kết hai lớp HTBanHang và PhieuBanHang. Trong trường hợp không có tên vai trò
2.2.6.2. Liên kết theo hai hướng
Với liên kết theo hai hướng, với mỗi liên kết ta cũng chuyển đổi tương tự như đối với liên kết theo 1 hướng. Tùy vào chiều mũi tên mà ta có thuộc tính đối tượng của vai trò liên kết đó sẽ ở lớp nào, và thuộc tính đối tượng còn lại của vai trò liên kết có thể theo kiểu ngược lại (inverseOf) với thuộc tính của vai trò kia hoặc không. Ví dụ:
Hình 2.9. Minh họa mối liên kết hai chiều.
Ta sẽ xây dựng 2 lớp Customer và lớp Account, một thuộc tính đối tượng Holds thuộc lớp Customer, và thuộc tính Owned by thuộc lớp Account. Thuộc tính Owned by theo kiểu đảo ngược với thuộc tính Holds. Vì vậy, trong OWL, sơ đồ trên sẽ được chuyển sang OWL như sau:
2.2.6.3. Lớp liên kết
Ta xét ví dụ sau:
Hình 2.10. Lớp liên kết.
Khí đó, lớp Employment sẽ là lớp liên kết của Company và lớp Person. Lớp liên kết sẽ có thêm thuộc tính dữ liệu (DatatypeProperty) là “isAssociationClass”, với kiểu Boolean và giá trị cho thuộc tính này là true.
Ngoài ra, lớp liên kết còn có thêm hai thuộc tính đối tượng nữa là “firstOf_{association_class_name }”, và “secondOf_{association_class_name}”.
Vì vậy, theo như ví dụ trên, lớp liên kết sẽ được biểu diễn như sau:
Để đặt giá trị cho isAssociationClass: