Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
932 changes: 563 additions & 369 deletions docs/data-assets/apis/api-collection.md

Large diffs are not rendered by default.

1,269 changes: 707 additions & 562 deletions docs/data-assets/apis/api-endpoint.md

Large diffs are not rendered by default.

852 changes: 594 additions & 258 deletions docs/data-assets/apis/api-service.md

Large diffs are not rendered by default.

925 changes: 655 additions & 270 deletions docs/data-assets/dashboards/chart.md

Large diffs are not rendered by default.

955 changes: 754 additions & 201 deletions docs/data-assets/dashboards/dashboard-service.md

Large diffs are not rendered by default.

742 changes: 585 additions & 157 deletions docs/data-assets/dashboards/dashboard.md

Large diffs are not rendered by default.

1,086 changes: 647 additions & 439 deletions docs/data-assets/dashboards/data-model.md

Large diffs are not rendered by default.

1,214 changes: 440 additions & 774 deletions docs/data-assets/dashboards/report.md

Large diffs are not rendered by default.

564 changes: 332 additions & 232 deletions docs/data-assets/databases/column.md

Large diffs are not rendered by default.

564 changes: 423 additions & 141 deletions docs/data-assets/databases/database-schema.md

Large diffs are not rendered by default.

749 changes: 594 additions & 155 deletions docs/data-assets/databases/database-service.md

Large diffs are not rendered by default.

1,150 changes: 960 additions & 190 deletions docs/data-assets/databases/database.md

Large diffs are not rendered by default.

1,007 changes: 508 additions & 499 deletions docs/data-assets/databases/query.md

Large diffs are not rendered by default.

882 changes: 641 additions & 241 deletions docs/data-assets/databases/stored-procedure.md

Large diffs are not rendered by default.

484 changes: 371 additions & 113 deletions docs/data-assets/databases/table.md

Large diffs are not rendered by default.

867 changes: 614 additions & 253 deletions docs/data-assets/messaging/messaging-service.md

Large diffs are not rendered by default.

938 changes: 726 additions & 212 deletions docs/data-assets/messaging/topic.md

Large diffs are not rendered by default.

746 changes: 526 additions & 220 deletions docs/data-assets/ml/mlmodel-service.md

Large diffs are not rendered by default.

881 changes: 710 additions & 171 deletions docs/data-assets/ml/mlmodel.md

Large diffs are not rendered by default.

750 changes: 591 additions & 159 deletions docs/data-assets/pipelines/pipeline-service.md

Large diffs are not rendered by default.

982 changes: 729 additions & 253 deletions docs/data-assets/pipelines/pipeline.md

Large diffs are not rendered by default.

800 changes: 224 additions & 576 deletions docs/data-assets/pipelines/task.md

Large diffs are not rendered by default.

977 changes: 691 additions & 286 deletions docs/data-assets/search/search-index.md

Large diffs are not rendered by default.

717 changes: 556 additions & 161 deletions docs/data-assets/search/search-service.md

Large diffs are not rendered by default.

865 changes: 525 additions & 340 deletions docs/data-assets/storage/container.md

Large diffs are not rendered by default.

491 changes: 373 additions & 118 deletions docs/data-assets/storage/directory.md

Large diffs are not rendered by default.

581 changes: 408 additions & 173 deletions docs/data-assets/storage/drive-service.md

Large diffs are not rendered by default.

1,141 changes: 650 additions & 491 deletions docs/data-assets/storage/file.md

Large diffs are not rendered by default.

560 changes: 380 additions & 180 deletions docs/data-assets/storage/spreadsheet.md

Large diffs are not rendered by default.

842 changes: 580 additions & 262 deletions docs/data-assets/storage/storage-service.md

Large diffs are not rendered by default.

676 changes: 443 additions & 233 deletions docs/data-assets/storage/worksheet.md

Large diffs are not rendered by default.

1,276 changes: 593 additions & 683 deletions docs/data-contracts/data-contract.md

Large diffs are not rendered by default.

1,782 changes: 846 additions & 936 deletions docs/data-products/data-product.md

Large diffs are not rendered by default.

1,428 changes: 752 additions & 676 deletions docs/data-quality/alert.md

Large diffs are not rendered by default.

1,112 changes: 605 additions & 507 deletions docs/data-quality/data-profile.md

Large diffs are not rendered by default.

854 changes: 681 additions & 173 deletions docs/data-quality/test-case.md

Large diffs are not rendered by default.

694 changes: 546 additions & 148 deletions docs/data-quality/test-definition.md

Large diffs are not rendered by default.

787 changes: 613 additions & 174 deletions docs/data-quality/test-suite.md

Large diffs are not rendered by default.

218 changes: 90 additions & 128 deletions docs/events/change-event.md

Large diffs are not rendered by default.

827 changes: 555 additions & 272 deletions docs/governance/classification.md

