Industrial Ontology Foundry (IOF) Core Ontology
type: Ontology
label: Core Ontology
abstract: The IOF Core Ontology contains notions found to be common across multiple manufacturing domains. This file is an RDF implementation of these notions. The ontology utilizes the Basic Formal Ontology or BFO as a top-level ontology but also borrows terms from various domain-independent or mid-level ontologies. The purpose of the ontology is to serve as a foundation for ensuring consistency and interoperability across various domain-specific reference ontologies the IOF publishes.
contributor: Ana Teresa Correia, Institut fuer angewandte Systemtechnik Bremen GmbH (ATB-Bremen)
contributor: Arkopaul Sarkar, Ecole Nationale d'Ingénieurs de Tarbes (ENIT)
contributor: Barry Smith, University at Buffalo
contributor: Boonserm Kulvatunyou, National Institute of Standards and Technology (NIST)
contributor: Chris Will, National Center for Ontological Research (NCOR)
contributor: Dusan Sormaz, Ohio University
contributor: Elisa Kendall, Thematix Partners LLC
contributor: Farhad Ameri, Texas State University
contributor: Jim Logan, Ontogenesis Solutions, LLC
contributor: Melinda Hodkiewicz, University of Western Australia
contributor: Milos Drobnjakovic, National Institute of Standards and Technology (NIST)
contributor: Will Sobel, W. V. Sobel LLC
creator: IOF Core Working Group
license: http://opensource.org/licenses/MIT
publisher: Industrial Ontology Foundry
imports: bfo.owl
imports: AnnotationVocabulary
version IRI: Core
copyright: Copyright (c) 2022, 2023, 2024, 2025, 2026 Open Applications Group
maturity: Released

BFO_0000029
example: location of a container, floor area in a factory building, location of a machine (relative to the coordinate of a factory floor), location on a shelf in a warehouse
explanatory note: Even though site (physical location) always refers to a 3D space it is fine to define it practically just through 2D or 1D or 0D spatial region. For example when we want to talk about 2x2m area within a factory floor even though the space specified is 2D it is still ok to assert it as site as there is always the third dimension above the area that is implicit.
synonym: physical location

BFO_0000054
synonym: realized in

BFO_0000057
property chain axiom: BFO_0000117
explanatory note: the IOF has decided to include transitive participation as an additional axiom of 'has participant at some time' which is reflected in the property chain associated with this property. That is, if A has an 'occurent part' B which 'has participant at some time' C then A 'has participant at some time' C.

BFO_0000063
explanatory note: while the scope of BFO: precedes is occurrent, for the purposes of formalization of Allen interval algebra we have added the FOL elaborations for 'time instant' 'time interval', 'process boundary' and 'process'. For the case of other occurrents the formalization already provided by BFO (https://github.com/BFO-ontology/BFO-2020/tree/master/21838-2/pdf) should be followed.
first order logic axiom: LA1: precedes(i,j) ∧ process(i) ∧ process(j) → ∃i1∃j1 (TemporalInterval(i1)∧TemporalInterval(j1)∧occupiesTemporalRegion(i,i1)∧occupiesTemporalRegion(j,j1) ∧ precedes(i1,j1))
first order logic axiom: LA2: precedes(i,j) ∧ ProcessBoundary(i) ∧ ProcessBoundary(j) → ∃i1∃j1 (TemporalInstant(i1)∧TemporalInstant(j1) ∧ occupiesTemporalRegion(i,i1) ∧ occupiesTemporalRegion(j,j1) ∧ precedes(i1,j1))
first order logic axiom: LA3: precedes(i,j) ∧TemporalInstant(i) ∧TemporalInterval(j) → ∃j1(hasFirstInstant(j,j1)∧ precedes(i,j1))
first order logic axiom: LA4: precedes(i,j) ∧ TemporalInterval(i) ∧ TemporalInstant(j) → ∃i1(hasLastInstant(i,i1) ∧ precedes(i1,j))
first order logic axiom: LA5: precedes (i,j) ∧TemporalInstant (i) ∧ TemporalInstant(j) → ∃k∃l(hasValueExpressionAtAllTimes(i,k) ∧ hasValueExpressionAtAllTimes(j,l) ∧ ∃v1∃v2(hasDateTimeInstantValue(k,v1) ∧ hasDateTimeInstantValue(l,v2) ∧ (v1 < v2)))
first order logic axiom: LA6: precedes(i,j) ∧ TemporalInterval(i) ∧ TemporalInterval(j) → ∃i1∃j1(TemporalInstant(i1) ∧ TemporalInstant(j1) ∧ hasLastInstant(i,i1) ∧ hasFirstInstant(j,j1) ∧ (precedes(i1,j1) ∨ occursSimultaneouslyWith(i1,j1)))
natural language definition: comes before (something) in time
semi formal natural language axiom: LA1: If i and j are both ‘process’ and i 'precedes' j then the ‘temporal instant’ that i occupies 'precedes' ‘temporal instant’ that j occupies
semi formal natural language axiom: LA2: If i and j are both ‘process boundary’ and i 'precedes' j then the ‘temporal instant’ that i occupies 'precedes' ‘temporal instant’ that j occupies
semi formal natural language axiom: LA3: if i is ‘temporal instant’ and j is ‘temporal interval’ and i 'precedes' j then i 'precedes' the 'first instant of' j
semi formal natural language axiom: LA4: if i is ‘temporal interval’ and j is ‘temporal instant’ and i 'precedes' j then the 'last instant of' i 'precedes' j
semi formal natural language axiom: LA5: If i and j are both ‘temporal instant’ and i 'precedes' j then the 'temporal instant value expression' of i is less than the 'temporal instant value expression' of j
semi formal natural language axiom: LA6: If both i and j are 'temporal intervals' and i is 'precedes' j then the 'last instant of' i 'precedes' the 'first instant of' j or the 'last instant of' i 'occurs simultaneously with' the 'first instant of' j

process profile
type: Class
subclass of: BFO_0000015
disjoint with: BFO_0000182
equivalent class: Class
  intersection of: BFO_0000015
  intersection of: Restriction
    on property: process profile of
    some values from: BFO_0000015
example: temperature profile of a heating process, wind speed profile of a turbine, fuel consumption profile of a boiling pricess, RPM profile of a engine, noise profile of a transmission process, profile of daily average throughput of a production process, count-per-minute profile of a pick-n-place process
counter example: maximum temperature of a heating process, average speed of a vehicle trip, total energy consumed during a batch, peak pressure in a reactor, overall throughput of a production run, speed of the car at time t
direct source: http://purl.obolibrary.org/obo (BFO 2.0)
explanatory note: 1) Process profiles capture the attributes (called "structural dimension") of a process that we may use to compare processes, e.g., how fast something moves or how its temperature changes. Two movement process can be compared by comparing the speed profiles of two processes. 2) Process profile types represent common attributes of many different types of processes.. For example, profile of temperature in any heating process, profile of pressure in a piston cycle or pneumatic system. Domain and application-specific taxonomies of process profile need be developed to catalog these subtypes.
first order logic axiom: ∀p, p', x (processProfileOf(p,x) ∧ temporalPartOf(p',p) → ∃x' (processProfileOf(p',x') ∧ temporalPartOf(x',x)))
first order logic definition: ProcessProfile(x) ↔ ∃y (Process(y) ∧ processProfileOf(x, y))
natural language definition: process that is proper part of another process and that captures the time-dependent behavior of some attribute of that process
semi formal natural language axiom: if p is 'process profile of' x and p′ is a 'temporal part of' p, then there exists some x′ such that p′ is 'process profile of' x′ and x′ is a 'temporal part of' x
semi formal natural language definition: every instance of 'process profile' is defined as exactly an instance that is 'process profile of' some 'process'

BFO_0000202
explanatory note: 1. The ‘first instant of’ a ‘temporal interval’ should ‘precede’ the ‘last instant of’ that ‘temporal interval’. Therefore, the date-time asserted (i.e., ‘has date-time instant value’ of the ‘temporal instant value expression’ that ‘is value expression of at all times’ of the ‘temporal instant’) for the first instant should be before the last instant in terms their positions in the corresponding calendar and clock system. For example, the first instant and last instant of a ‘temporal interval’ are 2002-10-10T17:00:00Z and 2002-10-11T01:40:00Z. 2. If only one date-time is available for the interval due to lack of data or an interval being smaller than the tick time (the smallest duration by which the time progresses) then the date-time should be asserted either only for first instant or only for last instant of every interval uniformly for the entire knowledge base. For example, Barack Obama gained the role of presidency on 20 January 2009 should be modeled as the process p of type ‘gain of role’ ‘occupies temporal region’ r (a ‘temporal interval’) which ‘has last instant’ i (a ‘temporal instant’) which ‘has value expression at all times’ v (a ‘temporal instant value expression’) which ‘has data-time value’ 2009-01-20T00:00:00Z.

action specification
type: Class
subclass of: information content entity
example: pour the contents of flask 1 into flask 2; to loosen a screw with a screwdriver, grab the screw driver with your hand, insert the tip into the head of the screw, apply forward pressure into the screwdriver, and rotate the screwdriver counterclockwise.
adapted from: Information Artifact Ontology, http://purl.obolibrary.org/obo/IAO_0000030 and also the Common Core Ontology, http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology (term Action Regulation)
explanatory note: 1. An action specification is typically a part of some plan specification. 2. All actions change the universe in some fashion. That is, they have outcomes, whether desired ones or not. Since desired outcomes are reasons for the existence of an action specification, we might argue that all action specifications are, in fact, plan specifications, with desired outcomes as objectives. However, our intent here is to capture instances of action specifications wherein objectives or desired outcomes are not explicitly stated and to delinate 'plan specifications' as cases where the objectives and the corresponding actions are explicitly stated. This is why the class is asserted directly under the information content entity. 3. Although not formalized at this stage, an action specification may prescribe a kind of process in more detail by prescribing the sequence of actions one or more participants are to do or by prescribing the actions persons bearing various roles are to do in bringing about the process. The latter would be relevant in situations where a particular participant bears two (or even more roles) in a process. An example of the latter would be a particular shop floor worker bearing and realizing both the role of the operator and that of the inspector as prescribed by some action specification and as realized in today's occurrences of some punch-press process. 4. Action specification can be used together with plan specification to create a hierarchy of work instruction composition.
first order logic axiom: InformationContentEntity(x) ∧ ∃p(Process(p) ∧ prescribes(x,p)) → ActionSpecification(x)
is primitive: true
natural language definition: information content entity that prescribes what participants shall do in a process
primitive rationale: See the rationale provided under information content entity for informational entity types.
semi formal natural language axiom: if x is an 'information content entity' that 'prescribes' some 'process' then x is an 'action specification'
synonym: actionable work instruction

agent
type: Class
subclass of: BFO_0000040
equivalent class: Class
  intersection of: Class
    union of: engineered system
    union of: group of agents
    union of: person
  intersection of: Restriction
    on property: has role
    some values from: agent role
example: an employee; a transportation & logistics provider; a robot; a scheduling system
counter example: 1. Of physical and chemical in nature: Cleaning, vulcanizing, fluxing, indicator, sterilizing, emulisifying, refining. 2. Organisms: animals, cells, parts of organisms (organs, organelles, viruses).
explanatory note: 1. See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience. 2. The IOF has elected to exclude material substances often referred to as agents. That is, they realize some specific function that some person desires (e.g., platinum is a reducing agent in various reduction-type reactions -- as used in a catalytic converter to eliminate or reduce various pollutants in exhausts). 3. The IOF has, at this time, excluded non-human agents, such as animals and other organisms (often referred to as biological agents).
first order logic definition: Agent(x) ↔ (Person(x) ∨ GroupOfAgents(x) ∨ EngineeredSystem(x)) ∧ ∃r(AgentRole(r) ∧ hasRole(x,r))
natural language definition: person, group of persons, or engineered system with an agent role
semi formal natural language definition: every instance of 'agent' is defined as exactly an instance of 'person', 'group of agents', or 'engineered system' when it 'has role' some 'agent role'

agent role
type: Class
subclass of: BFO_0000023
subclass of: Restriction
  on property: role of
  some values from: Class
    intersection of: Class
      intersection of: BFO_0000040
      intersection of: Class
        complement of: BFO_0000024
    intersection of: Restriction
      on property: acts on behalf of at some time
      some values from: Class
        union of: engineered system
        union of: group of agents
        union of: person
example: a person has an employee role when he/she acts on behalf of the business organization that employs them
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
counter example: Other types of agents we are not including at this stage are: 1. Those that are physical and chemical in nature: Cleaning, vulcanizing, fluxing, indicator, sterilizing, emulisifying, refining. 2. Organisms: animals, cells, parts of organisms (organs, organelles, viruses). 3. In computing: intelligent, artificial, mobile, & autonomous
explanatory note: 1.The IOF has elected to exclude material substances that may, at times, act like or are often referred to as agents, in that they realize some specific function that some person desires (e.g., platinum is a reducing agent in various reduction-type reactions -- as used in a catalytic converter to eliminate or reduce various pollutants in exhausts). 2. The IOF has at this time excluded other types of non-human agents, such as animals and other organisms (often referred to as biological agents). 3. in case the 'material entity' is an engineered system or group of agents or person acting on behalf of oneself is also allowed
first order logic axiom: AgentRole(x) → Role(x) ∧ ∃n∃m((MaterialEntity(m) ∧ ¬FiatObjectPart(x)) ∧ roleOf(x,m) ∧ (Person(n) ∨ GroupOfAgents(n) ∨ EngineeredSystem(n)) ∧ actsOnBehalfOfAtSomeTime(m, n))
is primitive: true
natural language definition: role that someone or something has when they act on behalf of a person, engineered system or a group of agents
primitive rationale: This term is expected to remain primitive. While 'acting on behalf of at some time' captures the essence of being an agent, the realization of the agent role is expected to have too generic of a scope to define a sufficient condition that would not cause conflict (overlap) with the realization of other roles, which can in turn lead to reasoner errors when a specific entity bears multiple roles simoultaneously. Also, no further conditions specific to the role and not to the bearer of the role have been created thus far.
semi formal natural language axiom: if x is an 'agent role' x then x is a 'role' that is the 'role of' some 'material entity' (that is not a 'fiat object part') when it 'acts on behalf of at some time' some 'person' or 'group of agents' or 'engineered system'

agreement
type: Class
subclass of: information content entity
subclass of: Restriction
  on property: BFO_0000110
  some values from: objective specification
example: prenuptial agreement; memorandum of understanding; non-disclosure agreement; employment agreement; purchase order that has been confirmed by the seller by e-mail; handshake agreement to buy something in the State of Florida, which happens to be legally-binding in that juristiction provided certain evidence can be produced
adapted from: FIBO https://spec.edmcouncil.org/fibo/ontology/FND/Agreements/Agreements, term by the same name
first order logic axiom: Agreement(x) → InformationContentEntity(x) ∧ ∃o(ObjectiveSpecification(o) ∧ hasContinuantPartAtAllTimes(x,o))
is primitive: true
natural language definition: understanding between two or more parties that contains a set of commitments on the part of the parties
primitive rationale: In addition to the general discussion provided for information content enty,there are insufficient constructs to create necessary and sufficient conditions. Namely, patterns surrounding commitment and party need to be established
semi formal natural language axiom: if x is an 'agreement' then x is an 'information content entity' that 'has continuant part at all times' some 'objective specification'

algorithm
type: Class
subclass of: information content entity
example: pseudo code for sorting data, flowchart for automatic control of a process
adapted from: http://purl.obolibrary.org/obo/IAO_0000064 and http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
counter example: executable code, source code
explanatory note: 1. to translate in this context means to implement the algorithm such that it is readily executable 2. algorithms in this context should be interpreted as implementation-independent (language-neutral) representations and are typically represented as pseudo-code or a flowchart 3. declarative steps should be interpreted in the context of declarative programming
first order logic axiom: InformationContentEntity(x) ∧ ∃y(EncodedAlgorithm(y) ∧ prescribes(x,y)) → Algorithm(x)
is primitive: true
natural language definition: information content entity that prescribes procedural or declarative steps which can be translated to computer interpretable instructions
primitive rationale: See the general discussion and rationale provided under information content entity.
semi formal natural language axiom: If x is an 'information content entity' that 'prescribes' some 'encoded algorithm' then x is an instance of 'algorithm'

assembly
type: Class
subclass of: material artifact
subclass of: Restriction
  on property:
    inverse of: component part of at all times
  some values from: material component
example: powertrain assembly; partially-assembled powertrain + transmission assembly lying nearby; driveshaft assembly temporarily disassembled for repair or routine maintenance; separator assembly consisting of variously-shaped separator parts that safeguard wine bottles in a case of wine during transport; a material artifact produced entirely through additive manufacturing (provided it is a component somewhere, and can it can be disassembled without damage/destruction).
adapted from: APICS 14 ed., 2013, term by the same name; DoD Standard Practice, Identification Marking of US Military Property (MIL-STD-130N Nov. 2012) https://dodprocurementtoolbox.com/cms/sites/default/files/resources/2016-03/MIL-Std130N_Ch1_4.pdf, term by the same name
counter example: a portion of material; a piece of glass; a rod of aluminum; a roll of aluminum; an engine block
explanatory note: Although the term is polysemous and used in a number of other domains beyond manufacturing, it is introduced here as a covering term for any man-made artifact that satisfies the conditions provided, and independent of modality. We expect various subclasses of assembly to be introduced in future along with more precise heuristics for the various modalities in which they exist.
first order logic axiom: LA1: Assembly(x) → MaterialArtifact(x) ∧ ∃c∃c1(MaterialComponent(c) ∧ MaterialComponent(c1) ∧ componentPartOfAtAllTimes(c,x) ∧ componentPartOfAtAllTimes(c1,x) ∧ ¬(c=c1 ∨ (componentPartOfAtAllTimes(c,c1) ∨ componentPartOfAtAllTimes(c1,c))))
first order logic axiom: LA2: MaterialArtifact(x) ∧ ∃p(AssemblyProcess(p) ∧ isSpecifiedOutputOf(x,p)) → Assembly(x)
is primitive: true
natural language definition: material artifact that is composed of material components that are physically connected and that is capable of disassembly
primitive rationale: There are insufficient constructs in the ontology to provide necessary and sufficient conditions. Namely, 'disassembly capability' is missing.
semi formal natural language axiom: LA1: if x is an 'assembly' then x is a 'material artifact' and there are at least two distinct 'material component' that are 'component part of at all times' x
semi formal natural language axiom: LA2: Material Artifact x that 'is specified output of' some Assembly Process p implies x is an Assembly
usage note: Every assembly has a plurality of material components. While this is captured in the FOL, due to reasoning limitations with cardinality restrictions and complex properties, the OWL axiom uses 'some' instead of min 2. Hence, this class should be modeled as having at least two material components on the instance level.

assembly process
type: Class
subclass of: manufacturing process
subclass of: Restriction
  on property: has input
  some values from: material component
subclass of: Restriction
  on property: has specified output
  some values from: Class
    intersection of: assembly
    intersection of: Restriction
      on property: has component part at all times
      some values from: Class
        intersection of: material component
        intersection of: Restriction
example: Driving a lug nut to hold the wheel of a car in place; welding two metal parts into a single object; automated drilling and riveting of a skin panel operation during fuselage assembly;
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/EventOntology
counter example: 3D printing on an existing part (existing part + a pool of printing material -> new part) -- Note that the pool of material is an object before the process but becomes liquid (there is physical state change) during the "assembly" process.
first order logic axiom: AssemblyProcess(x) → ManufacturingProcess(x) ∧ ∃a∃c (Assembly(a) ∧ MaterialComponent(c) ∧ isInputOf(c,x) ∧ hasComponentPartAtAllTimes(a,c) ∧ hasSpecifiedOutput(x,a))
is primitive: true
natural language definition: manufacturing process in which a number of material components are physically connected to each other to form an assembly
primitive rationale: More conditions (differentia) need to be agreed upon by the domain experts as processes like 3D printing can also produce an assembly.
semi formal natural language axiom: if x is an 'assembly process' x then x is a 'manufacturing process' that 'has specified output' some 'assembly' which 'has component part at all times' some 'material component' that 'is input of' x

business function
type: Class
subclass of: BFO_0000034
subclass of: Restriction
  on property: BFO_0000054
  all values from: business process
subclass of: Restriction
  on property: function of
  some values from: organization
subclass of: Restriction
  on property: prescribed by
  some values from: Class
    intersection of: objective specification
    intersection of: Restriction
      on property: BFO_0000084
      some values from: organization
example: Pfizer has the business function to produce medicines; Airbus has the business function of manufacturing planes
adapted from: https://en.wikipedia.org/wiki/Business_purpose
counter example: any function of a non-profit organization
first order logic axiom: LA1: BusinessFunction(x) → Function(x) ∧ ∃o∃i(Organization(o) ∧ ObjectiveSpecification(i) ∧ functionOf(x,o) ∧ genericallyDependsOnAtSomeTime(i,o) ∧ prescribedBy(x,i)) ∧ ∀y(hasRealization(x,y) → BusinessProcess(y))
first order logic axiom: LA2: Function(x) ∧ ∃o∃i∃p(Organization(o) ∧ ObjectiveSpecification(i) ∧ BusinessProcess(p) ∧ functionOf(x,o) ∧ genericallyDependsOnAtSomeTime(i,o) ∧ prescribedBy(x,i) ∧ hasRealization(x,p)) → BusinessFunction(x)
is primitive: true
natural language definition: function of an organization to partake in for profit activities as prescribed by the objectives specified by that organization
primitive rationale: As a function will come into its existance prior to its realization in given business processes necessary and sufficient conditions can not be created at this point due to a lack of patterns to express process types regardless of the time of their existence
semi formal natural language axiom: LA1: if x is a 'business function' then x is a 'function' that is 'function of' some 'organization' and that is 'prescribed by' some 'objective specification' and whenever x 'has realization' y that y must be a 'business process'
semi formal natural language axiom: LA2: if x is a 'function' that is 'function of' some 'organization' and that is 'prescribed by' some 'objective specification' and that 'has realization' some 'business process' then x is a 'business function'

business organization
type: Class
subclass of: organization
equivalent class: Class
  intersection of: organization
  intersection of: Restriction
    on property: BFO_0000196
    some values from: business function
example: Mercedes-Benz, Deloitte, Pfizer, Airbus
adapted from: https://en.wikipedia.org/wiki/Business
explanatory note: Business entities are formally organized according to the laws prevailing in the locales and countries in which it operates or conducts business, and include companies, corporations, partnerships, or sole proprietorships.
first order logic definition: BusinessOrganization(x) ↔ Organization(x) ∧ ∃f(BusinessFunction(f) ∧ hasFunction(x,f))
natural language definition: organization engaging in or planning to engage in any activity of buying and selling goods or services for a profit
semi formal natural language definition: every instance of a business organization' is defined as exactly an instance of 'organization' that 'has function' some 'business function'

business process
type: Class
subclass of: planned process
subclass of: Restriction
  on property: BFO_0000057
  some values from: Class
    intersection of: agent
    intersection of: Restriction
      on property: acts on behalf of at some time
      some values from: business organization
