Tổng quan luận án

Trong kỹ nghệ phần mềm và quản trị dữ liệu, việc thiết kế cơ sở dữ liệu thường tuân thủ kiến trúc hướng mô hình (Model Driven Architecture - MDA). Các hệ thống thông tin truyền thống chủ yếu được mô hình hóa ở mức khái niệm thông qua mô hình thực thể - mối quan hệ (Entity-Relationship - ER), mô hình thực thể - mối quan hệ mở rộng (Enhanced/Extended Entity-Relationship - EER) hoặc biểu đồ lớp UML (Unified Modeling Language). Theo thống kê từ Tổ chức Tiêu chuẩn Quốc tế về World Wide Web (W3C), lượng thông tin được truyền tải qua các trang web chiếm gần 70% tổng lượng thông tin trao đổi toàn cầu. Sự bùng nổ dữ liệu này đòi hỏi quá trình chuyển dịch sang Web ngữ nghĩa (Semantic Web), nơi tri thức được biểu diễn hình thức bằng các bản thể học (ontology) sử dụng ngôn ngữ Web Ontology Language (OWL/OWL2) để máy tính có thể tự động hiểu và suy luận.

Tuy nhiên, phần lớn dữ liệu hiện nay vẫn đang được lưu trữ trong các hệ thống cơ sở dữ liệu truyền thống, nằm ngoài phạm vi khai thác trực tiếp của các ứng dụng Web ngữ nghĩa. Để tích hợp và nâng cấp các hệ thống cũ sang nền tảng Web ngữ nghĩa mà vẫn kế thừa được cấu trúc dữ liệu ban đầu nhằm giảm thiểu chi phí thiết kế, giải pháp phù hợp là chuyển đổi mô hình cơ sở dữ liệu mức khái niệm sẵn có sang ontology. Mặc dù đã có nhiều nghiên cứu về việc chuyển đổi giữa mô hình khái niệm và OWL, các công trình đã công bố chủ yếu mới chỉ tiếp cận các trường hợp tổng quát, bỏ qua nhiều thành phần mở rộng phức tạp trong thực tế (như thực thể yếu, thuộc tính đa trị phức hợp lồng nhau, các dạng quan hệ phản xạ, yếu tố thời gian và các quan hệ kết hợp đặc thù trong UML). Do đó, khoảng trống nghiên cứu chính mà luận án xác định là việc thiếu hụt một bộ quy tắc và phương pháp hoàn chỉnh để chuyển đổi đầy đủ hai chiều giữa các mô hình cơ sở dữ liệu mức khái niệm mở rộng và OWL ontology.

Mục tiêu chung của luận án là nghiên cứu và phát triển các phương pháp chuyển đổi hai chiều giữa mô hình dữ liệu mức khái niệm (ER, EER, TimeER, biểu đồ lớp UML) và ngôn ngữ OWL. Luận án xác định ba mục tiêu nghiên cứu cụ thể:

  1. Chuyển đổi mô hình thực thể - mối quan hệ (bao gồm ER, EER và TimeER) sang OWL ontology.
  2. Chuyển đổi biểu đồ lớp UML sang OWL ontology.
  3. Trích xuất mô hình dữ liệu mức khái niệm (mô hình EER và biểu đồ lớp UML) từ OWL ontology.

Đối tượng nghiên cứu của luận án là các mô hình cơ sở dữ liệu mức khái niệm (mô hình ER, EER, mô hình có yếu tố thời gian TimeER, biểu đồ lớp UML) và các ngôn ngữ biểu diễn ontology trên Web ngữ nghĩa (RDF, RDFS, OWL, OWL2).

Phạm vi nghiên cứu tập trung vào các cấu trúc logic, quan hệ ngữ nghĩa, kiểu dữ liệu, các ràng buộc bản số và ràng buộc phân cấp/kế thừa giữa mô hình mức khái niệm và OWL. Do đặc thù của OWL không hỗ trợ cơ chế kiểm soát truy cập và không biểu diễn phương thức hoạt động, phạm vi chuyển đổi từ biểu đồ lớp UML sang OWL không bao gồm các thuộc tính điều khiển truy cập (public, private, protected) và các phương thức xử lý của lớp.

Tổng quan tài liệu và vị trí của luận án

Luận án đã hệ thống hóa và phân tích các công trình nghiên cứu trong và ngoài nước liên quan đến bài toán chuyển đổi mô hình theo ba hướng chính:

Hướng chuyển đổi mô hình thực thể - mối quan hệ sang OWL ontology

  • Nghiên cứu của R. Kumar (2007) tập trung biểu diễn tập thực thể, thuộc tính, ràng buộc cấu trúc và bản số từ mô hình EER sang OWL. Tuy nhiên, tác giả chuyển đổi thuộc tính phức hợp thành một lớp mới làm phát sinh thêm thuộc tính đối tượng không cần thiết, chưa xử lý thuộc tính đa trị và coi việc chuyển đổi tập thực thể yếu tương tự như tập thực thể mạnh (chỉ gán ràng buộc bản số 1 cho khóa chính của thực thể mạnh).
  • Công trình của M. Fahad (2008) đề xuất tập quy tắc ánh xạ các thành phần ER sang OWL, có bổ sung quy tắc chuyển đổi quan hệ Is-A và quan hệ phản xạ. Hạn chế của công trình này là chưa phân loại chi tiết các dạng quan hệ phản xạ, đồng thời gán tính chất hàm nghịch đảo (inverse-functional) cho thuộc tính kiểu dữ liệu (trong khi chuẩn cú pháp OWL không cho phép gán tính chất này cho thuộc tính kiểu dữ liệu).
  • Nghiên cứu của Myroshnichenko và cộng sự (2009) ánh xạ tự động mô hình ER sang OWL Lite Ontology. Tác giả đề xuất chuyển đổi thuộc tính khóa đơn trị và đưa ra khái niệm "thuộc tính khóa phức hợp" (vốn không tồn tại trong lý thuyết chuẩn) và chưa khảo sát trên mô hình EER.
  • Nghiên cứu của Ashok và cộng sự (2008) ánh xạ ER sang OWL-S nhằm phục vụ dịch vụ web ngữ nghĩa nhưng chỉ dừng lại ở mức mô tả sơ lược.
  • Nghiên cứu của Pasapitch Chujai (2014) sử dụng công cụ Protégé để xây dựng OWL từ cơ sở dữ liệu quan hệ dựa trên mô hình ER cho trước, nhưng chưa bao quát đầy đủ các cấu trúc mở rộng của EER.

Hướng chuyển đổi biểu đồ lớp UML sang OWL ontology

  • Dragan Gašević và cộng sự (2007), David de Almeida Ferreira và Alberto Manuel Rodrigues da Silva (2009) sử dụng kiến trúc hướng mô hình (MDA), hồ sơ ontology UML (OUP), công cụ Poseidon để xuất tài liệu XMI và xử lý XSLT để sinh mã OWL, nhưng thiếu hệ thống quy tắc chuyển đổi tường minh cho các trường hợp chi tiết.
  • Sara Brockmans và cộng sự (2006) xây dựng meta-model dựa trên MOF cho OWL DL và OWL Full để ánh xạ các ký hiệu UML sang ontology.
  • Noreddine Gherabi và Mohamed Bahaj (2012) sử dụng mô hình toán học để chuyển đổi UML sang OWL nhưng bỏ qua các cấu trúc phức tạp như thuộc tính có cấu trúc, thuộc tính có kiểu dữ liệu là lớp, quan hệ kết hợp có lớp kết hợp.
  • Belghiat và cộng sự (2013) tiếp cận bằng Meta-model và đồ thị ngữ pháp.
  • Imants Zarembo và Sergejs Kodors (2013) chuyển đổi sơ đồ lớp UML ISO 19103 sang OWL2, chỉ ra các khác biệt ngữ nghĩa toán học nhưng chỉ mới xử lý các thành phần cơ bản (lớp, thuộc tính, kết hợp đơn giản).
  • Jesper Zedlitz và cộng sự (2011, 2012) dùng chuẩn OMG QVT và meta-model để ánh xạ UML sang OWL2, phân tích sâu về sự khác biệt giữa giả thiết thế giới đóng (Closed-World Assumption - CWA) của UML và giả thiết thế giới mở (Open-World Assumption - OWA) của OWL2, giả thiết tên duy nhất (Unique Name Assumption - UNA), song chưa giải quyết đầy đủ ràng buộc kết tập và lớp kết hợp.
  • Oussama và cộng sự (2014) đề xuất quy trình chuyển đổi trực tiếp bảo toàn ngữ nghĩa cho quan hệ kết tập, lớp kết hợp, kết hợp đa nguyên nhưng chưa xử lý thuộc tính kiểu lớp và các phân loại chi tiết của quan hệ đệ quy.

Hướng trích xuất mô hình cơ sở dữ liệu mức khái niệm từ OWL ontology

  • Sikha Bagui (2009) đưa ra 11 quy tắc ánh xạ OWL sang mô hình ER và EER, tuy nhiên mới chỉ phân tích trên chuẩn OWL1, thiếu các quy tắc cho thuộc tính phức hợp, quan hệ có thuộc tính và quan hệ phản xạ.
  • Olegas Vasilecas và cộng sự (2012) đề xuất bảng ánh xạ khái quát giữa ontology và mô hình ER nhưng chưa xây dựng quy tắc chi tiết.
  • Weijun Li (2010) mô tả toán học việc ánh xạ OWL2 sang biểu đồ lớp UML nhưng thiếu cơ chế nhận dạng tường minh các loại quan hệ.
  • Igor Istochnick (2010) phát triển plugin OWL2UML trên nền tảng Protégé 4 dựa trên Ontology Definition Metamodel (ODM), nhưng trích xuất chưa chính xác quan hệ tổng quát hóa/chuyên biệt hóa và plugin không còn tương thích trên các phiên bản Protégé mới.

