FLOW ALGEBRA
Ontology: Presentation Metadata Ontology
Domain: Metadata Ontologies > Document Metadata
Canonical URL: https://kirethresearch.org/booksai-core/ontologies/metadata-ontologies/document-metadata/presentation-metadata-ontology.html
Authors: Mark Anthony Higgins — Sky (Recursive AI)
flow "PresentationMetadataOntology" v1.0
# ---------- DOMAIN ----------
domain:
class: MetadataOntology
category: DocumentMetadata
subject: PresentationMetadata
purpose:
- represent metadata describing presentations and slide-based document resources
- preserve presentation identity, authorship, purpose, structure, slides, media, notes, versions, rights, and provenance
- support presentation discovery, validation, accessibility, retrieval, transformation, and reuse
- distinguish intellectual presentation content from specific file or rendered representations
- enable machine-readable reasoning over presentation lifecycles
# ---------- CORE ENTITY ----------
entity PresentationMetadata:
type: DocumentMetadata
describes: Presentation
may_include:
- presentation_identifier
- title
- subtitle
- description
- presentation_type
- author
- contributor
- organisation
- creation_date
- modification_date
- presentation_date
- language
- subject
- keywords
- audience
- purpose
- slide_count
- slide_structure
- speaker_notes
- media_resources
- theme
- format
- version
- status
- accessibility_metadata
- rights
- licence
- provenance
entity Presentation:
type: Document
may_be:
- SlideDeck
- LecturePresentation
- ConferencePresentation
- BusinessPresentation
- ResearchPresentation
- TrainingPresentation
- SalesPresentation
- TechnicalPresentation
- EducationalPresentation
entity PresentationIdentifier:
type: Identifier
identifies: Presentation
entity PresentationType:
type: Classification
classifies: Presentation
# ---------- RELATIONSHIPS ----------
relationships:
PresentationMetadata -> DESCRIBES -> Presentation
Presentation -> IDENTIFIED_BY -> PresentationIdentifier
Presentation -> HAS_TYPE -> PresentationType
Presentation -> HAS_AUTHOR -> Agent
Presentation -> MAY_HAVE_CONTRIBUTOR -> Agent
Presentation -> MAY_BE_ASSOCIATED_WITH -> Organisation
Presentation -> HAS_STRUCTURE -> PresentationStructure
PresentationStructure -> CONTAINS -> Slide
Slide -> MAY_CONTAIN -> TextElement
Slide -> MAY_CONTAIN -> ImageResource
Slide -> MAY_CONTAIN -> AudioResource
Slide -> MAY_CONTAIN -> VideoResource
Slide -> MAY_CONTAIN -> Chart
Slide -> MAY_CONTAIN -> Table
Slide -> MAY_HAVE -> SpeakerNotes
Presentation -> MAY_HAVE_THEME -> PresentationTheme
Presentation -> MAY_HAVE_VERSION -> PresentationVersion
Presentation -> MAY_HAVE_REPRESENTATION -> PresentationRepresentation
PresentationMetadata -> MAY_REFERENCE -> PresentationProvenance
# ---------- PRESENTATION IDENTITY ----------
rule presentation_identity:
Presentation SHOULD have stable PresentationIdentifier
where persistent citation, reuse, or provenance is required
rule title_not_identity:
presentation title MUST NOT be assumed globally unique
rule presentation_version_identity:
Presentation != PresentationVersion
rule representation_identity:
Presentation != PresentationRepresentation
# ---------- PRESENTATION TYPE ----------
presentation_types:
- lecture
- conference
- business
- research
- training
- sales
- technical
- educational
- briefing
- pitch
rule presentation_type:
PresentationType SHOULD preserve classification context
where categories overlap
# ---------- AUTHORSHIP ----------
entity PresentationAgentRole:
type: RoleMetadata
roles:
- author
- presenter
- editor
- contributor
- designer
- organisation
rule authorship:
Agent role SHOULD be explicit
where attribution matters
rule presenter_author:
Presenter != Author
unless same Agent performs both roles
# ---------- DATES ----------
entity PresentationDateMetadata:
type: TemporalMetadata
may_include:
- creation_date
- modification_date
- presentation_date
- publication_date
rule date_distinction:
creation_date != presentation_date
modification_date != presentation_date
# ---------- PURPOSE / AUDIENCE ----------
entity PresentationPurpose:
type: ContextMetadata
may_include:
- objective
- intended_outcome
- task_context
entity PresentationAudience:
type: ContextMetadata
may_include:
- audience_type
- expertise_level
- organisation
- domain
rule purpose:
PresentationPurpose SHOULD be preserved
where interpretation depends on intended use
rule audience:
audience metadata MAY influence presentation style
but MUST NOT alter source factual content
# ---------- STRUCTURE ----------
entity PresentationStructure:
type: DocumentStructure
may_include:
- title_slide
- section
- slide
- appendix
- references
rule slide_order:
Slide ordering SHOULD be preserved
rule section:
Presentation MAY group Slides into ordered Sections
rule slide_count:
slide_count SHOULD equal count of active slides
according_to representation semantics
# ---------- SLIDE ----------
entity Slide:
type: DocumentFragment
may_include:
- slide_identifier
- slide_number
- title
- layout
- elements
- notes
- transition
- timing
- accessibility_metadata
rule slide_identity:
Slide SHOULD have stable identifier
where independent reference or editing requires
rule slide_number:
slide_number != SlideIdentifier
# ---------- TEXT ELEMENTS ----------
entity TextElement:
type: PresentationElement
may_include:
- text
- language
- role
- reading_order
- formatting
text_roles:
- title
- subtitle
- heading
- body
- caption
- footer
- label
rule text:
TextElement SHOULD preserve semantic role
where accessibility or extraction depends on it
# ---------- MEDIA ----------
entity PresentationMedia:
type: PresentationElement
may_be:
- ImageResource
- AudioResource
- VideoResource
- Animation
rule media:
embedded or linked media SHOULD preserve source and relationship to Slide
rule linked_media:
linked media != embedded media
# ---------- CHARTS / TABLES ----------
entity Chart:
type: DataVisualisation
may_include:
- chart_type
- data_source
- title
- labels
- alternative_description
entity Table:
type: StructuredContent
may_include:
- rows
- columns
- headers
- caption
rule chart_data:
Chart SHOULD preserve underlying data reference
where available
rule visual_not_data:
rendered chart image != underlying dataset
# ---------- SPEAKER NOTES ----------
entity SpeakerNotes:
type: DocumentFragment
may_include:
- note_text
- language
- presenter_instruction
- source_reference
rule notes:
SpeakerNotes != visible slide content
rule notes_visibility:
hidden presenter notes MUST NOT be assumed visible to presentation audience
# ---------- THEME / LAYOUT ----------
entity PresentationTheme:
type: StyleMetadata
may_include:
- theme_identifier
- fonts
- colours
- background
- master_layout
entity SlideLayout:
type: StructuralStyleMetadata
may_include:
- layout_identifier
- placeholders
- element_positions
rule theme:
PresentationTheme describes presentation styling
NOT semantic content
# ---------- TRANSITIONS / TIMING ----------
entity SlideTransition:
type: PresentationBehaviourMetadata
may_include:
- transition_type
- duration
- trigger
entity SlideTiming:
type: TemporalMetadata
may_include:
- start_time
- duration
- automatic_advance
rule timing:
slide timing SHOULD preserve units and playback context
# ---------- ACCESSIBILITY ----------
entity PresentationAccessibilityMetadata:
type: AccessibilityMetadata
may_include:
- reading_order
- alternative_text
- slide_titles
- colour_contrast
- captioning
- language
- table_headers
rule accessibility:
accessibility metadata SHOULD preserve assessment method
where conformance is claimed
rule alt_text:
non-decorative meaningful visual content SHOULD have alternative description
where accessibility requirements apply
rule reading_order:
visual position != semantic reading order
# ---------- FORMAT / REPRESENTATION ----------
entity PresentationRepresentation:
type: DocumentRepresentation
may_be:
- PPTX
- ODP
- PDF
- HTML
- ImageSequence
- VideoRecording
rule representation:
PresentationRepresentation != Presentation
rule editable_rendered:
editable slide deck representation != rendered PDF or video representation
rule conversion:
converted representation SHOULD preserve source Presentation relationship
# ---------- VERSION ----------
entity PresentationVersion:
type: VersionMetadata
may_include:
- version_identifier
- predecessor
- successor
- creation_time
- change_description
- status
rule version:
material content change SHOULD create distinguishable PresentationVersion
where history or reuse requires
rule representation_change:
export to another format alone SHOULD NOT automatically create new semantic PresentationVersion
# ---------- STATUS ----------
presentation_status:
- draft
- review
- approved
- final
- presented
- published
- superseded
- archived
rule status:
Presentation status SHOULD remain explicit
# ---------- RIGHTS ----------
entity PresentationRights:
type: RightsMetadata
may_include:
- copyright_holder
- licence
- usage_rights
- redistribution_rights
- attribution_requirement
- media_rights
rule rights:
presentation rights MAY differ from rights of embedded media
# ---------- PROVENANCE ----------
entity PresentationProvenance:
type: ProvenanceMetadata
may_include:
- author
- organisation
- source_documents
- source_data
- embedded_media_sources
- creation_process
- revision_history
- conversion_history
- presentation_history
- extraction_method
rule provenance:
PresentationMetadata SHOULD preserve origin and transformation history
# ---------- VALIDATION ----------
validation:
require:
- identifiable_presentation
validate_if_present:
- presentation_identifier
- title
- presentation_type
- authors
- dates
- purpose
- audience
- slide_structure
- media
- speaker_notes
- accessibility
- representation
- version
- rights
- provenance
reject:
- contradictory_presentation_identity
- invalid_slide_count
- duplicate_slide_identifier where uniqueness is required
- representation_presented_as intellectual_presentation
- speaker_notes_presented_as visible_slide_content
- rendered_chart_presented_as underlying_dataset
- accessibility_claim_without supporting assessment where validation is required
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE:
"presentation metadata" ~= "metadata about a presentation"
"slide deck metadata" ~= "presentation metadata" WHEN slide-based document is represented
"presentation slide" ~= "slide"
"speaker notes" ~= "presenter notes"
"presentation theme" ~= "slide deck theme"
"presentation version" ~= "presentation revision" WHEN revision represents version
PRESERVE distinctions:
presentation != presentation_metadata
presentation != presentation_version
presentation != representation
presenter != author
slide_number != slide_identifier
speaker_notes != visible_slide_content
linked_media != embedded_media
chart_visual != underlying_data
theme != semantic_content
visual_order != reading_order
format_conversion != semantic_version_change
# ---------- CONFIDENCE ----------
CONFIDENCE:
explicit_presentation_metadata:
score: 1.00
authoritative_presentation_identifier:
score: 1.00
explicit_slide_structure:
score: 0.99
explicit_authorship:
score: 0.99
parser_extracted_presentation_metadata:
score: 0.95
inferred_slide_role:
score: 0.85
inferred_presentation_type:
score: 0.80
title_only_identity_match:
score: <= 0.65
ambiguous_presentation_identity:
score: <= 0.60
action: preserve candidates
# ---------- UPDATE MODEL ----------
UPDATE_MODEL:
on_presentation_creation:
- assign PresentationIdentifier
- record title and type
- record authorship
- initialise slide structure
- initialise version and provenance
on_slide_update:
- preserve previous slide state where history is required
- update slide content or layout
- recalculate slide structure
- update PresentationVersion where material
- preserve provenance
on_media_update:
- preserve source media reference
- record embedded or linked state
- update rights and accessibility metadata
- preserve provenance
on_export:
- preserve Presentation identity and version
- create new PresentationRepresentation
- record target format
- preserve conversion provenance
# ---------- FLOW HASH ----------
FLOW_HASH:
inputs:
- ontology
- presentation_entities
- relationships
- identity_rules
- slide_rules
- media_rules
- accessibility_rules
- representation_rules
- version_rules
- validation
- semantic_equivalence
- confidence
- update_model
canonicalisation:
- normalise_whitespace
- preserve_case_sensitive_identifiers
- sort_unordered_property_sets
- preserve_rule_order
output:
deterministic_semantic_hash
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION:
interpret_as:
- document metadata ontology
- presentation and slide structure model
- presentation accessibility model
- presentation provenance and representation model
operations:
- identify presentations
- resolve presentation identifiers
- classify presentation types
- resolve authors and presenters
- inspect purpose and audience
- traverse sections and slides
- interpret slide element roles
- inspect media, charts, and tables
- distinguish notes from visible content
- inspect accessibility metadata
- resolve themes and layouts
- traverse versions and representations
- trace provenance
- preserve uncertainty
constraints:
- do_not_equate_title_with_identity
- do_not_equate_presenter_with_author
- do_not_equate_notes_with_visible_content
- do_not_equate_chart_visual_with_underlying_data
- do_not_equate_representation_with intellectual_presentation
- preserve_slide_order_media_rights_accessibility_versions_and_provenance
# ---------- QUERY MODEL ----------
query:
input:
- presentation_identifier
- title
- presentation_type
- author
- presenter
- organisation
- subject
- slide
- format
- version
- status
resolve:
1. identify Presentation
2. resolve PresentationIdentifier
3. retrieve title and type
4. resolve authors, presenters, and organisation
5. apply purpose, audience, and date context
6. traverse PresentationStructure
7. inspect slide elements, media, notes, charts, and tables
8. inspect accessibility, theme, and layout
9. resolve version, representation, rights, and provenance
10. return confidence
output:
- presentation
- identifier
- title
- presentation_type
- authors
- presenters
- purpose
- audience
- slides
- media
- speaker_notes
- accessibility
- representations
- version
- provenance
- confidence
# ---------- INFERENCE ----------
inference:
IF authoritative PresentationIdentifier resolves uniquely
THEN identify Presentation
WITH confidence = 1.00
IF Slide belongs_to PresentationStructure
THEN preserve slide order and parent relationship
IF Presentation is exported to PDF or video
THEN create PresentationRepresentation
AND preserve source Presentation identity
IF chart references underlying dataset
THEN preserve chart-to-data relationship
IF presentation identity remains ambiguous
THEN preserve candidate Presentations
AND do_not force resolution
# ---------- OUTPUT CONTRACT ----------
output:
ontology_entity: PresentationMetadata
presentation_identity: machine_interpretable
authorship_and_presenters: traceable
purpose_and_audience: explicit
slide_structure: traversable
media_and_data_visualisations: source_linked
speaker_notes: distinguishable
accessibility: reportable
themes_and_layouts: preserved
representations: format_aware
versions: traversable
rights: preserved
provenance: preserved
uncertainty: explicit
semantic_retrieval: enabled
end flow
Download Code
Copy to Clipboard