subclass of: Restriction
  on property: prescribed by
  some values from: Class
    intersection of: plan specification
    intersection of: Restriction
      on property: BFO_0000110
      some values from: Class
        intersection of: objective specification
        intersection of: Restriction
example: product production process; manufacturing enterprise process; finance operation; logistics operation.
adapted from: ISO 15704 and APICS
explanatory note: This definition leaves open the possibility that the business entity that carries the plan that prescribes the process, has no direct participation in the process, which would imply that some 3rd-party agent is playing a causal role as the process unfolds, and is acting on behalf of the Business Entity's interests.
first order logic axiom: BusinessProcess (p) → PlannedProcess(p) ∧ ∃o∃b∃s∃y (ObjectiveSpecification(o) ∧ BusinessOrganization(b) ∧ PlanSpecification(s) ∧ isCarrierOfAtSomeTime(b,o) ∧ continuantPartofAtAllTimes(o,s) ∧ Agent(y) ∧ actsOnBehalfOfAtSomeTime(y,b) ∧ participatesInAtSomeTime(y,x))
is primitive: true
natural language definition: planned process which is prescribed by a plan specification with one or more objectives specified by a business organization
primitive rationale: More conditions (differentia) need to be agreed upon by the domain experts.
semi formal natural language axiom: if x is a 'business process' then x is a 'planned process' that 'has participant at some time' some 'agent' that 'acts on behalf of at some time' a 'business organization' that 'is carrier of at some time' some 'objective specification' that is 'continuant part of at all times' a 'plan specification' that 'prescribes' x

buyer
type: Class
subclass of: agent
equivalent class: Class
  intersection of: Class
    union of: organization
    union of: person
  intersection of: Restriction
    on property: has role
    some values from: buyer role
example: Pfizer when it buys a bulk of chemicals from MiliporeSigma; a person is when they buy groceries at the supermarket; a manufacturing enterprise when they hire an external organization to do some manufacturing process (manufacturing as a service); a person when they hire someone to repair a broken pipe
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: Buyer(x) ↔ Person(x) ∨ Organization(x) ∧ ∃r(BuyerRole(r) ∧ hasRole(x,r))
natural language definition: person or organization which has a buyer role
semi formal natural language definition: every instance of 'buyer' is defined as exactly an instance of 'person' or 'organization' that 'has role' some 'buyer role'

buyer role
type: Class
subclass of: agent role
subclass of: Restriction
  on property: role of
  some values from: Class
    intersection of: Class
      union of: organization
      union of: person
    intersection of: Restriction
      on property: BFO_0000056
      some values from: buying business process
example: Pfizer has a buyer role when it buys a bulk of chemicals from MiliporeSigma; a person has a buyer role when they buy groceries at the supermarket; a manufacturing enterprise has a buyer role when they hire an external organization to do some manufacturing process (manufacturing as a service); a person has a buyer role when they hire someone to repair a broken pipe
adapted from: OAGIS
first order logic axiom: BuyerRole(x) → Role(x) ∧ ∃y∃p ((Organization(y) ∨ Person(y)) ∧ BuyingBusinessProcess(p) ∧ participatesInAtSomeTime(y,p) ∧ roleOf(x, y))
is primitive: true
natural language definition: agent role held by a person or organization when it buys a product or a service
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for economic transactions and ownership are lacking
semi formal natural language axiom: if x is a 'buyer role' x then x is an 'agent role' that is the 'role of' some 'person' or 'organization' when it 'participates in at some time' some 'buying business process'

buying business process
type: Class
subclass of: business process
subclass of: Restriction
  on property: BFO_0000057
  some values from: buyer
subclass of: Restriction
  on property: BFO_0000057
  some values from: Class
    union of: commercial service agreement
    union of: material product
example: GM buys tires from Good Year to be assembled into its cars; GE Conglomerate (buyer) buys steels for uses in productions by its GE aviation subsidiary (customer) and GE Transportation subsidiary (customer)
adapted from: CCO:http://www.ontologyrepository.com/CommonCoreOntologies/ActOfBuying NL definition: OAGIS and CCO
explanatory note: 1.The agent who uses the finiancial instrument may not own the financial instrument and hence agent may not be the paying agent. 2. It should be noted that we consciously exclude the person-to-person transactions, but person-to-business is not excluded.
first order logic axiom: BuyingBusinessProcess(x) → BusinessProcess(x) ∧ ∃y∃z((MaterialProduct(y) ∨ CommercialServiceAgreement(y)) ∧ Buyer(z) ∧ hasParticipantAtSomeTIme(x,y) ∧ hasParticipantAtSomeTime(x,z))
is primitive: true
natural language definition: business process wherein a financial instrument is used by an agent (buyer) to acquire ownership of a product or commercial service from another agent (seller) for the buyer itself or for another agent (customer)
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, ownership and economic transactions require formalization.
semi formal natural language axiom: if x is a 'buying business process' then x is a 'business process' that 'has participant at some time' some 'buyer' and x 'has participant at some time' some 'material product' or 'commercial service agreement'

capability
type: Class
subclass of: BFO_0000016
example: Capability of a person to play chess at the "master" level; of a team to play football in the professional league; of a lathe to turn at maximal speed of 4,000 RPM; or of your digestive system to digest tiramisu.
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
explanatory note: 1. Whereas the BFO term 'disposition refers to all tendencies, powers, habits, skills, potentials, and so forth, that a material entity may possess, a Capability narrows this down by requiring the existence of an Agent that has an interest in the realization of the capability 2. This definition does not attempt to capture "task-based" capabilities that an entity may bear -- e.g., a stone's capability to kill when used by some person. Rather, it captures "proper capabilities." See related discussion of "proper functions" in the literature. 3. All functions are capabilities and in a future release BFO:Function will be asserted directly under capability. 4. Not all capabilities are functions. Capabilities are often added to an artifact by the designer/engineer, or to a biological entity through evolution, as "additional benefits," and are differentiated from function (i.e., purpose). Examples: the air conditioner in your car is a capability but not the function of your car. Yet the function of the car air conditioner certainly forms some material basis of your car's ability to provide a comfortable experience. The ability of your heart to beat fast to support your need to run fast to escape a threat. The decaying stick on the forest lawn does not have the function to be used as a tool, but certainly a chimpanzee may have an interest in using a stick to extract food from a termite mound.
first order logic axiom: Capability(x) → Disposition(x)
is primitive: true
natural language definition: disposition in whose realization some agent has an interest
primitive rationale: This concept will be further developed and formalized in a future release of BFO.
semi formal natural language axiom: if x is a 'capability' then x is a 'disposition'
synonym: ability

commercial service
type: Class
subclass of: business process
subclass of: Restriction
  on property: BFO_0000057
  some values from: service provider
subclass of: Restriction
  on property: BFO_0000117
  some values from: supplying business process
subclass of: Restriction
  on property: is subject of
  some values from: commercial service agreement
subclass of: Restriction
  on property: prescribed by
  some values from: commercial service specification
example: Lufthansa Aviation Services maintains airplanes for United Airlines when the plane stops at Frankfurt International Airport.
explanatory note: 1. A consumption process means using or benefiting. 2.Typically, the service provisioning process and consumption process coincide temporally which is different from a material product that is consumed (used) only after supplied.
first order logic axiom: Commercialervice(x) → BusinessProcess(x) ∧ ∃p∃y∃a∃s(CommercialServiceSpecification(p) ∧ ServiceProvider(y) ∧ CommercialServiceAgreement(s) ∧ SupplyingBusinessProcess(a) ∧ hasParticipantAtSomeTime(x,y) ∧ hasOccurentPart(x,a) ∧ prescribedBy(x,p) ∧ isSubjectOf(x,s))
is primitive: true
natural language definition: business process that consists of a service provisioning process and a consumption process
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, service consumption needs to be formalized.
semi formal natural language axiom: if x is a 'commercial service' then x is a 'business process' that is 'prescribed by' some 'commercial service specification' and that 'has participant at some time' some 'service provider' 'and x 'has occurent part' some 'supplying business process' and x 'is subject of' some 'commercial service agreement'

commercial service agreement
type: Class
subclass of: agreement
example: a cellphone plan, a maintenance service agreement, equipment lease agreement that includes a maintenance plan
adapted from: https://schema.org/, http://www.heppnetz.de/projects/goodrelations/ and http://dini-ag-kim.github.io/service-ontology/service.html
counter example: a blanket purchase order, commodity contract
first order logic axiom: Agreement(x) ∧ ∃c∃y∃z(CommercialService(c) ∧ ServiceProviderRole(y) ∧ CustomerRole(z) ∧ isAbout(x,c) ∧ prescribes(x,y) ∧ prescribes(x,z)) → CommercialServiceAgreement(x)
is primitive: true
natural language definition: agreement between a customer and service provider that is about some commercial service to be provided by the service provider in exchange for compensation from the customer
primitive rationale: See the general discussion and rationale provided for informational entities under 'information content entity'.
semi formal natural language axiom: If x is an 'agreement' that 'is about' some 'commercial service' and that 'prescribes' some 'customer role' and some 'service provider role' then x is a 'commercial service agreement'

commercial service specification
type: Class
subclass of: plan specification
example: protocol on how maintenance will be conducted on airplanes that is a part of the agreement between Frankfurt Airport and various airlines
adapted from: https://schema.org/, http://www.heppnetz.de/projects/goodrelations/ and http://dini-ag-kim.github.io/service-ontology/service.html
first order logic axiom: PlanSpecification(x) ∧ ∃c(CommercialService(c) ∧ prescribes(x,c)) → CommercialServiceSpecification(x)
is primitive: true
natural language definition: plan specification that prescribes a commercial service
primitive rationale: See the general discussion and rationale provided for informational entities under 'information content entity'.
semi formal natural language axiom: if x is a 'plan specification' that 'prescribes' some 'commercial service' then x is a 'commercial service specification'

computing process
type: Class
subclass of: planned process
subclass of: Restriction
  on property: has input
  all values from: information content entity
subclass of: Restriction
  on property: has specified output
  all values from: information content entity
equivalent class: Class
  intersection of: planned process
  intersection of: Class
    union of: Restriction
      on property: achieves at some time
      some values from: Class
        intersection of: objective specification
        intersection of: Restriction
    union of: Restriction
      on property: has specified output
      some values from: information content entity
  intersection of: Restriction
    on property: BFO_0000057
    some values from: agent
  intersection of: Restriction
    on property: BFO_0000059
    some values from: Class
      intersection of: Class
        union of: algorithm
        union of: encoded algorithm
      intersection of: Restriction
        on property: BFO_0000084
        some values from: agent
example: execution of a neural network implemented in tensorflow to classify a set of images on a specific cluster; running of the MPC algorithm to control pressure during the production process
adapted from: https://en.wikipedia.org/wiki/Process_(computing) and https://en.wikipedia.org/wiki/Execution_(computing)
explanatory note: 1. The inputs and specified outputs of 'computing process' are strictly limited to information content entities. 2. While it is true that algorithms can result in an action by an agent that concretizes it (e.g. controller changes the pressure of a valve), the intermediate step is still an information content entity (e.g. action specification) that is 'concretized' in a separate process that results in the action.
first order logic axiom: ComputingProcess(x) → ∀y((hasInput(x,y) ∨ hasSpecifiedOutput(x,y)) → InformationContentEntity(y))
first order logic definition: ComputingProcess(x) ↔ PlannedProcess(x) ∧ ∃y∃a(Agent(y) ∧ (Algorithm(a) ∨ EncodedAlgorithm(a)) ∧ hasParticipantAtSomeTIme(x,y) ∧ genericallyDependsOnAtSomeTime(a,y) ∧ concretizesAtSomeTime(x,a) ∧ (∃o(ObjectiveSpecification(o) ∧ continuantPartOfAtAllTimes(o,a) ∧ achievesAtSomeTIme(x,o)) ∨ ∃i(InformationContentEntity(i) ∧ hasSpecifiedOutput(x,i))))
natural language definition: planned process in which an algorithm or an encoded algorithm is realized by an agent
semi formal natural language axiom: if x is a 'computing process' then whenever x 'has input' or 'has specified output' y that y must be an 'information content entity'
semi formal natural language definition: every instance of 'computing process' is defined as exactly an instance of 'planned process' that 'concretizes at some time' an 'encoded algorithm' or 'algorithm' y which 'generically depends on at some time' some 'agent' which 'participates in at some time' the 'computing process' and the 'computing process' either 'achieves at some time' some 'objective specification' that is 'continuant part of at all times y or it 'has specified output' some 'information content entity'

consumable
type: Class
subclass of: BFO_0000040
equivalent class: Class
  intersection of: BFO_0000040
  intersection of: Restriction
    on property: has role
    some values from: consumable role
example: Deionized water used as a suspension medium in PVC polymerization and partially lost through evaporation; Sterile filter used for media sterilization and discarded after use; Coolant/antifreeze used as a heat-transfer fluid in cooling system maintenance and replaced during servicing; Cleaning solvent used as a cleaning agent in equipment cleaning and disposed after use; Packing tape used as a sealing material in case sealing and incorporated into the sealed package; Dry ice used as a refrigerant medium in cold-chain shipping and sublimed during transport
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: Consumable(x) ↔ MaterialEntity(x) ∧ ∃r(ConsumableRole(r) ∧ hasRole(x, r))
natural language definition: material entity which has the consumable role
semi formal natural language definition: every instance of 'consumable' is defined as exactly an instance of 'material entity' that 'has role' some 'consumable role'

consumable role
type: Class
subclass of: BFO_0000023
subclass of: Class
  union of: Restriction
    on property: role of
    some values from: Class
      intersection of: BFO_0000040
      intersection of: Class
        union of: Restriction
  union of: Restriction
    on property: role of
    some values from: Class
      intersection of: BFO_0000040
      intersection of: Restriction
        on property: prescribed by
        some values from: input specification
subclass of: Restriction
  on property: BFO_0000054
  all values from: planned process
example: Deionized water in the role of a consumable in PVC polymerization as a suspension medium; Sterile filter in the role of a consumable in media sterilization; Coolant/antifreeze in the role of a consumable in cooling system maintenance as a heat-transfer fluid; Cleaning solvent in the role of a consumable in equipment cleaning as a cleaning agent; Packing tape in the role of a consumable in case sealing as a sealing material; Dry ice in the role of a consumable in cold-chain shipping as a refrigerant medium
adapted from: https://en.wikipedia.org/wiki/Consumables
explanatory note: 'Used up' (consumed) in this context means that either a) the material entity no longer exist at the end of the process or b) the material entity has reduced or lost capability as a result of the process.
first order logic axiom: ConsumableRole(x) → Role(x) ∧ ∀y(hasRealization(x,y) → PlannedProcess(y)) ∧ (∃a(roleOf(x,a) ∧ MaterialEntity(a) ∧ (∃f(hasCapability(a,f) ∧ Capability(f) ∧ ∃p(hasRealization(f,p) ∧ PlannedProcess(p))) ∨ ∃p(isInputOf(a,p) ∧ PlannedProcess(p)))) ∨ ∃a(roleOf(x,a) ∧ MaterialEntity(a) ∧ ∃b(prescribedBy(a,b) ∧ InputSpecification(b))))
is primitive: true
natural language definition: role held by a material entity when it is planned to be, or is partially or fully used up in a planned process
primitive rationale: There are insufficient constructs to define necessary and sufficient conditions. Specifically constructs that fully model capability loss or degradation are missing.
semi formal natural language axiom: if x is a 'consumable role' then x is a 'role' that 'has realization' only 'planned process' and x is a 'role of' either a 'material entity' that is 'prescribed by' some 'input specification', or a 'material entity' that 'is input of' some 'planned process', or a 'material entity' that 'has capability' some 'capability' that 'has realization' in some 'planned process'

customer
type: Class
subclass of: agent
equivalent class: Class
  intersection of: Class
    union of: organization
    union of: person
  intersection of: Restriction
    on property: has role
    some values from: customer role
example: GE aviation subsidiary and GE Transportation subsidiary when they utilize the steel bought for them by the GE Conglomerate; a person when they utilize a lap top that they bought from Target; a person when they subscribe for a phone plan
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: Customer(x) ↔ (Person(x) ∨ Organization(x)) ∧ ∃r(CustomerRole(r) ∧ hasRole(x,r))
natural language definition: person or organization which has a customer role
semi formal natural language definition: every instance of 'customer' is defined as exactly an instance of 'person' or 'organization' that 'has role' some 'customer role'

customer role
type: Class
subclass of: agent role
subclass of: Restriction
  on property: role of
  some values from: Class
    union of: organization
    union of: person
example: GE aviation subsidiary and GE Transportation subsidiary have the customer role when they utilize the steel bought for them by the GE Conglomerate; a person has a customer role when they utilize a lap top that they bought from Target; a person has a customer role when they subscribe for a phone plan
adapted from: OAGIS
first order logic axiom: CustomerRole(x) → AgentRole(x) ∧ ∃y((Person(y) ∨ Organization(y)) ∧ roleOf(x,y))
is primitive: true
natural language definition: agent role held by a person or organization when it utilizes the product or receives the service or subscribes to the commercial service agreement
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for 'utilizing the product' and 'subscribing to an agreement' need to be formalized.
semi formal natural language axiom: if x is a 'customer role' then x is an 'agent role' that is the 'role of' a 'person' or 'organization'

descriptive information content entity
type: Class
subclass of: information content entity
equivalent class: Class
  intersection of: information content entity
  intersection of: Restriction
    on property: describes
    some values from: BFO_0000001
example: a description of a product in a product catalogue, the wheelbase of this car is 3m, digital copy of a Mona Lisa drawing
abbreviation: descriptive ICE
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
explanatory note: This class is intended to be a defined class used for axiomatization and assertion convenience. It is not expected nor recommended that entities will be asserted as a subclass of this class.
first order logic definition: DescriptiveInformationContentEntity(x) ↔ InformationContentEntity(x) ∧ ∃e(Entity(e) ∧ describes(x,e))
natural language definition: information content entity that characterizes (gives a description of) an entity
semi formal natural language definition: every instance of 'descriptive information content entity ' is defined as exactly an instance of 'information content entity' that 'describes' some 'entity'

design specification
type: Class
subclass of: information content entity
subclass of: Restriction
  on property: prescribes
  all values from: BFO_0000002
example: document specifying the characteristics of a pharmaceutical product; the design of a software program to schedule the work orders in a factory
adapted from: http://en.wikipedia.org/wiki/Design and from http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology, term under the name 'artifact design'
counter example: process design
explanatory note: 1. Design specification may be a model or a textual or graphical specification. 2. This class is not intended to be used to represent the design of planned processes. For this purpose, plan specification should be used. 3. Something 'man-made' comprehends those physical and non-physical things that are intentionally created by human beings. Hence the thing specified by a design specification may be either BFO:GDC or BFO:Material Entity. 4. A design specification specifies what the thing should be, such as its shape, size, tolerance, and performance but not necessarily how the thing should be made. If it contains information on how a thing should be made, this should be modeled separately through a 'plan specification' that is 'part of' the design specification 5. Typically, a design specification satisfies a set of requirements
first order logic axiom: LA1: DesignSpecification(x) → InformationContentEntity(x) ∧ ∀c (prescribes(x,c) → Continuant(c))
first order logic axiom: LA2: InformationContentEntity(x) ∧ ∃c∃r(Continuant(c) ∧ RequirementSpecification(r) ∧ satisfiesRequirement(x,r) ∧ prescribes(x,c)) ∧ ∀c1(prescribes(x,c1) → Continuant(c1)) → DesignSpecification(x)
is primitive: true
natural language definition: information content entity that prescribes something man-made
primitive rationale: See the general discussion and rationale provided for informational entities under 'information content entity'.
semi formal natural language axiom: LA1: if d is a 'design specification' then d is an 'information content entity' and whenever d 'prescribes' y that y must be a 'continuant'
semi formal natural language axiom: LA2: if d is an 'information content entity' that 'prescribes' some 'continuant' and that 'satisfies requirement' some 'requirement specification' and if all y that d 'presribes' are instance of 'continuant' then d is a 'design specification'

designative information content entity
type: Class
subclass of: information content entity
equivalent class: Class
  intersection of: information content entity
  intersection of: Restriction
    on property: designates
    some values from: BFO_0000001
example: uri of a website, social security number of a person, lot number of a batch of products, a serial number on a machine, a credit card number, a combination of data in a database table uniquely identify each record in the table
abbreviation: designative ICE
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
explanatory note: 1. This class is intended to be a defined class used for axiomatization and assertion convenience. It is not expected nor recommended that entities will be asserted as a subclass of this class. 2. Since the relation 'designates' is defined as a functional property, uniqueness is enforced in the term's formalization.
first order logic definition: DesignativeInformationContentEntity(x) ↔ InformationContentEntity(x) ∧ ∃e(Entity(e) ∧ designates(x,e))
natural language definition: information content entity that uniquely identifies an entity
semi formal natural language definition: every instance of 'designative information content entity' is defined as exactly an instance of 'information content entity' that 'designates' some 'entity'

designed function
type: Class
subclass of: BFO_0000034
equivalent class: Class
  intersection of: BFO_0000034
  intersection of: Restriction
    on property: prescribed by
    some values from: design specification
example: the function of a oil pump to pump oil, the function of a knife to cut things
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology
first order logic definition: ArtifactFunction(x) ↔ Function(x) ∧ ∃d(DesignSpecification(m)∧ prescribedBy(x,d))
natural language definition: function that is intentionally designed
semi formal natural language definition: every instance of 'designed function' is exactly an instance of 'function' that is 'prescribed by' some 'design specification'

directive information content entity
type: Class
subclass of: information content entity
equivalent class: Class
  intersection of: information content entity
  intersection of: Restriction
    on property: prescribes
    some values from: BFO_0000001
example: blueprint of a building, process plan, software functional requirement
abbreviation: directive ICE
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
explanatory note: This class is intended to be a defined class used for axiomatization and assertion convenience. It is not expected nor recommended that entities will be asserted as a subclass of this class.
first order logic definition: DirectiveInformationContentEntity(x) ↔ InformationContentEntity(x) ∧ ∃e(Entity(e) ∧ prescribes(x,e))
natural language definition: information content entity that prescribes a set of rules or guidelines for a process or a model of something man-made
semi formal natural language definition: every instance of 'directive information content entity' is defined as exactly an instance of 'information content entity' that 'prescribes' some 'entity'

encoded algorithm
type: Class
subclass of: plan specification
example: source code encoded in Java that implements a sorting algorithm; Python script that implements a decision tree and that has the objective to classify melt pool images
adapted from: http://www.ebi.ac.uk/swo/SWO_0000001
counter example: flowchart, pseudocode
explanatory note: Readily executable means that it can be 1) concretized by a computing process which is prescribed by the encoded algorithm or 2) in case of source code concretized by a compiling process
first order logic axiom: PlanSpecification(x) ∧ ∃y(ComputingProcess(y) ∧ prescribes(x,y)) → EncodedAlgorithm(x)
is primitive: true
natural language definition: plan specification that is the implementation of an algorithm encoded in a specific programming language or framework and that is readily executable
primitive rationale: In addition to the general discussion provided for information content enty,there are insufficient constructs to create necessary and sufficient conditions. Namely constructs for 'encoded in', 'implementation of' and 'programming language' or 'framework' as well as 'compiling process' are still missing.
semi formal natural language axiom: If x is a 'plan specification' that 'prescribes' some 'computing process' then x is an instance of 'encoded algorithm'

