Skip to content

Latest commit

 

History

History
387 lines (317 loc) · 31.2 KB

File metadata and controls

387 lines (317 loc) · 31.2 KB

GFO-light: General Formal Ontology (light version)

GFO-light contains some simplifications compared to the full version of General Formal Ontology (GFO, Loebe, F. et al. (2022). GFO: The General Formal Ontology.) and is designed as a framework for the efficient development and foundation of domain/application ontologies. This guide describes the structure and a possible use of this lightweight top-level ontology in domain-specific projects, also for users who are not familiar with the basics of formal ontologies. GFO-light is primarily concerned with categories of concrete individuals (Continuant, Attributive, and Situation), i.e., entities that have an immediate relation to time (Time Entity) or to space-time.

Tip

GFO-light extends GFO-core (i.e., adopts all GFO-core axioms), which contains the core GFO entities and serves as a common basis for both GFO variants (light and full). For some use cases, it may be sufficient to use GFO-core alone as a kind of minimal top-level ontology.

Important

When developing a domain-specific ontology using GFO-core or GFO-light, please create your classes as subclasses of Continuant, Attributive, Situation, and TimeEntity (or their subclasses, the more specific the better). You can also create the desired object or data properties (if possible as subproperties of GFO-core or GFO-light properties).

Overview

GFO-core

GFO-core

Fig. 1. GFO-core overview (The figure shows all categories and selected relations.). Individuals are bearers of attributives (hasAttributive/attributiveOf, see Attributive), can consist of parts (hasPart/partOf), and can be temporally related to other individuals (subproperties of temporallyRelatedWith, see Time Entity). Concrete individuals are related to time (hasTime, see Time Entity). Situations (Situation) can be static (State) or dynamic (Process) and can have parts (hasSituationPart/situationPartOf). States can only consist of static parts (i.e., attributives or states), while processes can consist of both static and dynamic parts (i.e., attributives, states, or processes). Continuants (Continuant) can participate in situations (participatesIn/hasParticipant). Situations can lead to (leadsTo/resultsFrom) or cause (causes/causedBy) further situations.

GFO-light

GFO-light

Fig. 2. GFO-light overview (The figure shows all categories and selected relations. The GFO-core categories are displayed as filled boxes.)

Detailed Module Views

Continuant

Object parts can be specified using the object properties hasPart/partOf. To model the membership of a member in a group/aggregate, the object properties hasMember/memberOf should be used. Objects and situations can be located in other objects (locatedIn). Information objects denote/designate, describe, specify, or represent (represents/representedBy) other entities. Boundaries of objects are surfaces, boundaries of surfaces are lines, and boundaries of lines are points. Lines can pass through (spatiallyPassesThrough, spatiallyStartsOn, spatiallyEndsOn) various points. Object boundaries can be assigned to the corresponding object using the object property hasOwner. (see Continuant)
Attributive

Qualities, relators, and roles are attributives. A role is a relational entity that links an individual (role player) with some context (object, object aggregate, situation, relator), in which the individual plays that role. Roles are assigned to the corresponding context entity using object properties roleIn/containsRole. The role players are associated with the roles they play using object properties plays/playedBy. Individuals are quality bearers (hasQuality/qualityOf) and are related by relators (relatedBy/relates) in which they play a role. (see Attributive)

Continuant

Social or material (three-dimensional) objects, their groups/aggregates, parts, and boundaries (two-, one-, and zero-dimensional entities, i.e., surfaces, lines, and points) are subsumed under the category Continuant. Continuants are concrete individuals that persist through time and are wholly present at every point of their existence time (lifetime).

Objects are social or material entities that can exist independently of each other (e.g., a person, a computer, a chopstick, or a football stadium). Objects can be located in other objects (locatedIn, e.g., the driver is located in the car). Information objects are symbolic entities that denote/designate, describe, specify, or represent (represents/representedBy) other entities. Titles, descriptions, specifications (e.g., the specification of an algorithm), models (e.g., UML models), or computer programmes are examples of information objects.

Important

