Ontomedia Examples - Expression

Scope: Top level content classes and properties related to the description of narrative content

Namespace Prefix: ome
Ontology Module: http://purl.org/ontomedia/core/expression# (see Owl File)

Main Classes:

  • Expression
    • Entity
      • Item
        • Abstract-Item
        • Physical-Item
      • Timeline
      • Occurrence
    • Event
      • Introduction
      • Gain
      • Loss
      • Transformation
      • Social
      • Action

    The Model

    The OntoMedia architecture is based on an Event and Entity model. An Entity is defined as an object or concept. The subclasses of the Entity construct fall into three different types:

    • Those related to objects both physical and abstract, for examples omb:Being (physical) and ome:Item (physical and abstract).
    • Those related to spatial models, for example loc:Space
    • Those relating to time, for examples ome:Timeline and ome:Occurrence.


    The split between physical and abstract items does not imply anything about the physical existence, or not, or a given object, but whether objects of that type may have a potential physical manifestation.

    [Diagram showing top level OntoMedia Entity Classes]

    For example:
    If we think of the world as a stage, ome:Entitys are split between omb:Beings, the actors/characters, ome:Physical-Items, the props, and ome:Abstract-Items, those concepts which may be symbolised by props but which cannot exit as props themselves.
    Thus a set of scales, even non-existent ones, are a physical-item while justice is an abstract one:

:Scales a ome:Physical-Item , omt:Non-Existent ;
	rdfs:label "Pair of Scales" .

:Justice a ome:Abstract-Item ;
	rdfs:label "Justice" .


An Event describes an interaction between one or more ome:Entitys during which zero or more attributes of those ome:Entitys are modified or a new ontomedia:Entity is created. An ome:Entity may have an attribute set to show that it no longer exists but the ome:Entity itself is not destroyed.
Diagram showing top level OntoMedia Event Classes

While not explicitly done so in the ontology, events can be seen as being one of two characteristic types: those which could be described by a persistent change in the metadata, and those in which the event had little or no discernible effect on the underlying information or entities that existed beyond the scope of that event. The latter are regarded as exposition events, while the former were narrative events or plot events.
Narrative Events

Narrative events are mostly concerned with changes that occur on or to the entities that exist within the narrative. The three events that fall within this category are ome:Gain, ome:Loss and ome:Transformation. ome:Gain and ome:Loss represent those events where their was a overall increase or reduction of the entities related to the primary subject or subjects of the event. ome:Transformations are similar to ome:Gain and ome:Loss events except that they represent a zero-sum game with regards to their overall outcome. Transfers of items both physical, including travel, and abstract, such as knowledge or information, are also regarded as transformations. In these cases the 'subject-entity' is the thing being moved, the person or group in the case of travel and the item in the case of a transfer. The ome:to and ome:from properties defining the locales or people that the entity or group of entities is passing between.
Exposition Events

Exposition events are often related more to what is presented in the text or video than what occurs in the plot. It covers events that may have little to do with the overall plot or in which little of significance outside itself happens. The ome:Introduction event represents the revelation of a character to the audience. It is intended for use with the descriptive paragraph or set-piece which serves no purpose other than marking the presence of the character. The ome:Action class is subclassed into the areas of sex, violence and consumption although ome:Sex events may also subclass the ome:Social event type which exists to describe social interactions.

Events can contain other events allowing for a breakdown of the sub-events and the description of these in more detail. These contained ome:Events do not have to relate directly to the main ome:Event being described, just to occurring within its aegis.

For example:
1. Hobbits are introduced (Introduction Event).

:LotR-Hobbits-Intro a ome:Introduction ;
	rdfs:label "The Hobbit: The reader is introduced to the concept of Hobbits" ;
	ome:has-subject-entity :Species_Hobbit ;
	ome:exists-in :LotR-Hobbit .

2. Bilbo gives the One Ring to Frodo (Transformation Event containing a Gain and a Loss Event)

:LotR-Biblo-Gives-Ring-To-Frodo a ome:Transformation ;
	rdfs:label "Fellowship of the Ring: Bilbo gives the One Ring to Frodo" ;
	ome:exists-in :LotR-FotR ;
	ome:has-subject-entity :LotR-One-Ring ;
	ome:from :LotR-Bilbo ;
	ome:to :LotR-Frodo ;
	ome:contains :LotR-Biblo-Gives-Up-Ring ;
	ome:contains :LotR-Frodo-Gains-Ring .