engineered system
type: Class
subclass of: system
equivalent class: Class
  intersection of: system
  intersection of: Restriction
    on property: BFO_0000196
    some values from: designed function
example: machine, laptop, traffic light system
adapted from: www.incose.com, term by the same name
first order logic definition: EngineeredSystem(x) ↔ System(x) ∧ ∃f(DesignedFunction(f) ∧ bearerOf(x,f))
natural language definition: system that is deliberately created to have a certain function
semi formal natural language definition: every instance of 'engineered system' is defined as exactly an instance of 'system' that is the 'bearer of' some 'designed function'

equipment role
type: Class
subclass of: BFO_0000023
subclass of: Restriction
  on property: BFO_0000054
  all values from: Class
    intersection of: planned process
    intersection of: Restriction
      on property: BFO_0000055
      some values from: Class
        intersection of: BFO_0000034
        intersection of: Restriction
subclass of: Restriction
  on property: role of
  all values from: Class
    union of: engineered system
    union of: material artifact
subclass of: Restriction
  on property: role of
  some values from: Class
    intersection of: Class
      union of: engineered system
      union of: material artifact
    intersection of: Restriction
      on property: prescribed by
      some values from: Class
        union of: plan specification
        union of: Restriction
example: role of a wrench when it is used in the maintenance process of a car; role of a chromatography column that is planned to be used in a protein purification process; role of a truck that is used to transport goods to the buyer; role of a single-use bioreactor when it is planned to be used in the upstream phase of a biomanufacturing process
adapted from: adapted from Oxford Languages, term by the name ‘equipment’
explanatory note: 1. By including in the definition that the material artifact or engineered system is not consumed in the process, the equipment role intentionally excludes entities such as consumables and reagents, which should be modeled separately. 2. In the definition, "utilized for carrying out" implies that the function of the given material artifact or the engineered system needs to be realized in the process. That is, entities with the equipment role should not passively participate in the prescribed process. This differentiates 'material entities with the equipment role' (a piece of equipment) from material entities that are acted upon (transformed or modified) in the given process.
first order logic axiom: LA1: EquipmentRole(x) → ∀y (hasRealization(x,y) → (PlannedProcess(y) ∧ ∃f (Function(f) ∧ realizes(y,f) ∧ ∃z ((EngineeredSystem(z) ∨ MaterialArtifact(z)) ∧ functionOf(f,z)))))
first order logic axiom: LA2: EquipmentRole(x) → ∀y (roleOf(x,y) → (EngineeredSystem(y) ∨ MaterialArtifact(y)))
first order logic axiom: LA3: EquipmentRole(x) → ∃y ( roleOf(x,y) ∧ (EngineeredSystem(y) ∨ MaterialArtifact(y)) ∧ ∃z ( prescribedBy(y,z) ∧ ( PlanSpecification(z) ∨ ∃p ( PlanSpecification(p) ∧ continuantPartOfAtAllTimes(z,p) ) ) ) )
is primitive: true
natural language definition: role held by a material artifact or an engineered system when it is planned to be involved in or is involved in carrying out some part of a planned process and that is not consumed in that planned process
primitive rationale: There are insufficient constructs to define necessary and sufficient conditions. Namely, patterns for utilized in carrying out and not consumed need to be developed further.
semi formal natural language axiom: LA1: if x is an ‘equipment role’ then whenever x ‘has realization’ y, y is a ‘planned process’ that ‘realizes’ some ‘function’ that is ‘function of’ some ‘engineered system’ or ‘material artifact’
semi formal natural language axiom: LA2: if x is an ‘equipment role’ then whenever x ‘role of’ y, y must be an ‘engineered system’ or a ‘material artifact’
semi formal natural language axiom: LA3: if x is an ‘equipment role’ then x is ‘role of’ some y such that y is an ‘engineered system’ or a ‘material artifact’, and y is ‘prescribed by’ some entity that is either a ‘plan specification’ or something that is ‘continuant part of at all times’ some ‘plan specification’

event
type: Class
subclass of: BFO_0000003
subclass of: Class
  union of: BFO_0000015
  union of: BFO_0000035
subclass of: Restriction
  on property: recognized by at some time
  some values from: agent
example: a machine failure event, the amount of cells in a bioreactor reaches a certain threshold
adapted from: Oxford Languages, term by the same name
counter example: an event in discrete event simulation is too generic and that notion of event is just BFO:Occurrent
first order logic axiom: Event(x) → (Process(x) ∨ ProcessBoundary(x)) ∧ ∃y(Agent(y) ∧ recognizedByAtSomeTime(x,y))
is primitive: true
natural language definition: phenomena (process or process boundary) that is recognized by an agent and typically recorded
primitive rationale: More conditions (differentia) need to be agreed upon by the domain experts as not all occurrents recognized by an agent are events.
semi formal natural language axiom: if x is an 'event' then x is a 'process' or 'process boundary' and there is some 'agent' that 'recognizes at some time' x

gain of role
type: Class
subclass of: BFO_0000015
equivalent class: Class
  intersection of: BFO_0000015
  intersection of: Class
    intersection of: Restriction
      on property: BFO_0000199
      some values from: Class
        intersection of: BFO_0000202
        intersection of: Class
    intersection of: Restriction
      on property: has output
      some values from: BFO_0000023
  intersection of: Restriction
    on property: BFO_0000167
    some values from: Class
      intersection of: BFO_0000004
      intersection of: Class
        complement of: BFO_0000006
example: the process of gaining an operator role when someone is assigned in that position
adapted from: CCO
explanatory note: 1. If only one date-time is available for some gain of role processes due to lack of data or an interval being smaller than the tick time (the smallest duration by which the time progresses) then the date-time should be asserted either only for first instant or only for last instant of every interval, for which a gain of role process occurs, uniformly for the entire knowledge base. For example, Barack Obama gained the role of presidency on 20 January 2009 should be modeled as the process p of type ‘gain of role’ ‘occupies temporal region’ r (a ‘temporal interval’) which ‘has last instant’ i (a ‘temporal instant’) which ‘has value expression at all times’ v (a ‘temporal instant value expression’) which ‘has data-time value’ 2009-01-20T00:00:00Z.
first order logic definition: GainOfRole(p) ↔ Process(p) ∧ ∃t∃t1∃r∃y(TemporalInterval(t) ∧ TemporalInterval(t1) ∧ Role(r)∧ (IndependentContinuant(y) ∧ ¬SpatialRegion(y)) ∧ occupiesTemporalRegion(p,t) ∧ (temporallyOverlaps(t,t1) ∨ temporallyStarts(t,t1) ∨ meets(t,t1)) ∧ hasOutput(p,r) ∧ existsAt(r,t1) ∧ hasRole(y,r) ∧ hasParticipantAtAllTimes(p,y) ∧ ∀t2(TemporalRegion(t2) ∧ existsAt(r,t2) → (occurrentPartOf(t2,t1) ∨ t2 = t1)))
natural language definition: process in which someone or something (independent continuant that is not a spatial region) becomes the bearer of a role
semi formal natural language definition: every instance of ‘gain of role’ is defined exactly as an instance of a ‘process’ p that 'occupies temporal region' some 'temporal interval' t that ‘temporally starts’ or ‘temporally overlaps’ or 'meets' some 'temporal interval' t1, and p ‘has participant at all times’ some 'independent continuant' that is not a 'spatial region' y and p ‘has output’ some ‘role’ r that only ‘exists at’ t1 and y 'has role' r

group of agents
type: Class
subclass of: BFO_0000027
equivalent class: Class
  intersection of: BFO_0000027
  intersection of: Restriction
    on property: BFO_0000115
    some values from: agent
  intersection of: Restriction
    on property: BFO_0000115
    all values from: agent
example: organization; an automated manufacturing cell; division; protesters
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
explanatory note: 1. Group of agents being a BFO:Object Aggregate allows for a point in time where only one 'agent' is present. 2. As the name suggests, a group of agents is a grouping of agents based on some criteria. As such, it can only have agents as members. 3. The members of the group of agents can be any combination of persons, organizations, or engineered systems (classes that can be 'agent'). They are typically grouped based on the fact that they are working collectively in a particular type of process on behalf of someone.
first order logic definition: GroupOfAgents(x) ↔ ObjectAggregate(x) ∧ ∃y(Agent(y) ∧ hasMemberPartAtSomeTime(x, y)) ∧ ∀z (hasMemberPartAtSomeTime(x, z) → Agent(z))
natural language definition: group (object aggregate) that has one or more agents as members
semi formal natural language definition: every instance of 'group of agents is defined as exactly an instance of 'object aggregate' that only has 'agent' as 'member parts' and that always has at least one 'agent as its 'member part'

group of persons
type: Class
subclass of: BFO_0000027
equivalent class: Class
  intersection of: BFO_0000027
  intersection of: Restriction
    on property: BFO_0000115
    some values from: person
  intersection of: Restriction
    on property: BFO_0000115
    all values from: person
example: The band, called The Beatles, survived the change in drummer from Pete Best to Ringo Starr
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
first order logic definition: GroupOfPersons(x) ↔ ObjectAggregate(x) ∧ ∃y(Person(y) ∧ hasMemberPartAtSomeTime(x, y)) ∧ ∀z(hasMemberPartAtSomelTime(x, z) → Person(z))
natural language definition: group (object aggregate) that has one or more persons as members
semi formal natural language definition: every instance of 'group of persons' is defined as exactly an instance of 'object aggregate' that 'has member part at some time' some 'person' and 'has member part at some time' only 'person'

identifier
type: Class
subclass of: information content entity
subclass of: Restriction
  on property: designates
  some values from: BFO_0000001
example: URI of a website; social security number of a person (living in the United States), a global location number assigned to the Amazon regional distribution center at 12300 Bermuda Rd in Henderson, NV; the lot identifier assigned to a batch of rivets just received from China by the Airbus final assembly plant in Toulouse, FR; the VIN number assigned to the Tesla in my garage; a credit card number, the value of a field in a company's internal IT systems system used to uniquely identify a particular product and product revision.
adapted from: https://www.omg.org/spec/Commons/Identifiers/Identifier
explanatory note: 1. Identifier can be just one designative ICE or consist of a combination of them. It can also be a combination of other types of information; for example, in a particular domain of discourse, a combination of first name and last name can provide sufficient uniqueness for entities in that domain. 2. The designative property enforces uniqueness as it is a functional property. In other words, on the instance level, each instance of identifier designates exactly one instance of an entity.
first order logic axiom: Identifier(x) → InformationContentEntity(x) ∧ ∃e(Entity(e) ∧ designates(x,e))
is primitive: true
natural language definition: information content entity that is used to uniquely identify an entity within a particular context
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely patterns to connect context to the identifier are still missing
semi formal natural language axiom: if x is an 'identifier' then x is an 'information content entity' that 'designates' some 'entity'

information content entity
type: Class
subclass of: BFO_0000031
example: the content of an email; the content of a document; the content in a CAD file; an algorithm for solving the quadratic equation; a guide or standard for writing and formatting conference papers.
abbreviation: ICE
adapted from: Information Artifact Ontology, http://purl.obolibrary.org/obo/IAO_0000030 and also the Common Core Ontology, http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
explanatory note: 1. Information content entity is intended to be a class of entities whose instances represent some distinct content or pattern independent from the various ways of conveying it by physical, electronic, or other means. For example, three instances of information bearers -- a bar chart, a color-coded map, and a written report -- each conveying the GDP of Countries for the year 2010, are each different carriers of the same information content. It is this content that is generically dependent upon its carrier. This treatment of information content entity leads to a principle of subtyping based upon the relationship that ICE's have with the entity they are about rather than attributes such as format, language, measurement scale, or media. The latter are treated here as various qualities of the material entities that have them. 2. Information content entities are typically textual or schematic.
first order logic axiom: GenericallyDependentContinuant(x) ∧ ∃e(Entity(e) ∧ isAbout(x,e)) → InformationContentEntity(x)
is primitive: true
natural language definition: content or a pattern (generically dependent continuant) that is about some entity
primitive rationale: Information content entities may well "be about" entity types for which no instances ever come into existence (e.g., a plan or requirement not implemented or satisfied, a command or directive never obeyed or followed, or an objective never achieved). IOF's current approach to modeling such informational entity types is to provide one or more sufficient conditions that can be readily expressed in OWL.
semi formal natural language axiom: if x is a 'generically dependent continuant' that 'is about' some 'entity' then x is an 'information content entity'
synonym: Information

input specification
type: Class
subclass of: information content entity
subclass of: Restriction
  on property: prescribes
  all values from: Class
    union of: Class
      intersection of: BFO_0000002
      intersection of: Restriction
        on property: is input of
        some values from: planned process
    union of: Class
      intersection of: BFO_0000020
      intersection of: Restriction
        on property: BFO_0000195
        some values from: Class
example: A specification indicating that the cell culture media used in the expansion procedure must contain glutamine at ≥ 2 mM and be supplemented with a validated serum lot; A formulation recipe operation with an input specification stating that the stabilizing excipient must be Trehalose Dihydrate, USP grade, and present in sufficient quantity to reach 50 mM final concentration; A specification for a cell imaging protocol requiring input slides to contain at least 90% confluency before proceeding with high-content imaging; A maintenance work instruction with an input specification requiring the replacement filter cartridge used in the filter replacement operation to be the specified model and micron rating; A specification for a batch calculation step requiring the input sensor readings to be time-stamped and include units for each measured quantity; A specification stating that a freight shipment must be palletized on standard pallets and secured for transport before loading.
counter example: Machine must be powered on before starting the procedure; The system must be depressurized and isolated before maintenance begins; The workspace must be cleaned and cleared of tools before starting the task; The room temperature must be between 18 °C and 22 °C before initiating the process
first order logic axiom: InputSpecification(x) → InformationContentEntity(x) ∧ ∀y(prescribes(x,y) → ((Continuant(y) ∧ ∃p(isInputOf(y,p) ∧ PlannedProcess(p))) ∨ (SpecificallyDependentContinuant(y) ∧ ∃z(specificallyDependsOn(y,z) ∧ Continuant(z) ∧∃p (isInputOf(z,p) ∧ PlannedProcess(p))))))
is primitive: true
natural language definition: information content entity that prescribes the entities to be used as inputs to a planned process or the attributes they must posses to serve as valid inputs
primitive rationale: See the general discussion and rationale provided for informational entities under 'information content entity'.
semi formal natural language axiom: if x is an 'input specification' then x is an 'information content entity' and whenever x 'prescribes' some y that y mustbe either a 'continuant' that 'is input of' some 'planned process' or a 'specifically dependent continuant' that 'specifically depends on' some 'continuant' that 'is input of' some 'planned process'

loss of role
type: Class
subclass of: BFO_0000015
equivalent class: Class
  intersection of: BFO_0000015
  intersection of: Class
    intersection of: Restriction
      on property: BFO_0000199
      some values from: Class
        intersection of: BFO_0000202
        intersection of: Class
    intersection of: Restriction
      on property: has input
      some values from: BFO_0000023
  intersection of: Restriction
    on property: BFO_0000167
    some values from: Class
      intersection of: BFO_0000004
      intersection of: Class
        complement of: BFO_0000006
example: the process of losing a student role when a student graduates
adapted from: CCO
explanatory note: 1. If only one date-time is available for some loss of role processes due to lack of data or an interval being smaller than the tick time (the smallest duration by which the time progresses) then the date-time should be asserted either only for first instant or only for last instant of every interval, for which a loss of role process occurs, uniformly for the entire knowledge base. For example, Bill Clinton lost the role of presidency on 19 December 1998 should be modeled as the process p of type ‘loss of role’ ‘occupies temporal region’ r (a ‘temporal interval’) which ‘has first instant’ i (a ‘temporal instant’) which ‘has value expression at all times’ v (a ‘temporal instant value expression’) which ‘has data-time value’ 1998-12-19T00:00:00Z.
first order logic definition: LossOfRole(p) ↔ Process(p) ∧ ∃t∃t1∃r∃y(TemporalInterval(t) ∧ TemporalInterval(t1) ∧ Role(r) ∧ (IndependentContinuant(y) ∧ ¬SpatialRegion(y)) ∧ occupiesTemporalRegion(p,t) ∧ (isTemporallyOverlappedBy(t,t1) ∨ temporallyFinishes(t,t1) ∨ metBy(t,t1)) ∧ hasInput(p,r) ∧ existsAt(r,t1) ∧ hasRole(y,r) ∧ hasParticipantAtAllTimes(p,y) ∧ ∀t2(TemporalRegion(t2) ∧ existsAt(r,t2) → (occurrentPartOf(t2,t1) ∨ t2 = t1)))
natural language definition: process in which someone or something (independent continuant that is not a spatial region) ceases to be the bearer of a role
semi formal natural language definition: every instance of ‘loss of role’ is defined exactly as an instance of a ‘process’ p that 'occupies temporal region' some 'temporal interval' t that ‘temporally finishes’ or 'is temporally overlapped by’ or is 'met by' some 'temporal interval' t1 and p ‘has participant at all times’ some 'independent continuant' that is not a 'spatial region' y, and p ‘has input’ some ‘role’ r that only ‘exists at’ t1 and y 'has role' r

maintainable material item
type: Class
subclass of: BFO_0000040
equivalent class: Class
  intersection of: Class
    union of: engineered system
    union of: material artifact
  intersection of: Restriction
    on property: has role
    some values from: maintainable material item role
example: CNC machine on which routine maintenance is performed
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: MaintainableMaterialItem(x) ↔ (MaterialArtifact(x) ∨ EngineeredSystem(x)) ∧ ∃r (MaintainableMaterialItemRole(r) ∧ hasRole(x,r))
natural language definition: material artifact or engineered system which has the maintainable material item role
semi formal natural language definition: every instance of 'maintainable material item' is defined as exactly an instance of 'material artifact' or an 'engineered system' which 'has role' some 'maintainable material item role'

maintainable material item role
type: Class
subclass of: BFO_0000023
example: a CNC machine has the maintainable material item role when it is undergoing repair after a failure
adapted from: https://ceur-ws.org/Vol-2900/WS5Paper2.pdf
first order logic axiom: MaintainableMaterialItemRole(x) → Role(x)
is primitive: true
natural language definition: role played by an asset (engineered system or material artifact) when there is a maintenance strategy prescribing its maintenance process
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for 'maintenance strategy' and 'maintenance process' need to be formalized.
semi formal natural language axiom: if x is a 'maintainable material item' then x is a 'role'

manufacturer
type: Class
subclass of: agent
equivalent class: Class
  intersection of: organization
  intersection of: Restriction
    on property: has role
    some values from: manufacturer role
example: MiliporeSigma is a manufacturer of single-use bioreactors; Boeing is a manufacturer of airplanes; dell is a manufacturer of lap-tops
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: Manufacturer(x) ↔ Organization(x) ∧ ∃r(ManufacturerRole(r) ∧ hasRole(x,r))
natural language definition: organization which has a manufacturer role
semi formal natural language definition: every instance of 'manufacturer' is defined as exactly an instance of 'organization' that 'has role' some 'manufacturer role'

manufacturer role
type: Class
subclass of: agent role
subclass of: Restriction
  on property: role of
  some values from: Class
    intersection of: organization
    intersection of: Restriction
      on property: BFO_0000056
      some values from: product production process
example: MiliporeSigma has a manufacturer role when it produces single-use bioreactors; Boeing has a manufacturer role when it produces airplanes; Dell has a manufacturer role when it produces lap-tops
adapted from: bizfluent.com
first order logic axiom: ManufacturerRole(x) → Role(x) ∧ ∃y∃p(Organization(y) ∧ ProductProductionProcess(p) ∧ participatesInAtSomeTime(y,p) ∧ roleOf(x,y))
is primitive: true
natural language definition: agent role held by an organization when it produces material products
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for linking the manufacturer to a product it produces are still lacking.
semi formal natural language axiom: if x is a 'manufacturer role' x then x is an 'agent role' that is the 'role of' some 'organization' when it 'participates in at some time' some 'product production process'

manufacturing process
type: Class
subclass of: planned process
subclass of: Restriction
  on property: BFO_0000057
  some values from: Class
    intersection of: agent
    intersection of: Restriction
      on property: BFO_0000101
      some values from: plan specification
subclass of: Restriction
  on property: has input
  some values from: BFO_0000040
subclass of: Restriction
  on property: has specified output
  some values from: Class
    union of: material artifact
    union of: Class
      intersection of: BFO_0000040
      intersection of: Restriction
        on property: prescribed by
        some values from: design specification
example: Drilling a hole on an engine block; manufacturing operation for making a shaft consisting of milling, turning, and drilling manufacturing processes; assembly process, and quality control process; a manufacturing process that uses 3D printing to create the output material entity.
adapted from: ISO 15531-1 and ISO 15531-43:2006(en)
counter example: statistical process control and preventative maintenance management processes that maximize machine availability and the product quality of manufactured products.
explanatory note: 1. This definition presupposes that the outputs of a manufacturing process are in every case material artifacts or man-made substances. 2. Processes that have as their primary output, something immaterial or informational in nature (digital outputs), such as found in the production of software, will be considered speparately at a later stage. 3.. There are other processes that while they may come into direct contact with a manufactured component or substance and are often considered part of the overall set of activities planned and executed to manufacture something, they are not "transformative" in nature relative to that which is manufactured, and are specifically excluded the definition. Examples include setup, tear down, transporting components or materials between locations, inspection, and so forth. This is addressed by output in the axiom. Setup => does not have output. Tear down like disassembly should still be considered transformative. 4. This definition places no additional restrictions on the output of a manufacturing process in terms of being in a state of completion (completed component or finished good).
first order logic axiom: ManufacturingProcess(x) → PlannedProcess(x) ∧ ∃m∃y∃p∃z(MaterialEntity(m) ∧ (MaterialArtifact(y) ∨ ∃d(MaterialEntity(y) ∧ DesignSpecification(d) ∧ prescribes(d,y))) ∧ PlanSpecification(p) ∧ prescribes(p,x) ∧ Agent(z) ∧ isCarrierOfAtSomeTime(z,p) ∧ participatesInAtSomeTime(z,x) ∧ isInputOf(m,x) ∧ hasSpecifiedOutput(x,y))
is primitive: true
natural language definition: planned process that consists of a structured set of operations through which input material is transformed or modified
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for 'being transformed or modified' need to be formalized
semi formal natural language axiom: if x is a 'manufacturing process' x then x is a 'planned process' that 'has input' some 'material entity' and 'has specified output' some 'material artifact' or a 'material entity' that is 'prescribes by' some 'design specification' and x 'has participant at some time' some 'agent' that is the 'carrier of at some time' a 'plan specification' that 'prescribes' x