The category InformationObject is a simplified way of modelling symbolic objects, their parts, and the entities they represent, without distinguishing between, for example, content and information carriers. For advanced use cases, please use specific information artefact ontologies such as Design Science Artifact Ontology (DS-AO) or Information Artifact Ontology (IAO).

Object aggregates are groups of objects that together form a unit (e.g., a research group at a university or a sports team). To model the membership of a member in a group/aggregate, the object properties memberOf/hasMember should be used (Example 1b, playerA1).

Object parts are material entities that cannot exist independently of the corresponding whole object (e.g., part of a bone or of a chopstick). The relation between an object and its parts can be specified using the object properties hasPart/partOf.

While the object parts are firmly connected to the entire object, the aggregate members are loose objects. When modelling a person, for example, you could consider their skeleton as an object and as part of the human body. However, if we look at bone finds in the context of anthropology, the skeleton can be modelled as an aggregate of individual bones. Another example is a computer. A kit of computer components is an object aggregate before assembly and an object (a computer) afterwards. However, if the components are thrown into the case without being correctly connected, it is not a computer, but the components are simply located in (locatedIn) the case.

Domain classGFO-light superclassRestriction
TeamObjectAggregatehasMember some Player
PlayerObjectmemberOf exactly 1 Team
StadiumObject
FootballFieldSurfaceSurfacehasOwner exactly 1 Stadium
FootballFieldBoundaryLineLineboundaryOf exactly 1 FootballFieldSurface

Example 1a. Continuant classes.

Object boundaries are 0-, 1-, or 2-dimensional (visible or imaginary) entities (i.e., points, lines, and surfaces) that border objects (natural boundaries) or are located inside them (inner boundaries). In the anthropology use case, for example, these can be certain planes (e.g., frontal plane), axes (e.g., longitudinal axis), and points (e.g., gonion) of the human skeleton. Other examples are the surface and the boundary lines of the football field or the penalty spot. Boundaries of objects are surfaces, boundaries of surfaces are lines and boundaries of lines are points. Such relationships are specified using object properties boundaryOf, innerBoundaryOf, or naturalBoundaryOf. Lines are not necessarily straight. They can be, for example, curves or broken lines that pass through (spatiallyPassesThrough, spatiallyStartsOn, spatiallyEndsOn) various points and form a corner, a triangle, or a polygon. Object boundaries can be assigned to a corresponding object using the object property hasOwner.

InstanceTypeAssertion
teamATeamparticipatesIn matchX
playerA1PlayermemberOf teamA
participatesIn aGoal1
participatesIn aGoal2
RedBullArenaLeipzigStadium
fieldOfRbArenaFootballFieldSurfacehasOwner RedBullArenaLeipzig
sectorAFieldBoundaryFootballFieldBoundaryLineboundaryOf fieldOfRbArena

Example 1b. Continuant instances.

Note

In contrast to GFO-full (see Loebe, F. et al. (2022). GFO: The General Formal Ontology.), GFO-light does not support presentic objects (presentials) but only temporally extended objects (continuats). However, GFO-light enables you to define the validity/existence time of attributives of the objects and states in which they participate, either as a time interval or as a point in time.

Note

GFO-full includes a sophisticated space module based on the dual nature of space (phenomenal vs. extensional space) and distinguishes between boundaries of material objects and boundaries of spatial regions (see Baumann, R. et al. (2016). Towards an Ontology of Space for GFO., Loebe, F. et al. (2021). Developing GFO 2.0 Further – Initiating the Modules of Space and Material Objects.). For simplicity, GFO-light only considers boundaries of material objects.

Attributive

Qualities (attributes, traits, characteristics, etc.) of individuals, relations (relators) between them, and roles they play in different contexts are subsumed under the category Attributive. Attributives are individuals that depend on other individuals by some kind of dependency relation.

Quality