:LotR-Frodo-Gains-Ring a ome:Gain ;
	rdfs:label "Fellowship of the Ring: Frodo receives the One Ring" ;
	ome:exists-in :LotR-FotR ;
	ome:has-subject-entity :LotR-Frodo ;
	ome:has-object-entity :LotR-One-Ring ;
	ome:contained-by :LotR-Biblo-Gives-Ring-to-Frodo .

:LotR-Bilbo-Gives-Up-Ring a ome:Loss ;
	rdfs:label "Fellowship of the Ring: Bilbo gives up the One Ring" ;
	ome:exists-in :LotR-FotR ;
	ome:has-subject-entity :LotR-Bilbo ;
	ome:has-object-entity :LotR-One-Ring ;
	ome:contained-by :LotR-Biblo-Gives-Ring-to-Frodo .

3. Gandalf Returns from the Dead (Transformation Event)

:LotR-Gandalf-Revives a ome:Transformation ;
	rdfs:label "Two Towers: Gandalf Returns from the Dead" ;
	ome:exists-in :LotR-TT ;
	ome:has-subject-entity :LotR-Gandalf ;
	ome:from :Dead ;
	ome:to :Alive .

4. Gandalf Tells Frodo about the One Ring (Transformation Event)

:LotR-Frodo-Ring-Info a ome:Transformation ;
	rdfs:label "Fellowship of the Ring: Gandalf tells Frodo about the One Ring" ;
	ome:exists-in :LotR-FotR ;
	ome:has-subject-entity :LotR-Ring-Knowledge ;
	ome:from :LotR-Gandalf ;
	ome:to :LotR-Frodo .

5. Eowyn and Faramir have a 'moment' (Social Event Containing Related Event)

:LotR-Eowyn-Faramir-Chat a ome:Social ;
	rdfs:label "Return of the King: Eowyn and Faramir Talk" ;
	ome:exists-in :LotR-RotK ;
	ome:has-subject-entity :LotR-Eowyn , :LotR-Faramir ;
	ome:contains :LotR-Faramir-Proposes .

6. Eowyn Fights the Lord of the Nazgul (Action Event Containing Related Events)

:LotR-Eowyn-Fights-Nazgul a ome:Action ;
	rdfs:label "Return of the King: Eowyn Fights the Lord of the Nazgul" ;
	ome:exists-in :LotR-RotK ;
	ome:has-subject-entity :LotR-Eowyn ;
	ome:has-object-entity :LotR-Lord-Nazul ;
	ome:contains :LotR-Nazgul-Mount-Dies , :LotR-Eowyn-Injured , :LotR-Nazgul-Injured , :LotR-Nazgul-Dies .

Occurrences of Events

An ome:Event, in itself, exists outside the concept of time. Due to the nature of the subject being described it was not considered possible to use a universal time system, instead the focus is on the relative occurrence of events. An ome:Occurrence is a specific instance of an event which occurs within a single ome:Timeline. The length, relative and absolute time at or over which the ome:Occurrence can be described through the use of the ome:Occurrence properties. Time, as related to ome:Events, was modelled in this manner for two main reasons. First, that the concept of time in fiction is often more loose and fluid than in reality and in many cases exact time measurements or periods are not specified, instead the reader is presented with events positioned relative to each other. Second, an single event may take a different amount of time for different ome:Entitys involved in it or when viewed through different timelines. By separating out the occurrences of an ome:Event and the ome:Event itself, the ontology is able to treat each unique ome:Occurrence as a separate entity which has its own defining characteristics both within
itself and in the way it relates to other ome:Occurrences.

For Example:
[Diagram showing an event which is perceived as lasting two different lengths of time]

# Context

:BalladHaloJones a ome:Context ;
	rdfs:label "The Complete Ballad of Halo Jones" .

# Character

:HJ_HaloJones a omb:Character ;
	rdfs:label "Halo Jones.Halo Jones" ;
	ome:exists-in :BalladHaloJones .

# Groups

:HJ_BetaPlatoon a omb:Bonded-Group ;
	rdfs:label "Halo Jones.BetaPlatoon" ;
	ome:contained-by :EarthArmy ;
	ome:contains :HJ_HaloJones ;
	ome:exists-in :BalladHaloJones .

