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 tổ chức dữ liệu của hệ thống thông tin Đây được coi 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ó thể phân biệt với các đối tượng khác Mỗi tập thực thể đi kèm với một tập thuộc tính cần thiết cho việc lưu trữ và quản lý trong thế giới thực Thông tin về mỗi thể hiện trong tập thực thể được xác định qua các giá trị của các thuộc tính 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à 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 đầy đủ các đặc điểm của một tập thực thể, nhưng khóa của nó được gọi là khóa bộ phận Để định danh 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ủ.
Thuộc tính trong mô hình ER là đặc điểm của một thực thể hoặc mối quan hệ, bao gồm các loại như: thuộc tính đơn không thể chia nhỏ, 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ỉ có một giá trị duy nhất cho mỗi thực thể, và thuộc tính đa trị có thể chứa nhiều giá trị cho một thực thể Đặc biệt, thuộc tính khóa là yếu tố quan trọng để xác định duy nhất một thực thể, yêu cầu phải là thuộc tính đơn, có một giá trị duy nhất, không được để trống và phải khác biệt.
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ả bằng ngữ nghĩa trong thế giới thực Các tập thực thể có thể có nhiều mối quan hệ khác nhau, và số lượng 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.
…, 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
Để xác định 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ố đóng vai trò quan trọng trong việc xác định loại mối quan hệ, chẳng hạn như 1-1, 1-n, hay n-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 là sự kết nối giữa hai đối tượng, được hình thành từ 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 thể hiện qua các cặp đối tượng O i và O j, tương ứng với các lớp C i và C j Mối quan hệ nhị nguyên còn có hai ràng buộc bản số, được biểu diễn dướ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.
- 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) là 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ỉ dừng lại ở việc 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 áp dụng cho các ứng dụng CSDL truyền thống Tuy nhiên, nhiều ứng dụng phức tạp yêu cầu 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 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+, 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 thể hiện khái niệm về kiểu con hoặc lớp con trong một tập thực thể, trong đó lớp cha là lớp thực thể tổng quát và có 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 của 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ể chia thành nhiều nhóm con hoặc kiểu con, điều này rất quan trọng cho ứng dụng cơ sở dữ liệu Ví dụ, một tổ chức có hai loại nhân viên: 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 Chúng 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 cho phép các lớp con nhận toàn bộ thuộc tính từ lớp cha, đồng thời cũng tiếp nhận tất cả các 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, các trang web đã trở nên phổ biến trong việc 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 và phát triển thành các trang HTML động Tuy nhiên, vớ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 khai thác thông tin hiệu quả hơn Ontology đóng vai trò quan trọng trong việc xác định ý nghĩa thông tin trên Web ngữ nghĩa bằng cách mô tả các loại thực thể, các lớp, thuộc tính và quan hệ giữa chúng.
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, xe cộ và các cá thể trừu tượng như từ ngữ hay 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, bao gồm cá thể, lớp con hoặc lớp tổng quát Các đối tượng cụ thể trong 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 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 liên quan đến đối tượng, chẳng hạn như đối tượng StaffMember bao gồm 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ư cách phân cấp lớp.
Quan hệ giữa các đối tượng trong ontology thể hiện cách thức liên hệ giữa chúng trong một ngữ cảnh cụ thể Chẳng hạn, khái niệm Lecturer có thể được xem là lớp con của khái niệm AcademicStaff Điều này có nghĩa là lớp Lecturer được định nghĩa là một phần 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 tổ chức theo dạng phân cấp với các quan hệ lớp con Những quan hệ này có thể được định nghĩa sẵn trong ngôn ngữ của ontology hoặc do người dùng tự định nghĩa thông qua các thuộc tính.
Ontology là phương pháp biểu diễn tri thức một cách hình thức thông qua việc xác định 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ó không chỉ giúp mô tả mà còn hỗ trợ suy luận về các đặc tính của lĩnh vực đó Để mã hóa ontology, người ta thường sử dụng ngôn ngữ ontology, một ngôn ngữ hình thức cho phép tổ chức tri thức và bao gồm các quy tắc suy diễn nhằm xử lý hiệu quả thông tin.
RDF, được phát triển bởi W3C, là ngôn ngữ dùng để mô tả thông tin về các tài nguyên trên Web, sử dụng URI để định danh 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 có thể là bất kỳ đối tượng nào như sách hay xe cộ, được định danh bằng URI Thuộc tính thể hiện đặc tính hoặc mối quan hệ của tài nguyên và giá trị được gán cho thuộc tính của tài nguyên cụ thể.
Mô hình RDF mô tả tài nguyên thông qua các phát biểu, mỗi phát biểu được cấu trúc thành bộ ba (Triple) gồm Chủ thể (Subject), Vị từ (Predicate) và Đối tượng (Object) Chủ thể là địa chỉ hoặc vị trí tài nguyên được xác định bởi URI, Vị từ xác định tính chất của tài nguyên, trong khi Đối tượng 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, là một phần mở rộng của RDF với các từ vựng bổ sung, giúp việc xây dựng ontology trở nên dễ dàng hơn Mặc dù RDF cho phép thông tin được thể hiện dưới dạng bộ ba theo mô hình của nó, nhưng RDFS cung cấp khả năng thể hiện ngữ nghĩa cho các lĩnh vực chuyên biệt, nâng cao tính chính xác và khả năng hiểu biết của dữ liệu.
Xây dựng RDFS là cần thiết để xác định ngữ nghĩa dữ liệu trong một miền ứ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 đó.
OWL là ngôn ngữ Ontology phổ biến, được phát triển sau RDFS, thừa hưởng những ưu điểm của ngôn ngữ này và bổ sung nhiều yếu tố mới Nó 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à ràng buộc bản số, giúp biểu diễn chính xác hơn về thế giới thực.
Trong OWL, chúng ta có thể định nghĩa các phần giao, hợp, rời nhau và bù của các lớp OWL phân biệt 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ó 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 vượt trội hơn so với RDF.
RDFS và OWL cung cấp khả năng mô tả ngữ nghĩa phong phú hơn, cho phép định nghĩa các lớp, thuộc tính và mối quan hệ giữa các lớp, giúp máy tính hiểu rõ hơn về nội dung của Web.
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à cung cấp tính năng tùy chọn cho các thuộc tính, với 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ệ ở mức khái niệm và ontology, đặc biệt là trong việc chuyển đổi mô hình thực thể - mối quan hệ (mô hình ER) sang OWL Tuy nhiên, 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.
Để nắm bắt đầy đủ ngữ nghĩa của mô hình EER khi chuyển sang ontology, R Upadhyaya và P S Kumar đã tiếp cận mô hình ER bằng cách 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 Công trình này ánh xạ các thành phần của mô hình ER như thực thể, thuộc tính, mối quan hệ và đề 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 Tuy nhiên, công trình chưa đề cập đến thuộc tính đa trị và không phân biệt giữa tập thực thể mạnh và yếu Để khắc phục những vấn đề này, M Fahad đã đề xuất phương pháp thiết kế OWL từ mô hình ER với các quy tắc chuyển đổi các thành phần của mô hình ER thành OWL, đồng thời bổ sung quy tắc chuyển đổi mối quan hệ Is-A và quan hệ phản xạ, mặc dù chưa phân loại các mối quan hệ phản xạ Hạn chế của công trình này là chuyển đổi thuộc tính khóa thành thuộc tính kiểu dữ liệu mà chưa thiết lập tính chất hàm "function".
Thuộc tính kiểu dữ liệu "inverse-functional" không thể thiết lập tính chất inverse-function, và nghiên cứu 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 Họ đề xuất các trường hợp chuyển đổi cho mô hình ER, trong đó 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ư công trình trước đó Mặc dù công trình này đề 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 có 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, một khung khái niệm quan trọng để mô tả các dịch vụ web ngữ nghĩa OWL-S giúp làm phong phú các mô tả dịch vụ web bằng 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 á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ệ được thiết kế dựa trên mô hình ER Tuy nhiên, nghiên cứu này vẫn chưa hoàn thiện trong 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.
Nghiên cứu trước đây chỉ ra rằng khi chuyển đổi thuộc tính khóa, có nhiều vấn đề cần lưu ý Một số nghiên cứu như [ CITATION Suj05 \l 1033 ], [ CITATION Muh08 \l 1033 ] và [ CITATION Placeholder3 \l 1033 ] đã đề xuất việc chuyển đổi thành thuộc tính kiểu dữ liệu và thiết lập tính chất hàm cùng với tính chất hàm nghịch đảo Tuy nhiên, nghiên cứu của [ CITATION Igo09 \l 1033 ] chỉ tập trung vào việc thiết lập tính chất hàm mà không đề cập đến tính chất nghịch đảo Hơn nữa, các nghiên cứu này cũng đã đề xuất việc chuyển đổi thuộc tính đơn trị trong mô hình ER thành thuộc tính kiểu dữ liệu trong OWL, nhưng chưa xem xét trường hợp thuộc tính đơn trị có giá trị null Cuối cùng, mặc dù có đề xuất chuyển đổi thuộc tính khóa thành thuộc tính kiểu dữ liệu của lớp tương ứng, nghiên cứu của [ CITATION Igo09 \l 1033 ] lại đưa ra ý tưởng 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 nào.
Các thuộc tính phức hợp được coi là khái niệm với các thuộc tính thành phần liên quan Nhóm tác giả đã đề 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.
Trong OWL, 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 Phương pháp đầu tiên là ánh xạ các thuộc tính thành phần của thuộc tính phức hợp thành thuộc tính dữ liệu của lớp tương ứng, đồng thời 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, sau đó á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ương ứng Tác giả 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.
Các nghiên cứu trước đây cho rằng việc 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 chuyển đổi mối quan hệ phản xạ thành 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 nhiều trường hợp 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ũng như các trường hợp của mối quan hệ phản xạ và 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 những 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 trước đây được sử dụng để mô hình hóa hệ thống thông tin qua các lớp, thuộc tính và phép toán Ưu điểm của UML là khả năng phản ánh chính xác thế giới thực của các hệ thống thông tin Với xu hướng hiện nay cần tái sử dụng dữ liệu từ hệ thống cũ, 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, dựa trên 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, kết quả cuối cùng là 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 and her team present a MOF based on a meta-model for OWL DL and OWL Full, defining a MOF-based UML Profile initialized by class diagrams.