Qualities are attributives that typically inhere in its bearer and can possess values. Examples are observable or measurable characteristics of single objects, e.g., persons, (such as weight and height, laboratory parameters, or symptoms), qualities of object groups (e.g., goals scored by a football team in a match), or of processes (e.g., the number of spectators as quality of a football match). The qualities can be defined in two ways. If they have a value (representable as a number, string, date, etc.), do not require the specification of existence time and are no parts of situations, domain-specific data properties can simply be defined as subproperties of decimalValue (e.g., numberOfSpectators), stringValue, dateTimeValue, etc. These domain-specific properties can then be used in data property assertions for a direct assignment of the value to the corresponding bearer (Example 3b, matchX). In all other cases, a separate domain-specific class (e.g., PlayerGoals) must be created as a subclass of Quality and its instances can be assigned to the bearers using the object properties qualityOf or hasQuality. In this case, the existence time can be specified for the quality instances (Example 2b, a1GoalsEndOfFirstHalf, a1GoalsEndOfMatch).

Domain classGFO-light superclassRestriction
PlayerQuality
→ Assists
→ PlayerGoals
QualityqualityOf exactly 1 Player
situationPartOf exactly 1 Match
TeamQuality
→ BallPossession
→ TeamGoals
QualityqualityOf exactly 1 Team
situationPartOf exactly 1 Match
WinnerLoserRelatorRelatorcontainsRole exactly 1 WinnerRole
containsRole exactly 1 LoserRole
situationPartOf exactly 1 Match
PlayerRoleInTeam
→ Defender
→ Forward
→ Midfielder
RoleroleIn exactly 1 Team
playedBy exactly 1 Player
situationPartOf exactly 1 Match
TeamRoleInMatch
→ HomeTeamRole
→ VisitingTeamRole
RoleroleIn exactly 1 Match
playedBy exactly 1 Team
situationPartOf exactly 1 Match
PlayerRoleInGoal
→ AssistantRole
→ ScorerRole
RoleroleIn exactly 1 Goal
playedBy exactly 1 Player
situationPartOf exactly 1 Goal
situationPartOf exactly 1 Match
TeamRoleInWinnerLoserRelator
→ WinnerRole
→ LoserRole
RoleroleIn exactly 1 WinnerLoserRelator
playedBy exactly 1 Team
situationPartOf exactly 1 Match

Example 2a. Attributive classes.

Role

A role is a relational entity that links a continuant (role player) with some context (object, object aggregate, situation, relator), in which the continuant plays that role.

  • An object part can play a (e.g., functional) role in the whole object (e.g., the processor is part of the computer and has the task/function/role to process commands).
  • A member (object) of a social group (object aggregate) can play a social role in that group (e.g., John is member of the football team and plays the role of midfielder, Example 2b, a2RoleInTeam).
  • Objects can play processual or situational roles in processes (e.g., team A plays the home team role and team B plays the visiting team role in a football match, Example 2b, teamARole) or states (e.g., scorer and assistant role in a goal state or roles played by a doctor and a patient in a risk/adverse state in hospital) in which they participate.
  • Objects can play relational roles in a relation (relator, see the next paragraph).

Roles are assigned to the corresponding context entity (object, object aggregate, situation, relator) using object properties roleIn or containsRole. The role players are associated with the roles they play using object properties plays or playedBy.

InstanceTypeAssertion
a1GoalsEndOfFirstHalfPlayerGoalsqualityOf playerA1
situationPartOf matchX
decimalValue 1
startedByDateTimeValue “2020-05-05T21:20:00”^^xsd:dateTime
finishedByDateTimeValue “2020-05-05T22:30:00”^^xsd:dateTime
a1GoalsEndOfMatchPlayerGoalsqualityOf playerA1
situationPartOf matchX
decimalValue 2
startedByDateTimeValue “2020-05-05T22:30:00”^^xsd:dateTime
a2RoleInTeamMidfielderroleIn teamA
playedBy playerA2
situationPartOf matchX
finishedByDateTimeValue “2020-05-05T22:40:00”^^xsd:dateTime
teamARoleHomeTeamRoleroleIn matchX
playedBy teamA
winnerLoserRelatorEndOfMatchWinnerLoserRelatorhasTime endOfMatch
situationPartOf matchX
aWinnerRoleWinnerRoleroleIn winnerLoserRelatorEndOfMatch
playedBy teamA

