MATIH Platform is in active MVP development. Documentation reflects current implementation status.
11. Pipelines & Data Engineering
Ontology Service
Ontology Templates

Ontology Templates

Ontology templates provide pre-built sets of object types, properties, and relationships for common industry verticals. Templates accelerate ontology development by providing a starting point that can be customized for each tenant's specific needs.

Source: data-plane/ontology-service/src/templates/


Template Architecture

ComponentModulePurpose
Template Registryregistry.pyTemplate catalog and versioning
Template Deployerdeployer.pyDeploy templates to tenant ontology
Template Modelsmodels.pyTemplate data structures

Available Templates

TemplateObject TypesDescription
E-CommerceCustomer, Order, Product, Category, ReviewRetail and e-commerce domain
Financial ServicesAccount, Transaction, Customer, PortfolioBanking and financial data
HealthcarePatient, Encounter, Diagnosis, MedicationClinical data domain
ManufacturingProduct, WorkOrder, Machine, InventoryManufacturing operations
SaaSUser, Subscription, Invoice, FeatureSoftware-as-a-service metrics
Supply ChainSupplier, PurchaseOrder, Shipment, WarehouseLogistics and supply chain
MarketingCampaign, Lead, Contact, ConversionMarketing analytics
IoTDevice, Sensor, Reading, AlertInternet of Things telemetry
HREmployee, Department, Position, PerformanceHuman resources
EducationStudent, Course, Enrollment, GradeEducational institutions

Template Structure

{
  "name": "e-commerce",
  "version": "1.0.0",
  "description": "E-commerce domain ontology",
  "objectTypes": [
    {
      "name": "Customer",
      "layer": "semantic",
      "properties": [
        {"name": "customer_id", "dataType": "string", "required": true},
        {"name": "email", "dataType": "string", "required": true},
        {"name": "name", "dataType": "string", "required": true},
        {"name": "segment", "dataType": "string", "required": false}
      ],
      "relationships": [
        {"name": "orders", "targetType": "Order", "cardinality": "ONE_TO_MANY"}
      ],
      "governance": {
        "classification": "CONFIDENTIAL",
        "pii_fields": ["email", "name"]
      }
    }
  ]
}

Deploying a Template

POST /v1/ontology/templates/deploy

Request:
{
  "templateName": "e-commerce",
  "version": "1.0.0",
  "customizations": {
    "excludeObjectTypes": ["Review"],
    "additionalProperties": {
      "Customer": [
        {"name": "loyalty_tier", "dataType": "string"}
      ]
    }
  }
}

Response:
{
  "deploymentId": "deploy-abc-123",
  "objectTypesCreated": 4,
  "relationshipsCreated": 6,
  "status": "completed"
}

Template Management API

MethodEndpointDescription
GET/v1/ontology/templatesList available templates
GET/v1/ontology/templates/:nameGet template details
POST/v1/ontology/templates/deployDeploy a template
POST/v1/ontology/templatesCreate a custom template
PUT/v1/ontology/templates/:nameUpdate a template

Customization Options

OptionDescription
excludeObjectTypesSkip specific object types from the template
additionalPropertiesAdd extra properties to object types
overrideGovernanceOverride governance settings for the deployment
namingPrefixAdd a prefix to all object type names

Related Pages