TỔNG QUAN VỀ MÔ HÌNH CƠ SỞ DỮ LIỆU MỨC KHÁI NIỆM VÀ ONTOLOGY
Giới thiệu các mô hình cơ sở dữ liệu mức khái niệm
Mô hình ER được đề xuất bởi P.Chen [ CITATION PCh76 \l 1033 ] vào năm
Mô hình ER, ra đời vào năm 1976, là một khái niệm quan trọng trong việc tổ chức dữ liệu của hệ thống thông tin Đây là một trong những mô hình dữ liệu ngữ nghĩa, cho phép xác định các thực thể trong hệ thống thông tin và thể hiện ngữ nghĩa thông qua mối quan hệ giữa các thực thể.
Thực thể là một đối tượng có thông tin riêng biệt và được phân loại khác với các đối tượng khác Mỗi tập thực thể bao gồm các thuộc tính cần thiết để quản lý và lưu trữ thông tin trong thế giới thực Thông tin về từng thể hiện trong tập thực thể được xác định bởi các giá trị của thuộc tính trong tập đó Một thuộc tính hoặc tập thuộc tính mà có giá trị duy nhất xác định một thể hiện trong tập thực thể được gọi là khóa.
Tập thực thể yếu là một loại tập thực thể có sự tồn tại phụ thuộc vào một hoặc nhiều tập thực thể khác, được gọi là tập thực thể chủ Mặc dù tập thực thể yếu sở hữu tất cả các đặc điểm của một tập thực thể thông thường, nhưng khóa của nó được gọi là khóa bộ phận Để xác định thực thể trong tập thực thể yếu, cần kết hợp khóa bộ phận với khóa của tập thực thể chủ.
Trong mô hình ER, thuộc tính là đặc tính của một thể hiện hoặc mối quan hệ, bao gồm các loại như thuộc tính đơn, thuộc tính phức hợp, thuộc tính đơn trị và thuộc tính đa trị Thuộc tính đơn không thể phân nhỏ, trong khi thuộc tính phức hợp có thể chia thành nhiều thuộc tính thành phần Thuộc tính đơn trị chỉ cho phép một giá trị duy nhất cho mỗi thể hiện, còn thuộc tính đa trị có thể chứa nhiều giá trị Đặc biệt, thuộc tính khóa là thuộc tính đơn, có giá trị duy nhất, không null và dùng để xác định duy nhất một thực thể trong tập thực thể.
1.1.1.3 Mối quan hệ Để diễn tả số lần tham gia tối thiểu và tối đa của một thực thể vào một mối quan hệ người ta dùng bản số Bản số giúp xác định loại của mối quan hệ là 1:1, 1:N, N:1 hay N:N, tức là để xác định mỗi thể hiện của tập thực thể này có liên hệ với tối đa là bao nhiêu thể hiện của tập thực thể kia thông qua mối quan hệ.
Mối quan hệ thể hiện sự liên kết giữa các thực thể và có thể được mô tả qua ngữ nghĩa trong thế giới thực Trong một hệ thống, nhiều mối quan hệ có thể tồn tại giữa các tập thực thể, và số lượng các tập thực thể tham gia vào một mối quan hệ được gọi là bậc của mối quan hệ đó Một mối quan hệ R có thể bao gồm n tập thực thể như E1, E2, v.v.
…, E n Khi đó, thể hiện của mối quan hệ R này là một tập con của tích Descartes E 1
Để mô tả số lần tham gia tối thiểu và tối đa của một thực thể trong một mối quan hệ, người ta sử dụng bản số Bản số này giúp xác định loại mối quan hệ, chẳng hạn như 1-1 hoặc 1-n.
N, N-1 hay N-N, tức là để xác định mỗi thể hiện của tập thực thể này có liên hệ với tối đa là bao nhiêu thể hiện của tập thực thể kia thông qua mối quan hệ.
Các loại mối quan hệ bao gồm:
Mối quan hệ nhị nguyên được định nghĩa là sự tương tác giữa hai đối tượng, bao gồm hai tập thực thể E i và E j, có thể thuộc cùng một lớp hoặc hai lớp khác nhau, tham gia vào một mối quan hệ R Trong OWL2, mối quan hệ này được biểu diễn bằng cặp đối tượng O i và O j, tương ứng từ lớp C i và C j Mối quan hệ nhị nguyên cũng có hai ràng buộc bản số, với dạng (x, y), trong đó x là ràng buộc tham gia tối thiểu và y là ràng buộc tham gia tối đa, với x có thể là 0 hoặc một giá trị khác.
- Mối quan hệ đa nguyên: Là mối quan hệ giữa 3 tập thực thể trở lên.
- Mối quan hệ Is-a: mỗi lớp con được đặc trưng bằng cách thiết lập giá trị của một trong các thuộc tính của nó.
Mối quan hệ phản xạ (recursive relationship) đề cập đến mối quan hệ giữa các thực thể trong cùng một tập thực thể, cho phép một thực thể đảm nhận nhiều vai trò khác nhau trong mối quan hệ này.
- Mối quan hệ định danh là mối quan hệ giữa tập thực thể yếu và tập thực thể chủ.
1.1.2 Mô hình ER mở rộng
Mô hình ER chỉ mô tả các tập thực thể, mối quan hệ, thuộc tính, khóa và ràng buộc cấu trúc, chủ yếu phục vụ cho các ứng dụng CSDL truyền thống Tuy nhiên, các ứng dụng phức tạp cần thêm các khái niệm bổ sung để mô hình hóa chính xác hơn Do đó, cần xây dựng một mô hình đáp ứng các yêu cầu này Hiện tại, mô hình ER mở rộng chưa có chuẩn thống nhất, dẫn đến việc nhiều tác giả nghiên cứu và phát triển các mô hình khác nhau như EER, ECR, ERC, ERC+, và ORAC, được gọi chung là mô hình EER.
Mô hình EER mở rộng mô hình ER bằng cách bao gồm các khái niệm về lớp cha và lớp con, cũng như các khái niệm liên quan đến tổng quát hóa và chuyên biệt hóa.
1.1.2.1 Lớp cha, lớp con và sự kế thừa
Mô hình EER bao gồm khái niệm về lớp con hoặc kiểu con của một tập thực thể, trong đó lớp cha đại diện cho lớp thực thể tổng quát trong mối quan hệ Is-a với một hoặc nhiều lớp con Lớp con được hình thành từ sự phân nhóm và chuyên biệt hóa từ lớp cha.
Hình 1.1 Biểu diễn lớp cha và lớp con trong mô hình EER
Trong nhiều trường hợp, một tập thực thể có thể bao gồm nhiều nhóm con hoặc kiểu con khác nhau, điều này rất quan trọng để trình bày rõ ràng trong ứng dụng cơ sở dữ liệu Chẳng hạn, một tổ chức có thể phân loại nhân viên thành hai loại: Nhân viên làm theo giờ với các thuộc tính như Họ tên, CMND, Ngày sinh, Địa chỉ, và Bậc lương; và Nhân viên hưởng lương tháng với các thuộc tính tương tự nhưng thay thế Bậc lương bằng Lương Để tổ chức thông tin này một cách hiệu quả, ta có thể định nghĩa kiểu cha là EMPLOYEE và hai kiểu con là SALARIED_EMPLOYEE và HOURLY_EMPLOYEE.
Sự kế thừa thuộc tính là quá trình mà các lớp con nhận tất cả các thuộc tính từ lớp cha, đồng thời kế thừa mọi mối quan hệ mà lớp cha tham gia.
1.1.2.2 Chuyên biệt hóa và tổng quát hóa a Chuyên biệt hóa
Giới thiệu về Web ngữ nghĩa và Ontology
Hiện nay, trang web đã trở thành công cụ phổ biến để cung cấp thông tin và trình diễn tài liệu siêu văn bản, bắt đầu từ các trang HTML tĩnh đến các trang HTML động Tuy nhiên, với khối lượng lớn thông tin trên Web, người dùng gặp khó khăn trong việc tìm kiếm tài nguyên chính xác Để giải quyết vấn đề này, Web ngữ nghĩa ra đời, cho phép định nghĩa và liên kết dữ liệu một cách có ngữ nghĩa, giúp máy tính hiểu và hỗ trợ con người trong việc khai thác thông tin hiệu quả Ontology đóng vai trò quan trọng trong việc xác định ý nghĩa thông tin trên Web, mô tả các thực thể, lớp, thuộc tính và quan hệ giữa các lớp trong một lĩnh vực xác định.
Cá thể là thành phần cơ bản của một ontology, bao gồm các đối tượng cụ thể như con người, động vật và xe cộ, cũng như các cá thể trừu tượng như từ ngữ và con số Tập hợp tất cả các cá thể trong một lớp được gọi là phần mở rộng của lớp đó.
Lớp là tập hợp các đối tượng, có thể bao gồm cá thể, lớp con hoặc lớp tổng quát Các đối tượng cụ thể thuộc về lớp được gọi là thể hiện của lớp đó Ví dụ, lớp Vehicle bao gồm tất cả các loại xe, với các tiêu chuẩn xác định để được xem là một chiếc xe.
Trong ontology, các đối tượng được mô tả thông qua việc khai báo các thuộc tính, mỗi thuộc tính có tên và giá trị riêng Các thuộc tính này lưu trữ thông tin về đối tượng, chẳng hạn như đối tượng StaffMember với các thuộc tính như tên, ngày sinh, địa chỉ và số điện thoại Ngoài ra, sự phân cấp cũng có thể được áp dụng cho các thuộc tính tương tự như lớp.
Quan hệ giữa các đối tượng trong ontology thể hiện cách mà chúng liên kết trong một ngữ cảnh nhất định Chẳng hạn, khái niệm Lecturer và AcademicStaff có thể được kết nối qua quan hệ "lớp con", với phát biểu rằng lớp Lecturer là lớp con của lớp AcademicStaff Bên cạnh đó, ontology còn bao gồm nhiều dạng quan hệ khác nhau.
Các quan hệ trong ontology có thể được cấu trúc theo dạng phân cấp, với các quan hệ lớp con được định nghĩa sẵn trong ngôn ngữ ontology hoặc do người dùng tự định nghĩa thông qua các thuộc tính.
Ontology là cách biểu diễn tri thức một cách hình thức thông qua việc thiết lập các khái niệm và mối quan hệ giữa chúng trong một lĩnh vực cụ thể Nó giúp suy luận về các đặc tính và mô tả lĩnh vực đó Các ontology thường được mã hóa bằng ngôn ngữ ontology, một ngôn ngữ hình thức cho phép mã hóa tri thức và bao gồm các luật suy diễn hỗ trợ xử lý tri thức.
RDF, được phát triển bởi W3C, là ngôn ngữ mô tả thông tin về tài nguyên trên Web, sử dụng URI để định danh các tài nguyên và thuộc tính để mô tả chúng Các thành phần cơ bản của RDF bao gồm tài nguyên, thuộc tính và phát biểu, với mô hình dữ liệu gồm ba đối tượng: tài nguyên, thuộc tính và giá trị Tài nguyên, như sách hay xe cộ, được định danh bằng URI, trong khi thuộc tính mô tả đặc tính hoặc quan hệ của tài nguyên và gán giá trị cho chúng.
Mô hình RDF mô tả tài nguyên thông qua các phát biểu, được cấu trúc dưới dạng bộ ba gọi là Triple, bao gồm Chủ thể (Subject) là địa chỉ hoặc vị trí của tài nguyên xác định bởi URI, Vị từ (Predicate) xác định tính chất của tài nguyên, và Đối tượng (Object) là nội dung gán cho thuộc tính, có thể là một tài nguyên hoặc giá trị literal.
Ngôn ngữ RDFS, phát triển trên nền tảng RDF, không chỉ là RDF mà còn được mở rộng với các từ vựng bổ sung nhằm hỗ trợ xây dựng ontology dễ dàng hơn Trong khi RDF chỉ cho phép thông tin được trình bày dưới dạng bộ ba theo mô hình của nó, RDFS giúp làm rõ ngữ nghĩa trong các lĩnh vực chuyên biệt.
Việc xây dựng RDFS là rất quan trọng để xác định ngữ nghĩa của dữ liệu trong các lĩnh vực ứng dụng cụ thể RDFS cho phép người dùng định nghĩa tài nguyên thông qua các lớp, thuộc tính và giá trị, đồng thời mô tả mối quan hệ giữa các tài nguyên này.
OWL là ngôn ngữ Ontology phổ biến, được phát triển sau RDFS, nhờ đó kế thừa những ưu điểm của ngôn ngữ này và bổ sung nhiều thành phần mới OWL không chỉ tăng cường tính logic cho thông tin mà còn cung cấp các ràng buộc giá trị và bản số, giúp biểu diễn chính xác hơn về thế giới thực.
Trong OWL, người dùng có thể định nghĩa các phần giao, hợp, rời nhau và bù của các lớp OWL cũng phân biệt giữa hai loại thuộc tính: thuộc tính kiểu dữ liệu và thuộc tính đối tượng Thêm vào đó, thuộc tính có thể có các đặc tính như tính bắc cầu, tính đối xứng và thuộc tính đảo ngược, điều này làm cho OWL trở nên mạnh mẽ hơn so với RDF.
RDFS và OWL cung cấp khả năng mô tả phong phú hơn cho các lớp, thuộc tính và quan hệ giữa các lớp, giúp máy tính hiểu nội dung của Web một cách hiệu quả hơn.
1.2.7.1 Các ngôn ngữ con của OWL
W3C đã phân chia OWL thành 3 ngôn ngữ con với các mức độ biểu cảm khác nhau: OWL Lite, OWL DL (Description Logic) và OWL Full
OWL Lite là ngôn ngữ cơ bản nhất trong OWL, hỗ trợ phân lớp và các ràng buộc đơn giản Nó cho phép xây dựng phân cấp lớp con và tính chất tùy chọn cho thuộc tính, với các ràng buộc về bản số có thể là 0 hoặc 1.
Tổng quan về các nghiên cứu chuyển đổi các mô hình
1.3.1 Các kết quả đề xuất chuyển đổi mô hình thực thể - mối quan hệ sang
Nhiều nghiên cứu đã chỉ ra khả năng chuyển đổi giữa mô hình cơ sở dữ liệu quan hệ và ontology, đặc biệt là giữa mô hình thực thể - mối quan hệ (ER) và OWL Mặc dù có nhiều tác giả đã công bố về vấn đề này, nhưng các công trình hiện tại vẫn chưa đề cập đầy đủ đến tất cả các trường hợp của mô hình ER và EER trong quá trình chuyển đổi sang ontology.
Mục tiêu của nghiên cứu là nắm bắt đầy đủ ngữ nghĩa của mô hình EER khi chuyển sang ontology mà không cần qua mô hình quan hệ, nhằm tránh mất ngữ nghĩa R Upadhyaya và P S Kumar đã tập trung vào việc biểu diễn tập thực thể, thuộc tính và các ràng buộc cấu trúc, từ đó đề xuất quy tắc chuyển đổi mô hình EER sang OWL Nghiên cứu này đưa ra các quy tắc ánh xạ cho các thành phần của mô hình ER như thực thể, thuộc tính và mối quan hệ, đồng thời đề cập đến các trường hợp trong mô hình EER như quan hệ tổng quát hóa/chuyên biệt hóa và quan hệ đa kế thừa Họ cho rằng việc chuyển đổi thuộc tính phức hợp tạo ra một lớp mới, tăng cường thuộc tính đối tượng giữa lớp thực thể và lớp thuộc tính phức hợp, cùng với các ràng buộc bản số giữa các lớp Tuy nhiên, công trình này chưa đề cập đến thuộc tính đa trị và thiếu nhiều trường hợp của mô hình ER, đồng thời không phân biệt giữa chuyển đổi các tập thực thể mạnh và yếu, ngoại trừ việc thuộc tính tương ứng với khóa chính của tập thực thể mạnh có giới hạn bản số là 1 trong mô tả của tập thực thể yếu.
Để khắc phục một số vấn đề trong công trình, M Fahad đã đề xuất phương pháp thiết kế các OWL từ mô hình ER thông qua việc áp dụng các quy tắc chuyển đổi các thành phần của mô hình ER, bao gồm các tập thực thể, thuộc tính và mối quan hệ giữa các tập thực thể thành các thành phần tương ứng trên OWL Công trình này cũng đã giới thiệu quy tắc chuyển đổi cho mối quan hệ Is-A và quan hệ phản xạ, nhưng chưa phân loại các mối quan hệ phản xạ Một trong những hạn chế của nghiên cứu này là việc chuyển đổi thuộc tính khóa thành thuộc tính kiểu dữ liệu và thiết lập tính chất hàm "function".
Tính chất "inverse-functional" không thể được thiết lập cho các thuộc tính kiểu dữ liệu, và công trình này vẫn còn thiếu nhiều trường hợp trong quá trình chuyển đổi mô hình EER.
Myroshnichenko và cộng sự đã trình bày giải pháp ánh xạ tự động mô hình ER thành ngữ nghĩa tương đương trên OWL Lite Ontology Nghiên cứu này đề xuất các trường hợp chuyển đổi cho mô hình ER, bao gồm việc chuyển đổi thuộc tính phức hợp thành một lớp mới và bổ sung thuộc tính đối tượng, tương tự như nghiên cứu trước đó Mặc dù đã đề xuất chuyển đổi thuộc tính khóa đơn trị và thuộc tính khóa phức hợp, nhưng thực tế không tồn tại thuộc tính khóa phức hợp Ngoài ra, nghiên cứu này cũng chưa xem xét chuyển đổi trên mô hình EER.
Ashok và cộng sự đã đề xuất một phương pháp ánh xạ tự động từ mô hình ER sang OWL-S, nhằm tận dụng OWL-S như một khung khái niệm để mô tả các dịch vụ web ngữ nghĩa OWL-S không chỉ giúp làm phong phú các mô tả dịch vụ web mà còn cung cấp thông tin ngữ nghĩa từ OWL Tuy nhiên, nhóm tác giả chỉ mới trình bày một cách sơ lược về cách thức ánh xạ các thành phần của mô hình ER sang OWL.
Pasapitch Chujai đã đề xuất một phương pháp xây dựng OWL bằng cách sử dụng Protégé từ một cơ sở dữ liệu quan hệ dựa trên mô hình ER cụ thể Tuy nhiên, nghiên cứu này vẫn chưa hoàn thiện việc chuyển đổi tất cả các trường hợp của mô hình ER và mô hình EER.
Các nghiên cứu trước đây chỉ ra rằng có nhiều vấn đề liên quan đến việc chuyển đổi thuộc tính khóa trong mô hình ER sang thuộc tính kiểu dữ liệu trong OWL Một số nghiên cứu như [CITATION Suj05 \l 1033], [CITATION Muh08 \l 1033] và [CITATION Placeholder3 \l 1033] đề xuất thiết lập tính chất hàm và tính chất hàm nghịch đảo, trong khi nghiên cứu [CITATION Igo09 \l 1033] chỉ tập trung vào tính chất hàm Hơn nữa, mặc dù nhiều nghiên cứu đã đề xuất chuyển đổi thuộc tính đơn trị thành thuộc tính kiểu dữ liệu, nhưng chưa xem xét trường hợp thuộc tính đơn trị nhận giá trị null Đặc biệt, nghiên cứu của [CITATION Igo09 \l 1033] đã đề xuất chuyển đổi thuộc tính khóa phức hợp, nhưng thực tế không tồn tại thuộc tính khóa phức hợp nào.
Các thuộc tính phức hợp được xem như một khái niệm với các thuộc tính thành phần liên quan, theo nhóm tác giả [ CITATION Suj05 \l 1033 ][ CITATION Igo09 \l 1033 ] Họ đề xuất chuyển đổi thuộc tính phức hợp thành một lớp và khai báo thuộc tính đối tượng giữa lớp thuộc tính phức hợp và lớp thực thể cha Tuy nhiên, [ CITATION Muh08 \l 1033 ] chỉ ra rằng có hai phương pháp chuyển đổi thuộc tính phức hợp thành thuộc tính kiểu dữ liệu trong OWL Phương pháp đầu tiên ánh xạ các thuộc tính thành phần thành thuộc tính dữ liệu của lớp OWL tương ứng, bỏ qua thuộc tính phức hợp Phương pháp thứ hai chuyển đổi thuộc tính phức hợp thành thuộc tính dữ liệu và ánh xạ các thuộc tính thành phần đơn trị thành thuộc tính con của thuộc tính dữ liệu Tác giả [ CITATION Muh08 \l 1033 ] cho rằng phương pháp đầu tiên không bảo toàn mô hình khái niệm của thuộc tính phức hợp, dẫn đến việc mất thuộc tính phức hợp khi chuyển đổi ngược từ ontology sang ER.
Nghiên cứu trước đây cho rằng chuyển đổi mối quan hệ phản xạ sang OWL tương tự như chuyển đổi mối quan hệ nhị nguyên Công trình [CITATION Muh08 \l 1033] đề xuất rằng mối quan hệ phản xạ có thể được chuyển đổi thành một thuộc tính đối tượng, với miền và phạm vi là lớp biểu diễn tập thực thể liên quan Tuy nhiên, tác giả chưa phân loại mối quan hệ phản xạ, dẫn đến việc chuyển đổi không phản ánh đúng ngữ nghĩa của mối quan hệ này.
Ngoài ra, còn tồn tại nhiều trường hợp khác của mô hình ER và EER chưa được đề cập, bao gồm tập thực thể yếu và mối quan hệ định danh, thuộc tính đa trị phức hợp lồng nhau, các trường hợp mối quan hệ phản xạ, cũng như yếu tố thời gian trong mô hình.
Khi cài đặt một chương trình chuyển đổi, việc xem xét đầy đủ các trường hợp trong mô hình đầu vào là rất quan trọng để xác định chính xác mô hình đầu ra Do đó, cần xây dựng các quy tắc bổ sung nhằm hoàn thiện bộ quy tắc chuyển đổi cho các trường hợp còn thiếu.
1.3.2 Các kết quả đề xuất chuyển đổi biểu đồ lớp UML sang OWL
Biểu đồ lớp UML đã được sử dụng để mô hình hóa hệ thống thông tin thông qua các lớp, thuộc tính và phép toán, với ưu điểm nổi bật là khả năng phản ánh thực tế của các hệ thống này Trong bối cảnh hiện nay, việc tái sử dụng dữ liệu từ các hệ thống thông tin cũ để triển khai tri thức ngữ nghĩa trở nên quan trọng, do đó, việc nâng cấp và chuyển đổi biểu đồ lớp UML sang ontology là cần thiết để giảm chi phí Nhiều nghiên cứu đã được thực hiện về việc chuyển đổi từ biểu đồ lớp UML sang OWL.
Dragan Gašević và nhóm tác giả đã phát triển một phương pháp chuyển đổi OWL từ biểu đồ lớp UML, áp dụng kiến trúc MDA để triển khai ontology và hồ sơ ontology UML (OUP) Phương pháp này chuyển đổi ontology từ định nghĩa OUP (XML Metadata Interchange - XMI) sang mô tả OWL Nhóm tác giả sử dụng công cụ Poseidon để chuyển đổi UML thành tài liệu XMI, và thông qua quá trình xử lý XSLT, tạo ra tài liệu OWL Tuy nhiên, trong đề xuất này, nhóm tác giả chưa cung cấp các quy tắc chuyển đổi rõ ràng cho các trường hợp cụ thể.
Sara Brockmans và nhóm tác giả đã phát triển một mô hình MOF dựa trên meta-model cho OWL DL và OWL Full, đồng thời xác định một MOF-base UML Profile khởi tạo từ các biểu đồ lớp UML Điều này cho phép sử dụng các ký hiệu UML và công cụ mô hình ontology, với các lớp trong UML được mô tả như các lớp trong OWL, các thuộc tính tương ứng với quan hệ kết hợp, và các cá thể đa nguyên tương đương với đối tượng UML David de Almeida Ferreira và Alberto Manuel Rodrigues da Silva đã phân tích tính khả thi trong việc mô hình hóa ontology bằng các công cụ UML CASE phổ biến, sử dụng công cụ Poseidon để chuyển đổi UML thành tài liệu XMI Qua quá trình xử lý XSLT, họ đã tạo ra tài liệu OWL tương tự như các nghiên cứu trước đó.