Example 2b. Attributive instances. a1GoalsEndOfFirstHalf represents the number of goals of playerA1 in the time period between his first and second goal. a1GoalsEndOfMatch is the number of goals of playerA1 after the second goal. a2RoleInTeam is a midfielder (social) role in teamA that is played by playerA2 (this role has an end time due to substitution). teamARole is the home team (processual) role in matchX that is played by teamA. aWinnerRole is the winner (relational) role in winnerLoserRelatorEndOfMatch that is also played by teamA.

Note

GFO-light uses a simplified role model compared to GFO-full. In GFO-full there are three types of roles (see Loebe, F. et al. (2022). GFO: The General Formal Ontology., Loebe, F. (2007). Abstract vs. social roles: Towards a general theoretical account of roles.): relational role as sibling of quality and subclass of attributive, processual role as subclass of process, and social role as social/socio continuant. In GFO-light, no role types (no subclasses of Role) are explicitly defined. The roles are implicitly differentiated by their assignment (roleIn) to the corresponding context entities (object, object aggregate, situation, relator).

Relator

Relators are attributives that connect other entities (role players) by relational roles (played by role players), i.e., represent individual relation instances. For example, a relator could be defined that describes the relative location of an object (playing the target object role) in relation to another object (playing the reference object role), e.g., the location of a person relative to the city centre or the location of an anatomical structure relative to the longitudinal axis. Such relators can be further classified, e.g., according to direction (in anthropology/anatomy, e.g., dorsal, ventral, or lateral). Other examples are the marriage (relator) of John and Mary (in which Mary plays the wife role and John the husband role) or the winner-loser relator (Example 2b, winnerLoserRelatorEndOfMatch, aWinnerRole).

Similar to qualities, relations can also be represented by simple object properties (such as hasPart). However, if the existence time of the relation is relevant or it (or its roles) are parts of some situations, a relator (e.g., with a part and a whole role) should be used instead. An existence time can be defined both for relators themselves and for the individual roles (Example 2b, winnerLoserRelatorEndOfMatch, a2RoleInTeam).

If the individual roles do not have an existence time to be defined and are no parts of situations, they can likewise be represented by object properties. The relative position relator (see above) can, for example, be linked directly to the corresponding objects using the object properties hasTargetObject and hasReferenceObject. Similarly, football players can be assigned directly to a team using the properties forwardOf, defenderOf, etc. It also works with processual roles, the two playing teams can be associated to the football match by properties homeTeamOf and visitingTeamOf.

Situation

Situations are combinations of contextually related attributives. Situations can be static (state) or dynamic (process) and can have parts (hasSituationPart/situationPartOf). States can only consist of static parts (i.e., attributives or states), while processes can consist of both static and dynamic parts (i.e., attributives, states, or processes). Continuants can participate in situations (participatesIn/hasParticipant). Situations can take place (locatedIn) in objects. Situations can lead to (leadsTo/resultsFrom) or cause (causes/causedBy) further situations.

Note

In GFO-full, several further types of situations (e.g., object situations, presentic situations, and situoids) are considered (see Loebe, F. et al. (2022). GFO: The General Formal Ontology., Burek, P. et al. (2024). Ontologically Founded Design Patterns for Situation Modeling.). GFO-light only distinguishes between static (states) and dynamic (processes) situations. This makes it easier for domain experts to choose an appropriate GFO-light category for a specific use case, i.e., to use states for modelling static knowledge and processes for modelling dynamic knowledge.

Process

Processes are dynamic situations that happen in time and have a temporal extension (period of time/chronoid). Processes represent dynamic knowledge, i.e., their attributives or participants change over time. Processes are cohesive, i.e., causally and temporally connected (e.g., a football match, a treatment of a patient in a hospital, or the course of an illness). Processes can have (hasSituationPart) both static and dynamic parts (i.e., attributives, states, or processes), e.g., the first half (dynamic) and the goal states (static) are parts of the match.