Vị trí của luận án: Luận án khắc phục các khiếm khuyết của các công trình tiền nhiệm bằng cách xây dựng một hệ thống quy tắc chuyển đổi hai chiều nhất quán và toàn diện. Luận án bổ sung các cấu trúc chưa từng được xử lý trọn vẹn: thuộc tính đa trị phức hợp lồng nhau, các dạng quan hệ phản xạ (đối xứng/bất đối xứng), mô hình dữ liệu có yếu tố thời gian TimeER, các thành phần đặc thù của UML (thuộc tính cấu trúc, quan hệ kết hợp có yếu tố hạn định, quan hệ kết tập chia sẻ, quan hệ phụ thuộc) và thuật toán trích xuất ngược mô hình EER/UML từ OWL2.

Cơ sở lý thuyết và phương pháp nghiên cứu

Cơ sở lý thuyết và các khái niệm nền tảng

  • Mô hình thực thể - mối quan hệ (ER) và mở rộng (EER): Khởi xướng bởi P. Chen (1976) và phát triển bởi Elmasri, mô hình ER biểu diễn thực tế bằng tập thực thể (thực thể mạnh, thực thể yếu có khóa bộ phận phụ thuộc thực thể chủ thông qua mối quan hệ định danh), thuộc tính (đơn, phức hợp, đơn trị, đa trị, thuộc tính khóa) và mối quan hệ (nhị nguyên, đa nguyên, phản xạ với các bản số 1:1, 1:N, N:N). Mô hình EER bổ sung khái niệm lớp cha, lớp con, sự kế thừa và cấu trúc chuyên biệt hóa/tổng quát hóa với các ràng buộc về tính đầy đủ (toàn phần/riêng phần) và tính phân ly (phân ly - disjoint, chồng lấp - overlap).
  • Mô hình có yếu tố thời gian TimeER: Mở rộng từ ER để lưu trữ trạng thái dữ liệu theo thời gian, bao gồm: Thời gian sống (Lifespan - LS: thời gian thực thể tồn tại trong thực tế, gồm LSs và LSe), Thời gian hợp lệ (Valid Time - VT: thời gian sự kiện đúng trong thực tế, gồm VTs và VTe), Thời gian giao tác (Transaction Time - TT: thời gian sự kiện lưu trong CSDL, gồm TTs và TTe), Thời gian sống và giao tác (LT), và BiTemporal (BT: kết hợp thời gian hợp lệ và giao tác).
  • Biểu đồ lớp UML: Chuẩn hóa cấu trúc hướng đối tượng gồm Lớp (Class), Thuộc tính (kiểu cơ sở, kiểu liệt kê, kiểu cấu trúc, kiểu lớp), Phương thức và Quan hệ giữa các lớp (Tổng quát hóa/Kế thừa, Kết hợp - Association, Kết tập thông thường - Shared Aggregation, Kết tập hợp thành - Composition, Quan hệ phụ thuộc - Dependency, Quan hệ kết hợp có yếu tố hạn định - Qualified Association, Vai trò và Bản số).
  • Web ngữ nghĩa và Ngôn ngữ OWL/OWL2: Được chuẩn hóa bởi W3C, phát triển từ RDF và RDFS. OWL2 phân tách thành hai loại thuộc tính: Thuộc tính kiểu dữ liệu (Datatype Property - quan hệ giữa lớp và kiểu dữ liệu XML Schema) và Thuộc tính đối tượng (Object Property - quan hệ giữa các lớp). OWL2 cung cấp các ràng buộc bản số (owl:cardinality, owl:minQualifiedCardinality, owl:maxQualifiedCardinality), ràng buộc giá trị (owl:someValuesFrom, owl:allValuesFrom, owl:hasValue), các toán tử tập hợp (owl:intersectionOf, owl:unionOf, owl:disjointWith, DisjointClasses, DisjointUnion) và các đặc tính vị từ nâng cao (Transitive, Symmetric, Asymmetric, Reflexive, Irreflexive, Functional, InverseFunctional, InverseOf).

Bảng dưới đây tổng hợp các cú pháp ràng buộc và logic mô tả trong OWL được sử dụng trong luận án:

Thuật ngữ cú pháp OWL Ký hiệu Logic mô tả Ý nghĩa ngữ nghĩa
owl:Thing $\top$ Tập hợp tất cả các cá thể trong ontology
owl:Nothing $\bot$ Tập rỗng
rdfs:subClassOf $A \sqsubseteq B$ Lớp $A$ là lớp con của lớp $B$
owl:equivalentClass $A \equiv B$ Lớp $A$ tương đương với lớp $B$
owl:intersectionOf $A \sqcap B$ Giao của hai lớp $A$ và $B$
owl:unionOf $A \sqcup B$ Hợp của hai lớp $A$ và $B$
owl:disjointWith $A \sqcap B \equiv \bot$ Hai lớp $A$ và $B$ phân ly (rời nhau)
owl:someValuesFrom $\exists R.C$ Ràng buộc tồn tại giá trị thuộc lớp $C$
owl:allValuesFrom $\forall R.C$ Ràng buộc với mọi giá trị phải thuộc lớp $C$
owl:hasValue $\exists R.{v}$ Ràng buộc chứa giá trị cụ thể $v$
owl:minQualifiedCardinality $\ge n R.C$ Ràng buộc số lượng tối thiểu là $n$
owl:maxQualifiedCardinality $\le n R.C$ Ràng buộc số lượng tối đa là $n$
owl:cardinality $= n R.C$ Ràng buộc số lượng chính xác là $n$
  • So sánh các giả thiết ngữ nghĩa nền tảng:
    • UML sử dụng Giả thiết thế giới đóng (Closed-World Assumption - CWA), xem những gì không được phát biểu rõ là sai. Ngược lại, OWL2 sử dụng Giả thiết thế giới mở (Open-World Assumption - OWA), xem thông tin chưa được công bố là chưa xác định.
    • UML tuân theo Giả thiết tên duy nhất (Unique Name Assumption - UNA), các phần tử khác tên mặc định là khác nhau. OWL2 không mặc định UNA, đòi hỏi phải sử dụng các khai báo tường minh như DifferentIndividuals hoặc DisjointClasses.

Phương pháp nghiên cứu

  1. Phương pháp nghiên cứu lý thuyết: Khảo sát, thu thập và phân tích các công trình nghiên cứu đã công bố; hình thức hóa các thành phần của mô hình EER, TimeER, UML Class Diagram và OWL2; thiết lập các quy tắc ánh xạ cú pháp và ngữ nghĩa hai chiều; xây dựng các thuật toán chuyển đổi và trích xuất.
  2. Phương pháp nghiên cứu thực nghiệm: Cài đặt thuật toán chuyển đổi thành phần mềm ứng dụng; thực hiện thử nghiệm trên các tập dữ liệu và mô hình chuẩn (như mô hình thư mục trích dẫn, mô hình Elmasri, mô hình Purchase Order Application); sử dụng công cụ Protégé để kiểm tra trực quan cấu trúc ontology (qua OntoGraf) và sử dụng bộ suy luận (reasoner) HermiT 1.3.8 để kiểm chứng tính phi mâu thuẫn và tính đúng đắn ngữ nghĩa của các ontology sau chuyển đổi.

Nội dung chính theo từng chương

Chương 1: Tổng quan về mô hình cơ sở dữ liệu mức khái niệm và ontology

Chương 1 thiết lập khung lý thuyết cơ sở cho toàn bộ luận án:

  • Trình bày chi tiết cấu trúc mô hình ER (thực thể, thực thể yếu, thuộc tính đơn, phức hợp, đa trị, khóa, mối quan hệ nhị nguyên, đa nguyên, phản xạ), mô hình EER (phân cấp cha-con, chuyên biệt hóa, tổng quát hóa, ràng buộc toàn phần/riêng phần, phân ly/chồng lấp), mô hình TimeER (các khái niệm thời gian LS, VT, TT, LT, BT) và biểu đồ lớp UML (lớp, thuộc tính dữ liệu/liệt kê, phương thức, các loại quan hệ kết hợp, kết tập thông thường, kết tập chia sẻ, kết tập hợp thành, phụ thuộc).
  • Phân tích kiến trúc Web ngữ nghĩa, cấu trúc bộ ba (Triple: Chủ thể - Vị từ - Đối tượng) của RDF/RDFS và các đặc trưng biểu cảm của OWL/OWL2 (OWL Lite, OWL DL, OWL Full).
  • Khảo sát các công trình chuyển đổi mô hình hiện có, phân tích các điểm tương đồng và khác biệt cốt lõi giữa mô hình khái niệm và OWL (CWA so với OWA, UNA, phạm vi toàn cục của thuộc tính trong OWL so với phạm vi cục bộ trong UML).
  • Xác định các hạn chế tồn tại của các công trình trước làm định hướng cho việc đề xuất các quy tắc bổ sung ở các chương tiếp theo.

Chương 2: Chuyển đổi mô hình thực thể - mối quan hệ sang OWL

