View on GitHub

star-wars-ontology

An OWL ontology describing events, characters and places in the Star Wars Universe

home | browse | docs

benefits | modules | events | modelling principles | test questions | performance | tools

Events

Events are the storytelling piece that binds the people, places and things together (much like the Force).

We model several aspects of an event:

Example

An extract of Escape_from_Death_Star:

Escape_from_Death_Star:
    year 0
    after The_Disaster
    during Galactic_Civil_War
    at Death_Star_1
    participant C-3PO
    participant R2-D2

    types:
        Escape
        included some (
            (deactivated some Tractor_Beam_Projector) and
            (participant value Obi-Wan_Kenobi))
        )
        included some ( Killing and (of some (hadRole some StormTrooper)))
    ...

Event types

Type is a primary classification, represented by subclasses of Event. Examples include everything from epic Battles to a game of Dejarik.

Time

Absolute

We are only able to specify the year) in which events take place using BBY/ABY where negative integers are BBY.

Relative

Before/after

We link events together creating a timeline using before/after. There is a transitive sometimeBefore/sometimeAfter that allows for non-contiguous modelling and reasoning about the order in which things happen.

See sub-events below for events that happen during other events

During

We create named events if they are significant enough or we want to refer to them again and then simply link them to the main event with during.

eg Ahsoka_vs_Vader happened during Twilight_of_the_Apprentice

Included

We include the “parts” of an event in the description of the main event by adding subclasses using restrictions on the included property.

This almost gives us the starting point for building a DSL style of modelling:

Order_66 -> included some (Murder and (of value Aayla_Secura) and (at value Felucia))

Location

Locations can be very specific, at the level of a room, or as wide as a Planet.

Some are named. eg Aunt_Z’s_Tavern , Saleucami

Many locations mentioned in events are not modelled as individuals as there is no point in naming them:

locatedIn some ( Garbage_Compactor and (locatedIn value Death_Star_1)))

This uses the Class Garbage_Compactor qualified by its location.

Participants

Beings, ships (place) and the Force can all be involved in an event. In fact, the range of the participant property is:

Place or Object or Actor

There are also objects that are participants. This is because events such as Sabotage and Destruction use of which is a subproperty of participant. See this ticket about use of “of”.

Participants may be property assertions referencing named individuals

Torture_of_Shmi participant Anakin_Skywalker

or, frequently, we want to specify a group of anonymous participants such as stormtroopers. We have to be remember that StormTrooper is a role, fulfilled by a person. The range of participant requires an Actor such as a Human which is why we see the common pattern:

included some (Killing and (of some (hadRole some StormTrooper)))

This happens a lot

The following would be too specific - are all StormTroopers human?

included some (Killing and (of some (Human and hadRole some StormTrooper)))

Development

Also see development notes when we went through modelling options.