Domain classGFO-light superclassRestriction
MatchProcesslocatedIn exactly 1 Stadium
hasSituationPart exactly 1 FirstHalf
hasSituationPart exactly 1 SecondHalf
hasParticipant exactly 2 Team
temporallyStartedBy exactly 1 StartOfMatch
temporallyFinishedBy exactly 1 EndOfMatch
FirstHalfProcesssituationPartOf exactly 1 Match
temporallyStartedBy exactly 1 StartOfMatch
temporallyFinishedBy exactly 1 EndOfFirstHalf
SecondHalfProcesssituationPartOf exactly 1 Match
temporallyStartedBy exactly 1 StartOfSecondHalf
temporallyFinishedBy exactly 1 EndOfMatch

Example 3a. Process classes.

Continuants can participate in processes (participatesIn/hasParticipant), e.g., the teams A and B participate in the football match (Example 1b, teamA). Processes can take place (locatedIn) in objects (e.g., a football match in a stadium or an illness in a person).

InstanceTypeAssertion
matchXMatchlocatedIn RedBullArenaLeipzig
temporallyStartedBy startOfMatch
temporallyFinishedBy endOfMatch
numberOfSpectators “40000”^^xsd:int
half1FirstHalfsituationPartOf matchX
temporallyStartedBy startOfMatch
temporallyFinishedBy endOfFirstHalf

Example 3b. Process instances.

State

States are static situations that happen either at a point in time (time boundary) or during a period of time (chronoid). States represent static knowledge, i.e., their attributives and participants do not change. States are cohesive, i.e., causally and temporally connected (e.g., a phase of increased temperature). A state can have (hasSituationPart) only static parts and can be a static part or result of another situation (e.g., a goal state as part of the match and result of an attack).

Domain classGFO-light superclassRestriction
MatchStateStatehasSituationPart some (MatchState or PlayerQuality or PlayerRoleInTeam or TeamQuality or TeamRoleInMatch or TeamRoleInWinnerLoserRelator or WinnerLoserRelator)
situationPartOf exactly 1 Match

Example 4a. State class.

