EventEntity

v3.0.0
Ontology

Base ontological schema for temporal events and experiences. CRITICAL: (1) Events are temporally bounded; (2) Have discrete start/end time; (3) Can be recurring or one-time; (4) Location can be physical, virtual, or hybrid.

Canonical File
Validation Surface
Required root keys and governance rules from this ontology contract.

Required root keys: ontologicalMode, deliveryFormat, eventDetails, interactionArchetype

Governance rules: RULE-ON-EVT-001: ontologicalMode MUST equal EventEntity | RULE-ON-EVT-002: eventDetails.startDate/endDate/eventType MUST be present | RULE-ON-EVT-003: deliveryFormat MUST be present

Canonical Ontology JSON
https://schemas.meta-aiml.org/v3.0.0/ontology/event_entity.json
https://schemas.meta-aiml.org/v3.0.0/ontology/event_entity.json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "@context": [
    "https://schemas.meta-aiml.org/v3.0.0/context.jsonld"
  ],
  "@id": "https://schemas.meta-aiml.org/v3.0.0/ontology/event_entity.json",
  "@type": [
    "Thing",
    "OntologySchema",
    "EventEntity"
  ],
  "schemaVersion": "3.0.0",
  "aimlVersion": "3.0.0",
  "title": "EventEntity Ontology",
  "description": "Base ontological schema for temporal events and experiences. CRITICAL: (1) Events are temporally bounded; (2) Have discrete start/end time; (3) Can be recurring or one-time; (4) Location can be physical, virtual, or hybrid.",
  "type": "object",
  "properties": {
    "ontologicalMode": {
      "type": "string",
      "const": "EventEntity",
      "description": "Entity is fundamentally a BOUNDED TEMPORAL OCCURRENCE. Distinguished by time constraint, not by content or interaction model. Examples: concert, conference, class session."
    },
    "ontologicalInvariants": {
      "type": "object",
      "description": "Structural guarantees ALWAYS true for EventEntity",
      "properties": {
        "temporallyBounded": {
          "type": "string",
          "const": "mandatory",
          "description": "Events have definitive start AND end times—not open-ended like a service."
        },
        "discreteOccurrence": {
          "type": "string",
          "const": "mandatory",
          "description": "Each event is a discrete instance. Recurrence creates new instances, not continuous service."
        },
        "hasCapacityBound": {
          "type": "string",
          "const": "often_true",
          "description": "Events typically have geographic/capacity constraints (venue size, bandwidth for virtual)."
        },
        "locationDependent": {
          "type": "string",
          "const": "yes",
          "description": "Events are location-bound: physical venue, virtual room, or hybrid space. Location shapes participation."
        }
      },
      "required": [
        "temporallyBounded",
        "discreteOccurrence",
        "locationDependent"
      ]
    },
    "structuralRequirements": {
      "type": "object",
      "description": "Hard structural requirements",
      "properties": {
        "temporalStructure": {
          "type": "object",
          "description": "Event timing is structural, not operational",
          "properties": {
            "startDateTime": {
              "type": "string",
              "format": "date-time",
              "description": "When event begins"
            },
            "endDateTime": {
              "type": "string",
              "format": "date-time",
              "description": "When event ends"
            },
            "timezone": {
              "type": "string",
              "description": "Timezone context for times"
            },
            "occurrencePattern": {
              "type": "string",
              "enum": [
                "one_time",
                "recurring"
              ],
              "description": "Single instance or recurring series"
            },
            "recurrenceRule": {
              "type": "string",
              "description": "RFC 5545 RRULE for recurring events"
            }
          },
          "required": [
            "startDateTime",
            "endDateTime",
            "timezone",
            "occurrencePattern"
          ]
        },
        "locationStructure": {
          "type": "object",
          "description": "Where event happens (structural component)",
          "properties": {
            "locationType": {
              "type": "string",
              "enum": [
                "physical_venue",
                "virtual_room",
                "hybrid",
                "distributed"
              ],
              "description": "Nature of event location"
            },
            "physicalVenue": {
              "type": "object",
              "description": "If physical or hybrid",
              "properties": {
                "venueName": {
                  "type": "string"
                },
                "address": {
                  "type": "object",
                  "properties": {
                    "streetAddress": {
                      "type": "string"
                    },
                    "addressLocality": {
                      "type": "string"
                    },
                    "addressCountry": {
                      "type": "string"
                    }
                  }
                },
                "geoCoordinates": {
                  "type": "object",
                  "properties": {
                    "latitude": {
                      "type": "number"
                    },
                    "longitude": {
                      "type": "number"
                    }
                  }
                },
                "capacity": {
                  "type": "integer",
                  "minimum": 1,
                  "description": "Maximum occupancy for physical space"
                }
              }
            },
            "virtualVenue": {
              "type": "object",
              "description": "If virtual or hybrid",
              "properties": {
                "platformUrl": {
                  "type": "string",
                  "format": "uri",
                  "description": "Where virtual event occurs"
                },
                "maxParticipants": {
                  "type": "integer",
                  "description": "Virtual capacity"
                }
              }
            }
          },
          "required": [
            "locationType"
          ]
        }
      },
      "required": [
        "temporalStructure",
        "locationStructure"
      ]
    },
    "deliveryFormat": {
      "type": "array",
      "description": "How event is delivered/accessed",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "uniqueItems": true,
      "examples": [
        "InPersonAttendance",
        "VirtualStreaming",
        "HybridBoth"
      ]
    },
    "semanticAnnotations": {
      "type": "object",
      "description": "Semantic info about event nature",
      "properties": {
        "eventType": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "examples": [
            "Conference",
            "Workshop",
            "Concert",
            "Class",
            "Webinar",
            "Festival",
            "Tournament"
          ]
        },
        "targetAudience": {
          "type": "string",
          "description": "Who attends"
        },
        "expectedAttendanceRange": {
          "type": "string",
          "enum": [
            "intimate_small",
            "small",
            "medium",
            "large",
            "very_large"
          ],
          "description": "Estimated scale"
        }
      }
    },
    "ontologyNotes": {
      "type": "object",
      "description": "Architectural notes",
      "properties": {
        "whyNoOperationalFlags": {
          "type": "string",
          "const": "ONTOLOGY defines WHAT it is (time-bounded occurrence). Operational details (registration, ticketing, capacity management) belong in capabilities/modules, not ontology.",
          "description": "Design philosophy"
        },
        "eventVsService": {
          "type": "string",
          "const": "Service (DirectService) is ongoing: email, streaming, banking. Event is bounded: concert ends, conference concludes. Temporal constraint is ontological.",
          "description": "Key distinction"
        },
        "v2Richness": {
          "type": "string",
          "const": "Preserved through: precise temporal structure (start/end/tz/recurrence), location variations, venue details, capacity semantics.",
          "description": "Information density maintained"
        }
      }
    },
    "examples": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "examples": [
        "Music concert (physical venue, temporal bound)",
        "Virtual conference (online, multiple sessions over days)",
        "University class (recurring weekly, classroom venue)",
        "Webinar (virtual, single time slot)",
        "Festival (physical, multi-day, capacity limited)",
        "Wedding (physical, one-time, discrete event)",
        "Tournament/competition (recurring seasons)"
      ]
    },
    "eventDetails": {
      "type": "object",
      "properties": {
        "startDate": {
          "type": "string",
          "format": "date-time"
        },
        "endDate": {
          "type": "string",
          "format": "date-time"
        },
        "eventType": {
          "type": "string",
          "enum": [
            "physical",
            "virtual",
            "hybrid"
          ]
        }
      },
      "required": [
        "startDate",
        "endDate",
        "eventType"
      ]
    },
    "interactionArchetype": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "DirectService",
          "BroadcastPublisher"
        ]
      },
      "minItems": 1,
      "maxItems": 1
    }
  },
  "required": [
    "ontologicalMode",
    "deliveryFormat",
    "eventDetails",
    "interactionArchetype"
  ],
  "validationMetadata": {
    "schemaVersion": "3.0.0",
    "phase": "phase_1",
    "status": "draft",
    "lastValidated": "2026-02-19",
    "validator": "META-AIML QA"
  },
  "$id": "https://schemas.meta-aiml.org/v3.0.0/ontology/event_entity.json",
  "semanticAnnotations": {
    "classificationRationale": "EventEntity ontology schema aligned with META-AIML v3 structural completeness rules.",
    "disambiguationNotes": "Ontology and archetype constraints are encoded for machine-verifiable validation."
  },
  "governanceMetadata": {
    "schemaVersion": "3.0.0",
    "stabilityLevel": "draft",
    "sdkValidationRules": [
      "RULE-ON-EVT-001: ontologicalMode MUST equal EventEntity",
      "RULE-ON-EVT-002: eventDetails.startDate/endDate/eventType MUST be present",
      "RULE-ON-EVT-003: deliveryFormat MUST be present"
    ]
  },
  "examples": [
    {
      "scenario": "EventEntity ontology reference usage #1",
      "note": "Demonstrates canonical structure and required constraints."
    },
    {
      "scenario": "EventEntity ontology reference usage #2",
      "note": "Demonstrates compliant alternative while preserving ontology/archetype semantics."
    }
  ]
}