material artifact
type: Class
subclass of: BFO_0000030
equivalent class: Class
  intersection of: BFO_0000030
  intersection of: Restriction
    on property: BFO_0000196
    some values from: designed function
example: a machine, a screwdriver, a screw, a sheet of paper
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology
first order logic definition: MaterialArtifact(x) ↔ Object(x) ∧ ∃f(DesignedFunction(f) ∧ bearerOf(x,f))
natural language definition: object that is deliberately created to have a certain function
semi formal natural language definition: every instance of 'material artifact' is defined as exactly an instance of 'object' that is the 'bearer of' some 'designed function'

material component
type: Class
subclass of: BFO_0000040
equivalent class: Class
  intersection of: BFO_0000040
  intersection of: Restriction
    on property: has role
    some values from: material component role
example: portion of water; portion of crude oil; sea shells; bolt; transmission assembly;engine in an airplane
counter example: Braking subsystem -- systems and subsystems are object aggregates and often have fiat boundaries, in which case they may be incorrectly inferred as product components. Othertimes, they are systems with bonafide boundaries and should be inferred as a product component.
explanatory note: 1. Assemblies that are components for one manufacturer may be final products for another (e.g., the selling of diesel engines is a primary product line of Cummins diesel engine yet a component assembly for its customers, Freightliner Trucks). In other words, the context in which a material entity is used must be considered to determine whether it bears the component role. 2. In most manufacturing use cases, material components will be a subclass of 'material artifact'. 3. See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: MaterialComponent(x) ↔ MaterialEntity(x) ∧ ∃r(MaterialComponentRole(r) ∧ hasRole(x,r))
natural language definition: material entity which has the material component role
semi formal natural language definition: every instance of 'material component' is defined as exactly an instance of 'material entity' that 'has role' some 'material component role'
synonym: part

material component role
type: Class
subclass of: BFO_0000023
subclass of: Restriction
  on property: role of
  some values from: BFO_0000040
example: an engine has the component role when it is a part of a car; a tool when it is planned to be mounted on a CNC machine
adapted from: APICS
first order logic axiom: MaterialComponentRole(x) → Role(x)
is primitive: true
natural language definition: role held by a material entity when it is a proper part of another material entity or is planned to be a proper part of another material entity
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for 'planned to be a part' need to be formalized. Also, the realization of the material component role needs to be analyzed further.
semi formal natural language axiom: If x is a 'material component role' then x is a 'role'

material location change process
type: Class
subclass of: planned process
subclass of: Restriction
  on property: BFO_0000057
  some values from: Class
    intersection of: BFO_0000040
    intersection of: Restriction
      on property:
        inverse of: BFO_0000170
      some values from: Class
        intersection of: BFO_0000004
        intersection of: Restriction
    intersection of: Restriction
      on property:
        inverse of: BFO_0000170
      some values from: Class
        intersection of: BFO_0000004
        intersection of: Restriction
example: Shipping goods from a warehouse to a customer; moving a tool from one location (work center) to another within the factory; transporting finished goods from one warehouse to another; pumping portions of crude oil through a pipeline; transferring a load of apples from a bin to a container; picking an apple; transporting passengers on a bus;
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/EventOntology and https://www.merriam-webster.com/dictionary/motion
counter example: A specific type of material handling: E.g., changing only the orientation of the object within the same site (this does not change the site from t to t'); throwing waste into a garbage bin; removing a wing nut from a fixture in preparation for inserting a workpiece into the fixture.
explanatory note: 1. Material transfer process includes both the internal (e.g., inside a factory) and external (e.g., between factories) movement of an object 2. BFO:Site is the synonym for physical location which is why Site is used in the axioms
first order logic axiom: MaterialLocationChangeProcess(​x​) → PlannedProcess(​x)​ ∧ ​∃​y∃​​t∃​​t​1∃​​t2∃​s∃​s1∃​z∃​z1(MaterialEntity(​y​) ∧ TemporalInstant(t) ∧ TemporalInstant(t1) ∧ TemporalRegion(t2) ∧ IndependentContinuant(s) ∧ IndependentContinuant(s1) ∧ Site(z) ∧ Site(z1) ∧ hasParticipantAtSomeTime(x,y) ∧ firstInstantOf(​t​, ​t2) ∧ lastInstantOf(​t1​, ​t2​) ∧ occupiesTemporalRegion(​x,​t2)​ ∧ existsAt(s,t) ∧ existsAt(s1,t1) ∧ locatedInAtalltimes(s,z) ∧ locatedInAtAlltimes(s1,z1) ∧ locationOfAtAlltimes(s,y) ∧ locationOfAtAllTimes(s1,y))
is primitive: true
natural language definition: planned process that results in a material entity moving from one physical location to another
primitive rationale: Patterns for adequate reification of the n-ary pattern that is change of location need further refinement and testing.
semi formal natural language axiom: if x is a 'material location change process' then x is a 'planned process' in which a 'material entity' is moved from one 'site' to another

material product
type: Class
subclass of: BFO_0000040
equivalent class: Class
  intersection of: BFO_0000040
  intersection of: Restriction
    on property: has role
    some values from: material product role
example: 1. Natural resources: the seashells lying on the beach that some person collects, packages and sells; the iron ore in a mountain the rights to which some mining company has just purchased which they intend to mine and sell to iron-making processors; 2. Any manufactured good when it is offered for sale, supplied or being bought
counter example: certified pre-owned warranty plan; software as a service (SaaS); training course; consultancy services; Office 365
explanatory note: 1. The definition does exclude services sold as product which deviates from some standard definitions and economic theory. Services as products as well as software products will be considered in the next version of the IOF Core 2. See expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: MaterialProduct(x) ↔ MaterialEntity(x) ∧ ∃r(MaterialProductRole(r) ∧ hasRole(x,r))
natural language definition: material entity which has the material product role
semi formal natural language definition: every instance of 'material product' is defined as exactly an instance of 'material entity' that is the 'has role' some 'material product role'

material product role
type: Class
subclass of: BFO_0000023
subclass of: Restriction
  on property: role of
  some values from: Class
    intersection of: BFO_0000040
    intersection of: Restriction
      on property: BFO_0000056
      some values from: Class
        union of: buying business process
        union of: offering for sale business process
        union of: supplying business process
example: a manufactured good has a material product role when a manufacturer offers it for sale; a drug product has a material product role when it is bought by a customer in a pharmacy; sea shells have a material product role when they are collected, packaged and offered for sale;
adapted from: Oxford Languages, term by the name ‘product’; also Wikipedia, term by the name ‘goods’ (as used in economics) and in particular, tangible goods
first order logic axiom: MaterialProductRole(x) → Role(x) ∧ ∃y∃z((BuyingBusinessProcess(y) ∨ OfferingForSaleBusinessProcess(y) ∨ SupplyingBusinessProcess(y)) ∧ MaterialEntity(z) ∧ participatesInAtSomeTime(z,y) ∧ roleOf(x,z))
is primitive: true
natural language definition: role held by a material entity that is intended to be sold, or has been bought, or has been supplied
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for economic transactions and ownership are lacking
semi formal natural language axiom: if x is a 'material product role' x then x is a 'role' that is the 'role of' some 'material entity' when it 'participates in at some time' some 'buying business process' or 'offering for sale business process' or 'supplying business process'

material resource
type: Class
subclass of: BFO_0000040
equivalent class: Class
  intersection of: BFO_0000040
  intersection of: Restriction
    on property: has role
    some values from: material resource role
example: factory available to be used for producing a product; a body of water available to cool a reactor; money available to a person to buy an item; a portion of raw material available to produce a good or service
counter example: (ambiguous/undesirable): a portion of water on my factory floor that formed after a recent rainshower.
explanatory note: 1. This defined class is designed to group material entities according to a very broad criterion and is not intended to be used as a parent class for resource types that can be more specifically asserted under another class. 2. Skills and capabilities or other entities in the SDC branch are not resources but they can be considered resources indirectly through their bearer 3. See expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: MaterialResource(x) ↔ MaterialEntity(x) ∧ ∃r(MaterialResourceRole(r) ∧ hasRole(x,r))
natural language definition: material entity which has the material resource role
semi formal natural language definition: every instance of 'material resource' is defined as exactly an instance of 'material entity' that 'has role' some 'material resource role'

material resource role
type: Class
subclass of: BFO_0000023
subclass of: Restriction
  on property: role of
  some values from: Class
    intersection of: BFO_0000040
    intersection of: Restriction
      on property: is available to at some time
      some values from: Class
        union of: engineered system
        union of: group of agents
        union of: person
example: factory has a material resource role when it is available to be used for producing a product; a body of water has a material resource role when it is available to cool a reactor; money has a material resource role when it is available to a person to buy an item; a portion of raw material has a material resource role when it is available to produce a good or service
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ArtifactOntology
first order logic axiom: MaterialResourceRole(x) → Role(x) ∧ ∃a∃y((Person(a) ∨ GroupOfAgents(a) ∨ EngineeredSystem(y)) ∧ MaterialEntity(y) ∧ isAvailableToAtSomeTime(y,a) ∧ roleOf(x,y))
is primitive: true
natural language definition: role played by a material entity that consists in it being available to a person or group of agents or engineered system
primitive rationale: This term is expected to remain primitive. While 'is available to at some time' captures the essence of being a material resource, the realization of the material resource role is expected to have too generic of a scope to define a sufficient condition that would not cause conflict (overlap) with the realization of other roles.
semi formal natural language axiom: if x is a 'material resource role' x then x is a 'role' that is the 'role of' some 'material entity' when it 'is available to at some time' some 'person' or 'group of agents' or 'engineered system'

material state
type: Class
subclass of: BFO_0000015
example: the lightswitch in the off state from 9 PM to 8 AM; the machine in fail state from 4 PM to 5 PM; perfusion bioreactor was run in steady state for two days, a truck is in a stop state because its position has been unchanged
adapted from: Oxford Languages, term by the name ‘state’
explanatory note: 1. Although the notion of "particular condition"; has not been introduced in this release, the IOF's approach will be to model this as a dependent entity such that at any timeframe during which it exists, it depends on some material entity -- meaning a material state will necessarily "be focused on" a particular condition of some material entity for which the state is ascribed. Condition here would encompass BFO: specifically-dependent continuants (qualities, dispositions and other realizable entities types) as well as site (the absolute or relative location of a material entity). In the future, the coverage will be expanded to include some currently "missing dependent entity types"; including orientation, and cases wherein a material entity is in a particular condition because it has or is in particular composition or configuration (e.g. the setup action of a machine and jig is complete and it is not in a setup/ready-for-run state). 2. Unchanging, is intended to encompass not just having a particular condition for the duration of the state, but potentially being value-bound to some constant or even within a given range as prescribed by some design or requirement specification. Specialized sub-types may be introduced to handle such value-based constant and range-bound states and conditions. 3. The term as introduced here is not intended to be used for modeling what we might call the "state of a process" (e.g., equilibrium state for chemical, physical and biological processes or steady-state or discrete or continuous production processes), nor for modeling the states of non-real entities (e.g., virtual entities participating in virtual simulation program and any other informational or abstract entities, when they are considered to be in a particular condition). Extensions to the BFO framework as well as further work on 'process characteristic' may be first needed to handle these use cases and such specialized state classes will be introduced in a future release.
first order logic axiom: MaterialState(x) → Process(x)
is primitive: true
natural language definition: process in which a material entity that participates in the process has a condition that remains unchanged
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs to formalize range,limits and constant values over a period of time are still lacking.
semi formal natural language axiom: if x is a 'material state' then x is a 'process'
synonym: stasis

measured value expression
type: Class
subclass of: value expression
equivalent class: Class
  intersection of: value expression
  intersection of: Restriction
    on property: is measured value of at some time
    some values from: Class
      union of: BFO_0000008
      union of: BFO_0000020
      union of: process profile
      union of: process characteristic
example: the value of '20g' that represents the measured weight of a mouse and that is determined on the quantitative scale of mass
adapted from: International Vocabulary of Metrology Fourth edition,2.11
explanatory note: 1. The values of the measured value expression are generated during the measurement process that produces the measurement information content entity the measured value expression is a part of. The corresponding parthood axiom is captured in the measurement information content entity class and is not reintroduced in the formal definition here to avoid redundancy. 2. Since this class is a subclassOf: value expression, the values contained in the measured value expression are always according to a classification scheme or a quantitative scale.
first order logic definition: MeasuredValueSpecification(x) ↔ ValueExpression(x) ∧ ∃e((TemporalRegion(e) ∨ ProcessCharacteristic(e) ∨ ProcessProfile(e) ∨ SpecificallyDependentContinuant(e)) ∧ isMeasuredValueOfAtSomeTime(x,e))
natural language definition: value expression that contains the measured value of an attribute (specifically dependent continuant or process characteristic or process profile or temporal region)
semi formal natural language definition: every instance of 'measured value expression' is defined exactly as an instance of 'information content entity' that 'is measured value of at some time' some 'process characteristic' or 'process profile' or 'temporal region' or 'specifically dependent continuant'

measurement capability
type: Class
subclass of: capability
subclass of: Restriction
  on property: BFO_0000054
  all values from: measurement process
subclass of: Restriction
  on property: capability of
  some values from: BFO_0000040
example: the capability of a pH sensor to measure the pH; capability of a scale to measure the weight of an object
adapted from: http://purl.obolibrary.org/obo/OBI_0000453
explanatory note: To measure the value means to determine the entities value relative to some classification scheme or on a quantitative scale.
first order logic axiom: MeasurementCapability(x) → Capability(x) ∧ ∃z(MaterialEntity(z) ∧ capabilityOf(x,z)) ∧ ∀y(hasRealization(x,y) → MeasurementProcess(y))
is primitive: true
natural language definition: capability of a material entity to measure the value of some entity
primitive rationale: There are insufficient constructs in the ontology to create necessary and sufficient conditions. Namely, 'to measure the value' needs a better formalization in its connection to the capability
semi formal natural language axiom: if x is a 'measurement capability' then x is a 'capability' that is the 'capability of' some 'material entity' and whenever some y 'realizes' x that y must be a 'measurement process'

measurement information content entity
type: Class
subclass of: information content entity
equivalent class: Class
  intersection of: information content entity
  intersection of: Restriction
    on property: BFO_0000110
    some values from: measured value expression
  intersection of: Restriction
    on property: describes
    some values from: Class
      union of: BFO_0000008
      union of: BFO_0000020
      union of: process profile
      union of: process characteristic
  intersection of: Restriction
    on property: is about
    some values from: Class
      union of: BFO_0000015
      union of: BFO_0000035
      union of: Class
        intersection of: BFO_0000004
        intersection of: Class
  intersection of: Restriction
    on property: is output of
    some values from: measurement process
example: a two fold increase in expression of a gene in a cancer patient and the associated metadata; results of measuring the thickness of a piece of steel; results of measuring the change in pH in a bioreactor over the interval of two days
abbreviation: measurement ICE
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology and the International Vocabulary of Metrology
counter example: similarity measurement of information
explanatory note: 1. Attribute here comprehends qualities in case the entity the measurement content entity 'is about' is an independent continuant and process characteristics if the entity is a process or temporal region if the entity is a process or process boundary. 2. Measurement ICE describes attributes of physical entities. As such, it is not intended to be used for capturing metrics related to strictly digital objects (information content entities in the IOF framework). 3. Measurement ICE can contain qualitative, semi-quantitative, or quantitative measurements of the attribute. These values are stored within the measured value expression that is a part of the measurement ICE. 4. Measurement ICE can be utilized for both raw and processed measurement data. 5. The International Vocabulary of Metrology defines measurement ICE as a "set of values being attributed to a measurand together with any other available relevant information." This implies that, in addition to the actual measurement value, the measurement ICE contains other information(e.g., the entity of interest of which the measurand is the 'attribute of').
first order logic definition: LA1: MeasurementInformationContentEntity(x) ↔ InformationContentEntity(x) ∧ ∃y∃z∃m∃p(((IndependentContinuant(y) ∧ ¬SpatialRegion(y) ∧ SpecificallyDependentContinuant(z) ∧ bearerOf(y,z)) ∨ ((Process(y) ∨ ProcessBoundary(y)) ∧ TemporalRegion(z) ∧ occupiesTemporalRegion(y,z)) ∨ (Process(y) ∧ ProcessCharacteristic(z) ∧ processCharacteristicOf(z,y)) ∨ (ProcessProfile(z) ∧ processProfileOf(z,y))) ∧ MeasuredValueExpression(m) ∧ MeasurementProcess(p) ∧ isAbout(x,y) ∧ describes(x,z) ∧ hasContinuantPartAtAllTimes(x,m) ∧ isMeasuredValueOf(m,y) ∧ isOutputOf(x,p))
natural language definition: informational content that is the result of measuring a set of attributes (specifically dependent continuant or process characteristic or temporal region) belonging to the entity (independent continuant or process or process boundary) the informational content is about
semi formal natural language definition: every instance of 'measurement information content entity' is defined as exactly an instance of 'information content entity' that 'is about' some 'independent continuant' or 'process' or 'process boundary', and 'describes' some 'specifically dependent continuant', 'temporal region', 'process characteristic', or 'process profile', and 'has continuant part at all times' some 'measured value expression', and 'is measured value of' that entity, and 'is output of' some 'measurement process'

measurement process
type: Class
subclass of: planned process
subclass of: Restriction
  on property: has specified output
  all values from: measurement information content entity
subclass of: Restriction
  on property: BFO_0000057
  some values from: Class
    intersection of: Class
      intersection of: BFO_0000040
      intersection of: Restriction
        on property: has capability
        some values from: measurement capability
    intersection of: Restriction
      on property: measures at some time
      some values from: Class
        union of: BFO_0000008
        union of: BFO_0000020
        union of: process profile
        union of: process characteristic
example: measuring the pH of a buffer by a pH probe; measuring of a weight of a bulk of a substance by an industrial scale; measuring the rate of an enzymatic reaction by a spectrophotometer; measuring the time it takes to produce a unit of a product
adapted from: ISO 9000:2015(en), 3.11.5
explanatory note: 1. Determining the value here is to be interpreted in the context of qualitative, semi-quantitative, and quantitative measurements. As such, it comprehends both categorical and numerical measurements. 2. Typically, the results of measurements are recorded and stored as a measurement information content entity. 3. Measurement processes can have as temporal or occurrent parts other measurement processes as well data transformation processes which transform the raw measurement data. 4. The entity whose attribute is measured might either participate in the process if it is a continuant or occupy a temporal interval that precedes or partially coincides with the measurement process if it is an occurrent. 5. The material entity measuring the attribute must be capable of measuring that attribute. This is axiomatically captured by mandating that the material entity that is measuring the attribute must have a measurement capability.
first order logic axiom: LA1: MeasurementProcess(x) ↔ PlannedProcess(x) ∧ ∃m∃y∃z∃c(MaterialEntity(m) ∧ MeasurementCapability(c) ∧ hasCapability(m,c) ∧ (((IndependentContinuant(y) ∧ ¬SpatialRegion(y)) ∧ SpecificallyDependentContinuant(z) ∧ bearerOf(y,z) ∧ participatesInAtSomeTime(y,x)) ∨ ((Process(y) ∨ ProcessBoundary(y)) ∧ TemporalRegion(z) ∧ occupiesTemporalRegion(y,z) ∧ ∃t(temporalRegion(t) ∧ occupiesTemporalRegion(x,t) ∧ (occurrentPartOf(t,z) ∨ hasOccurrentPart(t,z))) ∨ (ProcessCharacteristic(z) ∧ processCharacteristicOf(z,y)) ∨ (ProcessProfile(z) ∧ processProfileOf(z,y) ∧ (preceedes(y,x) ∨ ∃t1∃t2(temporalRegion(t1) ∧ temporalRegion(t2) ∧ occupiesTemporalRegion(x,t1) ∧ occupiesTemporalRegion(y,t2) ∧ (occurrentPartOf(t1,t2) ∨ hasOccurrentPart(t1,t2))))))) ∧ measuresAtSomeTime(m,z)) ∧ ∀b(hasSpecifiedOutput(x,b) → MeasurementInformationContentEntity(b))
is primitive: true
natural language definition: planned process to determine the value of an attribute (specifically dependent continuant or temporal region or process characteristic) of an entity of interest
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, n-ary constructs that are able to adequately capture the relation between the process, attribute and the entity of interest are still lacking. Also formalization of being an entity of interest is lacking.
semi formal natural language axiom: if x is a 'measurement process' then x is a 'planned process' that 'has participant at some time' some 'material entity' y that 'has capability' some 'measurement capability' and y 'measures at some time' either (1) a 'process characteristic' that is 'process characteristic of' a 'process' that 'precedes' or temporally overlaps with x, or (2) a 'specifically dependent continuant' that 'inheres in' an 'independent continuant' (not a 'spatial region') which 'participates in at some time' x, or (3) a 'temporal region' that is 'occupied by' some 'process' or 'process boundary' and that 'has occurrent part' or is 'occurrent part of' a 'temporal region' that is 'occupied by' x, or (4) a 'process profile' that is 'process profile of' a 'process' that 'precedes' or temporally overlaps with x, and whenever x 'has specified output' b, b must be a 'measurement information content entity'.

objective specification
type: Class
subclass of: information content entity
example: The objective specification in a manufacturer's six-sigma process improvement program will describe in some detail, the quality improvements to be achieved (as in e.g. the level of reduction in causes of defects, or in the level variability in either or both manufacturing and business processes).
adapted from: http://www.obofoundry.org/ontology/iao.html
explanatory note: 1.Typically is part of a plan specification. 2.The NL definition states that the objective specification 'prescribes' the outcome of a 'process'. This does not necessarily imply that a given process exists as an instance during the entire 'objective specification' lifecycle. Instead, it should be interpreted as "if an instance of the Process X (X here is intended to represent an OWL:Class that is SubClassOf: Process) exists, then its outcome should be as 'prescribed by' the 'objective specification'.
first order logic axiom: InformationContentEntity(x) ∧ ∃y∃p(Process(p) ∧ isAchievedByAtSomeTime(x,p) ∧ ((ProcessCharacteristic(y) ∧ processCharacteristicOf(y,p)) ∨ (ProcessProfile(y) ∧ processProfileOf(y,p)) ∨ (Capability(y) ∧ hasRealization(x,y)) ∨ (Continuant(y) ∧ isOutputOf(y,p))) ∧ prescribes(x,y)) → ObjectiveSpecification(x)
is primitive: true
natural language definition: information content entity that prescribes what the outcome of some process should be
primitive rationale: See the general discussion and rationale provided for informational entities under 'information content entity'.
semi formal natural language axiom: if x is an 'information content entity' and x 'is achieved by at some time' some 'process' p, and x 'prescribes' some y that is either a 'process characteristic' that is 'process characteristic of' p, or a 'process profile' that is 'process profile of' p, or a 'capability' that x 'has realization' of, or a 'continuant' that 'is output of' p, then x is an 'objective specification'.

organization
type: Class
subclass of: organized group of agents
subclass of: Restriction
  on property: BFO_0000174
  all values from: organization
subclass of: Restriction
  on property: BFO_0000115
  all values from: Class
    union of: organization
    union of: person
equivalent class: Class
  intersection of: organized group of agents
  intersection of: Restriction
    on property: BFO_0000172
    some values from: person
  intersection of: Restriction
    on property: designated by
    some values from: organization identifier
example: goverment, a company, a political party, a city goverment, yakuza, department, division
adapted from: https://spec.edmcouncil.org/fibo/ontology/FND/Organizations/Organizations/Organization
explanatory note: 1. An organization may have a set of organizational rules that, among other things, prescribe a set of roles and responsibilities its members bear, how important decisions are made, and how members should behave when acting on behalf of the organization. 2. As introduced here, the mere gathering of a group of persons does not imply the existence of an organization, unless and until such members agree to form an organization and have agreed to a common set of objectives as mentioned in point 1.
first order logic axiom: Organization(x) → ∀y(hasMemberPartAtSomeTime(x,y) → (Person(y) ∨ Organization(y))) ∧ ∀z(hasProperContinuantPartAtSomeTime(x,z) → Organization(z))
first order logic definition: Organization(x) ↔ OrganizedGroupOfAgents(x) ∧ ∃p∃i(Person(p) ∧OrganizationIdentifier(i) ∧ designatedBy(x,i) ∧ hasMemberPartAtAllTimes(x,p))
natural language definition: group of persons that identifies itself by some name and pursues a common set of plans and objectives
semi formal natural language axiom: if x is an 'organization' then whenever x 'has member part at some time' y that y must be a 'peson' or 'organization' and whenever x 'has proper continuant part at some time' z that z must be a 'organization'
semi formal natural language definition: every instance of 'organization' is defined exactly as an instance of 'organized group of agents' that is 'designated by' some 'organization identifier' and that 'has member part at all times' one or more 'person'
usage note: Members of organizations are people or other organizations. However, an organization may be composed of several sub-organizations (e.g., departments). This composition should be modeled through 'proper continuant part' relations.

organization identifier
type: Class
subclass of: identifier
equivalent class: Class
  intersection of: identifier
  intersection of: Restriction
    on property: designates
    some values from: organization
example: DUNS Number, CAGE Code, EIN, FIIN, BICID, DODAACID, SCACID
explanatory note: 1. Organization identifier used here is intended to uniquely identify a particular organization within a region, country, or globally. A government body usually issues one such identifier in the region or country where the business operates (a.k.a. legal entity identifier). Other such identifiers may be assigned by well-known business organizations operating in a locale, a region, or a country -- an example being Dun and Bradstreet for businesses operating in the United States. Moreover, others may still be assigned by international trade organizations for multi-national organizations. In all cases, these unique identifiers facilitate regional or international trade and commerce between such "legal entities." 2. As introduced here, the term serves to identify other organizational types, including government entities, who are often parties in trade or commerce or have a vested interest in controlling it. In the future, the IOF will introduce and adopt a mid-level ontology for legal entities and relations. 3. The identifier of an organization may be the name of an organization or an alias and may only be unique in a particular jurisdiction (locale, region) and may not be unique on a wider scale - namely at the country level or globally.
first order logic definition: OrganizationIdentifier(x) ↔ Identifier(x) ∧ ∃b(Organization(b) ∧ designates(x,b))
natural language definition: identifier that identifies an organization
semi formal natural language definition: every instance of ‘organization identifier’ is defined as exactly an instance of ‘identifier' that 'designates' an 'organization'

organized group of agents
type: Class
subclass of: group of agents
equivalent class: Class
  intersection of: group of agents
  intersection of: Restriction
    on property: BFO_0000196
    some values from: Class
      intersection of: BFO_0000034
      intersection of: Restriction
        on property: prescribed by
        some values from: directive information content entity
example: goverment, division, an automated manufacturing cell
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/AgentOntology
first order logic definition: OrganizedGroupOfAgents(x) ↔ ObjectAggregate(x) ∧ ∃i∃f(DirectiveInformationContentEntity(i) ∧ Function(f) ∧ bearerOf(x, f) ∧ prescribes(i, f))
natural language definition: group of agents that is pursuing a common set of plans and objectives
semi formal natural language definition: every instance of 'organized group of agents' is defined as exactly an instance of 'group of agents' that is the 'bearer of' some 'function' which is 'prescribed by' some 'directive information content entity'

output objective specification
type: Class
subclass of: objective specification
subclass of: Restriction
  on property: prescribes
  all values from: Class
    union of: Class
      intersection of: BFO_0000002
      intersection of: Restriction
        on property: is specified output of
        some values from: planned process
    union of: Class
      intersection of: BFO_0000020
      intersection of: Restriction
        on property: BFO_0000195
        some values from: Class
example: A specification stating that the chromatography step must yield purified monoclonal antibody at a purity > 98% and recovery > 85%; An analytical procedure specification requiring a quantified measurement of total protein concentration with CV < 5% across replicates; A fill-finish procedure output specification requiring that each vial is filled with 1.0 mL ± 0.05 mL of formulated drug product and passes visual inspection; A machining operation output objective specification stating that the finished shaft must have diameter 25.00 mm ± 0.01 mm and surface roughness Ra ≤ 0.8 µm; A parcel fulfillment output objective specification requiring that each sealed carton has total mass 10.0 kg ± 0.1 kg and contains the correct item count per packing list; A data processing step output objective specification requiring that the generated report contains the specified summary fields and that all numeric values are rounded to the required precision.
counter example: A specification about waste collected after cleaning, e.g., “The waste stream from CIP must be neutralized before disposal.”; A specification limiting the number of rejected vials during inspection (this constrains process acceptability, not what is intended to be produced); A specification stating that the equipment must be cleaned and verified as clean before the procedure is considered complete (a completion criterion/post-condition, not an output objective for a product); A specification requiring that the process log and electronic batch record are reviewed and approved after execution (a documentation/release post-condition, not an output objective for the produced entity).
explanatory note: As a subclass of objective specification, the output specification defines the intended results of a planned process. As such it should exclude waste and unintended products (e.g., byproducts or impurities generated during synthesis) that are not part of the process objective.
first order logic axiom: OutputObjectiveSpecification(x) → ObjectiveSpecification(x) ∧ ∀y(prescribes(x,y) → ((Continuant(y) ∧ ∃p(isSpecifiedOutputOf(y,p) ∧ PlannedProcess(p))) ∨ (SpecificallyDependentContinuant(y) ∧ ∃z(specificallyDependsOn(y,z) ∧ Continuant(z) ∧∃p (isSpecifiedOutputOf(z,p) ∧ PlannedProcess(p))))))
is primitive: true
natural language definition: objective specification that prescribes the entities to be produced or modified in a planned process or the attributes they must posses to serve as valid outputs
primitive rationale: See the general discussion and rationale provided for informational entities under 'information content entity'.
semi formal natural language axiom: if x is an 'output objective specification' then x is an 'objective specification' and whenever x 'prescribes' some y that y mustbe either a 'continuant' that 'is specified output of' some 'planned process' or a 'specifically dependent continuant' that 'specifically depends on' some 'continuant' that 'is specified output of' some 'planned process'

person
type: Class
subclass of: BFO_0000030
example: any individual human being
adapted from: http://purl.obolibrary.org/obo/MF_0000016
first order logic axiom: Person(x) → Object(x)
is primitive: true
natural language definition: organism that is the member of the species of homo sapiens
primitive rationale: This term is expected to remain primitive. While the IOF might introduce a term for 'organism' in the future, speciation is out of the scope of IOF and should be utilized if needed from a biological ontology
semi formal natural language axiom: if x is a 'person' then x is an 'object'
synonym: human being

physical location identifier
type: Class
subclass of: identifier
equivalent class: Class
  intersection of: identifier
  intersection of: Restriction
    on property: designates
    some values from: BFO_0000029
example: postal address, GPS coordinate, GS1 global location number (GLN) for physical and digital location, 42.8864° N, 78.8784° W, London, the factory floor
explanatory note: 1. Physical location is a synonym for BFO:Site and hence the usage of BFO:Site within the axioms should be interpreted as physical location 2. As introduced here, the IOF ontology is only dealing with physical locations. Identifiers for other kinds of location designators (e.g., virtual locations) will be considered in a future version. 3. More classes need to be introduced to represent coordinates in 3D space. For this, the OGC specification may be utilized: http://docs.opengeospatial.org/is/18-010r7/18-010r7.html#106
first order logic definition: PhysicalLocationIdentifier(x) ↔ Identifier(x) ∧ ∃l(Site(l) ∧ designates(x,l))
natural language definition: identifier that identifies a physical location (site)
semi formal natural language definition: every instance of 'physical location identifier' is defined as exactly an instance of 'identifier' that 'designates' a 'site'
synonym: site identifier, site designator

piece of equipment
type: Class
subclass of: BFO_0000040
equivalent class: Class
  intersection of: Class
    union of: engineered system
    union of: material artifact
  intersection of: Restriction
    on property: has role
    some values from: equipment role
example: wrench when it is used in the maintenance process of a car; chromatography column that is planned to be used in a protein purification process; r truck that is used to transport goods to the buyer; single-use bioreactor when it is planned to be used in the upstream phase of a biomanufacturing process
counter example: buffer designed to keep pH in a bioreactor constant
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience. Therefore, specific kinds of equipment such as machines, devices, and tools should be asserted under 'material artifact' or 'engineered system' as appropriate and not directly under 'piece of equipment'.
first order logic definition: PieceOfEquipment(x) ↔ (MaterialArtifact(x) ∨ EngineeredSystem(x)) ∧ ∃r(EquipmentRole(r) ∧ hasRole(x,r))
natural language definition: material artifact or engineered system with an equipment role
semi formal natural language definition: every instance of 'piece of equipment' is defined as exactly an instance of 'material artifact' or 'engineered system' that 'has role' some 'equipment role'

plan specification
type: Class
subclass of: information content entity
subclass of: Restriction
  on property: BFO_0000110
  some values from: action specification
subclass of: Restriction
  on property: BFO_0000110
  some values from: objective specification
example: a manufacturer's sales plan; process plan for producing a part; a schedule for routine maintenance and inspection of a machine; a work order to build 100 of a particular kind component for today.
adapted from: http://purl.obolibrary.org/obo/IAO_0000104
explanatory note: When concretized, plan specification may be realized in a process where participants take the prescribed actions to achieve the prescribed process objectives. In other words, a plan specification is concretized in a 'planned process' that it 'prescribes'
first order logic axiom: InformationContentEntity(x) ∧ ∃a∃o∃p(ActionSpecification(a) ∧ ObjectiveSpecification(o) ∧ PlannedProcess(p) ∧ continuantPartOfAtAllTimes(a,x) ∧ continuantPartOfAtAllTimes(o,x) ∧ prescribes(x,p)) → PlanSpecification(x)
is primitive: true
natural language definition: information content entity that has action specifications and objective specifications as parts
primitive rationale: See the general discussion and rationale provided for informational entities under 'information content entity'.
semi formal natural language axiom: if x is an 'information content entity' that 'prescribes' some 'planned process' and x 'has continuant part at all times' some 'action specification' and some 'objective specification' then x is a 'plan specification'
synonym: process design
synonym: process specification
synonym: work instruction

planned process
type: Class
subclass of: BFO_0000015
equivalent class: Class
  intersection of: BFO_0000015
  intersection of: Restriction
    on property: prescribed by
    some values from: plan specification
example: A tire manufacturing process occurs as prescribed by a manufacturing plan specification.
adapted from: http://purl.obolibrary.org/obo/OBI_0000011
counter example: unexpected failure events; unexpected malfunctioning of a machine; safety occurrence (that lacks explicit plan specifications);
explanatory note: 1. 'Planned' is here functioning as a specifier, rather than as a modifier analogous to 'cancelled' or 'averted'. Therefore, to say that a process is planned is not to say that it has not yet taken place. Rather, it is to say that it is (was or will have been) protocol-driven, instruction-driven, command-driven, or software-driven, or in some combination thereof. 2. 'Planned' means 'protocol driven'. Protocols may be written, spoken, or simply thought – as when upon waking up, we plan, for instance, what to eat for breakfast.
first order logic definition: PlannedProcess(x) ↔ Process(x) ∧ ∃s(PlanSpecification(s) ∧ prescribes(s,x))
natural language definition: process that is prescribed by a plan specification
semi formal natural language definition: every instance of 'planned process' is defined as exactly an instance of 'process' that is 'prescribed by' some 'plan specification'

process characteristic
type: Class
subclass of: BFO_0000002
equivalent class: Class
  intersection of: BFO_0000002
  intersection of: Restriction
    on property: process characteristic of
    some values from: BFO_0000015
example: The maximum temperature of a heating process, the average wind speed of a turbine operation process, total fuel consumed in a boiling process, the peak RPM of a engine running process, overall noise level (good, fair, or poor) of a transmission process, average throughput of a production process
counter example: temperature curve during heating, heart rate over time during exercise, RPM vs time for an engine, count-per-minute variation during production, daily average temprature over last month
explanatory note: 1) A process characteristic is a continuant rather than an occurrent because it characterizes a process as a single whole rather than as something that unfolds in time. Unlike a process or a process profile, which has different temporal parts occupying different temporal regions, a process characteristic has no part tied to time. The summarization of the target attribute considers all of its temporal parts—for example, the maximum temperature can only be known by considering the entire temperature profile of a heating process. 2) The "attribute" mentioned in the definition is the specific feature of a process whose time-dependent behavior are captured by a 'process profile', but which may be summarized by a 'process characteristic' over the whole duration of the process. 3) Summarization means describing an attribute of a process with a single overall characterization instead of representing how it varies over time. For example, the speed profile of a car's movement can be summarized by taking average of all instantaneous speeds over the entire duration the movement occurred, e.g., 45kmph average speed. However, the summarization may also be qualitative for some type process characteristics, e.g., the heartbeat was steady or stuttering.
first order logic axiom: ∀c, c', x, x′(processCharacteristicOf(c, x) ∧ continuantPartOf(c'​, c) ∧ temporalPartOf(x′,x) → ¬ processCharacteristicOf(c',x′))
first order logic definition: ProcessCharacteristic(x) ↔ Continuant(x) ∧ ∃p(Process(p) ∧ processCharacteristicOf(x, p))
is primitive: true
natural language definition: continuant that summarizes an attribute of a process over its entire duration, providing a time-independent characterization of the process as a whole
primitive rationale: The construct is primitive because of the following two ideosyncratic design decisions which may require re-evaluation in the future. 1) The construct is defined using a trans-ontological relation 'process characteristics of', which relates a 'continuant' to a 'process', an 'occurrent'. 2) The consruct is broadly classified as 'continuant', without further specialization.
semi formal natural language axiom: if c is 'process characteristic of' x and c′ is a 'continuant part of' c and x′ is a 'temporal part of' x, then c′ is not 'process characteristic of' x′
semi formal natural language definition: every instance of 'process characteristic' is defined as exactly an instance of 'continuant' that is 'process characteristic of' some 'process'