Chương 2 tổng hợp, chuẩn hóa các quy tắc chuyển đổi mô hình ER/EER đã có và xây dựng các quy tắc bổ sung:

  • Chuẩn hóa các quy tắc cơ bản: Ánh xạ tập thực thể $E$ thành lớp $C(E)$ trong OWL (owl:Class); thuộc tính đơn trị $attE$ thành thuộc tính kiểu dữ liệu $DP(attE)$ (owl:DatatypeProperty) với miền rdfs:domain là $C(E)$; thuộc tính khóa chuyển thành thuộc tính dữ liệu có tính chất hàm (owl:FunctionalProperty); mối quan hệ kế thừa Is-A chuyển thành rdfs:subClassOf; ràng buộc phân ly chuyển thành owl:disjointWith; ràng buộc chồng lấp được biểu diễn thông qua các lớp giao và hợp; mối quan hệ nhị nguyên $R$ chuyển thành thuộc tính đối tượng $OP(R)$ (owl:ObjectProperty) cùng thuộc tính nghịch đảo owl:inverseOf kèm các ràng buộc bản số owl:minQualifiedCardinality và owl:maxQualifiedCardinality.
  • Đề xuất các quy tắc chuyển đổi bổ sung:
    • Thực thể yếu và quan hệ định danh: Chuyển đổi thực thể yếu $W$ thành lớp $C(W)$, quan hệ định danh thành thuộc tính đối tượng $OP(R)$ với ràng buộc bản số chính xác bằng 1 nối tới lớp thực thể chủ $C(E)$, khóa bộ phận kết hợp khóa chủ được biểu diễn qua các ràng buộc giá trị.
    • Thuộc tính đa trị phức hợp lồng nhau: Tạo lớp trung gian đại diện cho thuộc tính phức hợp, liên kết với lớp thực thể cha bằng thuộc tính đối tượng hai chiều (owl:ObjectProperty và owl:inverseOf), các thuộc tính con đơn trị được gắn vào lớp trung gian này dưới dạng owl:DatatypeProperty.
    • Quan hệ phản xạ: Phân loại thành quan hệ phản xạ đối xứng (sử dụng owl:SymmetricProperty) và quan hệ phản xạ bất đối xứng (sử dụng owl:AsymmetricProperty hoặc thuộc tính đối tượng có vai trò phân biệt).
  • Phương pháp chuyển đổi mô hình TimeER sang OWL:
    • Xây dựng một ontology nền ban đầu biểu diễn yếu tố thời gian gồm các lớp thời gian và thuộc tính thời gian chuẩn (LSs, LSe, VTs, VTe, TTs, TTe).
    • Ánh xạ tập thực thể có yếu tố thời gian: bổ sung các thuộc tính dữ liệu thời gian tương ứng vào lớp thực thể.
    • Ánh xạ thuộc tính có yếu tố thời gian và quan hệ có yếu tố thời gian: tạo cấu trúc lớp tái hiện thời gian (reification) hoặc gán cặp thuộc tính thời gian xác định khoảng hiệu lực cho thuộc tính và mối quan hệ tương ứng.

Bảng quy ước các thuộc tính thời gian tương ứng trong mô hình TimeER:

Yếu tố thời gian trong TimeER Ký hiệu viết tắt Cặp thuộc tính thời gian bổ sung trong OWL
Thời gian sống (LifeSpan) LS LSs (bắt đầu sống), LSe (kết thúc sống)
Thời gian hợp lệ (Valid Time) VT VTs (bắt đầu hợp lệ), VTe (kết thúc hợp lệ)
Thời gian giao tác (Transaction Time) TT TTs (bắt đầu giao tác), TTe (kết thúc giao tác)
Thời gian sống và giao tác LT LSs, LSe, TTs, TTe
Thời gian hợp lệ và giao tác BT VTs, VTe, TTs, TTe
  • Thực nghiệm: Cài đặt thuật toán chuyển đổi, thực hiện kiểm chứng trên mô hình thư mục trích dẫn và mô hình EER của Elmasri. Kết quả OWL được nạp vào Protégé, hiển thị trên OntoGraf và kiểm tra tính nhất quán thành công bằng bộ suy luận HermiT.

Chương 3: Chuyển đổi biểu đồ lớp UML sang OWL

Chương 3 giải quyết bài toán chuyển đổi toàn diện biểu đồ lớp UML sang OWL2:

  • Chuẩn hóa các quy tắc chuyển đổi cơ sở: Ánh xạ lớp UML $U$ thành lớp OWL $C(U)$; thuộc tính cơ bản $attU$ thành owl:DatatypeProperty; kiểu dữ liệu liệt kê (Enumeration) thành lớp với mệnh đề owl:oneOf; quan hệ kết hợp nhị nguyên thành cặp thuộc tính đối tượng nghịch đảo owl:inverseOf kèm ràng buộc bản số; quan hệ tổng quát hóa thành rdfs:subClassOf; kế thừa phân ly hoàn toàn được mô hình hóa bằng owl:DisjointUnion.
  • Đề xuất các quy tắc chuyển đổi bổ sung cho các cấu trúc đặc thù:
    • Thuộc tính có cấu trúc (Structured Attribute): Chuyển đổi thuộc tính cấu trúc thành một lớp riêng trong OWL, tạo thuộc tính đối tượng liên kết giữa lớp chứa và lớp cấu trúc, các thuộc tính thành phần của cấu trúc trở thành các thuộc tính dữ liệu của lớp mới.
    • Thuộc tính có kiểu dữ liệu là lớp: Chuyển đổi trực tiếp thành thuộc tính đối tượng (owl:ObjectProperty) trỏ tới lớp đích tương ứng.
    • Quan hệ kết hợp có lớp kết hợp (Association Class): Chuyển đổi lớp kết hợp thành một lớp trung gian trong OWL, tạo các thuộc tính đối tượng nối từ lớp trung gian đến hai lớp tham gia quan hệ với bản số chính xác bằng 1.
    • Quan hệ kết hợp phản xạ/đệ quy: Phân biệt phản xạ đối xứng (owl:SymmetricProperty) và phản xạ bất đối xứng (owl:AsymmetricProperty) kèm định danh vai trò (roles).
    • Quan hệ kết tập chia sẻ (Shared Aggregation): Ánh xạ thành thuộc tính đối tượng với ràng buộc cho phép một thể hiện bộ phận liên kết với nhiều thể hiện tổng thể.
    • Quan hệ kết hợp có yếu tố hạn định (Qualified Association): Sử dụng lớp trung gian kết hợp yếu tố hạn định $Q$ để bảo toàn tính xác định duy nhất của đối tượng bộ phận $F$ từ đối tượng tổng thể $A$.
    • Quan hệ phụ thuộc (Dependency): Biểu diễn bằng thuộc tính đối tượng có định hướng giữa lớp phụ thuộc và lớp độc lập.
  • Thực nghiệm: Kiểm chứng thuật toán trên biểu đồ lớp UML Purchase Order Application và biểu đồ lớp UML Elmasri. Kiểm tra tính toàn vẹn cú pháp và ngữ nghĩa trên phần mềm Protégé và bộ suy luận HermiT.

