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

Modularisation

All ontology modules available in Turtle format in the ontologies directory.

Structure

Import Structure

Modules

all

Top level ontology importing all content.

base

Describes all Classes and Properties. There are quite a small number of restrictions on classes at this level as “only a Sith deals in absolutes”.

Avoids referencing instance data - no named individuals

Which means we want to avoid making statements like “Mon Calamari are all from Mon Cala”:

Mon_Calamari subclassOf (originallyFrom value Mon_Cala)

Instead, we can have the weaker (but probably more accurate) definition of Mon_Cala:

Mon_Cala type (homeworldOf some Mon_Calamari)

star-wars

Instance level information about characters, places, objects and a small number of events that are widely referenced in the wider timeline.

A very small number of class level statements are made here - where the axiom requires a reference to a named individual - eg:

All Dark_Lords are inOrganisation Sith_Order
All Clones are clones of Jango Fett
All Imperial Star Destroyers are owned by the Empire

see Dark_Lord, Clone, Imperial-class_Star_Destroyer

Event ontologies

events

Groups all events by importing all eras.

This is the ontology to load if you want to reason over events as the peripheral ontologies with expensive modelling are not included.

trilogy

Events from the original trilogy

prequels

Events from the prequel trilogy

sequels

Events from the sequel trilogy

rogue_one

Events from the film

solo

Events from the film

mandalorian

Events from 2 seasons

resistance

Events from 2 seasons. The first season especially was challenging to model in the existing framework as there is less direct conflict and a lot of the story is relationship driven. We can use this experience to expand some of the more subtle plot points in the rest of the Universe.

There are links to the timeline of the sequels as yet to be resolved. eg Hosnian Cataclysm.

rebels

Events from 4 seasons

clone_wars

Events from 7 seasons

bad_batch

Events from 1 season

Eras

Grouping events by the timespan they occur during:

Peripheral/deeper ontologies

species

Deeper characterisation of species by physiology/traits etc.

Warning - loading this ontology slows classification quite substantially

manufacturers

Characterisation of places/vehicles/droids and objects by who created them.

Warning - loading this ontology slows classification quite substantially

questions

Ontology containing some example defined classes that help to classify individuals in the ontologies

behind-the-scenes

Stub ontology demonstrating that we can model out of Universe knowledge, such as people involved in the making of the films/TV series and other aspects.

Other options

Discussion

This is a dynamic, large and forever changing domain. Some of the benefits of modularising increase as the domain gets larger.

However, in order to keep things manageable, assertions should ideally not need to be retracted or moved once stated.

Therefore, we would like a module scheme that allows for characters/places/objects to show up in multiple places in future without having to extract them back out to the more general ontologies.

Any character in a sub-module is at risk of this as they are very “mobile” in the storytelling. In addition, they inevitably relate back to “main” individuals that must be in the core ontologies - this can defeat our modelling principles of turning relations around in order to allow the modules to work (eg parent/child)

Only events should be modelled outside the core modules? Even these are becoming more “mobile” as timelines are interlinked in the storytelling (eg The Hosnian Cataclysm). We will then assert their links in the timeline of each module.

The only alternative is to accept constant moving or duplicating assertions in multiple places when characters cross over - but what level of duplication is ok?

If we get this right, the characters will be in the main ontology and then we’ll get a different “view” of them depending on which sub-modules we pull in.