procuring business process
type: Class
subclass of: business process
equivalent class: Class
  intersection of: business process
  intersection of: Restriction
    on property: BFO_0000117
    some values from: buying business process
  intersection of: Restriction
    on property: BFO_0000117
    some values from: Class
      union of: offering for sale business process
      union of: supplying business process
example: AstraZeneca buying and being supplied with a bulk of raw materials from MiliPoreSigma; buying and being supplied with a shipment of office supplies
adapted from: ISO 6707-2:2017, 3.5.18
explanatory note: 1. The procurement process considers the whole cycle from identification of needs through to the end of a services contract or the end of the life of goods, including disposal. 2. Sourcing is a part of the procurement process that includes planning, defining specifications (3.26) and selecting suppliers. [Source: ISO 20400:2017] 3. It should be noted that we consciously exclude the person-to-person transactions, but person-to-business is not excluded.
first order logic definition: ProcuringBusinessProcess(x) ↔ BusinessProcess(x) ∧ ∃b∃s(BuyingBusinessProcess(b) ∧ SupplyingBusinessProcess(s) ∧ hasOccurrentPart(x,b) ∧ hasOccurrentPart(x,s))
natural language definition: business process that consists of buying and ensuring the supply of products or services
semi formal natural language definition: every instance of 'procuring business process' is defined as exactly an instance of 'business process' that has some 'buying business process' and 'supplying business process' as 'occurent parts'

product production process
type: Class
subclass of: business process
equivalent class: Class
  intersection of: business process
  intersection of: Restriction
    on property: BFO_0000117
    some values from: manufacturing process
  intersection of: Restriction
    on property: BFO_0000199
    some values from: Class
      intersection of: BFO_0000008
      intersection of: Restriction
        on property: temporally overlaps
        some values from: Restriction
  intersection of: Restriction
    on property: has specified output
    some values from: material product
example: Making of an engine block as a product that consists of many processes such as manufacturing process, assembly process, inspection process etc.
adapted from: https://en.wikipedia.org/wiki/Manufacturing and ISO 23952:2020(en)
counter example: 1.Providing a service that does not deliver any tangible good 2.Acquiring unprocessed raw material (e.g., roll of aluminum) with intention to sell them or reselling. The Product existed before the initiation of the planned process.
explanatory note: 1. A product production process is distinct from a maintenance process in that, in the latter case, the product exists both before and after the process occurs. 2. A product production process has several planned processes as parts (sub-processes), including at least one manufacturing or assembly process, and optionally, may include other planned process types such as inspection, packaging, rework, and material handling. 3. Note that the various parts of a product production process, for example, inspection, and testing, cannot be a product production process alone. 4. Some manufacturing processes will also be product production processes.
first order logic definition: ProductProductionProcess(x) ↔ BusinessProcess(x) ∧ ∃m(ManufacturingProcess(m) ∧ occurentPartOf(m,x)) ∧ ∃y∃t∃t1(MaterialProduct(y) ∧ TemporalRegion(t) ∧ TemporalRegion(t1) ∧ hasSpecifiedOutput(x, y) ∧ occupiesTemporalRegion(x, t) ∧ temporallyOverlaps(t, t1) ∧ existsAt(y, t1))
natural language definition: business process that consists of at least one manufacturing process through which raw materials and components are transformed or modified to create a material product
semi formal natural language definition: every instance of 'product production process' is defined as exactly an instance of 'business process' that 'has occurrent part', some 'manufacturing process', and 'has specified output' some 'material product' which did not 'exist at' the beginning of the 'product production process'

raw material
type: Class
subclass of: BFO_0000040
equivalent class: Class
  intersection of: BFO_0000040
  intersection of: Restriction
    on property: has role
    some values from: raw material role
example: rolls of aluminum a manufacturer purchases to be consumed on its bottling lines to produce aluminum cans to package its product, crude oil that is converted into gasoline in a refining process; wheels an automobile manufacturer purchases to assemble into a car
counter example: oil used to power the refining process
explanatory note: This class is very general and it is intended to be used for grouping inputs to the product production process external to the bussiness organization. But, things like material artifacts should not be asserted as subclasses of this class
first order logic definition: RawMaterial(x) ↔ MaterialEntity(x) ∧ ∃r(RawMaterialRole(x) ∧ hasRole(x,r))
natural language definition: material entity which has the raw material role
semi formal natural language definition: every instance of 'raw material' is defined as exactly an instance of 'material entity' that 'has role' some 'raw material role'

raw material role
type: Class
subclass of: BFO_0000023
subclass of: Restriction
  on property: BFO_0000054
  all values from: Class
    union of: product production process
    union of: Class
      intersection of: manufacturing process
      intersection of: Restriction
        on property: BFO_0000132
        some values from: product production process
subclass of: Restriction
  on property: role of
  some values from: Class
    intersection of: BFO_0000040
    intersection of: Restriction
      on property: BFO_0000056
      some values from: Class
        intersection of: buying business process
        intersection of: Restriction
example: rolls of aluminum a manufacturer purchases to be consumed to produce aluminum cans
adapted from: ISO 17889-1:2021(en) and https://www.merriam-webster.com/dictionary/raw%20material
counter example: production intermediary going from one production cell to another; reagent that is used in a quality testing process of the product or any intermediary
explanatory note: 1. IOF considers raw materials only material entities that are acquired from a different organizational unit. However, that organizational unit can be within the same manufacturing enterprise (e.g., exchange of goods between divisions). 2. Raw materials are incorporated during the product production process into the final product. In other words, 'raw materials' exclude consumables from non-manufacturing processes that are a part of product production (e.g., maintenance or quality control) or consumables that are not incorporated into the product (e.g., single-use equipment).
first order logic axiom: RawMaterialRole(x) → Role(x) ∧ ∃y∃m∃z∃b(BuyingBusinessProcess(y) ∧ Organization(m) ∧ MaterialEntity(z) ∧ BuyerRole(b) ∧ roleOf(b,m) ∧ roleOf(x,z) ∧ hasParticipantAtSomeTime(y,m) ∧ hasParticipantAtSomeTime(y,z)) ∧ ∀y1(hasRealization(x,y1) → (ProductProductionProcess(y1) ∨ ManufacturingProcess(y1)))
is primitive: true
natural language definition: role held by a material entity when it is acquired by an organizational entity with some plan to transform or modify it into intermediate-level components or substances or into a product
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for transforming or modifying are lacking.
semi formal natural language axiom: if x is a 'raw material role' then x is a 'role' that is the 'role of' some 'material entity' when it 'participates in at some time' a 'buying business process' in which some 'organization' that 'has role' 'buyer role' participates in at some time' and whenever x 'has realization' y that y must be a 'product production process' or a 'manufacturing process'

requirement specification
type: Class
subclass of: information content entity
subclass of: Restriction
  on property: is about
  some values from: objective specification
example: UML use case document, competency questions, high level activity diagram
adapted from: https://demo-irm-dnvgl.northeurope.cloudapp.azure.com/ontology/requirement-ontology/core/A01A
explanatory note: Being a requirement specification can be context specific. For example, a UML class diagram may be a requirement specification for a data exchange specification or a design specification for software code.
first order logic axiom: LA1: RequirementSpecification(x) → InformationContentEntity(x) ∧ ∃y(ObjectiveSpecification(y) ∧ isAbout(x,y))
first order logic axiom: LA2: InformationContentEntity(x) ∧ ∃y(Entity(y) ∧ satisfiesRequirement(y,x)) → RequirementSpecification(x)
is primitive: true
natural language definition: information content entity that prescribes a set of requirements
primitive rationale: See the general discussion and rationale provided for informational entities under 'information content entity'.
semi formal natural language axiom: LA1: if x is a 'requirement specification' then x is an 'information content entity' that 'is about' some 'objective specification'
semi formal natural language axiom: LA2: if x is an 'information content entity' and exists an entity that 'satisfies requirement' x then x is a 'requirement specification'

offering for sale business process
type: Class
subclass of: business process
subclass of: Restriction
  on property: BFO_0000057
  some values from: supplier
subclass of: Restriction
  on property: BFO_0000057
  some values from: Class
    union of: commercial service agreement
    union of: material product
