Bow Tie Kreative VIDEO Grammar

Chapters · 02 of 21

Media Ontology and Graph

This material is a specification and reference set with a reference rule engine. It is not an editing application, a rendering pipeline or a completed production, and the worked example is entirely fictional — it exists to demonstrate the method.

1. Why a graph is required

A folder can tell you where a file is. It cannot reliably tell you:

  • which question a sentence answers;
  • which claim a chart proves;
  • which reaction belongs to a confession;
  • which B-roll can cover a jump cut;
  • which earlier premise a short clip requires;
  • which generated shot is an alternative to a real shot;
  • which change will break continuity downstream.

The system therefore uses both:

  1. A time graph for order, duration, overlap, and synchronization.
  2. A meaning graph for cause, support, contradiction, reference, setup, and payoff.

2. Object hierarchy

Project
└── Series
    └── Episode
        ├── Source
        │   ├── Track
        │   ├── Shot
        │   ├── SoundEvent
        │   └── TranscriptUnit
        ├── TopicSegment
        │   ├── Proposition
        │   ├── Claim
        │   ├── Exchange
        │   └── ClipCandidate
        ├── Story
        │   ├── Act
        │   ├── Sequence
        │   ├── Scene
        │   └── Beat
        ├── Asset
        │   ├── Graphic
        │   ├── GeneratedShot
        │   ├── MusicCue
        │   ├── SFX
        │   └── CaptionCue
        ├── Timeline
        │   ├── Track
        │   ├── TimelineItem
        │   ├── Transition
        │   └── Marker
        └── Version
            ├── DeliveryProfile
            ├── Render
            └── QAReport

3. Universal object fields

Every object has:

{
  "id": "typed_unique_id",
  "type": "clip|beat|shot|claim|graphic|...",
  "project_id": "project_id",
  "source_ids": [],
  "created_at": "ISO-8601",
  "created_by": "human_or_agent_id",
  "status": "draft|review|approved|rejected|published",
  "confidence": 0.0,
  "provenance": {},
  "rights": {},
  "tags": [],
  "notes": [],
  "version": 1
}

Time-based objects add:

{
  "source_range": {"start": 0.0, "end": 0.0},
  "output_range": {"start": 0.0, "end": 0.0},
  "handles": {"pre": 1.0, "post": 1.0}
}

4. Edge types

Temporal edges

EdgeMeaning
PRECEDESA occurs before B
FOLLOWSA occurs after B
OVERLAPSA and B coexist
CONTAINSA temporally contains B
SYNCHRONIZED_WITHA aligns with B
ALTERNATE_TAKE_OFSame intended event or line
COVERAGE_OFDifferent visual view of the same beat

Semantic edges

EdgeMeaning
REFERS_TOPronoun, phrase, or visual refers to another object
DEFINESA defines B
ELABORATESA adds detail to B
EXEMPLIFIESA is an example of B
SUPPORTSA increases confidence in B
CONTRADICTSA conflicts with B
QUALIFIESA limits or conditions B
CAUSESA is presented as causing B
ENABLESA makes B possible
PREVENTSA blocks B
ANSWERSA answers B
QUESTIONSA raises uncertainty about B
SUMMARIZESA compresses B
TRANSLATESA restates B in another language or form

Narrative edges

EdgeMeaning
SETS_UPA creates an expectation paid by B
PAYS_OFFB resolves or transforms A
ESCALATESB increases pressure introduced by A
REVERSESB changes interpretation of A
CALLS_BACK_TOB deliberately recalls A
FORESHADOWSA hints at B
REVEALSA makes hidden information available
MOTIVATESA gives a character or audience reason for B
RESOLVESB closes a question, conflict, or loop
BRIDGESA enables transition between otherwise disconnected objects

Production edges

EdgeMeaning
VISUALIZESShot or graphic represents a proposition or beat
SONIFIESSound represents or amplifies a beat
COVERS_EDITAsset hides or motivates an edit
REQUIRESA cannot function without B
CONSTRAINSA limits possible states of B
GENERATED_FROMSynthetic object derives from prompt/reference
DERIVED_FROMVersion derives from semantic timeline
REPLACESA substitutes for B
APPROVED_BYHuman or policy gate approved A
FLAGGED_BYQA process identified a concern

5. Story graph versus timeline

The story graph is non-linear and represents meaning. The timeline is linear and represents presentation.

One story graph can create many timelines:

long interview
→ 60-minute episode
→ 12-minute thematic cut
→ 90-second trailer
→ 30-second vertical insight
→ audio-only episode
→ article and infographic

6. Semantic timeline

The semantic timeline is the authoritative edit description.

{
  "timeline_id": "tl_main",
  "story_id": "story_01",
  "items": [
    {
      "beat_id": "beat_hook",
      "clip_id": "clip_004",
      "story_function": "hook",
      "source_range": {"start": 132.4, "end": 146.2},
      "output_duration": 13.8,
      "visual_plan_id": "visual_hook",
      "audio_plan_id": "audio_hook",
      "graphic_plan_id": null
    }
  ]
}

Rendered timelines for an NLE, web player, vertical crop, or audio-only version are derived from this semantic representation.

7. Context dependency graph

A clip can depend on:

  • a named person;
  • a prior definition;
  • an earlier question;
  • a stated time or place;
  • a qualifying clause;
  • a visible object;
  • a source or chart;
  • an emotional setup;
  • a later resolution.

The dependency graph supports a completeness test:

IF required dependency is absent
THEN expand clip boundary
OR add contextual bridge
OR add text/voice-over
OR reject standalone use

8. Provenance object

{
  "origin_type": "camera|archive|screen_recording|generated|licensed|user_upload",
  "origin_uri": "internal_asset_reference",
  "capture_time": null,
  "creator": null,
  "model": null,
  "prompt_id": null,
  "reference_asset_ids": [],
  "modifications": [],
  "content_credentials": null,
  "disclosure_required": false
}

9. Rights object

{
  "owner": null,
  "license": null,
  "territories": [],
  "start_date": null,
  "end_date": null,
  "allowed_uses": [],
  "likeness_consent": null,
  "music_clearance": null,
  "restrictions": [],
  "review_required": false
}

10. State machine

IMPORTED
→ ANALYZED
→ SEGMENTED
→ CONTEXT_RESOLVED
→ CANDIDATE
→ SELECTED
→ PLANNED
→ ASSEMBLED
→ FINISHED
→ QA_PASSED
→ APPROVED
→ PUBLISHED

Any state can move to FLAGGED, REJECTED, or NEEDS_REVISION. Published objects remain versioned rather than overwritten.

This chapter as markdown →