:HJ_TarantulaArmy a omb:Bonded-Group ;
	rdfs:label "Halo Jones.Tarantula Army" ;
	ome:exists-in :BalladHaloJones .

# Event

:HJ_CrushMission1 a omea:Violence ;
	rdfs:label "Halo Jones.The Crush (Mission 1)" ;
	ome:has-subject-entity :HJ_BetaPlatoon ;
	ome:has-object-entity :HJ_TarantulaArmy ;
	ome:has-occurrence :HJ_JonesCrushMission1 , :HJ_ChronCrushMission1 .

# Timelines

:HJ_Jones_TL a ome:Timeline ;
	rdfs:label "Halo Jones.Halo Jones' Timeline" .

:HJ_Chronology_TL a ome:Timeline ;
	rdfs:label "Halo Jones.Chronology Timeline" .

# Occurrences

:HJ_JonesCrushMission1 a ome:Occurrence ;
	rdfs:label "Halo Jones.The Crush (Mission 1) Jones Timeline" ;
	ome:occurrence-of :HJ_CrushMission1 ;
	ome:timeline-ref :HJ_Jones_TL ;
	ome:has-duration :FiveMins .

:HJ_ChronCrushMission1 a ome:Occurrence ;
	rdfs:label "Halo Jones.The Crush (Mission 1) Chronology Timeline" ;
	ome:occurrence-of :HJ_CrushMission1 ;
	ome:timeline-ref :HJ_Chronology_TL ;
	ome:has-duration :TwoMonths .

# Time 

:FiveMins a omt:Dimension ;
	rdfs:label "5 Minutes" ;
	ome:has-dimension "length" ;
	ome:has-unit :HJ_Min ;
	ome:has-value "5" .

:TwoMonths a omt:Dimension ;
	rdfs:label "2 Months" ;
	ome:has-dimension "length" ;
	ome:has-unit :HJ_Month ;
	ome:has-value "2" .

:HJ_Min a dat:Minute ;
	rdfs:label "Halo Jones.Minute" .

:HJ_Month a dat:Month ;
	rdfs:label "Halo Jones.Month" .

The relative positions of different events in time to each other are specified through the use of ome:Occurrences. The one exception to this is that ome:Events can specify another ome:Event as the initial event that marks its beginning and a final event which marks its end. These can be used to build up a structure of connected events. Alternatively the ome:Occurrences of these delimiting ome:Events can be used to show the relative positions of the beginning and end of ome:Events to each other through the three relative properties for occurrences - ome:follows, ome:precedes and ome:concurrent. In combination this enables the description not only of discrete states but also the various overlapping possibilities.

For Example:

# Timeline

:Timeline a ome:Timeline ;
	rdfs:label "Timeline" .

# Events

:Event1 a ome:Event ;
	rdfs:label "Event 1" ;
	ome:initial-event :Event2 ;
	ome:final-event :Event3 ;
	ome:has-occurrence :Occurrence1 .

:Event2 a ome:Event ;
	rdfs:label "Event 2" ;
	ome:has-occurrence :Occurrence2 .

:Event3 a ome:Event ;
	rdfs:label "Event 3" ;
	ome:has-occurrence :Occurrence3 .

:EventA a ome:Event ;
	rdfs:label "Event A" ;
	ome:initial-event :EventX ;
	ome:final-event :EventY ;
	ome:has-occurrence :OccurrenceA .

:EventX a ome:Event ;
	rdfs:label "Event X" ;
	ome:has-occurrence :OccurrenceX .

:EventY a ome:Event ;
	rdfs:label "Event Y" ;
	ome:has-occurrence :OccurrenceY .

# Occurrences

:Occurrence1 a ome:Occurrence ;
	rdfs:label "Occurrence 1" ;
	ome:timeline-ref :Timeline ;
	ome:is-occurrence-of :Event1 .

:OccurrenceA a ome:Occurrence ;
	rdfs:label "Occurrence A" ;
	ome:timeline-ref :Timeline ;
	ome:is-occurrence-of :EventA .

:Occurrence2 a ome:Occurrence ;
	rdfs:label "Occurrence 2" ;
	ome:precedes :OccurrenceX ;
	ome:timeline-ref :Timeline ;
	ome:is-occurrence-of :Event2 .

:Occurrence3 a ome:Occurrence ;
	rdfs:label "Occurrence 3" ;
	ome:follows :OccurrenceY ;
	ome:timeline-ref :Timeline ;
	ome:is-occurrence-of :Event3 .