At the end of a football match (process), for example, a state may arise in which one team has scored two goals and the other team one (the number of goals is a team's quality). A winner-loser relator can also be seen as part of this state, with one team playing the winner role and the other team playing the loser role. Another example is a risk state when treating a patient in hospital if his laboratory values (qualities) are in the critical range over a certain period of time. The desired attributives can be assigned to the state using object properties situationPartOf/hasSituationPart. Continuants can participate in states (participatesIn/hasParticipant), e.g., the player A1 participates in a goal state or the teams participate in the state at the end of the match.

InstanceTypeAssertion
stateEndOfMatchMatchStatehasSituationPart winnerLoserRelatorEndOfMatch
hasSituationPart aGoalsEndOfMatch
hasSituationPart aBallPossessionEndOfMatch
hasSituationPart teamARole
hasSituationPart teamBRole
hasSituationPart a1GoalsEndOfMatch
hasSituationPart a2AssistsEndOfMatch
hasSituationPart a1RoleInTeam
hasSituationPart a22RoleInTeam
hasSituationPart a33RoleInTeam
hasTime endOfMatch
situationPartOf matchX

Example 4b. State instance. The state at the end of the match contains all relevant attributives: winner-loser relator, teams’ qualities (aGoalsEndOfMatch, aBallPossessionEndOfMatch), teams’ processual roles in match (teamARole, teamBRole), players’ qualities (a1GoalsEndOfMatch, a2AssistsEndOfMatch), players’ social roles in team (a1RoleInTeam, a22RoleInTeam, a33RoleInTeam).

Situation aggregate

Processes and states are considered cohesive, i.e. they are causally and temporally connected. For modelling situations (processes or states) that are contextually but not temporally connected, situation aggregates should be used. Examples of process aggregates include a series of lectures in a semester or a football league season, which consist of (hasMember) other contextually, but not temporally interconnected processes (i.e., single lectures or football matches). A state aggregate is, for example, a situation consisting of all not temporally interconnected phases/states of increased temperature during the course of an illness. However, it is also possible to combine both processes and states, as well as other situation aggregates, in a single situation aggregate.

Time Entity

The time entities defined in GFO-light are points in time (time boundaries) and time intervals/periods (chronoids), which consist of points in time.

Domain classGFO-light superclassRestriction
StartOfMatchTimeBoundarytemporallyStarts exactly 1 FirstHalf
temporallyStarts exactly 1 Match
EndOfFirstHalfTimeBoundarytemporallyFinishes exactly 1 FirstHalf
StartOfSecondHalfTimeBoundarytemporallyStarts exactly 1 SecondHalf
EndOfMatchTimeBoundarytemporallyFinishes exactly 1 SecondHalf
temporallyFinishes exactly 1 Match

Example 5a. Time classes.

Concrete individuals have an existence time (time boundary/point in time or chronoid/time interval). There are two ways for assigning a timestamp or a time interval/period to concrete individuals in a domain-specific ontology. The simplest option is to use the data property dateTimeValue (or its specific subproperties, e.g., startedByDateTimeValue/finishedByDateTimeValue) in the data property assertion (e.g., Example 2b a1GoalsEndOfFirstHalf/a1GoalsEndOfMatch/a2RoleInTeam). However, if a timestamp or time interval is to be defined once and reused several times for different individuals, instances of the classes TimeBoundary or Chronoid must be created, data property assertions based on the aforementioned data properties must be defined for them (Example 5b), and the instances must then be used in the object property assertions of the desired individuals based on the object properties such as hasTime, temporallyStartedBy, or temporallyFinishedBy (Example 3b half1, Example 2b winnerLoserRelatorEndOfMatch, Example 4b). If an attributive or a situation is assigned to another situation using the object property situationPartOf without defining an existence time, this instance exists in the entire time of the situation. In the Example 2b (a2RoleInTeam), only the end time of the player’s role in team is defined. The start time of the role coincides with the start of the match and does not need to be defined.

InstanceTypeAssertion
startOfMatchStartOfMatchtemporallyStarts half1
temporallyStarts matchX
dateTimeValue “2020-05-05T21:00:00”^^xsd:dateTime

Example 5b. Time instance.

GFO-light defined temporal relations between individuals based on Allen, J. F. (1983). Maintaining knowledge about temporal intervals.. For this purpose, 13 subproperties of the object property temporallyRelatedWith were introduced (after, before, during, temporallyContains, temporallyEqual, temporallyFinishedBy, temporallyFinishes, temporallyMeets, temporallyMetBy, temporallyOverlappedBy, temporallyOverlaps, temporallyStartedBy, and temporallyStarts). In addition, object properties hasTemporalPart (as a shortcut for temporallyStartedBy or temporallyFinishedBy or temporallyContains) and temporalPartOf (as a shortcut for temporallyStarts or temporallyFinishes or during) were defined. If a temporal relation is applied to other concrete individuals as time intervals (i.e., attributive, continuant, or situation), it is propagated to their existence times. 'StartOfMatch temporallyStarts Match' (Examples 5a and 5b) means that the time of the match (a chronoid) starts at the defined point of time. Some temporal relations can also be applied to points in time (before/after, temporallyEqual) or a point in time and a time interval (before, temporallyStarts, temporallyFinishes, during, or their inverse relations). For some temporal relations (object properties), corresponding shortcuts (data properties) are defined for direct use in data property assertions (afterDateTimeValue, beforeDateTimeValue, containsDateTimeValue, finishedByDateTimeValue, startedByDateTimeValue, hasTemporalPartDateTimeValue).

Note

The basic theory of phenomenal time in GFO-full is inspired by the ideas of Franz Brentano (Baumann, R. et al. (2014). Axiomatic theories of the ontology of time in GFO.). According to this theory, each chronoid has exactly two extremal time boundaries (which can be understood as its first and last time point) and infinitely many inner time boundaries. Time boundaries can coincide, i.e., have a temporal distance of zero, although they are different entities. GFO-light shares this view, but also provides a simplified option for modelling a point in time simultaneously as the end of a time interval and the start of the following time interval. In addition, GFO-light allows the application of some Allen's relations to points in time, so that, for example, temporallyEqual, applied to points in time, can be understood as equivalent to coincidesWith from GFO-full.