example: Good Year offers tires for sale, Boeing offers 737 planes for along with service agreements for the maintenance of the planes
adapted from: CCO:http://www.ontologyrepository.com/CommonCoreOntologies/ActOfBuying NL definition: OAGIS and CCO
explanatory note: It should be noted that we consciously exclude the person-to-person transactions, but person-to-business is not excluded.
first order logic axiom: OfferingForSaleBusinessProcess(x) → BusinessProcess(x) ∧ ∃y∃z((MaterialProduct(y) ∨ CommercialServiceAgreement(y)) ∧ Supplier(z) ∧ hasParticipantAtSomeTIme(x,y) ∧ hasParticipantAtSomeTime(x,z))
is primitive: true
natural language definition: business process wherein a product or commercial service is offered by an agent (seller) for another agent (buyer) to acquire ownership via a financial instrument
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, ownership and economic transactions require formalization.
semi formal natural language axiom: if x is an 'offering for sale business process' then x is a 'business proces' that 'has participant at some time' some 'supplier' and x 'has participant at some time' some 'material product' or 'commercial service agreement'

service provider
type: Class
subclass of: supplier
equivalent class: Class
  intersection of: Class
    union of: organization
    union of: person
  intersection of: Restriction
    on property: has role
    some values from: service provider role
example: FedEx; Home-cleaning service; aircraft maintenance service; internet service provider
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: ServiceProvider(x) ↔ (Person(x) ∨ Organization(x)) ∧ ∃r(ServiceProviderRole(r) ∧ hasRole(x,r))
natural language definition: person or organization which has a service provider role
semi formal natural language definition: every instance of 'service provider' is defined as exactly an instance of 'person' or 'organization' that 'has role' some 'service provider role'

service provider role
type: Class
subclass of: supplier role
subclass of: Restriction
  on property: role of
  some values from: Class
    intersection of: Class
      union of: organization
      union of: person
    intersection of: Restriction
      on property: BFO_0000056
      some values from: Class
        union of: commercial service
        union of: Class
example: FedEx; Home-cleaning service; aircraft maintenance service; internet service provider
adapted from: https://en.wikipedia.org/wiki/Service_provider
first order logic axiom: ServiceProviderRole(x) → AgentRole(x) ∧ ∃y∃p((Organization(y) ∨ Person(y)) ∧ (CommercialService(p) ∨ (OfferingForSaleBusinessProcess(p) ∧ ∃c(CommercialServiceAgreement(c) ∧ hasParticipantAtSomeTime(p,c)))) ∧ participatesInAtSomeTime(y,p) ∧ roleOf(x,y))
is primitive: true
natural language definition: supplier role held by a person or organization when it offers to sell or provide a commercial service
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for economic transactions and ownership are lacking
semi formal natural language axiom: if x is a 'service provider role' then x is an 'agent role' that is the 'role of' some 'person' or 'organization' that 'participates in at some time' some 'commercial service' or some 'offering for sale business process' which 'has participant at some time' some 'commercial service agreement'

supplier
type: Class
subclass of: agent
equivalent class: Class
  intersection of: Class
    union of: organization
    union of: person
  intersection of: Restriction
    on property: has role
    some values from: supplier role
example: logistics service provider; vending machine; the material handling department (which manages the raw material and finished goods in company warehouses, and provides material handling services to manufacturing and other departments within its factories)
explanatory note: See the expanded definition under the corresponding role class. The term is formalized here as a defined class by referring to its corresponding role class and exists primarily for ontological modeling and implementation convenience.
first order logic definition: Supplier(x) ↔ Person(x) ∨ Organization(x) ∧ ∃r(SupplierRole(r) ∧ hasRole(x,r))
natural language definition: person or organization which has a supplier role
semi formal natural language definition: every instance of 'supplier' is defined as exactly an instance of 'person' or 'organization' that 'has role' some 'supplier role'

supplier role
type: Class
subclass of: agent role
subclass of: Restriction
  on property: role of
  some values from: Class
    intersection of: Class
      union of: organization
      union of: person
    intersection of: Restriction
      on property: BFO_0000056
      some values from: Class
        union of: offering for sale business process
        union of: supplying business process
example: logistics service provider; vending machine; the material handling department (which manages the raw material and finished goods in company warehouses, and provides material handling services to manufacturing and other departments within its factories)
adapted from: APICS, term by the same name and Oxford Languages, term by the name ‘vendor’
first order logic axiom: SupplierRole(x) → Role(x) ∧ ∃y∃p((Organization(y) ∨ Person(y)) ∧ (SupplyingBusinessProcess(p) ∨ OfferingForSaleBusinessProcess(p)) ∧ participatesInAtSomeTime(y,p) ∧ roleOf(x,y))
is primitive: true
natural language definition: agent role held by a person or organization when it offers to sell or provide products or services
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for economic transactions and ownership are lacking.
semi formal natural language axiom: if x is a 'supplier role' x then x is an 'agent role' that is the 'role of' some 'person' or 'organization' when it 'participates in at some time' some 'supplying business process' or 'offering for sale business process'

supplying business process
type: Class
subclass of: business process
subclass of: Class
  union of: Restriction
    on property: BFO_0000057
    some values from: material product
  union of: Restriction
    on property: BFO_0000132
    some values from: commercial service
subclass of: Restriction
  on property: BFO_0000057
  some values from: supplier
example: BMW dealer supplies a car to the Customer; US importer of steel from China supplies the steel to a US manufacturer; company (supplier) supplied (ship directly) a product to a buyer who bought the product on Amazon (seller)
adapted from: https://www.oberlo.com/ecommerce-wiki/supply
counter example: A BMW dealer supplies a car to a Customer in the US, but the BMW Manufacturer in Germany does not supply the car to the Customer. The BMW Manufacturer supplies the car to the BMW dealer.
explanatory note: 1. To supply a product means to deliver the product to another agent. 2.To supply a service means to perform a process (e.g. commercial service) for another agent, typically involving a service agreement. 3.It should be noted that we consciously exclude the person-to-person transactions, but person-to-business is not excluded.
first order logic axiom: SupplyingBusinessProcess(x) → BusinessProcess(x) ∧ ∃y(Supplier(y) ∧ hasParticipantAtSomeTime(x,y)) ∧ (∃p(MaterialProduct(p) ∧ hasParticipantAtSomeTime(x,p)) ∨ ∃c(CommercialService(c) ∧ occurrentPartOf(x,c)))
is primitive: true
natural language definition: business process wherein a product or service is supplied
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely, constructs for economic transactions, service or product provision and ownership are lacking
semi formal natural language axiom: if x is a 'supplying business process' then x is a 'business process' that 'has participant at some time' some 'supplier' and x 'has participant at some time' some 'material product' or is 'occurent part of' some 'commercial service'

system
type: Class
subclass of: BFO_0000027
example: solar system, digestive system, forest ecosystem, hydraulic system, subway system, social system, technical system, natural system
adapted from: Merriam-Webster Dictionary for term under the same name.
explanatory note: 1. As introduced here, the term is limited to natural, social and technical systems that are tangible and whose "elements" are also tangible. 2. Frequently, the elements comprising a system are instances of BFO: object. However, the system elements may also include object aggregates (e.g., a system of systems; a system that includes a production line consisting of humans, machines, and other equipment) 3. Although the system is asserted under BFO: object aggregate, which is constrained to have only material entities (tangible things) as elements, the approach to modeling systems comprised of both software and hardware (also known as a cyber-physical system) can still be modeled indirectly: by introducing a 'generically depends on' relationship between the software or other intangible elements (information content entity types) and its physical bearer (hardware or hardware system), which are in turn members of the system.
first order logic axiom: System(x) → ObjectAggregate(x)
is primitive: true
natural language definition: collection of elements (object aggregate) that form a unified whole and interact
primitive rationale: The term is introduced here as a general class to allow the introduction of specialized kinds of systems that appear in particular modalities. Furthermore, an effort remains to formalize what it means for two things to interact, or what it means to regularly interact.
semi formal natural language axiom: if x is a 'system' then x is an 'object aggregate'

temporal duration value expression
type: Class
subclass of: Class
  intersection of: value expression
  intersection of: Restriction
    on property: is value expression of at all times
    some values from: BFO_0000202