Chương 4: Trích xuất mô hình cơ sở dữ liệu mức khái niệm từ OWL ontology

Chương 4 đề xuất phương pháp luận và thuật toán cho bài toán chuyển đổi ngược (trích xuất lược đồ khái niệm từ OWL2 ontology):

  • Trích xuất mô hình EER từ OWL:
    • Nhận dạng lớp OWL (owl:Class) thành tập thực thể mạnh; lớp là miền giá trị phụ thuộc độc quyền thành thực thể yếu.
    • Nhận dạng owl:DatatypeProperty thành các thuộc tính đơn trị; owl:FunctionalProperty kết hợp ràng buộc bản số nhận dạng thành thuộc tính khóa.
    • Nhận dạng cấu trúc lớp trung gian có liên kết hai chiều thành thuộc tính phức hợp hoặc thuộc tính đa trị.
    • Nhận dạng owl:ObjectProperty thành mối quan hệ nhị nguyên; các thuộc tính đối tượng có đặc tính owl:SymmetricProperty hoặc owl:AsymmetricProperty trên cùng một lớp được trích xuất thành mối quan hệ phản xạ đối xứng hoặc bất đối xứng.
    • Nhận dạng rdfs:subClassOf và owl:disjointWith thành cấu trúc tổng quát hóa/chuyên biệt hóa phân ly hoặc chồng lấp.
    • Xây dựng sơ đồ cây quyết định phân tích các khả năng nhận dạng và thuật toán tổng thể trích xuất mô hình EER.

Bảng tổng hợp quy tắc trích xuất cấu trúc tổng quát hóa/chuyên biệt hóa từ OWL sang EER:

Cấu trúc khai báo trong OWL Mối quan hệ nhận dạng trong mô hình EER
$C_i \sqsubseteq C$ (chỉ khai báo rdfs:subClassOf) Chuyên biệt hóa riêng phần, chồng lấp (partial, overlap)
$C_i \sqsubseteq C$ và owl:disjointWith($C_1, C_2, \dots, C_k$) Chuyên biệt hóa riêng phần, phân ly (partial, disjoint)
$C \equiv C_1 \sqcup C_2 \sqcup \dots \sqcup C_k$ Chuyên biệt hóa toàn phần, chồng lấp (total, overlap)
$C \equiv C_1 \sqcup C_2 \sqcup \dots \sqcup C_k$ và owl:disjointWith Chuyên biệt hóa toàn phần, phân ly (total, disjoint)
  • Trích xuất biểu đồ lớp UML từ OWL:
    • Nhận dạng các lớp OWL thành các Lớp UML.
    • Ánh xạ owl:DatatypeProperty thành các thuộc tính lớp thông thường; owl:oneOf thành kiểu dữ liệu liệt kê.
    • Ánh xạ owl:ObjectProperty thành các quan hệ kết hợp; phân tích bản số minQualifiedCardinality và maxQualifiedCardinality để gán lượng số (0..1, 1..1, 0..*, 1..*) và vai trò (roles).
    • Nhận dạng các quan hệ phân cấp lớp thành quan hệ kế thừa (tổng quát hóa); các quan hệ phụ thuộc dựa trên các ràng buộc logic cục bộ.
    • Cung cấp sơ đồ phân tích nhận dạng và ví dụ minh họa từng bước trích xuất biểu đồ lớp UML hoàn chỉnh từ file mã nguồn OWL.

Kết quả và những đóng góp mới