Large diffs are not rendered by default.

347 changes: 345 additions & 2 deletions docs/governance/domain.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,353 @@
# Domain

Domain-driven organization of data assets and metadata.
A `Domain` is a bounded context that is aligned with a Business Unit or a function within an organization.

## Overview

Domains provide a way to organize data assets by business domains, enabling better ownership and governance.
Domains provide a way to organize data assets by business domains, enabling better ownership and governance. They support hierarchical structures with parent-child relationships and can be categorized by type (Source-aligned, Consumer-aligned, or Aggregate).

## JSON Schema

```json
{
"$id": "https://open-metadata.org/schema/entity/domains/domain.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Domain",
"description": "A `Domain` is a bounded context that is aligned with a Business Unit or a function within an organization.",
"type": "object",
"properties": {
"id": {
"description": "Unique ID of the Domain",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"domainType": {
"description": "Domain type",
"type": "string",
"enum": ["Source-aligned", "Consumer-aligned", "Aggregate"]
},
"name": {
"description": "A unique name of the Domain",
"$ref": "../../type/basic.json#/definitions/entityName"
},
"fullyQualifiedName": {
"description": "FullyQualifiedName same as `name`.",
"$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
},
"displayName": {
"description": "Name used for display purposes. Example 'Marketing', 'Payments', etc.",
"type": "string"
},
"description": {
"description": "Description of the Domain.",
"$ref": "../../type/basic.json#/definitions/markdown"
},
"style": {
"$ref": "../../type/basic.json#/definitions/style"
},
"version": {
"description": "Metadata version of the entity.",
"$ref": "../../type/entityHistory.json#/definitions/entityVersion"
},
"updatedAt": {
"description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.",
"$ref": "../../type/basic.json#/definitions/timestamp"
},
"updatedBy": {
"description": "User who made the update.",
"type": "string"
},
"impersonatedBy": {
"description": "Bot user that performed the action on behalf of the actual user.",
"$ref": "../../type/basic.json#/definitions/impersonatedBy"
},
"href": {
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"parent": {
"description": "Parent domains. When 'null' or not set, indicates that this is the top level domain.",
"$ref": "../../type/entityReference.json"
},
"children": {
"description": "Children domains or sub-domains.",
"$ref": "../../type/entityReferenceList.json"
},
"childrenCount": {
"description": "Count of all nested children domains under this domain",
"type": "integer"
},
"owners": {
"description": "Owners of this Domain.",
"$ref": "../../type/entityReferenceList.json"
},
"experts": {
"description": "List of users who are experts in this Domain.",
"$ref": "../../type/entityReferenceList.json"
},
"assets": {
"description": "Data assets collection that is part of this domain.",
"$ref": "../../type/entityReferenceList.json",
"deprecated": true
},
"tags": {
"description": "Tags associated with the Domain.",
"type": "array",
"items": {
"$ref": "../../type/tagLabel.json"
}
},
"changeDescription": {
"description": "Change that lead to this version of the entity.",
"$ref": "../../type/entityHistory.json#/definitions/changeDescription"
},
"incrementalChangeDescription": {
"description": "Change that lead to this version of the entity.",
"$ref": "../../type/entityHistory.json#/definitions/changeDescription"
},
"extension": {
"description": "Entity extension data with custom attributes added to the entity.",
"$ref": "../../type/basic.json#/definitions/entityExtension"
},
"followers": {
"description": "Followers of this entity.",
"$ref": "../../type/entityReferenceList.json"
}
},
"required": ["id", "name", "description", "domainType"]
}
```

## Properties

### Core Properties

- **id** (uuid, required): Unique identifier of the Domain
- **name** (string, required): A unique name of the Domain
- **fullyQualifiedName** (string): FullyQualifiedName same as `name`
- **displayName** (string): Name used for display purposes (e.g., 'Marketing', 'Payments')
- **description** (markdown, required): Description of the Domain
- **domainType** (enum, required): Type of domain - one of:
- `Source-aligned`: Domain aligned with data sources
- `Consumer-aligned`: Domain aligned with data consumers
- `Aggregate`: Aggregate domain combining multiple domains

### Hierarchy Properties

- **parent** (EntityReference): Parent domain. When null or not set, indicates this is a top-level domain
- **children** (EntityReferenceList): Child domains or sub-domains
- **childrenCount** (integer): Count of all nested children domains under this domain

### Ownership & Collaboration

- **owners** (EntityReferenceList): Owners of this Domain
- **experts** (EntityReferenceList): List of users who are experts in this Domain
- **followers** (EntityReferenceList): Followers of this entity

### Asset Management

- **assets** (EntityReferenceList, deprecated): Data assets collection that is part of this domain
- Note: This property is deprecated. Use `GET /v1/domains/{id}/assets` API endpoint for paginated access to domain assets

### Metadata Properties