disjoint with: temporal instant value expression
example: the expression of the duration of the temporal interval that corresponds to the time during which a worker sewed a particular garment.
explanatory note: 1. This class was introduced as a helper class to map OWL time to IOF Core. For detailed expression of a duration of a ‘temporal interval’, use a suitable subclass of TemporalDuration class from Time ontology (https://www.w3.org/TR/owl-time/) instead of ‘temporal duration value expression’ (see mapping file https://spec.industrialontologies.org/ontology/core/commonstocoremapping/MappingOWLTimeToIOF/)
first order logic axiom: TemporalDurationValueExpression(x) → ValueExpression(x) ∧ ∃y(TimeInterval(y) ∧ isValueExpressionOfAtAllTimes(x,y))
is primitive: true
natural language definition: value expression that describes the duration of some temporal interval
primitive rationale: The definition of this class is weakened to only necessary condition because the current formal conditions do not specify which characteristic of the temporal interval is being expressed; without a mechanism to formally distinguish duration from other temporal qualities (e.g., temporal position), the construct cannot be given a necessary-and-sufficient definition. Until such representational machinery exists—i.e., a property or formal device that links a value expression specifically to the duration quality of a temporal interval—the conditions can function only as necessary, not necessary and sufficient, making this class primitive.
semi formal natural language axiom: every instance of 'temporal duration value expression' is an instance of 'value expression' that 'is value expression of at all times' some 'temporal interval'

temporal instant value expression
type: Class
subclass of: value expression
equivalent class: Class
  intersection of: value expression
  intersection of: Restriction
    on property: is value expression of at all times
    some values from: BFO_0000203
example: The time instant at which a train arrives at a station has its clock time expressed by a temporal instant value expression.
explanatory note: 1. This class was introduced as a helper class to map OWL time to IOF Core. For detailed expression of date and time in a specific calendar system, use a suitable subclass of TemporalPosition class from Time ontology (https://www.w3.org/TR/owl-time/) instead of ‘temporal instant value expression’ (see mapping file https://spec.industrialontologies.org/ontology/core/commonstocoremapping/MappingOWLTimeToIOF/)
first order logic definition: TemporalInstantValueExpression(x) ↔ ValueExpression(x) ∧ ∃y(TemporalInstant(y) ∧ isValueExpressionOfAtAllTimes(x,y))
natural language definition: value expression that describes the position of a time instant in the time line
semi formal natural language definition: every instance of 'temporal instant value expression' is defined exactly as an instance of 'value expression' that 'is value expression of at all times' some 'temporal instant'

value expression
type: Class
subclass of: information content entity
subclass of: Restriction
  on property: is value expression of at some time
  some values from: BFO_0000001
example: 1cm is the value expression of the diameter of a screw head that is specified in its design; 37C is the value expression of the temperature of a bioreactor measured during the production process; "low risk" is the value expression of a process parameter based on the risk analysis classification scheme; 3 g/l is the value expression of titer of an antibody generated by a process simulation
adapted from: http://purl.obolibrary.org/obo/OBI_0001933
explanatory note: 1. Value expressions comprehend qualitative, semi-quantitative, or quantitative values. 2. All value expressions have a value associated with them through ‘has simple expression value’. This part is not formally captured as we do not want to impose a specific datatype constraint (e.g., xsd:int,rdfs:Literal) with the value expression. Nevertheless, any instance of ‘value expression’ MUST have a ‘has simple expression value’ or its subproperty pointing to a value. 3. This class is intended to provide a single framework for representing unit-value pairs and the connection between a value and a particular classification scheme in the case of qualitative values. While currently, IOF still needs to define classification schemes and quantitative scales, this class is compatible with and thus can be mapped to external ontologies such as the QUDT and the Units Ontology to get the necessary representation of units.
first order logic axiom: ValueExpression(x) → InformationContentEntity(x) ∧ ∃e(Entity(e) ∧ isValueExpressionOfAtSomeTime(x,e))
is primitive: true
natural language definition: information content entity that contains a value of an entity within a classification scheme or on a quantitative scale
primitive rationale: There are insufficient constructs to create necessary and sufficient conditions. Namely constructs for representing classification schemes and quantitative scales are still missing.
semi formal natural language axiom: If x is a 'value expression' then x is an 'information content entity' that 'is value expression of at some time' some 'entity'
synonym: value information content entity

achieves at some time
type: ObjectProperty
sub property of: BFO_0000059
domain: BFO_0000015
range: information content entity
inverse of: is achieved by at some time
example: The staffing and ramping up of production to 2 shifts per work day acheives the company plan of satisfying a surge in demand for its products.
first order logic axiom: achievesAtSomeTime(x,y) → Process(x) ∧ InformationContentEntity(y) ∧ (concretizesAtSomeTime(x,y) ∨ ∃z(continuantPartOfAtAllTimes(z,y) ∧ InformationContentEntity(z) ∧ concretizesAtSomeTime(x,z)))
natural language definition: relation from a process to an information content entity wherein the process partially or fully concretizes the information content entity
semi formal natural language axiom: x achieves at some time y holds when x is a 'process' and y is an 'information content entity' and x 'concretizes at some time' y or a 'continuant part of at all times' y

acts on behalf of at some time
type: ObjectProperty
domain: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
range: Class
  union of: engineered system
  union of: group of agents
  union of: person
example: An agent acts on behalf of a business organization. A laywer acts on behalf of a person.
first order logic axiom: actsOnBehalfOfAtSomeTime(x,y) → (MaterialEntity(x) ∧ ¬(FiatObjectPart(x))) ∧ (Person(y) ∨ GroupOfAgents(y) ∨ EngineeredSystem(y)) ∧ ∃p∃d(PlannedProcess(p) ∧ ObjectiveSpecification(d) ∧ participatesInAtSomeTime(x,p) ∧achievesAtSomeTime(p,d) ∧ genericallyDependsOnAtSomeTime(d,y))
natural language definition: relation from a material entity to a person or a group of agents or engineered system that holds when the material entity participates in some planned process in order to fulfill an objective for the person or group of agents or engineered system
semi formal natural language axiom: x acts on behalf of at some time y holds when x is a 'material entity' (that is not a 'fiat object part') and y is some 'person' or 'group of agents' or 'engineered system' and at some time t, there exists a 'planned process' p such that x 'participates in' p and p 'achieves at some time' some 'objective specification' d that 'generically depends on at some time' y

after
type: ObjectProperty
type: TransitiveProperty
sub property of: BFO_0000062
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
inverse of: before
example: A metal surface is polished after the surface is cleaned to make it free from dust or grease; a product is manufactured after it is designed; March comes after January.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: after(x,y) ↔ before(y,x)
natural language definition: relation that holds between two intervals or processes i and j when the last instant of the temporal extent of i is later than the first instant of the temporal extent of j
semi formal natural language axiom: 'before' and 'after' are inverse relations

before
type: ObjectProperty
type: TransitiveProperty
sub property of: BFO_0000063
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
example: The surface of the metal is cleaned to make it free from dust or grease before polishing; a product is designed before it can be manufactured; January comes before March.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: LA1: before(i,j) → (TemporalInterval(i) ∧ TemporalInterval(j)) ∨ (Process(i) ∧ Process(j))
first order logic axiom: LA2: TemporalInterval(i) ∧ TemporalInterval(j) ∧ before(i,j) → ∃i1∃j1(TemporalInstant(i1) ∧ TemporalInstant(j1) ∧ hasLastInstant(i,i1) ∧ hasFirstInstant(j,j1) ∧ precedes(i1,j1))
first order logic axiom: LA3: Process(i) ∧ Process(j) ∧ ∃i1∃j1(TemporalInterval(i1) ∧ before(i,j) → TemporalInterval(j1) ∧ occupiesTemporalRegion(i,i1) ∧ occupiesTemporalRegion(j,j1) ∧ before(i1,j1))
natural language definition: relation that holds between two intervals or processes i and j when the last instant of the temporal extent of i is earlier than the first instant of the temporal extent of j
semi formal natural language axiom: LA1: If i is 'before' j then either both are 'temporal intervals' or both are 'process'
semi formal natural language axiom: LA2: If both i and j are 'temporal intervals' and i is 'before' j then the 'last instant of' i 'precedes' the 'first instant of' j
semi formal natural language axiom: LA3: If both i and j are 'process' and i is 'before' j then the 'temporal interval' that i occupies is 'before' the 'temporal interval' that j occupies

capability of
type: ObjectProperty
sub property of: BFO_0000197
domain: capability
range: BFO_0000004
inverse of: has capability
example: turning at the maximal speed of 4000RPM is the capability of a lathe; temperature sensor has the capability to measuring temperature with a 0.01C precision is the capability of a temperature sensor; measuring pH in the range of 0-14 is the capability of a pH meter
first order logic axiom: capabilityOf(x,y) → Capability(x) ∧ IndependentContinuant(y) ∧ inheresIn(x,y)
natural language definition: relation from a capability to an independent continuant (the bearer), in which the capability specifically depends on the bearer for its existence
semi formal natural language axiom: x capability of y holds when x is a 'capability' and y is a 'independent continuant' and x is 'inheres in' y

component part of at all times
type: ObjectProperty
type: TransitiveProperty
sub property of: BFO_0000137
sub property of: component part of at some time
domain: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
range: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
example: transmission assembly is a component part of a car; engine control ;sparger is a component part of a bioreactor
first order logic axiom: componentPartOfAtAllTimes(x,y) → (MaterialEntity(x) ∧ ¬(FiatObjectPart(x))) ∧ (MaterialEntity(y) ∧ ¬(FiatObjectPart(y))) ∧ properContinuantPartOfAtAllTimes(x,y)
natural language definition: relation from a material entity to another material entity that it is a proper part of at all times it exists
semi formal natural language axiom: x component part of at all times y holds when x is a 'material entity' that is not a 'fiat object part' and y is a 'material entity' that is not a 'fiat object part' and x is 'proper continuant part of at all times' y

component part of at some time
type: ObjectProperty
sub property of: BFO_0000175
domain: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
range: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
inverse of: has component part at some time
example: a particular chromatography column is a component part of a chromatography system during several purification cycles; a particular tool is a component part of a CNC machine while it is being used for manufacturing a particular part
explanatory note: The IOF does not consider as component part of material entities that are delineated by a non-physical (fiat) boundary from the material entity they are a part of.
first order logic axiom: componentPartOfAtSomeTime(x,y) → (MaterialEntity(x) ∧ ¬(FiatObjectPart(x))) ∧ (MaterialEntity(y) ∧ ¬(FiatObjectPart(y))) ∧ properContinuantPartOfAtSomeTime(x,y)
natural language definition: relation from a material entity to another material entity that it is a proper part of at some time
semi formal natural language axiom: x component part of at some time y holds when x is a 'material entity' that is not a 'fiat object part' and y is a 'material entity' that is not a 'fiat object part' and x is 'proper continuant part of at some time' y

contains occurence of
type: ObjectProperty
type: TransitiveProperty
sub property of: topObjectProperty
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
inverse of: occurs during
example: The grinding of metal contains occurrence of sparking; a storm contains occurrences of lightning.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: containsOccurrenceOf(x,y) ↔ occursDuring(y,x)
natural language definition: relation that holds between two intervals or processes i and j when the first instant of the temporal extent of j is later than the first instant of the temporal extent of i and the last instant of the temporal extent of j is earlier than the last instant of the temporal extent of i
semi formal natural language axiom: 'contains occurrence of' and 'occurs during' are inverse relations

denoted by
type: ObjectProperty
sub property of: is subject of
domain: BFO_0000001
range: information content entity
inverse of: denotes
example: one or more individuals are denoted by the name 'John'; vehicle is denoted by a 'vehicle identification number'; molecules with the structure CH3-CH2-OH is denoted by 'ethanol'
natural language definition: relation from an entity to an information content entity that distinguishes the entity

denotes
type: ObjectProperty
sub property of: is about
domain: information content entity
range: BFO_0000001
example: the name 'John' denotes one or more individuals that have that name; 'vehicle identification number' denotes a vehicle; 'ethanol' is a name given by IUPAC which denotes molecules with the structure CH3-CH2-OH
explanatory note: The distinguishment implied by denotes is not necessarily unique, which is why this property is not made functional. For example, a name can, at one point, 'denote' multiple individuals.
natural language definition: relation from an information content entity to an entity that the information content entity distinguishes

described by
type: ObjectProperty
sub property of: is subject of
domain: BFO_0000001
range: information content entity
inverse of: describes
example: some current event is described by the content of a newspaper article; some facility visit is described by the content of a visitor's log; some accident is described by the content of an accident report
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
natural language definition: relation from an entity to an information content entity that characterizes the entity

describes
type: ObjectProperty
sub property of: is about
domain: information content entity
range: BFO_0000001
example: the content of a newspaper article describes some current event; the content of a visitor's log describes some facility visit; the content of an accident report describes some accident
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
natural language definition: relation from an information content entity to an entity that the information content entity characterizes

designated by
type: ObjectProperty
type: InverseFunctionalProperty
sub property of: denoted by
domain: BFO_0000001
range: information content entity
inverse of: designates
example: a Web Page's location on the internet is designated by an URL; an individual in USA is designated by SSN ; a particular lot of product is designated by a 'lot number'
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
natural language definition: relation from an entity to an information content entity that uniquely distinguishes the entity from other entities

designates
type: ObjectProperty
type: FunctionalProperty
sub property of: denotes
domain: information content entity
range: BFO_0000001
example: a URL designates the location of a Web Page on the internet;SSN designates an individual; 'lot number' designates a particular lot of product
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
explanatory note: 1. To ensure uniqueness, each information content entity can designate exactly one entity. As such, this property is made functional. 2. The uniqueness of the entity is typically within a particular context that is represented in the identification scheme that conveys the meaning of the assignment.
natural language definition: relation from an information content entity to an entity that the information content entity uniquely distinguishes from other entities

disposition of
type: ObjectProperty
sub property of: BFO_0000197
domain: BFO_0000016
range: BFO_0000004
inverse of: has disposition
example: the disposition to decay to an atom of element Y is the disposition of an atom of element X; the disposition to break apart is the disposition of a poorly assembled item
adapted from: http://purl.obolibrary.org/obo/RO_0000092
first order logic axiom: dispositionOf(x,y) → Disposition(x) ∧ IndependentContinuant(y) ∧ inheresIn(x,y)
natural language definition: relation from a disposition to an independent continuant (the bearer), in which the disposition specifically depends on the bearer for its existence
semi formal natural language axiom: x disposition of y holds when x is a 'disposition' and y is a 'independent continuant' and x is 'inheres in' y

function of
type: ObjectProperty
sub property of: BFO_0000197
domain: BFO_0000034
range: BFO_0000004
inverse of: has function
example: this catalysis function is a function of this enzyme
adapted from: http://purl.obolibrary.org/obo/RO_0000079
first order logic axiom: functionOf(x,y) → Function(x) ∧ IndependentContinuant(y) ∧ inheresIn(x,y)
natural language definition: relation from a function to an independent continuant (the bearer), in which the function specifically depends on the bearer for its existence
semi formal natural language axiom: x function of y holds when x is a 'function' and y is a 'independent continuant' and x is 'inheres in' y

has capability
type: ObjectProperty
sub property of: BFO_0000196
domain: BFO_0000004
range: capability
example: a lathe has a capability to turn at the maximal speed of 4000RPM; temperature sensor has the capability to measure temperature with a 0.01C precision; pH meter has the capability to measure pH in the range of 0-14
first order logic axiom: hasCapability(x,y) → IndependentContinuant(x) ∧ Capability(y) ∧ bearerOf(x,y)
natural language definition: relation from an independent continuant (the bearer) to a capability, in which the capability specifically depends on the bearer for its existence
semi formal natural language axiom: x has capability y holds when x is a 'independent continuant' and y is a 'capability' and x is 'bearer of' y

has component part at all times
type: ObjectProperty
type: TransitiveProperty
sub property of: BFO_0000111
sub property of: has component part at some time
domain: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
range: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
example: car has component part a chasy; a bioractor has component part a stainless steel vessel
first order logic axiom: hasComponentPartAtAllTimes(x,y) → (MaterialEntity(x) ∧ ¬(FiatObjectPart(x))) ∧ (MaterialEntity(y) ∧ ¬(FiatObjectPart(y))) ∧ hasProperContinuantPartAtAllTimes(x,y)
natural language definition: relation from a material entity to another material entity that it has as a proper part at all times it exists
semi formal natural language axiom: x has component part at all times y holds when x is a 'material entity' that is not a 'fiat object part' and y is a 'material entity' that is not a 'fiat object part' and x 'has proper continuant part at all times' y

has component part at some time
type: ObjectProperty
sub property of: BFO_0000174
domain: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
range: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
example: a particular chromatography column is a component part of a chromatography system has a component part a particular chromatography column during several purification cycles; a CNC machine has component part a particular tool while it is being used for manufacturing a particular part
first order logic axiom: hasComponentPartAtSomeTime(y,x) → (MaterialEntity(x) ∧ ¬(FiatObjectPart(x))) ∧ (MaterialEntity(y) ∧ ¬(FiatObjectPart(y))) ∧ properContinuantPartOfAtSomeTime(x,y)
natural language definition: relation from a material entity to another material entity that it has as a proper part at some time
semi formal natural language axiom: y has component part at some time x holds when x is a 'material entity' that is not a 'fiat object part' and y is a 'material entity' that is not a 'fiat object part' and x is 'proper continuant part of at some time' y

has date-time instant value
type: DatatypeProperty
sub property of: has simple expression value
domain: temporal instant value expression
range: dateTime
example: The time point at 16:30pm at UTC on 3rd March 2023 is asserted by the associated (‘is value expression of at all times’) ‘temporal instant value expression’ having date-time value (‘has date-time instant value’) 2023-03-03T16:30:00Z.
explanatory note: 1. This data property may be used to specify a ‘temporal instant value expression’ in XSD date-time format (e.g., 2002-10-10T17:00:00Z). For a detailed description of xsd:DateTime, see https://www.w3.org/TR/xmlschema-2/#dateTime. 2. While comparing two ‘temporal instant value expression’, it is important to make sure that their date-time expressions are given in the same calendar and clock system. 3. For detailed expression of date and time in a specific calendar system, use a suitable subclass of TemporalPosition class from Time ontology (https://www.w3.org/TR/owl-time/) instead of ‘temporal instant value expression’ (see mapping file https://spec.industrialontologies.org/ontology/core/commonstocoremapping/MappingOWLTimeToIOF/).
natural language definition: data property that relates a time instance value to a XSD date-time

has disposition
type: ObjectProperty
sub property of: BFO_0000196
domain: BFO_0000004
range: BFO_0000016
example: An atom of element X has the disposition to decay to an atom of element Y; a poorly assembled item has the disposition to break apart
adapted from: http://purl.obolibrary.org/obo/RO_0000091
first order logic axiom: hasDisposition(x,y) → IndependentContinuant(x) ∧ Disposition(y) ∧ bearerOf(x,y)
natural language definition: relation from an independent continuant (the bearer) to a disposition, in which the disposition specifically depends on the bearer for its existence
semi formal natural language axiom: x has disposition y holds when x is a 'independent continuant' and y is a 'disposition' and x is 'bearer of' y

has function
type: ObjectProperty
sub property of: BFO_0000196
domain: BFO_0000004
range: BFO_0000034
example: this enzyme has function this catalysis function (more colloquially: this enzyme has this catalysis function)
adapted from: http://purl.obolibrary.org/obo/RO_0000085
explanatory note: A bearer can have many functions, and its functions can exist for different periods of time, but none of its functions can exist when the bearer does not exist. A function need not be realized at all the times that the function exists.
first order logic axiom: hasFunction(x,y) → IndependentContinuant(x) ∧ Function(y) ∧ bearerOf(x,y)
natural language definition: relation from an independent continuant (the bearer) to a function, in which the function specifically depends on the bearer for its existence
semi formal natural language axiom: x has function y holds when x is a 'independent continuant' and y is a 'function' and x is 'bearer of' y

has input
type: ObjectProperty
sub property of: BFO_0000057
domain: BFO_0000015
range: BFO_0000002
inverse of: is input of
example: machine learning execution process has input a dataset;fermentation process has input growth medium; additive manufacturing process has input metal powder;
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology
natural language definition: relation from a process to someone or something physical or digital (continuant) that is a necessary precondition for the process to start

has measured value at some time
type: ObjectProperty
sub property of: has value expression at some time
domain: BFO_0000001
range: value expression
inverse of: is measured value of at some time
example: '80kg' is the value of the weight of a male human on the 5th of October 2022; '37C' is the temperature inside a bioreactor in the 30th min from the process start
natural language definition: relation from an entity to a value expression that contains the value of the entity measured at some time t

has output
type: ObjectProperty
sub property of: BFO_0000057
domain: BFO_0000015
range: BFO_0000002
inverse of: is output of
example: chemical manufacturing process has output a wastestream; toluene manufacturing process has output a certain quantity of toluene; car manufacturing process has output a car
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology
explanatory note: By introducing the condition that it must exist at the end of the process materials that only transitively exist during the process (e.g., reaction intermediary) are excluded from being considered the output.
natural language definition: relation from a process to someone or something physical or digital (continuant) that participates in the process such that it is generated or modified during the process, and that it exists at the end of the process

has process characteristic
type: ObjectProperty
sub property of: topObjectProperty
domain: BFO_0000015
range: process characteristic
inverse of: process characteristic of
example: the water flowing through a pipe during a given period has the average flow rate as a process characteristic, the heating process has the total energy consumed as a process characteristic, the batch sterilization process has the peak temperature as a process characteristic.
first order logic definition: hasProcessCharacteristics(p, c) → processCharacteristicsOf(c, p)
natural language definition: relation between a process and its characteristic
semi formal natural language definition: if p 'has process characteristics' c, then c is 'process characteristics of' p

has process profile
type: ObjectProperty
sub property of: BFO_0000118
domain: process profile
range: BFO_0000015
inverse of: process profile of
example: The pH profile is a process profile of the cell culture growth process, the spindle speed profile is a process profile of the milling process, the flow rate profile is a process profile of the pipeline transport process.
first order logic definition: hasProcessProfile(p, x) → processProfileOf(x, p)
natural language definition: relation that holds between a process and a process profile that is part of the process such that the part is temporally coextensive with another proper part that is mutually dependent on it and has no parts in common with it
semi formal natural language definition: if p 'has process profile' x, then x is 'process profile of' p

has quality
type: ObjectProperty
sub property of: BFO_0000196
domain: BFO_0000004
range: BFO_0000019
inverse of: quality of
example: this apple has quality this red color
adapted from: http://purl.obolibrary.org/obo/RO_0000086
explanatory note: A bearer can have many qualities, and its qualities can exist for different periods of time, but none of its qualities can exist when the bearer does not exist.
first order logic axiom: hasQuality(x,y) → IndependentContinuant(x) ∧ Quality(y) ∧ bearerOf(x,y)
natural language definition: relation from an independent continuant (the bearer) to a quality, in which the quality specifically depends on the bearer for its existence
semi formal natural language axiom: x has function y holds when x is a 'independent continuant' and y is a 'quality' and x is 'bearer of' y

has role
type: ObjectProperty
sub property of: BFO_0000196
domain: BFO_0000004
range: BFO_0000023
inverse of: role of
example: this person has role this investigator role (more colloquially: this person has this role of investigator)
adapted from: http://purl.obolibrary.org/obo/RO_0000087
explanatory note: A bearer can have many roles, and its roles can exist for different periods of time, but none of its roles can exist when the bearer does not exist. A role need not be realized at all the times that the role exists.
first order logic axiom: hasRole(x,y) → IndependentContinuant(x) ∧ Role(y) ∧ bearerOf(x,y)
natural language definition: relation from an independent continuant (the bearer) to a role, in which the role specifically depends on the bearer for its existence
semi formal natural language axiom: x has role y holds when x is a 'independent continuant' and y is a 'role' and x is 'bearer of' y

has simple expression value
type: DatatypeProperty
sub property of: topDataProperty
domain: value expression
example: value expression with the unit 'C' that is the value expression of temperature has simple expression value "37"
explanatory note: 1. the literal represents the magnitude or a category within a classification scheme of an entity that the value expression is the value expression of 2. The label 'simple expression' was chosen due to the possiblity of introduction of a 'complex expression' object property in the future release that would be utilized for representation of things such as mathematical formulas
natural language definition: data property that relates a value expression to a literal

has specified output
type: ObjectProperty
sub property of: has output
domain: planned process
range: BFO_0000002
inverse of: is specified output of
example: biopharmaceutical production process has specified output an antibody solution of 99.999% purity; a simulation execution has specified output a prediction of part porosity; a temperature measurement process has specified output a temperature measurement result; a car manufacturing process has specified output a car
adapted from: http://purl.obolibrary.org/obo/OBI_0000299
explanatory note: this relation was added to specifically model the outputs that are not byproducts/wasteproducts
first order logic axiom: hasSpecifiedOutput(x,y) → PlannedProcess(x) ∧ Continuant(y) ∧ ∃o(ObjectiveSpecification(o) ∧ prescribes(o,y) ∧ achievesAtSomeTime(x,o) ∧ hasOutput(x,y))
natural language definition: relation from a planned process to someone or something physical or digital (continuant) that is produced or modified in the planned process as prescribed by an objective
semi formal natural language axiom: x 'has specified output' y holds when x is a 'planned process' and y is a 'continuant' and x 'has output' y and y is 'prescribed by' some 'objective specification' which x 'achieves at some time'
synonym: has intended output

has value expression at all times
type: ObjectProperty
sub property of: has value expression at some time
domain: BFO_0000001
range: value expression
inverse of: is value expression of at all times
example: speed of light in a vacuum has value expression 3×10^8 m/s ; electric charge carried by a single proton has the value expression 1.602176634×10−19 coulombs
natural language definition: relation from an entity to a value expression that contains the value of the entity which does not change during the entire existence of the entity

has value expression at some time
type: ObjectProperty
sub property of: described by
domain: BFO_0000001
range: value expression
inverse of: is value expression of at some time
example: the diameter of a screw head has value expression 1cm that is specified in its design; a bioreactor has value expression 37C that was measured during the production process; "low risk" is the value expression of a process parameter "low risk" that is based on the risk analysis classification scheme; an antibody has value expression 3 g/l that was generated by a process simulation
explanatory note: determined in this context can be interpreted as either being simulated or being measured
natural language definition: relation from an entity to a value expression that contains the value of the entity determined or set at some time t

is about
type: ObjectProperty
domain: information content entity
range: BFO_0000001
inverse of: is subject of
example: a temperature recording is about temperature; SSN is about a particular individual; commercial service agreement is about a commercial service
adapted from: IAO:http://purl.obolibrary.org/obo/IAO_0000136 and CCO:http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
natural language definition: primitive, generic relationship between an information content entity and some entity

is achieved by at some time
type: ObjectProperty
sub property of: BFO_0000058
domain: information content entity
range: BFO_0000015
example: The company plan of satisfying a surge in demand for its products is achieved by the staffing and ramping up of production to 2 shifts per work day.
first order logic axiom: isAchievedByAtSomeTime(y,x) → Process(x) ∧ InformationContentEntity(y) ∧ (concretizesAtSomeTime(x,y) ∨ ∃z(continuantPartOf(z,y) ∧ InformationContentEntity(z) ∧ concretizesAtSomeTime(x,z)))
natural language definition: relation from an information content entity to a process that partially or fully concretizes the information content entity
semi formal natural language axiom: y is achieved by at some time x holds when x is a 'process' and y is an 'information content entity' and x 'concretizes' y or a 'continuant part of' y, at some time t

is available to at some time
type: ObjectProperty
domain: Class
  union of: BFO_0000029
  union of: BFO_0000040
range: agent
example: a roll of aluminum (resource) is avaiable to an agent to use in a forming process, a milling workstation (resource) is available to a manufacturer to produce some parts
explanatory note: this definition of 'is available to' is not the same as the state of availability e.g a machine is idle hence it is in the available state
first order logic axiom: isAvailableToAtSomeTime(x,y) → (MaterialEntity(x) ∨ Site(x)) ∧ Agent(y) ∧ ∃p∃o∃c(Process(p) ∧ ObjectiveSpecification(o) ∧ Capability(c) ∧ hasCapability(x,c) ∧ genericallyDependsOnAtSomeTime(o,y) ∧ (realizes(p,c) ∧ participatesInAtSomeTime(y,p)→ AchievesAtSomeTime(p,o)))
natural language definition: relation from a material entity or physical location to an agent that holds when the material entity or physical location have a capability that is needed by the agent to fulfil some objective carried by the agent
semi formal natural language axiom: x is available at some time y holds when x is a 'material entity' or 'site' and y is an 'agent' and x 'has capability' some 'capability' which when 'realized in' some 'process' p that y 'participates in at some time' implies that p 'achieves at some time' some 'objective specification' that 'generically depends on at some time' y

is input of
type: ObjectProperty
sub property of: BFO_0000056
domain: BFO_0000002
range: BFO_0000015
example: a dataset is an input of a machine learning execution process; growth medium is an input of a fermentation process; metal powder is an input of an additive manufacturing process;
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology
natural language definition: relates someone or something physical or digital (continuant) to a process that it is a necessary precondition for the process to start

is made of at all times
type: ObjectProperty
sub property of: BFO_0000110
sub property of: is made of at some time
domain: BFO_0000040
range: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
example: A glass bottle is made of glass at all times during its existence as that bottle; A polymer tube is made of polymer at all times during its existence as that tube
explanatory note: This relation is asserted with an ‘at all times’ condition. It therefore implies that, for every time at which a exists, a has b as a continuant part. Equivalently, there is no time during the existence of a at which a fully lacks b as a part while still remaining the same material entity
natural language definition: relation between material entity b and material entity that is not a fiat object c such that b has continuant part at all times c and if portion of c is removed from b, that portion stops being part of b, while the remaining c continues to exist as the same material entity and b remains to have continuant part c

is made of at some time
type: ObjectProperty
sub property of: BFO_0000178
domain: BFO_0000040
range: Class
  intersection of: BFO_0000040
  intersection of: Class
    complement of: BFO_0000024
example: A bottle is made of glass; a bioreactor vessel is made of stainless steel; a capsule shell is made of gelatin; a wooden tabletop is made of oak
counter example: A car is not made of wheels; a bioreactor is not made of sensors; a computer is not made of circuit boards; an aircraft is not made of engines; a building is not made of windows; a pipeline is not made of valves
explanatory note: 1) This relation captures the continuous material composition of an entity rather than its structural or component assembly. It depends on the presence of some quantity of the material, not on the exact total amount. The identity of b remains unchanged when its portions are removed; only the quantity of the material within a varies. The relation continues to hold as long as any remainder of b remains materially present in a. 2) It applies to continuous substances or amounts of matter such as glass, steel, polymer, or wood. It should not be used for discrete parts, modules, or components such as wheels, valves, or bolts. The material may be homogeneous or composite; chemical uniformity is not required. 3) The relation has the following characteristics: irreflexive, asymmetric, non-functional, non-transitive
natural language definition: relation between material entity b and material entity that is not a fiat object c such that b has continuant part at some time c and if portion of c is removed from b, that portion stops being part of b, while the remaining c continues to exist as the same material entity and b remains to have continuant part c

is measured value of at some time
type: ObjectProperty
sub property of: is value expression of at some time
domain: value expression
range: BFO_0000001
example: '80kg' is the measured weight of a particular male human
natural language definition: relation from a value expression to the entity indicating that the value expression contains the value of the entity measured at some time t

is output of
type: ObjectProperty
sub property of: BFO_0000056
domain: BFO_0000002
range: BFO_0000015
example: wastestream is an output of a chemical manufacturing process; a certain quantity of toluene is an output of a toluene manufacturing process; a car is an output of a car manufacturing process
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/ExtendedRelationOntology
natural language definition: relation from someone or something physical or digital (continuant) to a process that it participates in such that it is generated or modified during the process, and it exists at the end of the process

is specified output of
type: ObjectProperty
sub property of: is output of
domain: BFO_0000002
range: planned process
example: antibody solution of 99.999% purity is the specified output of a biopharmaceutical production process; prediction of part porosity is a specified output of a simulation execution; temperature measurement result is the specified output of a temperature measurement process; a car is the specified output of a car manufacturing process
first order logic axiom: isSpecifiedOutputOf(y,x) → PlannedProcess(x) ∧ Continuant(y) ∧ ∃o(ObjectiveSpecification(o) ∧ prescribes(o,y) ∧ achievesAtSomeTime(x,o) ∧ hasOutput(x,y))
natural language definition: relation from someone or something physical or digital (continuant) to a planned process in which it is produced or modified as prescribed by some objective
semi formal natural language axiom: y 'has specified output' x holds when x is a 'planned process' and y is a 'continuant' and x 'has output' y and y is 'prescribed by' some 'objective specification' which x 'achieves at some time'
synonym: is intended output of

is subject of
type: ObjectProperty
domain: BFO_0000001
range: information content entity
example: temperature is subject of temperature recording; particular individual is subject of SSN; commercial service is subject of commercial service agreement
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
natural language definition: primitive, generic relationship between an entity and some information content entity

is temporally overlapped by
type: ObjectProperty
sub property of: topObjectProperty
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
inverse of: temporally overlaps
example: When two plates are being welded at a joint, the heating of current point being welded is temporally overlapped by the cooling of a previously welded point; the receiving process is temporally overlapped by the sending process in a transaction process; Sumerian civilization (c. 3500 BCE - c. 2000 BCE) in Mesopotamia was temporally overlapped by Ancient Egyptian civilization (c. 3000 BCE - 30 BCE).
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: isTemporallyOverlappedBy(x,y) ↔ temporallyOverlaps(y,x)
natural language definition: relation that holds between two intervals and processes i and j when the first instant of the temporal extent of j is earlier than and the last instant of the temporal extent of j is later than the first instant of the temporal extent of i, and the last instance of the temporal extent of j is earlier than the last instant of the temporal extent of i
semi formal natural language axiom: 'is temporally overlapped by' and 'temporally overlaps' are inverse relations

is value expression of at all times
type: ObjectProperty
sub property of: is value expression of at some time
domain: value expression
range: BFO_0000001
example: 3×10^8 m/s is the value expression of the speed of light in a vacuum; 1.602176634×10−19 coulombs is the value expression of the electric charge carried by a single proton
natural language definition: relation from a value expression to an entity indicating that the value expression contains the value of the entity which does not change during the entire existence of the entity

is value expression of at some time
type: ObjectProperty
sub property of: describes
domain: value expression
range: BFO_0000001
example: 1cm is the value expression of the diameter of a screw head that is specified in its design; 37C is the value expression of the temperature of a bioreactor measured during the production process; "low risk" is the value expression of a process parameter based on the risk analysis classification scheme; 3 g/l is the value expression of titer of an antibody generated by a process simulation
adapted from: http://purl.obolibrary.org/obo/OBI_0001938
natural language definition: relation from a value expression to the entity indicating that the value expression contains the value of the entity determined or set at some time t

measured by at some time
type: ObjectProperty
sub property of: topObjectProperty
domain: BFO_0000001
range: BFO_0000040
inverse of: measures at some time
example: the temperature within a production vessel is measured by a temperature sensor at certain points in time during a chemical production process; the weight of a material bulk is measured by a scale
natural language definition: relation from an entity to a material entity with a measurement capability that got realized to determine the value of the entity, at some time

measures at some time
type: ObjectProperty
sub property of: topObjectProperty
domain: BFO_0000040
range: BFO_0000001
example: a tempearture sensor measures the temperature within a production vessel at certain points in time during the chemical production process; a scale measures the weight of a material bulk
explanatory note: In this context, value is always determined relative to some classification scheme or on a quantitative scale
natural language definition: relation from a material entity to an entity indicating that the measurement capability of the material entity got realized to determine the value of the entity, at some time

meets
type: ObjectProperty
sub property of: BFO_0000063
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
inverse of: met by
example: When an item is placed on a moving conveyor by a robotic arm, the process of placing the item meets the process of moving the item; summer meets fall; January meets February; the Christmas holiday period meets New Year’s holiday period.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: LA1: meets(i,j) → (TemporalInterval(i) ∧ TemporalInterval(j)) ∨ (Process(i) ∧ Process(j))
first order logic axiom: LA2: TemporalInterval(i) ∧ TemporalInterval(j) ∧ meets(i,j) → ∃i1∃j1(TemporalInstant(i1) ∧ TemporalInstant(j1) ∧ hasLastInstant(i,i1) ∧ hasFirstInstant(j,j1) ∧ occursSimultaneouslyWith(i1,j1))
first order logic axiom: LA3: Process(i) ∧ Process(j) ∧ meets(i,j) → ∃i1∃j1(TemporalInterval(i1) ∧ TemporalInterval(j1) ∧ occupiesTemporalRegion(i,i1) ∧ occupiesTemporalRegion(j,j1) ∧ meets(i1,j1))
natural language definition: relation that holds between two intervals or processes i and j when the last instant of the temporal extent of i is the same as the first instant of the temporal extent of j
semi formal natural language axiom: LA1: If i 'meets' j then either both are 'temporal intervals' or both are 'process'
semi formal natural language axiom: LA2: If both i and j are 'temporal intervals' and i 'meets' j then the 'last instant of' i 'occurs simultaneously with' the 'first instant of' j
semi formal natural language axiom: LA3: If both i and j are 'process' and i 'meets' j then the 'temporal interval' that i occupies 'meets' the 'temporal interval' that j occupies

met by
type: ObjectProperty
sub property of: BFO_0000062
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
example: When an item is placed on a moving conveyor by a robotic arm, the process of moving of the item is met by the process of placing the item; fall is met by summer; February is met by January; the New Year’s holiday period is met by the Christmas holiday period.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: metBy(x,y) ↔ meets(y,x)
natural language definition: relation that holds between two intervals or processes i and j when the last instant of the temporal extent of j is the same as the first instant of the temporal extent of i
semi formal natural language axiom: 'met by' and 'meets' are inverse relations

