Certification Ontology (CO)
type: Ontology
label: Certification Ontology
abstract: TBD
contributor: Ali Hasanzadeh, Arizona State University
creator: IOF Supply Chain Working Group
license: http://opensource.org/licenses/MIT
publisher: Industrial Ontology Foundry
imports: Core
version IRI: Certification
copyright: Copyright (c) 2022, 2023, 2024, 2025, 2026 Open Applications Group
maturity: Released

attesting agent
type: Class
subclass of: Agent
equivalent class: Class
  intersection of: Agent
  intersection of: Restriction
    on property: hasRole
    some values from: attesting agent role
first order logic definition: AttestingAgent(x) ↔ (Agent(x) ∧ ∃r (AttestingAgentRole(r) ∧ hasRole(x, r)))
natural language definition: agent that has an attesting agent role
semi formal natural language definition: x is an ‘attesting agent,’ if and only if x is an ‘agent’ and x ‘has role’ some ‘attesting agent role’

attesting agent role
type: Class
subclass of: AgentRole
equivalent class: Class
  intersection of: AgentRole
  intersection of: Restriction
    on property: roleOf
    some values from: Class
      intersection of: Agent
      intersection of: Class
        intersection of: Restriction
first order logic definition: AttestingAgentRole(x) ↔ (AgentRole(x) ∧ ∃ y,a,o (Agent(y) ∧ roleOf(x, y) ∧ CertifyingBody(o) ∧ actsOnBehalfOfAtSomeTime(y, o) ∧ AttestingProcess(a) ∧ participatesInAtSomeTime(y, a) ∧ realizes(a, x))
natural language definition: agent role held by an agent acting on behalf of some certifying body when it participates in an attesting process
semi formal natural language definition: x is an ‘attesting agent role,’ if and only if x is an ‘agent role’ and x is ‘role of’ some ‘agent’ y and y ‘acts on behalf of at some time’ some ‘certifying body’ and y ‘participates in at some time’ some ‘attesting process’ a and a ‘realizes’ x

attesting process
type: Class
subclass of: PlannedProcess
equivalent class: Class
  intersection of: PlannedProcess
  intersection of: Restriction
    on property: BFO_0000118
    some values from: Class
      intersection of: MeasurementProcess
      intersection of: Restriction
        on property: hasSpecifiedOutput
        some values from: Class
  intersection of: Restriction
    on property: prescribedBy
    some values from: PlanSpecification
explanatory note: Verification of whether the attributes satisfy the requirements is performed by measuring those attributes in a measurement process.
first order logic definition: AttestingProcess(x) ↔ (PlannedProcess(x) ∧ ∃p (PlanSpecification(p) ∧ prescribedBy(x, p)) ∧ ∃m,z,a,e,r (MeasurementProcess(m) ∧ hasProperOccurrentPart(x, m) ∧ MeasurementInformationContentEntity(z) ∧ hasSpecifiedOutput(m, z) ∧ (Quality(a) ∨ Capability(a) ∨ ProcessCharacteristic(a)) ∧ describes(z, a) ∧ Entity(e) ∧ (((Quality(a) ∨ Capability(a)) → inheresIn(a, e)) ∧ (ProcessCharacteristic(a) → hasProcessCharacteristic(e, a))) ∧ (((Quality(a) ∨ Capability(a)) → hasParticipantAtSomeTime(x, e)) ∧ (ProcessCharacteristic(a) → hasProperOccurrentPart(x, e))) ∧ RequirementSpecification(r) ∧ satisfiesRequirement(z, r) ∧ properContinuantPartOf(r, p)))
natural language definition: planned process to determine the value of one or more qualities, capabilities, and/or process characteristics of an entity of interest in order to verify that they satisfy some requirement specification prescribed by some standard
semi formal natural language definition: x is an attesting process if and only if x is a ‘planned process’ that is ‘prescribed by’ some ‘plan specification’ p, and x ‘has proper occurrent part’ some ‘measurement process’ that ‘has specified output’ some ‘measurement information content entity’ z that ‘describes’ some ‘quality,’ ‘capability,’ or ‘process characteristic’ that ‘inheres in’ or ‘has process characteristic’ one or more ‘entity’ e, where x ‘has participant at some time' or 'has proper occurrent part’ e, and z ‘satisfies requirement’ some ‘requirement specification’ that is ‘proper continuant part of at all times’ p

certificate
type: Class
subclass of: InformationContentEntity
equivalent class: Class
  intersection of: InformationContentEntity
  intersection of: Restriction
    on property: certifies
    some values from: Class
      intersection of: BFO_0000001
      intersection of: Class
        union of: Restriction
  intersection of: Restriction
    on property: isSpecifiedOutputOf
    some values from: certificate granting process
  intersection of: Restriction
    on property: satisfiesRequirement
    some values from: RequirementSpecification
first order logic definition: Certificate(x) ↔ (InformationContentEntity(x) ∧ ∃p,e,a,r (CertificateGrantingProcess(p) ∧ isSpecifiedOutputOf(x, p) ∧ Entity(e) ∧ RequirementSpecification(r) ∧ (Quality(a) ∨ Capability(a) ∨ ProcessCharacteristic(a)) ∧ ((Quality(a) → hasQuality(e, a)) ∧ (Capability(a) → hasDisposition(e, a)) ∧ (ProcessCharacteristic(a) → hasProcessCharacteristic(e, a))) ∧ certifies(x, e) ∧ SatisfiesRequirement(a, r)))
natural language definition: information content entity that can serve as proof that one or more attesting processes took place to verify that one or more entities satisfy certain requirement specifications
semi formal natural language definition: x is a ‘certificate,’ if and only if x is an ‘information content entity’ and x ‘is specified output’ of some ‘certificate granting process’ and x ‘certifies’ some ‘entity’ that ‘has quality,’ ‘has disposition,’ or ‘has process characteristic’ some ‘quality,’ ‘capability,’ or ‘process characteristic’ a and a ‘satisfies requirement’ some ‘requirement specification’

certificate granting process
type: Class
subclass of: PlannedProcess
equivalent class: Class
  intersection of: PlannedProcess
  intersection of: Restriction
    on property: BFO_0000062
    some values from: attesting process
  intersection of: Restriction
    on property: hasSpecifiedOutput
    some values from: certificate
  intersection of: Restriction
    on property: prescribedBy
    some values from: PlanSpecification
first order logic definition: CertificateGrantingProcess(x) ↔ (PlannedProcess(x) ∧ ∃ p,c,e,a (PlanSpecification(p) ∧ prescribedBy(x, p) ∧ Certificate(c) ∧ hasSpecifiedOutput(x, c) ∧ Entity(e) ∧ certifies(c, e) ∧ AttestingProcess(a) ∧ precededBy(x, a) ∧ attestsTo(a, c)))
natural language definition: planned process of granting a certificate for an entity of interest, preceded by the attestation of that entity
semi formal natural language definition: x is a ‘certificate granting process’ if and only if x is a ‘planned process’ that is ‘prescribed by’ some ‘plan specification,’ and x ‘has specified output’ some ‘certificate’ c and c ‘certifies’ some ‘entity’ e and x is ‘preceded by’ some ‘attesting process’ a and a ‘attests to’ c

certifying body
type: Class
subclass of: Organization
equivalent class: Class
  intersection of: Organization
  intersection of: Restriction
    on property: hasRole
    some values from: certifying body role
first order logic definition: CertifyingBody(x) ↔ (Organization(x) ∧ ∃r (CertifyingBodyRole(r) ∧ hasRole(x, r)))
natural language definition: organization that has a certifying body role
semi formal natural language definition: x is a ‘certifying body,’ if and only if x is an ‘organization’ that ‘has role’ some ‘certifying body role’

certifying body role
type: Class
subclass of: BFO_0000023
equivalent class: Class
  intersection of: BFO_0000023
  intersection of: Class
    intersection of: Restriction
      on property: BFO_0000056
      some values from: certificate granting process
    intersection of: Restriction
      on property: roleOf
      some values from: Organization
first order logic definition: CertifyingBodyRole(x) ↔ (Role(x) ∧ ∃ o,c (Organization(o) ∧ hasRole(o, x) ∧ CertificateGrantingProcess(c) ∧ participatesIn(o, c) ∧ realizes(c, x)))
natural language definition: role held by an organization that participates in some certificate granting process
semi formal natural language definition: x is a ‘certifying body role’ if and only if x is a ‘role,’ and x is the ‘role of’ an ‘organization’ o when o ‘participates in’ some ‘certificate granting process’ c and c ‘realizes’ x

attests to
type: ObjectProperty
domain: attesting process
range: certificate
natural language definition: relationship from an attesting process to a certificate

certificate granted by
type: ObjectProperty
domain: certificate
range: certifying body
natural language definition: relationship from a certificate to a certifying body that holds when the certifying body issues the certificate as a specified output of some certificate granting process

certifies
type: ObjectProperty
domain: certificate
range: BFO_0000001
inverse of: has certificate
natural language definition: relationship from a certificate to an entity that holds when the certificate has been granted by a certifying body that has participated in a certificate granting process

has certificate
type: ObjectProperty
domain: BFO_0000001
range: certificate
natural language definition: relationship from an entity to a certificate that holds when the certificate has been granted by a certifying body that has participated in a certificate granting process