Skip to content

Conversation

@ZAK1504
Copy link
Contributor

@ZAK1504 ZAK1504 commented Dec 14, 2025

feat: Add Business Ontology Layer with Microsoft CDM support

Overview

Implements a Business Ontology Layer that enables mapping semantic models to Microsoft Common Data Model (CDM) entities.

Key Features

  • CDM Entity & Attribute Models: Pydantic-based data validation
  • Built-in CDM Catalogs: Core, Sales, and Service catalogs with 8 entities
  • Business Ontology: Domain organization (CUSTOMER, SALES, FINANCE, etc.)
  • Ontology Mapper: Entity and attribute-level semantic-to-CDM mappings
  • Persistence: Save/load JSON for ontologies and mappings
  • Query & Analysis: Gap detection, validation, and reporting

Implementation

  • Core Modules (1,700+ lines): entities.py, catalog.py, ontology.py, mapper.py
  • Test Suite: 97 tests (100% passing)
  • Examples: 3 real-world scenarios (business, healthcare, financial)
  • Performance: 408K queries/second throughput
  • Platform: Windows-compatible with UTF-8 encoding

Testing

pytest tests/cdm/ -v
# 97 passed in 5.79s

Usage Example

from intugle import BusinessOntology, CDMCatalog, OntologyMapper, SemanticModel

# Load CDM catalog
catalog = CDMCatalog.load_builtin('cdm_core')

# Create business ontology
ontology = BusinessOntology(name='My Ontology')
ontology.add_domain('CustomerDomain', DomainType.CUSTOMER)
ontology.add_concept('Customer', 'CustomerDomain', cdm_entity='Contact')

# Map semantic model to CDM
mapper = OntologyMapper(ontology, catalog)
mapper.map_entity('customer', 'Customer')

Files Changed

  • 27 files changed, 6,197 insertions(+)
  • New: src/intugle/models/cdm/ (4 modules)
  • New: tests/cdm/ (8 test files)
  • New: examples/ (3 CDM examples)
  • Modified: src/intugle/__init__.py (exports)

What's Next

This enables data product integration with CDM standards, governance tracking, and enterprise data modeling workflows.

Fixes #109


@ZAK1504 ZAK1504 force-pushed the feature/business-ontology-cdm-support branch 2 times, most recently from c0b661e to e0926d2 Compare December 18, 2025 14:56
@ZAK1504 ZAK1504 force-pushed the feature/business-ontology-cdm-support branch 2 times, most recently from ecc6f87 to e0926d2 Compare December 26, 2025 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Business Ontology Layer on top of the Semantic Model

1 participant