observed by at some time
type: ObjectProperty
sub property of: topObjectProperty
domain: BFO_0000001
range: agent
inverse of: observes at some time
example: a chemical reaction in an experiment is observed by a scientist, a machining process is observed by an operator, a group of COVID patients are observed by a doctor
first order logic axiom: observedByAtSomeTime (y, x) → Agent(x) ∧ Entity(y) ∧ ∃p∃i(Process(p) ∧ InformationContentEntity(i) ∧ participatesInAtSomeTime(x,p) ∧ hasOutput(p,i) ∧ isAbout(i,y))
natural language definition: relation from an entity to an agent indicating that the agent participates in some process that outputs information about the entity, at some time
semi formal natural language axiom: p is observed by b at some time t holds when p is an 'entity' and b is an 'agent' and there is a 'process' in which b 'participates in at some time' and that 'has output' some 'information content entity' that 'is about' p

observes at some time
type: ObjectProperty
sub property of: topObjectProperty
domain: agent
range: BFO_0000001
example: a scientist observing a chemical reaction in an experiment, an operator observes a machining process, a doctor observes a group of COVID patients
explanatory note: this property was not put under participates in at some time because the target of observation can be continuant or an occurent and in the case of an occurent an agent that observes the occurent might not participate in that occurent
first order logic axiom: observesAtSomeTime (x, y) → Agent(x) ∧ Entity(y) ∧ ∃p∃i(Process(p) ∧ InformationContentEntity(i) ∧ participatesInAtSomeTime(x,p) ∧ hasOutput(p,i) ∧ isAbout(i,y))
natural language definition: relation from an agent to an entity indicating that the agent participates in some process that outputs information about the entity, at some time
semi formal natural language axiom: b observes p at some time t when b is an 'agent' and p is an 'entity and there is a 'process' in which b 'participates in at some time' and that 'has output' some 'information content entity' that 'is about' p

occurs during
type: ObjectProperty
type: TransitiveProperty
sub property of: topObjectProperty
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
example: The final inspection and removal of defective products occur during the product is being moved to the packaging station by a conveyor belt; a sensor measures the thickness of the wall during the sand-grinding process; turkey is traditionally served during dinners on Thanksgiving In the United States.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: LA1: occursDuring(i,j) → (TemporalInterval(i) ∧ TemporalInterval(j)) ∨ (Process(i) ∧ Process(j))
first order logic axiom: LA2: TemporalInterval(i) ∧ TemporalInterval(j) ∧ occursDuring(i,j) → ∃i1∃i2∃j1∃j2(TemporalInstant(i1) ∧ TemporalInstant(i2) ∧ TemporalInstant(j1) ∧ TemporalInstant(j2) ∧ hasFirstInstant(i,i1) ∧ hasLastInstant(i,i2) ∧ hasFirstInstant(j,j1) ∧ hasLastInstant(j,j2) ∧ precedes(j1,i1) ∧ precedes(i2,j2))
first order logic axiom: LA3: Process(i) ∧ Process(j) ∧ occursDuring(i,j) → ∃i1∃j1(TemporalInterval(i1) ∧ TemporalInterval(j1) ∧ occupiesTemporalRegion(i,i1) ∧ occupiesTemporalRegion(j,j1) ∧ occursDuring(i1,j1))
first order logic axiom: LA4: occursDuring(i,j) ↔ ∃k(temporallyFinishes(i,k) ∧ temporallyStarts(k,j))
natural language definition: relation that holds between two intervals or processes i and j when the first instant of the temporal extent of i is later than the first instant of the temporal extent of j and the last instant of the temporal extent of i is earlier than the last instant of the temporal extent of j
semi formal natural language axiom: LA1: If i 'occurs during' j then either both are 'temporal intervals' or both are 'process'
semi formal natural language axiom: LA2: If both i and j are 'temporal intervals' and i 'occurs during' j' then first instant of' j ‘precedes’ the 'first instant of' i and the 'last instant of' i ‘precedes’ the 'last instant of' j
semi formal natural language axiom: LA3: If both i and j are 'process' and i 'occurs during' j then the 'temporal interval' that i occupies 'occurs during' the 'temporal interval' that j occupies
semi formal natural language axiom: LA4: i 'occurs during' j if and only if there exists k such that i temporally finishes k and k temporally starts j

occurs simultaneously with
type: ObjectProperty
type: SymmetricProperty
type: TransitiveProperty
sub property of: topObjectProperty
domain: Class
  union of: BFO_0000015
  union of: BFO_0000035
  union of: BFO_0000202
  union of: BFO_0000203
range: Class
  union of: BFO_0000015
  union of: BFO_0000035
  union of: BFO_0000202
  union of: BFO_0000203
example: The rotation of the chuck in a lathe occurs simultaneously with the running of the motor.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: LA1: occursSimultaneouslyWith(i,j) → (TemporalInstant(i) ∧ TemporalInstant(j)) ∨ (TemporalInterval(i) ∧ TemporalInterval(j)) ∨ (Process(i) ∧ Process(j)) ∧ (ProcessBoundary(i) ∧ ProcessBoundary(j))
first order logic axiom: LA2: TemporalInstant(i) ∧ TemporalInstant(j) ∧ occursSimultaneouslyWith(i,j) → ∃k∃l(TemporalInstantValueExpression(k) ∧ TemporalInstantValueExpression(l) ∧ hasValueExpressionAtAllTimes(i,k) ∧ hasValueExpressionAtAllTimes(j,l) ∧ ∃v1∃v2(hasDateTimeInstantValue(k,v1) ∧ hasDateTimeInstantValue(l,v2) ∧ (v1 = v2)))
first order logic axiom: LA3: TemporalInterval(i) ∧ TemporalInterval(j) ∧ occursSimultaneouslyWith(i,j) → ∃i1∃i2∃j1∃j2(TemporalInstant(i1) ∧ TemporalInstant(j1) ∧ TemporalInstant(i2) ∧ TemporalInstant(j2) ∧ hasFirstInstant(i,i1) ∧ hasLastInstant(i,i2) ∧ hasFirstInstant(j,j1) ∧ hasLastInstant(j,j2) ∧ occursSimultaneouslyWith(i1,j1) ∧ occursSimultaneouslyWith(i2,j2))
first order logic axiom: LA4: Process(i) ∧ Process(j) ∧ occursSimultaneouslyWith(i,j) → ∃i1∃j1(TemporalInterval(i1) ∧ TemporalInterval(j1) ∧ occupiesTemporalRegion(i,i1) ∧ occupiesTemporalRegion(j,j1) ∧ occursSimultaneouslyWith(i1,j1))
first order logic axiom: LA5: ProcessBoundary(i) ∧ ProcessBoundary(j) ∧ occursSimultaneouslyWith(i,j) → ∃i1∃j1(TemporalInstant(i1) ∧ TemporalInstant(j1) ∧ occupiesTemporalRegion(i,i1) ∧ occupiesTemporalRegion(j,j1) ∧ occursSimultaneouslyWith(i1,j1))
natural language definition: relation that holds between two time instants when they are simultaneous or between two intervals when they have same first and last instants or between two processes or two process boundaries when their temporal extents are the same
semi formal natural language axiom: LA1: if i 'occurs simultaneously with' j then either i and j are both ‘temporal instant’, or both are ‘temporal interval’ or both are ‘process’ or both are ‘process boundary’
semi formal natural language axiom: LA2: If both i and j are both ‘temporal instant’ and i 'occurs simoultaneously with' j then 'temporal instant value expression' of i is equal to the 'temporal instant value expression' of j
semi formal natural language axiom: LA3: If i and j are both ‘temporal interval’ and i 'occurs simoultaneously with' j then the 'first instant of' i 'occurs simoultaneously with' the 'first instant of' j and the 'last instant of' i 'occurs simoultaneously with' the 'last instant of' j
semi formal natural language axiom: LA4: If both i and j are ‘process’ and i 'occurs simoultaneously with' j then the ‘temporal interval’ occupied by i ‘occurs simoultaneously with’ the ‘temporal interval’ occupied by j
semi formal natural language axiom: LA5: If i and j are both ‘process boundary’ and i 'occurs simoultaneously with' j then the ‘temporal instant’ that i occupies 'occurs simoultaneously with' ‘temporal instant’ that j occupies

prescribed by
type: ObjectProperty
sub property of: is subject of
domain: BFO_0000001
range: information content entity
inverse of: prescribes
example: some Artifact or Facility is modeled by a blueprint; a set of rules to be followed while acting in a role within a profession are prescribed by a professional code of conduct; tasks that need to be performed to achieve the Objectives of the Operation are prescribed by the Operation Plan
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
natural language definition: relation from an entity to an information content entity that the information content entity serves as a collection of rules or guide for if the entity is something that unfolds in time (occurrent), or as a model if the entity is someone or something physical or digital (continuant)

prescribes
type: ObjectProperty
sub property of: is about
domain: information content entity
range: BFO_0000001
example: a blueprint serves as a model of some Artifact or Facility; a professional code of conduct serves as a set of rules to be followed while acting in a role within that profession; an Operations Plan serves as a guide for the tasks that need to be performed to achieve the Objectives of the Operation
adapted from: http://www.ontologyrepository.com/CommonCoreOntologies/Mid/InformationEntityOntology
natural language definition: relation from an information content entity to an entity such that the information content entity serves as a collection of rules or guide for the entity if the entity is something that unfolds in time (occurrent), or as a model if the entity is someone or something physical or digital (continuant)

process characteristic of
type: ObjectProperty
sub property of: topObjectProperty
domain: process characteristic
range: BFO_0000015
example: The average flow rate is a process characteristic of the water flowing through a pipe during a given period, the total energy consumed is a process characteristic of the heating process, the peak temperature is a process characteristic of the batch sterilization process.
natural language definition: relation between a characteristic and the process it is a characteristic of

process profile of
type: ObjectProperty
sub property of: BFO_0000138
domain: process profile
range: BFO_0000015
example: pH profile is a process profile of culture growth, agitation speed profile is a process profile of a mixing process, tool vibration profile is a process profile of a engine running
adapted from: axiom label in BFO2 Reference (094-005) in http://purl.obolibrary.org/obo/BFO_0000144 from BFO 2.0
first order logic axiom: ∀x, y (processProfileOf(x,y) → (properOccurrentPartOf(x,y) ∧ ∃z, t (properOccurrentPartOf(z,y) ∧ TemporalRegion(t) ∧ occupiesSpatioTemporalRegion(x,t) ∧ occupiesSpatioTemporalRegion(y,t) ∧ occupiesSpatioTemporalRegion(z,t) ∧ ¬∃w(occurrentPartOf(w,x) ∧ occurrentPartOf(w,z)))))
natural language definition: relation that holds between a process profile and a process that it is part of such that the source process is a proper part of the target process and is temporally coextensive with another proper part of the target process that is mutually dependent on it and shares no parts with it.
semi formal natural language axiom: if x is 'process profile of' y, then x is a 'proper occurrent part of' y that shares a 'spatiotemporal region' with some other 'proper occurrent part' z of y such that x and z have no common 'occurrent part'

quality of
type: ObjectProperty
sub property of: BFO_0000197
domain: BFO_0000019
range: BFO_0000004
example: this red color is a quality of this apple
adapted from: http://purl.obolibrary.org/obo/RO_0000080
first order logic axiom: qualityOf(x,y) → Quality(x) ∧ IndependentContinuant(y) ∧ inheresIn(x,y)
natural language definition: relation from a quality to an independent continuant (the bearer), in which the quality specifically depends on the bearer for its existence
semi formal natural language axiom: x disposition of y holds when x is a 'quality' and y is a 'independent continuant' and x is 'inheres in' y

recognized by at some time
type: ObjectProperty
domain: BFO_0000001
range: agent
inverse of: recognizes at some time
example: a failure event is recognized by an operator that results in information about the event such as the time of occurrence and the description about the failure; a defect on a part is recognized by a quality control engineer that results in information about the defect such as the nature of the defect and the cause of the defect
natural language definition: relation from an entity to an agent that is able to describe the entity or is able to associate an information content entity that describes the entity, at some time

recognizes at some time
type: ObjectProperty
sub property of: topObjectProperty
domain: agent
range: BFO_0000001
example: operator recognizes a failure event that results in information about the event such as the time of occurrence and the description about the failure, a quality control engineer recognizes a defect on a part that results in information about the defect such as the nature of the defect and the cause of the defect
explanatory note: Recognition is preceded by an observation of an entity that is related to the entity being recognized or the entity being recognized is an entity that is an attribute of the entity being observed
explanatory note: this property was not put under participates in at some time because the target of recognition can be continuant or an occurent and in the case of an occurent an agent that recognizes the occurent might not participate in that occurent
natural language definition: relation from an agent to an entity that the agent is able to describe the entity or is able to associate an information content entity that describes the entity, at some time

requirement satisfied by
type: ObjectProperty
sub property of: topObjectProperty
domain: requirement specification
range: BFO_0000001
inverse of: satisfies requirement
example: a UML requirement specification is satisfied by a a piece of software; functional requirement specification of a car is satisfied by its desgn specification
natural language definition: relation from a requirement specification to an entity that conforms to the requirement specification

role of
type: ObjectProperty
sub property of: BFO_0000197
domain: BFO_0000023
range: BFO_0000004
example: this investigator role is a role of this person
adapted from: http://purl.obolibrary.org/obo/RO_0000081
first order logic axiom: roleOf(x,y) → Role(x) ∧ IndependentContinuant(y) ∧ inheresIn(x,y)
natural language definition: relation from a role to an independent continuant (the bearer), in which the role specifically depends on the bearer for its existence
semi formal natural language axiom: x disposition of y holds when x is a 'role' and y is a 'independent continuant' and x is 'inheres in' y

satisfies requirement
type: ObjectProperty
domain: BFO_0000001
range: requirement specification
example: a piece of software satisfies a UML requirement specification, a design specification of a car satisfies its functional requirement specification
natural language definition: relation from an entity to a requirement specification that the entity conforms to

temporally finished by
type: ObjectProperty
type: TransitiveProperty
sub property of: topObjectProperty
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
inverse of: temporally finishes
example: A delivery process is temporally finished by the generation of “proof of delivery”; a football match is temporally finished by the Referee’s final whistle; every week is temporally finished by a Sunday.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: temporallyFinishedBy(x,y) ↔ temporallyFinishes(y,x)
natural language definition: relation that holds between two intervals or processes i and j when the last instant of the temporal extent of j is the same as the last instant of the temporal extent of i and the first instant of i is precedes the first instant of j
semi formal natural language axiom: 'temporally finished by' and 'temporally finishes' are inverse relations

temporally finishes
type: ObjectProperty
type: TransitiveProperty
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
example: The generation of “proof of delivery” temporally finishes the delivery process; Referee’s final whistle temporally finishes the football match; Sunday temporally finishes the week.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: LA1: temporallyFinishes(i,j) → (TemporalInterval(i) ∧ TemporalInterval(j)) ∨ (Process(i) ∧ Process(j))
first order logic axiom: LA2: TemporalInterval(i) ∧ TemporalInterval(j) ∧ temporallyFinishes(i,j) → ∃i1∃i2∃j1∃j2(TemporalInstant(i1) ∧ TemporalInstant(i2) ∧ TemporalInstant(j1) ∧ TemporalInstant(j2) ∧ hasFirstInstant(i,i1) ∧ hasLastInstant(i,i2) ∧ hasFirstInstant(j,j1) ∧ hasLastInstant(j,j2) ∧ occursSimultaneouslyWith(i2,j2) ∧ precedes(j1,i1))
first order logic axiom: LA3: Process(i) ∧ Process(j) ∧ temporallyFinishes(i,j) → ∃i1∃j1(TemporalInterval(i1) ∧ TemporalInterval(j1) ∧ occupiesTemporalRegion(i,i1) ∧ occupiesTemporalRegion(j,j1) ∧ temporallyFinishes(i1,j1))
first order logic axiom: LA4: temporallyFinishes(i,j) ↔ ∃k∃l(meets(i,k)∧meets(j,k) ∧ before(l,i) ∧ meets(l,j))
natural language definition: relation that holds between two intervals or processes i and j when the last instant of the temporal extent of i is the same as the last instant of the temporal extent of j and the first instant of j is precedes the first instant of i
semi formal natural language axiom: LA1: If i 'temporally finishes' j then either both are 'temporal intervals' or both are 'process'
semi formal natural language axiom: LA2: If both i and j are 'temporal intervals' and i 'temporally finishes' j then the 'last instant’ of i ‘occurs simultaneously with’ the 'last instant of' j and the 'first instant of' j 'precedes' the 'first instant’ of i
semi formal natural language axiom: LA3: If both i and j are 'process' and i 'temporally finishes' j then the 'temporal interval' that i occupies 'temporally finishes' the 'temporal interval' that j occupies
semi formal natural language axiom: LA4: i 'temporally finishes' j if and only if there exists k such that i 'meets' k and j 'meets' k, and there exists l that is 'before' i and 'meets' j

temporally overlaps
type: ObjectProperty
sub property of: topObjectProperty
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
example: When two plates are being welded at a joint, the cooling of a previously welded point temporally overlaps the heating of the point which is currently being welded; the sending process temporally overlaps the receiving process in a transaction process; Ancient Egyptian civilization (c. 3000 BCE - 30 BCE) temporally overlapped the Sumerian civilization (c. 3500 BCE - c. 2000 BCE) in Mesopotamia and the Indus Valley Civilization (c. 2600 BCE - c. 1900 BCE) in South Asia.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: LA1: temporallyOverlaps(i,j) → (TemporalInterval(i) ∧ TemporalInterval(j)) ∨ (Process(i) ∧ Process(j))
first order logic axiom: LA2: TemporalInterval(i) ∧ TemporalInterval(j) ∧ temporallyOverlaps(i,j) → ∃i1∃i2∃j1∃j2(TemporalInstant(i1) ∧ TemporalInstant(i2) ∧ TemporalInstant(j1) ∧ TemporalInstant(j2) ∧ hasFirstInstant(i,i1) ∧ hasLastInstant(i,i2) ∧ hasFirstInstant(j,j1) ∧ hasLastInstant(j,j2) ∧ precedes(j1,i2) ∧ precedes(i1,j1) ∧ precedes(i2,j2))
first order logic axiom: LA3: Process(i) ∧ Process(j) ∧ temporallyOverlaps(i,j) → ∃i1∃j1(TemporalInterval(i1) ∧ TemporalInterval(j1) ∧ occupiesTemporalRegion(i,i1) ∧ occupiesTemporalRegion(j,j1) ∧ temporallyOverlaps(i1,j1))
first order logic axiom: LA4: temporallyOverlaps(i,j) ↔ ∃k(temporallyFinishes(k,i) ∧ starts(k,j))
natural language definition: relation that holds between two intervals and processes i and j when the first instant of the temporal extent of i is earlier than and the last instant of the temporal extent of i is later than the first instant of the temporal extent of j, and the last instance of the temporal extent of i is earlier than the last instant of the temporal extent of j
semi formal natural language axiom: LA1: If i 'temporally overlaps' j then either both are 'temporal intervals' or both are 'process'
semi formal natural language axiom: LA2: If both i and j are 'temporal intervals' and i 'temporally overlaps' j then the 'first instant’ of j ‘precedes’ the 'last instant of' i and the 'first instant of' i ‘precedes’ the 'first instant’ of j and the 'last instant of' i ‘precedes’ the 'last instant of' j
semi formal natural language axiom: LA3: If both i and j are 'process' and i 'temporally overlaps' j then the 'temporal interval' that i occupies 'temporally overlaps' the 'temporal interval' that j occupies
semi formal natural language axiom: LA4: i 'temporally overlaps' j if and only if there exists k that 'temporally finishes' i and 'temporally starts' j

temporally started by
type: ObjectProperty
type: TransitiveProperty
sub property of: topObjectProperty
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
inverse of: temporally starts
example: An internal combustion engine is temporally started (running) by the process of cranking; some machine is temporally started (running) by pressing a switch; every year is temporally started by the New Year’s Day.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: temporallyStartedBy(x,y) ↔ temporallyStarts(y,x)
natural language definition: relation that holds between two intervals or processes i and j when the first instant of the temporal extent of j is the same as first the instant of the temporal extent of i and the last instant of j precedes the last instant of i
semi formal natural language axiom: 'temporally started by' and 'temporally starts' are inverse relations

temporally starts
type: ObjectProperty
type: TransitiveProperty
domain: Class
  union of: BFO_0000015
  union of: BFO_0000202
range: Class
  union of: BFO_0000015
  union of: BFO_0000202
example: the process of cranking temporally starts (the running of) an internal combustion engine; the pressing of a switch temporally starts (the running of) some machine; the New Year’s Day temporally starts a year.
adapted from: https://dl.acm.org/doi/10.1145/182.358434
first order logic axiom: LA1: temporallyStarts(i,j) → (TemporalInterval(i) ∧ TemporalInterval(j)) ∨ (Process(i) ∧ Process(j))
first order logic axiom: LA2: TemporalInterval(i) ∧ TemporalInterval(j) ∧ temporallyStarts(i,j) → ∃i1∃i2∃j1∃j2(TemporalInstant(i1) ∧ TemporalInstant(i2) ∧ TemporalInstant(j1) ∧ TemporalInstant(j2) ∧ hasFirstInstant(i,i1) ∧ hasLastInstant(i,i2) ∧ hasFirstInstant(j,j1) ∧ hasLastInstant(j,j2) ∧ occursSimultaneouslyWith(i1,j1) ∧ precedes(i2,j2))
first order logic axiom: LA3: Process(i) ∧ Process(j) ∧ temporallyStarts(i,j) → ∃i1∃j1(TemporalInterval(i1) ∧ TemporalInterval(j1) ∧ occupiesTemporalRegion(i,i1) ∧ occupiesTemporalRegion(j,j1) ∧ temporallyStarts(i1,j1))
first order logic axiom: LA4: temporallyStarts(i,j) ↔ ∃k∃l(meets(k,i) ∧ meets(k,j) ∧ before(i,l) ∧ meets(j,l))
natural language definition: relation that holds between two intervals or processes i and j when the first instant of the temporal extent of i is the same as first the instant of the temporal extent of j and the last instant of i precedes the last instant of j
semi formal natural language axiom: LA1: If i 'temporally starts' j then either both are 'temporal intervals' or both are 'process'
semi formal natural language axiom: LA2: If both i and j are 'temporal intervals' and i 'temporally starts' j then the 'first instant’ of i ‘occurs simultaneously with’ the 'first instant of' j and the 'last instant of' i 'precedes' the 'last instant of' j
semi formal natural language axiom: LA3: If both i and j are 'process' and i 'temporally starts' j then the 'temporal interval' that i occupies 'temporally starts' the 'temporal interval' that j occupies
semi formal natural language axiom: LA4: i 'temporally starts' j if and only if there exists k that 'meets' i and j and there exists l such that i is 'before' l and j 'meets' l

Axiom
annotated property: wasDefinedBy
annotated source: input specification
was moved from: https://spec.industrialontologies.org/ontology/biopharma/ReferenceOntologyCandidates/
was moved on: 2026-03-13T12:41:00

Axiom
annotated property: wasDefinedBy
annotated source: output objective specification
was moved from: https://spec.industrialontologies.org/ontology/biopharma/ReferenceOntologyCandidates/
was moved on: 2026-03-13T12:41:00