Đóng góp về mặt lý luận và phương pháp

  1. Hoàn thiện bộ quy tắc chuyển đổi EER và TimeER sang OWL2: Bổ sung đầy đủ các quy tắc chuyển đổi cho các cấu trúc phức tạp gồm phân lớp chồng lấp, tổng quát hợp nhất, thuộc tính đa trị phức hợp lồng nhau và phân loại quan hệ phản xạ (đối xứng và bất đối xứng). Đề xuất giải pháp tích hợp các chiều thời gian (thời gian sống LS, thời gian hợp lệ VT, thời gian giao tác TT, LT, BT) từ mô hình TimeER sang ontology.
  2. Bổ sung quy tắc chuyển đổi toàn diện biểu đồ lớp UML sang OWL2: Giải quyết thành công việc ánh xạ các phần tử đặc thù của UML mà các nghiên cứu trước bỏ qua, bao gồm: thuộc tính có cấu trúc, thuộc tính có kiểu dữ liệu là lớp, quan hệ kết hợp có lớp kết hợp, quan hệ kết hợp đệ quy phân loại theo tính đối xứng, quan hệ kết hợp có yếu tố hạn định, quan hệ kết tập chia sẻ và quan hệ phụ thuộc.
  3. Xây dựng phương pháp và thuật toán trích xuất ngược mô hình khái niệm từ OWL2: Thiết lập cơ chế nhận dạng hình thức cho phép tái tạo mô hình EER (thuộc tính phức hợp, quan hệ phản xạ, phân cấp chuyên biệt hóa) và biểu đồ lớp UML từ một ontology cho trước, đóng vai trò như một ánh xạ ngược giải mã lược đồ khái niệm ban đầu của ontology.

Đóng góp về mặt thực tiễn

  • Đã cài đặt và kiểm chứng các thuật toán chuyển đổi và trích xuất thành các mô-đun phần mềm cụ thể.
  • Minh chứng tính khả thi và tính đúng đắn ngữ nghĩa của các quy tắc đề xuất thông qua việc thử nghiệm trên các bộ dữ liệu mẫu (mô hình Elmasri, mô hình Purchase Order Application, mô hình thư mục trích dẫn), kiểm tra tính nhất quán thành công bằng bộ suy luận HermiT trên công cụ Protégé.
  • Cung cấp giải pháp kỹ thuật hỗ trợ nâng cấp và tái sử dụng các hệ thống cơ sở dữ liệu kế thừa sang môi trường Web ngữ nghĩa, giúp tiết kiệm chi phí và nguồn lực thiết kế hệ thống.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:

    • Luận án không xử lý việc chuyển đổi các phương thức (methods/operations) và cơ chế phân quyền truy cập (public, private, protected) của biểu đồ lớp UML do ngôn ngữ OWL2 thuần túy mô tả tri thức tĩnh và không hỗ trợ các khái niệm này.
    • Khái niệm lớp trừu tượng (abstract class) trong UML không có cấu trúc tương đương trực tiếp trong OWL2, buộc phải giả lập thông qua mệnh đề DisjointUnion.
    • OWL2 không hỗ trợ cơ chế cấu trúc hóa tài liệu tổng hợp theo cách của XML Schema, do đó một số biểu diễn cấu trúc phức tạp phải sử dụng các lớp trung gian.
  • Hướng nghiên cứu tiếp:

    • Tiếp tục mở rộng thuật toán để tự động hóa hoàn toàn quá trình xử lý các ràng buộc toàn vẹn nâng cao và quy tắc nghiệp vụ phức tạp.
    • Nghiên cứu tối ưu hóa hiệu năng tính toán của các thuật toán chuyển đổi và trích xuất trên các cơ sở dữ liệu và ontology có quy mô lớn.

Giá trị tham khảo

Luận án là tài liệu chuyên khảo hữu ích cho:

  • Nghiên cứu sinh, học viên cao học và giảng viên thuộc các chuyên ngành Khoa học máy tính, Công nghệ thông tin, Hệ thống thông tin và Kỹ nghệ tri thức; đặc biệt có giá trị tham khảo sâu tại các chương trình đào tạo về Web ngữ nghĩa, Cơ sở dữ liệu nâng cao và Kiến trúc hướng mô hình (MDA).
  • Kỹ sư phần mềm, kiến trúc sư hệ thống và chuyên viên tích hợp dữ liệu đang thực hiện các dự án chuyển đổi số, tích hợp dữ liệu kế thừa từ cơ sở dữ liệu quan hệ/hướng đối tượng sang các nền tảng đồ thị tri thức (Knowledge Graph) và Web ngữ nghĩa.
  • Phần đáng tham khảo nhất: Hệ thống các bảng quy tắc ánh xạ cú pháp chi tiết giữa TimeER/UML và OWL2 trong Chương 2 và Chương 3; thuật toán và sơ đồ cây quyết định nhận dạng cấu trúc trích xuất ngược trong Chương 4.

Câu hỏi thường gặp

1. Sự khác biệt cốt lõi về giả thiết thế giới giữa biểu đồ lớp UML và OWL ontology ảnh hưởng như thế nào đến quá trình chuyển đổi?