:OccurrenceX a ome:Occurrence ;
	rdfs:label "Occurrence X" ;
	ome:follows :Occurrence2 ;
	ome:timeline-ref :Timeline ;
	ome:is-occurrence-of :EventX .

:OccurrenceY a ome:Occurrence ;
	rdfs:label "Occurrence Y" ;
	ome:precedes :Occurrence3 ;
	ome:timeline-ref :Timeline ;
	ome:is-occurrence-of :EventY .

Any ome:Entity can have one or more ome:Timelines associated with it. While the most common case will be a ome:Timeline showing the events that occur within a ome:Context, i.e. the history of that universe, an equally useful option will be a timeline showing the narrative order of events within an item of media. It is therefore likely that more than one ome:Timeline instance will need to be defined for any given work. Any specified event will occur on multiple ome:Timelines but the relationship between the events on any given ome:Timeline will not necessarily be the same as on any other ome:Timeline.

For example, if as previously suggested we define one ome:Timeline to describe the events which occur in the narrative and another to describe the events chronologically these two will differ whenever we encounter a ‘flashback’ or one of the characters mentions either an historical event or something from their past.

# Timelines

:Narrative a ome:Timeline ;
	rdfs:label "Narrative Timeline" .

:Chronology ome:Timeline ;
	rdfs:label "Chronological Timeline" .

# Events

:EventA a ome:Event ;
	rdfs:label "Event A" ;
	ome:has-occurrence :EventA_NT , :EventA_CT .

:EventB a ome:Event ;
	rdfs:label "Event B" ;
	ome:has-occurrence :EventB_NT , :EventB_CT .

# Occurrences

:EventA_NT a ome:Occurrence ;
	rdfs:label "Occurrence of Event A on the Narrative Timeline" ;
	ome:timeline-ref :Narrative ;
	ome:is-occurrence-of :EventA ;
	ome:precedes :EventB_NT .

:EventB_NT a ome:Occurrence ;
	rdfs:label "Occurrence of Event B on the Narrative Timeline" ;
	ome:timeline-ref :Narrative ;
	ome:is-occurrence-of :EventB ;
	ome:follows :EventA_NT .

:EventA_CT a ome:Occurrence ;
	rdfs:label "Occurrence of Event A on the Chronological Timeline" ;
	ome:timeline-ref :Chronology ;
	ome:is-occurrence-of :EventA ;
	ome:follows :EventB_CT .

:EventB_CT a ome:Occurrence ;
	rdfs:label "Occurrence of Event B on the Chronological Timeline" ;
	ome:timeline-ref :Chronology ;
	ome:is-occurrence-of :EventB ;
	ome:precedes :EventA_CT .

This flexibility regarding time is especially important when describing fictional contexts and events, since stories may involve time travel and related paradoxes. While a 1:1 mapping exists between an instance of ome:Timeline and an instance of ome:Occurrence, a 1:Many relationship exists between any instance of an ome:Event and the instances of ome:Occurrence that contextualise it. This can even allow more than one ome:Occurrence of the same event to exist on the same ome:Timeline.

For example if a character meets their future self on their personal ome:Timeline this event will occur twice, once when they are the younger version of themselves and once when they are the older version.
Diagram showing a loop in a character time line

# Character Timeline

:DrWhoTimeline a ome:Timeline ;
	rdfs:label "Timeline of Dr Who" .

# Characters

:Dr3 a omb:Character ;
	rdfs:label "The Third Doctor" ;
	ome:is :Dr2 ;
	omfc:portrayed-by :JonPertwee ;
	ome:exists-in :Whoniverse .

:Dr2 a omb:Character ;
	rdfs:label "The Second Doctor" ;
	ome:is :Dr3 ;
	omfc:portrayed-by :PatrickTroughton ;
	ome:exists-in :Whoniverse .

# Events

:Two-Three-Meet a ome:Social ;
	rdfs:label "The Third Doctor meets the Second Doctor" ;
	ome:exists-in :Whoniverse ;
	ome:has-subject-entity :Dr2 , :Dr3 .

:Two-Three-Regen a ome:Transformation ;
	rdfs:label "The Second Doctor Regenerates into the Third Doctor" ;
	ome:exists-in :Whoniverse ;
	ome:has-subject-entity :Dr2 ;
	ome:from :Dr2 ;
	ome:to :Dr3 .

