Common Definitions Format
Reusable schema component definitions for use across all META-AIML schema files. These common definitions provide standardized structures for modules, identifiers, contact information, metadata, images, multilingual content, person data, and deprecated field management.
modulesDef
Recursive structure for nesting modules with versioning and properties
identifierDef
Standard identifier structure with alternate IDs and systems
contactInfoDef
Standardized contact information including email, phone, address
metadataDef
Standard metadata structure with versioning and change tracking
imageDef
Standard image information with specifications and licensing
multilingualDef
Standard multilingual content structure with translation metadata
personDef
Standard person information structure with contact details
deprecatedFieldsDef
Information about deprecated fields with replacement guidance
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Common Schema Definitions",
"description": "Reusable schema component definitions for use across all schema files",
"type": "object",
"aimlVersion": "2.0.1",
"schemaVersion": "2.0.1",
"$defs": {
"modulesDef": {
"type": "object",
"description": "Recursive structure for nesting modules",
"patternProperties": {
"^[a-zA-Z0-9_]+$": {
"type": "object",
"properties": {
"moduleType": { "type": "string" },
"version": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$" },
"required": { "type": "boolean" },
"properties": { "type": "object", "additionalProperties": true },
"modules": { "$ref": "#/$defs/modulesDef" }
}
}
}
},
"identifierDef": {
"type": "object",
"description": "Standard identifier structure",
"properties": {
"@id": { "type": "string" },
"alternateIds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"idType": { "type": "string" },
"idSystem": { "type": "string" }
}
}
}
}
},
"contactInfoDef": {
"type": "object",
"description": "Standardized contact information",
"properties": {
"email": { "type": "string", "format": "email" },
"phone": { "type": "string" },
"website": { "type": "string", "format": "uri" },
"address": { "$ref": "./components/address-format.json" },
"socialProfiles": {
"type": "object",
"additionalProperties": { "type": "string", "format": "uri" }
}
}
}
}
}Note: Common definitions provide the structure standard, but entity schemas include definition data directly rather than using $ref references.
Common definitions serve as templates - the actual data structures are embedded directly in schemas:
{
"contact": {
"email": "contact@restaurant.com",
"phone": "+1-555-0123",
"website": "https://restaurant.com",
"address": {
"streetAddress": "123 Main St",
"addressLocality": "New York",
"addressRegion": "NY",
"postalCode": "10001",
"addressCountry": "US"
},
"socialProfiles": {
"facebook": "https://facebook.com/restaurant",
"instagram": "https://instagram.com/restaurant"
}
}
}Standardization
- • Consistent data structures across all schemas
- • Reusable components reduce duplication
- • Standardized contact and metadata formats
Extensibility
- • Recursive module structure support
- • Flexible identifier system with alternates
- • Multilingual content support
Common definitions provide standardized structures for consistent data modeling across all META-AIML entity schemas.