- **style** (Style): Visual styling information for the domain
- **tags** (array of TagLabel): Tags associated with the Domain
- **version** (number): Metadata version of the entity
- **updatedAt** (timestamp): Last update time in Unix epoch time milliseconds
- **updatedBy** (string): User who made the update
- **impersonatedBy** (string): Bot user that performed the action on behalf of the actual user
- **href** (string): Link to the resource corresponding to this entity
- **changeDescription** (ChangeDescription): Change that led to this version of the entity
- **incrementalChangeDescription** (ChangeDescription): Incremental change information
- **extension** (EntityExtension): Entity extension data with custom attributes

## RDF Representation

```turtle
@prefix om: <https://open-metadata.org/schema/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

om:Domain a owl:Class ;
rdfs:label "Domain" ;
rdfs:comment "A Domain is a bounded context that is aligned with a Business Unit or a function within an organization." ;
rdfs:subClassOf om:Entity .

om:domainType a owl:DatatypeProperty ;
rdfs:label "domainType" ;
rdfs:comment "Domain type" ;
rdfs:domain om:Domain ;
rdfs:range xsd:string .

om:parent a owl:ObjectProperty ;
rdfs:label "parent" ;
rdfs:comment "Parent domains. When null or not set, indicates that this is the top level domain." ;
rdfs:domain om:Domain ;
rdfs:range om:Domain .

om:children a owl:ObjectProperty ;
rdfs:label "children" ;
rdfs:comment "Children domains or sub-domains." ;
rdfs:domain om:Domain ;
rdfs:range om:Domain .

om:childrenCount a owl:DatatypeProperty ;
rdfs:label "childrenCount" ;
rdfs:comment "Count of all nested children domains under this domain" ;
rdfs:domain om:Domain ;
rdfs:range xsd:integer .

om:experts a owl:ObjectProperty ;
rdfs:label "experts" ;
rdfs:comment "List of users who are experts in this Domain." ;
rdfs:domain om:Domain ;
rdfs:range om:User .

om:assets a owl:ObjectProperty ;
rdfs:label "assets" ;
rdfs:comment "Data assets collection that is part of this domain." ;
rdfs:domain om:Domain ;
owl:deprecated true .
```

## JSON-LD Context

```json
{
"@context": {
"@vocab": "https://open-metadata.org/schema/",
"om": "https://open-metadata.org/schema/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"id": "@id",
"type": "@type",
"Domain": "om:Domain",
"domainType": {
"@id": "om:domainType",
"@type": "xsd:string"
},
"name": {
"@id": "om:name",
"@type": "xsd:string"
},
"fullyQualifiedName": {
"@id": "om:fullyQualifiedName",
"@type": "xsd:string"
},
"displayName": {
"@id": "om:displayName",
"@type": "xsd:string"
},
"description": {
"@id": "om:description",
"@type": "xsd:string"
},
"parent": {
"@id": "om:parent",
"@type": "@id"
},
"children": {
"@id": "om:children",
"@type": "@id",
"@container": "@set"
},
"childrenCount": {
"@id": "om:childrenCount",
"@type": "xsd:integer"
},
"owners": {
"@id": "om:owners",
"@type": "@id",
"@container": "@set"
},
"experts": {
"@id": "om:experts",
"@type": "@id",
"@container": "@set"
},
"assets": {
"@id": "om:assets",
"@type": "@id",
"@container": "@set"
},
"tags": {
"@id": "om:tags",
"@type": "@id",
"@container": "@set"
},
"followers": {
"@id": "om:followers",
"@type": "@id",
"@container": "@set"
},
"version": {
"@id": "om:version",
"@type": "xsd:decimal"
},
"updatedAt": {
"@id": "om:updatedAt",
"@type": "xsd:dateTime"
},
"updatedBy": {
"@id": "om:updatedBy",
"@type": "xsd:string"
},
"href": {
"@id": "om:href",
"@type": "@id"
}
}
}
```

## Example

```json
{
"@context": "https://open-metadata.org/schema/entity/domains/domain.jsonld",
"@type": "Domain",
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "marketing",
"fullyQualifiedName": "marketing",
"displayName": "Marketing",
"description": "Marketing domain containing all marketing-related data assets",
"domainType": "Consumer-aligned",
"owners": [
{
"id": "user123",
"type": "user",
"name": "john.doe"
}
],
"experts": [
{
"id": "user456",
"type": "user",
"name": "jane.smith"
}
],
"parent": null,
"children": [
{
"id": "subdomain123",
"type": "domain",
"name": "marketing.campaigns"
}
],
"childrenCount": 1,
"tags": [
{
"tagFQN": "PII.Sensitive",
"labelType": "Manual"
}
],
"version": 1.0,
"updatedAt": 1701234567890,
"updatedBy": "admin",
"href": "https://open-metadata.org/api/v1/domains/a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
```

## Related Documentation

Expand Down
Loading