Biểu đồ lớp UML sử dụng Giả thiết thế giới đóng (Closed-World Assumption - CWA), xem tất cả những phát biểu không được đề cập rõ ràng là sai. Ngược lại, OWL2 sử dụng Giả thiết thế giới mở (Open-World Assumption - OWA), xem thông tin chưa được công bố là chưa xác định. Do đó, khi chuyển đổi từ UML sang OWL2, để bảo toàn ngữ nghĩa ban đầu của mô hình, thuật toán phải bổ sung tường minh các ràng buộc đóng (như owl:disjointWith, DisjointClasses, ràng buộc bản số cực đại owl:maxQualifiedCardinality và định nghĩa phần bù).

2. Mô hình TimeER đưa các yếu tố thời gian nào vào mô hình cơ sở dữ liệu mức khái niệm và được chuyển đổi sang OWL như thế nào?

Mô hình TimeER đưa vào các yếu tố: Thời gian sống (LS - thời gian thực thể tồn tại trong thực tế), Thời gian hợp lệ (VT - thời gian sự kiện đúng trong thực tế), Thời gian giao tác (TT - thời gian sự kiện được lưu trong CSDL), cùng các kết hợp LT và BT. Khi chuyển đổi sang OWL, luận án xây dựng một ontology biểu diễn thời gian ban đầu với các thuộc tính chuẩn (LSs, LSe, VTs, VTe, TTs, TTe) và gán các thuộc tính dữ liệu thời gian này vào các lớp thực thể, thuộc tính hoặc tạo lớp tái hiện thời gian cho các mối quan hệ tương ứng.

3. Vì sao thuộc tính khóa của mô hình ER không thể gán tính chất hàm nghịch đảo (inverse-functional) khi chuyển thành DatatypeProperty trong OWL?

Trong chuẩn ngôn ngữ OWL/OWL2, tính chất hàm nghịch đảo (owl:InverseFunctionalProperty) chỉ được định nghĩa và áp dụng cho thuộc tính đối tượng (owl:ObjectProperty) kết nối giữa hai cá thể thuộc hai lớp. Thuộc tính khóa trong mô hình ER khi ánh xạ thành thuộc tính kiểu dữ liệu (owl:DatatypeProperty) kết nối cá thể với giá trị dữ liệu literal chỉ có thể thiết lập tính chất hàm (owl:FunctionalProperty), không thể thiết lập tính chất hàm nghịch đảo do vi phạm quy chuẩn cú pháp của OWL.

4. Làm thế nào để biểu diễn một lớp trừu tượng (abstract class) của biểu đồ lớp UML trong OWL2?

Ngôn ngữ OWL2 không hỗ trợ trực tiếp khái niệm abstract class (không thể trực tiếp ngăn cấm một lớp chứa cá thể riêng). Để biểu diễn ngữ nghĩa của lớp trừu tượng trong OWL2, luận án áp dụng khai báo hợp phân ly DisjointUnion cho tập hợp tất cả các lớp con của lớp trừu tượng đó. Khai báo này đảm bảo mọi thể hiện thuộc về lớp cha trừu tượng bắt buộc phải là thể hiện của ít nhất một trong các lớp con và các lớp con này hoàn toàn phân ly với nhau.

5. Mục đích của bài toán trích xuất mô hình cơ sở dữ liệu mức khái niệm từ OWL ontology là gì?

Dữ liệu được tổ chức dưới định dạng OWL trên Web ngữ nghĩa thường phức tạp và không dễ dàng truy vấn hay thao tác bằng các công cụ cơ sở dữ liệu truyền thống. Bài toán trích xuất mô hình cơ sở dữ liệu mức khái niệm từ OWL ontology (Chương 4) thiết lập một ánh xạ ngược, cho phép nhận dạng và khôi phục lại lược đồ khái niệm (EER hoặc biểu đồ lớp UML) đã được sử dụng để thiết kế ontology đó, phục vụ việc tái cấu trúc, phân tích thiết kế và tích hợp hệ thống ngược trở lại các cơ sở dữ liệu truyền thống.

Kết luận

Luận án tiến sĩ của nghiên cứu sinh Võ Hoàng Liên Minh đã giải quyết trọn vẹn bài toán chuyển đổi hai chiều giữa các mô hình cơ sở dữ liệu mức khái niệm mở rộng (EER, TimeER, biểu đồ lớp UML) và ngôn ngữ bản thể học Web ngữ nghĩa (OWL/OWL2). Công trình đã xây dựng hệ thống quy tắc ánh xạ đầy đủ, bao quát các cấu trúc phức tạp như yếu tố thời gian, quan hệ phản xạ, thuộc tính đa trị phức hợp lồng nhau, các dạng quan hệ đặc thù của UML, đồng thời đề xuất thuật toán trích xuất ngược lược đồ khái niệm từ ontology. Toàn bộ các quy tắc và thuật toán đã được cài đặt và kiểm chứng thực nghiệm tính đúng đắn ngữ nghĩa trên phần mềm Protégé với bộ suy luận HermiT, đóng góp giá trị thiết thực cho việc nâng cấp và tích hợp dữ liệu truyền thống vào không gian Web ngữ nghĩa.