# Occurrences

:Three-Meets-Two-As-Two a ome:Occurrence ;
	rdfs:label "The Second Doctor Meets the Third Doctor" ;
	ome:timeline-ref :DrWhoTimeline ;
	ome:is-occurrence-of :Two-Three-Meet ;
	ome:precedes :Two-to-Three-Regen .

:Three-Meets-Two-As-Three a ome:Occurrence ;
	rdfs:label "The Third Doctor Meets the Second Doctor" ;
	ome:timeline-ref :DrWhoTimeline ;
	ome:is-occurrence-of :Two-Three-Meet ;
	ome:follows :Two-Three-Regen .

:Two-to-Three-Regen a ome:Occurrence ;
	rdfs:label "The Second Doctor Rehenerates into the Third Doctor" ;
	ome:timeline-ref :DrWhoTimeline ;
	ome:is-occurrence-of :Two-Three-Regen ;
	ome:follows :Three-Meets-Two-As-Two ;
	ome:precedes :Three-Meets-Two-As-Three .


Time travel was not the only occasion when characters have been known to meet themselves. The idea of multiple universes or realities is a staple in science fiction and fantasy. The ome:Context class, a subclass of ome:Abstract-Item, was created to separate the many different versions of the same entity that may exist. It allows us to differentiate both between different representations of the same fictional character, different version of the same character and between real people, fictionalisations of real people and fictional characters.

This is a particular issue when considering the contents of fiction, especially when those works have been reinterpreted across media, within the same work or after a period of time. Since these different interpretations can be physically distinctive, for example when a character is portrayed by different actors, or given different personality traits or back histories or storylines it becomes necessary to recognise that while they may be supposed to be to same entity there are occasions when their differences are as important as their similarities. Examples of this can be seen in almost every movie adaptation of a book.

For example, the recent Lord of the Rings movies directed by Peter Jackson or the transformation of ‘We Can Remember It For You Wholesale’ (Dick, 1969) to the movie Total Recall directed by Paul Verhoeven (1990) or the and adapted by the BBC. In the first case the character of Faramir as portrayed in the movie by David Wenham was both physically and emotionally different to the character described in the book, much to the disappointment of many fans. In the second the hero of the short story ‘Douglas Quail’ becomes ‘Douglas Quaid’. More extreme cases can be seen in the new Battlestar Galactica series in which two of the characters (Starbuck and Boomer) have changed gender since the original series was aired or the adaption by the BBC of the Dalziel and Pascoe series by Reginald Hill in which Pascoe, who remains married in the books, gets divorced.

[Diagram the different decisions of Faramir in the Movie and Book versions of Lord of the Rings]

# Contexts

:LotRBooks a ome:Context ;
	rdfs:label "The Lord of the Rings (Books)" .

:LotRMovie a ome:Context ;
	rdfs:label "The Lord of the Rings (Movies)" .

# Characters

:Faramir a omb:Character ;
	rdfs:label "Faramir" ;
	ome:has-shadow :Faramir-Movie ;
	ome:exists-in :LotRBooks ;
	omt:has-trait :Description-Raven-Hair .

:Faramir-Movie a omb:Character ;
	rdfs:label "Faramir" ;
	ome:is-shadow-of :Faramir ;
	ome:exists-in :LotRMovies ;
	omt:has-trait :Description-Blond-Hair , :Description-Beard .

# Events

:LotR-Faramir-Good-Call a ome:Gain ;
	rdfs:label "LotR Books: Faramir Decides to Help Frodo Destroy the Ring" ;
	ome:exists-in :LotRBooks ;
	ome:has-subject-entity :Faramir ;
	ome:has-object-entity :Motivation-Destroy-Ring .

:LotR-Faramir-Bad-Call a ome:Gain ;
	rdfs:label "LotR Books: Faramir Decides to Take Frodo and the Ring back to Gondor" ;
	ome:exists-in :LotRMovies ;
	ome:has-subject-entity :Faramir-Movie ;
	ome:has-object-entity :Motivation-Ring-To-Gondor .

Interaction with users showed that they frequently distinguished between these different representations as well as creating their own. Since the separation was important to them, it was also important to be able to model that distinction and allow the metadata to reflect it for the purposes of reducing ambiguity in search and retrieval.