benefits | modules | events | modelling principles | test questions | performance | tools
Modelling principles
References
- should use
seeAlso
to reference all Individuals in Wookipedia - should reference all non-obvious Classes in Wookipedia
Properties
- should name properties in past tense “A long time ago…”
- should be used more than once otherwise they need reviewing
- should be asserted in one direction, inverses being inferred
eg after
shows usage but
before
has no assertions
Normalisation
- all Classes should have a single primitive parent, creating a tree structure
- all Individuals should have only 1 named type
- defined classes may be created to produce a polyhierarchy based on refining characteristics (eg Biped = has 2 legs)
Disjoints/differentFrom
- should have top level disjoints to assist clean modelling and aid property use consistency checking
Negation
- should use negation sparingly as it is a strong assertion at risk of being wrong - eg “no survivors”
not (survivedBy some (Tusken and originallyFrom value Tusken_Raider_camp))
Event focussed
- should include a location
- should include at least one participant
- should provide a
year
for all named events, if known- negative numbers are BBY, positive are ABY
- may include sub-events with
included
Timeline
- should place events in the timeline using
eventB after eventA
, if known - should use
someTimeAfter
when larger time gaps between events (eg between series) - should use
during
between named events - not its inverse - should use
included
in subclassOf restrictions on event if its not worth naming
eg Escape_from_the_Garbage_Compactor:
included some(Attack
and (participant some Dianoga)
and (survivedBy value Luke_Skywalker))
Beings
- primary classification is species
- should assert relations between beings on the one it affects most - eg
Luke trainedBy Obi-wan
unless anEvent
is called for - should all have at least one
hadRole
(whether or not in an organisation)
from (where born/grew up)
- should use
originallyFrom
at instance level where people originate - should use
homeworldOf
on Planets/Moons for a weaker reference to species (also works with modularisation as species are Classes). - should use
livedIn
for any other location someone spent their time
The Force
Force_spirits
,
Force_bonds
and connections
are manifestations of The Force
,
not the individual.
participant some (Force_spirit
and (connectedTo value Obi-Wan_Kenobi))
participant some (Force_Bond
and (connectedTo value Ahsoka_Tano)
and (connectedTo value Darth_Vader))
participant some (The_Force
and (connectedTo value Leia_Organa))
Force visions
are also manifestations of the force, connected to the individual experiencing
them. The content of the vision is described using about
participant some (Force_Vision
and (connectedTo value Ezra_Bridger)
and (about some (parentOf value Ezra_Bridger))
and (about value White_Loth_Cat))
Information
Information
is
treated as an object in the Universe, can have a subject and can be used in
trade or
found
.
eg Meeting_Cid :
Trading and (of some (Information and about value Fennec_Shand))
We might be interested in the form of the information
eg Infiltrating_the_Imperial_Armoury :
included some (
Stealing
and (of some (
Plans
and (about some TIE-Interceptor)))
and (participant value C1-10P))
Communication
events are not an object but may also have a subject
included some ( Communication and
about value Colossus and
participant value First_Order and
participant value Nenavakasa_Nalor)