Constant list
type: AnnotationProperty
comment: If true, create an enum list.

domainEntity
type: AnnotationProperty
comment: If true, indicates that the term corresponds to a domain entity. Software automation tools should create a specific entity.

replacementOf
type: AnnotationProperty
comment: If specified, create the entity name according to the value of this property. E.g. for sbol3:SBOLActivity otol:replacementOf prov:Activity, create the entities using the Activity name only.

Vocabulary
type: AnnotationProperty
comment: If true, an object should be created for the container class.

built
type: ObjectProperty
type: FunctionalProperty
domain: Implementation
range: Component
comment: The built property is OPTIONAL and MAY contain a IRI that MUST refer to a Component. This Component is intended to describe the actual physical structure and/or functional behavior of the Implementation.

cardinality
type: ObjectProperty
type: FunctionalProperty
domain: VariableFeature
range: Class
  union of: one
  union of: OneOrMore
  union of: zeroOrMore
  union of: zeroOrOne
comment: The cardinality property is REQUIRED and has type of IRI. This property specifies how many Feature objects SHOULD be derived from the template Feature during the derivation of a new Component.

comprises
type: ObjectProperty
type: TransitiveProperty
comment: The comprises property can be used to express parent-child compositional relationships as a custom approach if needed.

definition
type: ObjectProperty
type: FunctionalProperty
domain: ExternallyDefined
comment: The definition property is REQUIRED and is of type IRI that links to a canonical definition external to SBOL.

directlyComprises
type: ObjectProperty
sub property of: comprises
comment: Subclass of comprises that is used to express direct parent-child compositional relationships.

encoding
type: ObjectProperty
type: FunctionalProperty
domain: Sequence
comment: The encoding property has a data type of IRI, and is OPTIONAL unless elements is set, in which case it is REQUIRED.

format
type: ObjectProperty
type: FunctionalProperty
domain: Attachment
comment: The format property is OPTIONAL and MAY contain a IRI that specifies the format of the attached file. It is RECOMMENDED that this IRI refer to a term from the EMBRACE Data and Methods (EDAM) ontology

framework
type: ObjectProperty
type: FunctionalProperty
domain: Model
comment: The framework property is REQUIRED and MUST contain a IRI that specifies the framework in which the model is implemented. It is RECOMMENDED this IRI refer to a term from the modeling framework branch of the SBO when possible.

hasAttachment
type: ObjectProperty
domain: TopLevel
range: Attachment
comment: A TopLevel object can have zero or more hasAttachment properties, each of type IRI specifying an Attachment object.

hasConstraint
type: ObjectProperty
sub property of: directlyComprises
domain: Component
range: Constraint
comment: A Component MAY have any number of hasConstraint properties, each of type IRI, that MUST reference a Constraint object.

hasFeature
type: ObjectProperty
sub property of: directlyComprises
domain: Component
range: Feature
comment: A Component MAY have any number of hasFeature properties, each of type IRI that MUST reference a Feature object

hasInteraction
type: ObjectProperty
sub property of: directlyComprises
domain: Component
range: Interaction
comment: A Component MAY have any number of hasInteraction properties, each of type IRI, that MUST reference an Interaction object.

hasInterface
type: ObjectProperty
sub property of: directlyComprises
type: FunctionalProperty
domain: Component
range: Interface
comment: A Component MAY have zero or one hasInterface property of type IRI that MUST reference an Interface object.

hasLocation
type: ObjectProperty
sub property of: directlyComprises
domain: Class
  union of: LocalSubComponent
  union of: SequenceFeature
  union of: SubComponent
range: Location
comment: A SubComponent MAY have any number of hasLocation properties, each of type IRI, that MUST refer to Location objects that indicates the location of the Sequence from the instanceOf Component in a Sequence of the parent Component. A LocalSubComponent MAY have any number of hasLocation properties, each of type IRI, that MUST refer to Location objects. In SequenceFeature, the hasLocation is REQUIRED and contains one or more IRIs, which MUST refer to Location objects.

hasMeasure
type: ObjectProperty
sub property of: directlyComprises
domain: Identified
range: SBOL Measure
range: Measure

hasModel
type: ObjectProperty
domain: Component
range: Model
comment: A Component MAY have any number of hasModel properties, each of type IRI, that MUST reference a Model object.

hasNamespace
type: ObjectProperty
type: FunctionalProperty
domain: TopLevel
comment: A TopLevel object MUST have precisely one hasNamespace property, which contains a URL that defines the namespace portion of URLs for this object and any child objects.

hasParticipation
type: ObjectProperty
sub property of: directlyComprises
domain: Interaction
range: Participation
comment: An Interaction MAY have any number of hasParticipation properties, each of type IRI, that MUST reference a Participation object, each of which identifies the role that its referenced Feature plays in the Interaction.

hasSequence
type: ObjectProperty
domain: Class
  union of: Component
  union of: Location
range: Sequence
comment: This property can be used in a Component or Location. A Component MAY have any number of hasSequence properties, each of type IRI, that MUST reference a Sequence object. In a Location, the hasSequence property is REQUIRED and MUST contain the IRI of a Sequence object.

hasVariableFeature
type: ObjectProperty
sub property of: directlyComprises
domain: CombinatorialDerivation
range: VariableFeature
comment: A CombinatorialDerivation object can have zero or more hasVariableFeature properties, each of type IRI, specifying a VariableFeature. The set of hasVariableFeature properties MUST NOT contain two or more VariableFeature objects that refer to the same template.

higherOrderParticipant
type: ObjectProperty
type: FunctionalProperty
domain: Participation
range: Interaction
comment: The higherOrderParticipant property indicates an Interaction object that plays the designated role in its parent Interaction object. Precisely one value MUST be specified for precisely one of participant or higherOrderParticipant.

inChildOf
type: ObjectProperty
type: FunctionalProperty
domain: ComponentReference
range: SubComponent

input
type: ObjectProperty
domain: Interface
range: Feature
comment: An Interface MAY have any number of input properties, each of type IRI, that MUST reference a Feature object in the same Component.

instanceOf
type: ObjectProperty
type: FunctionalProperty
domain: SubComponent
range: Component
comment: The instanceOf property is a REQUIRED IRI that refers to the Component providing the definition for this SubComponent.

language
type: ObjectProperty
type: FunctionalProperty
domain: Model
comment: The language property is REQUIRED and MUST contain a IRI that specifies the language in which the model is implemented. It is RECOMMENDED that this IRI refer to a term from the EMBRACE Data and Methods (EDAM) ontology.

member
type: ObjectProperty
domain: Collection
range: TopLevel
comment: A Collection object can have zero or more member properties, each of type IRI specifying a TopLevel object.

nondirectional
type: ObjectProperty
domain: Interface
range: Feature
comment: An Interface MAY have any number of nondirectional properties, each of type IRI, that MUST reference a Feature object in the same Component.

object
type: ObjectProperty
type: FunctionalProperty
domain: Constraint
range: Feature
comment: The object property is REQUIRED and MUST contain a IRI that refers to a Feature contained by the same parent Component that contains the Constraint. This Feature MUST NOT be the same Feature that the Constraint refers to via its subject property.

orientation
type: ObjectProperty
type: FunctionalProperty
domain: Class
  union of: Feature
  union of: Location
range: Orientation
comment: The orientation property is OPTIONAL and has a data type of IRI.

output
type: ObjectProperty
domain: Interface
range: Feature
comment: An Interface MAY have any number of output properties, each of type IRI, that MUST reference a Feature object in the same Component.

participant
type: ObjectProperty
type: FunctionalProperty
domain: Participation
range: Feature
comment: The participant property indicates a Feature object that plays the designated role in its parent Interaction object. Precisely one value MUST be specified for precisely one of participant or higherOrderParticipant.

refersTo
type: ObjectProperty
type: FunctionalProperty
domain: ComponentReference
range: Feature
comment: The refersTo property is a REQUIRED IRI that refers to a Feature.

restriction
type: ObjectProperty
type: FunctionalProperty
domain: Constraint
comment: The restriction property is REQUIRED and has a data type of IRI. This property MUST indicate the type of restriction on the locations, orientations, or identities of the subject and object Feature objects in relation to each other.

role
type: ObjectProperty
domain: Class
  union of: Component
  union of: Feature
  union of: Participation
comment: This property can be used in a Component, Feature or Participation. A Component MAY have any number of role properties, each of type IRI, that MUST identify terms from ontologies that are consistent with the type property of the Component. Each Feature can have zero or more role property IRIs describing the purpose or potential function of this Feature in the context of its parent Component. A Participation is REQUIRED to have one or more role properties, each of type IRI, that describes the behavior of a Participation (and by extension its referenced Feature) in the context of its parent Interaction.

roleIntegration
type: ObjectProperty
type: FunctionalProperty
domain: SubComponent
comment: A roleIntegration specifies the relationship between a SubComponent instance's own set of role properties and the set of role properties on the included Component.

source
type: ObjectProperty
type: FunctionalProperty
domain: Class
  union of: Attachment
  union of: Model
comment: The source property is REQUIRED and MUST contain a IRI reference to the source file.

sourceLocation
type: ObjectProperty
sub property of: directlyComprises
domain: SubComponent
range: Location
comment: The sourceLocation property allows for only a portion of a Component's Sequence to be included, rather than its entirety.

strategy
type: ObjectProperty
type: FunctionalProperty
domain: CombinatorialDerivation
range: Class
  union of: enumerate
  union of: sample
comment: The strategy property is OPTIONAL and has a data type of IRI.

subject
type: ObjectProperty
type: FunctionalProperty
domain: Constraint
range: Feature
comment: The subject property is REQUIRED and MUST contain a IRI that refers to a Feature contained by the same parent Component that contains the Constraint.

template
type: ObjectProperty
type: FunctionalProperty
domain: CombinatorialDerivation
range: Component
comment: The template property is REQUIRED and MUST contain a IRI that refers to a Component.

type
type: ObjectProperty
domain: Class
  union of: Component
  union of: ExternallyDefined
  union of: Interaction
  union of: LocalSubComponent
  union of: SBOL Activity
  union of: SBOL Measure
comment: A Component MUST have one or more type properties, each of type IRI specifying the category of biochemical or physical entity (for example DNA, protein, or simple chemical) that a Component object abstracts for the purpose of engineering design

variable
type: ObjectProperty
type: FunctionalProperty
domain: VariableFeature
range: Feature
comment: The variable property is REQUIRED and MUST contain a IRI that refers to a template Feature in the template Component referred to by this VariableFeature's parent CombinatorialDerivation

variant
type: ObjectProperty
domain: VariableFeature
range: Component
comment: A VariableFeature object can have zero or more variant properties, each of type IRI, specifying a Component object. This property specifies individual Component objects to serve as options when deriving a new Feature for the variable Feature from the template.

variantCollection
type: ObjectProperty
domain: VariableFeature
range: Collection
comment: A VariableFeature object can have zero or more variantCollection properties, each of type IRI, specifying a Collection object. Such a Collection MUST NOT contain any objects besides Component objects or Collection objects that themselves contain only Component or Collection objects. This property enables the specification of existing groups of Component objects to serve as options.

variantDerivation
type: ObjectProperty
domain: VariableFeature
range: CombinatorialDerivation
comment: A VariableFeature object can have zero or more variantDerivation properties, each of type IRI, specifying a CombinatorialDerivation object. This property enables the specification of Component objects derived in accordance with another CombinatorialDerivation to serve as options when deriving a new Feature for the variable Feature from the template.

variantMeasure
type: ObjectProperty
domain: VariableFeature
range: Measure
comment: A VariableFeature object can have zero or more variantMeasure properties, each of type IRI, specifying a om:Measure object. This property specifies numerical values that are options to be applied to the variable Feature from the template when deriving a new Component.

hasBase
type: ObjectProperty
type: FunctionalProperty
domain: UnitExponentiation
range: Unit
comment: The om:hasBase property is REQUIRED and MUST contain a IRI that refers to another om:Unit.

hasDenominator
type: ObjectProperty
type: FunctionalProperty
domain: UnitDivision
range: Unit
comment: The om:hasDenominator property is REQUIRED and MUST contain a IRI that refers to another om:Unit.

hasNumerator
type: ObjectProperty
type: FunctionalProperty
domain: UnitDivision
range: Unit
comment: The om:hasNumerator property is REQUIRED and MUST contain a IRI that refers to another om:Unit.

hasPrefix
type: ObjectProperty
type: FunctionalProperty
domain: PrefixedUnit
range: Prefix
comment: The om:hasPrefix property is REQUIRED and MUST contain a IRI that refers to a om:Prefix.

hasTerm1
type: ObjectProperty
type: FunctionalProperty
domain: UnitMultiplication
range: Unit
comment: The om:hasTerm1 property is REQUIRED and MUST contain a IRI that refers to another om:Unit. This om:Unit is the first multiplication term.

hasTerm2
type: ObjectProperty
type: FunctionalProperty
domain: UnitMultiplication
range: Unit
comment: The om:hasTerm2 property is REQUIRED and MUST contain a IRI that refers to another om:Unit. This om:Unit is the second multiplication term. It is okay if the om:Unit referred to by om:hasTerm1 is the same as that referred to by om:hasTerm2.

hasUnit
type: ObjectProperty
type: FunctionalProperty
domain: Class
  union of: Measure
  union of: PrefixedUnit
  union of: SingularUnit
range: Unit
comment: This property can be used in a Measure, SingularUnit or PrefixedUnit. For Measure and PrefixedUnit, the om:hasUnit property is REQUIRED and MUST contain a IRI that refers to a om:Unit. For SingularUnit, the om:hasUnit is OPTIONAL and MAY contain a IRI.

agent
type: ObjectProperty
type: FunctionalProperty
domain: Association
range: Agent
comment: The prov:agent property is REQUIRED and MUST contain a IRI that refers to an prov:Agent object.

entity
type: ObjectProperty
type: FunctionalProperty
domain: Usage
comment: The prov:entity property is REQUIRED and MUST contain a IRI which MAY refer to an Identified object.

hadPlan
type: ObjectProperty
type: FunctionalProperty
domain: Association
range: Plan
comment: The prov:hadPlan property is OPTIONAL and contains a IRI that refers to a prov:Plan.

hadRole
type: ObjectProperty
domain: Class
  union of: Association
  union of: Usage
comment: An prov:Usage MAY have one or more prov:hadRole properties, each of type IRI that refers to particular term(s) describing the usage of an prov:Entity referenced by the prov:entity property.

qualifiedAssociation
type: ObjectProperty
domain: Activity
range: Association
comment: An prov:Activity MAY have one or more prov:qualifiedAssociation properties, each of type IRI that refers to an prov:Association object.

qualifiedUsage
type: ObjectProperty
domain: Activity
range: Usage
comment: An prov:Activity MAY have one or more prov:qualifiedUsage properties, each of type IRI that refers to an prov:Usage object.

wasDerivedFrom
type: ObjectProperty
domain: Identified
range: Thing
comment: An Identified object MAY have zero or more prov:wasDerivedFrom properties, each of type IRI. This property is defined by the PROV-O ontology and is located in the https://www.w3.org/ns/prov# namespace

wasGeneratedBy
type: ObjectProperty
domain: Identified
range: SBOL Activity
comment: An Identified object MAY have zero or more prov:wasGeneratedBy properties, each of type IRI.

wasInformedBy
type: ObjectProperty
domain: Activity
range: Activity
comment: An prov:Activity MAY have one or more prov:wasInformedBy properties, each of type IRI that refers to another prov:Activity object.

at
type: DatatypeProperty
type: FunctionalProperty
domain: Cut
range: Datatype
  on datatype: integer
  with restrictions:
    min inclusive: 0
comment: The at property is REQUIRED and MUST contain an Integer value greater than or equal to zero. The region specified by the Cut is between the position specified by this property and the position that immediately follows it. When the at property is equal to zero, the specified region is immediately before the first discrete position or character in the elements String of a Sequence.

description
type: DatatypeProperty
type: FunctionalProperty
domain: Identified
range: string
comment: The description property is OPTIONAL and has a data type of String. This property is intended to contain a more thorough text description of an Identified object.

displayId
type: DatatypeProperty
type: FunctionalProperty
domain: Identified
range: string
comment: The displayId property is an OPTIONAL identifier with a data type of String. This property is intended to be an intermediate between a IRI and the name property that is machine-readable, but more human-readable than the full IRI of an object

elements
type: DatatypeProperty
type: FunctionalProperty
domain: Sequence
range: string
comment: The elements property is an OPTIONAL String of characters that represents the constituents of a biological or chemical molecule.

end
type: DatatypeProperty
type: FunctionalProperty
domain: Range
range: Datatype
  on datatype: integer
  with restrictions:
    min inclusive: 1
comment: The end property specifies the inclusive ending position of the Range. This property is REQUIRED and MUST contain an Integer value greater than zero. In addition, this Integer value MUST be greater than or equal to that of the start property.

hash
type: DatatypeProperty
type: FunctionalProperty
domain: Attachment
range: string
comment: The hash property is OPTIONAL and MAY contain a hash value for the file contents represented as a hexadecimal digest.

hashAlgorithm
type: DatatypeProperty
type: FunctionalProperty
domain: Attachment
range: string
comment: The hashAlgorithm property is OPTIONAL and MAY contain the name of the hash algorithm used to generate the value of the hash property. The value of this property SHOULD be a hash name string from the IANA Named Information Hash Algorithm Registry, of which sha3-256 is currently RECOMMENDED. If the hash property is set, then hashAlgorithm MUST be set as well.

name
type: DatatypeProperty
type: FunctionalProperty
domain: Identified
range: string
comment: The name property is OPTIONAL and has a data type of String. This property is intended to be displayed to a human when visualizing an Identified object.

order
type: DatatypeProperty
type: FunctionalProperty
domain: Location
range: Datatype
  on datatype: integer
  with restrictions:
    min inclusive: 1
comment: The order property is OPTIONAL and has a data type of Integer. If there are multiple Location objects associated with a Feature, the order property is used to specify the order (in increasing value) in which the specified Locations are to be joined to form the sequence of the Feature.

size
type: DatatypeProperty
type: FunctionalProperty
domain: Attachment
range: Datatype
  on datatype: integer
  with restrictions:
    min inclusive: 0
comment: The size property is OPTIONAL and MAY contain a long indicating the file size in bytes.

start
type: DatatypeProperty
type: FunctionalProperty
domain: Range
range: Datatype
  on datatype: integer
  with restrictions:
    min inclusive: 1
comment: The start property specifies the inclusive starting position of the Range. This property is REQUIRED and MUST contain an Integer value greater than zero.

alternativeLabel
type: DatatypeProperty
domain: Class
  union of: Prefix
  union of: Unit
range: string
comment: This property can be used in a Unit or Prefix. The om:alternativeLabel property is OPTIONAL and MAY contain a set of Strings. This property can be used to specify alternative common names other than that specified using om:label property.

alternativeSymbol
type: DatatypeProperty
domain: Class
  union of: Prefix
  union of: Unit
range: string
comment: This property can be used in a Unit or Prefix. The om:alternativeSymbol property is OPTIONAL and MAY contain a set of Strings. This property can be used to specify alternative abbreviations other than that specified using the om:symbol property

hasExponent
type: DatatypeProperty
type: FunctionalProperty
domain: UnitExponentiation
range: integer
comment: The om:hasExponent property is REQUIRED and MUST contain an xsd:integer.

hasFactor
type: DatatypeProperty
domain: Class
  union of: Prefix
  union of: SingularUnit
range: decimal
comment: This property can be used in a SingularUnit or Prefix. For SingularUnit, the om:hasFactor property is OPTIONAL and MAY contain a xsd:float. If the om:hasFactor property of a om:SingularUnit is non-empty, then its om:hasUnit property SHOULD also be non-empty. For Prefix, The om:hasFactor property is REQUIRED and MUST contain an xsd:float.

hasNumericalValue
type: DatatypeProperty
type: FunctionalProperty
domain: Measure
range: decimal
comment: The om:hasNumericalValue property is REQUIRED and MUST contain a single xsd:float.

longComment
type: DatatypeProperty
type: FunctionalProperty
domain: Class
  union of: Prefix
  union of: Unit
range: string
comment: This property can be used in a Unit or Prefix. The om:longcomment property is OPTIONAL and MAY contain a String. This String is a long description of the unit of measure and SHOULD be longer than any String contained by the om:comment property.

symbol
type: DatatypeProperty
type: FunctionalProperty
domain: Class
  union of: Prefix
  union of: Unit
range: string
comment: This property can be used in a Unit or Prefix. The om:symbol property is REQUIRED and MUST contain a String. This String is commonly used to abbreviate the name of the unit of measure or prefix.

endedAtTime
type: DatatypeProperty
type: FunctionalProperty
domain: Activity
range: dateTime
comment: The prov:endedAtTime property is OPTIONAL and contains a DateTime value, indicating when the activity ended.

startedAtTime
type: DatatypeProperty
type: FunctionalProperty
domain: Activity
range: dateTime
comment: The prov:startedAtTime property is OPTIONAL and contains a DateTime value, indicating when the activity started. If this property is present, then the prov:endedAtTime property is REQUIRED.

Attachment
type: Class
subclass of: TopLevel
subclass of: Restriction
  on property: source
  some values from: Thing
domainEntity: true
comment: The purpose of the Attachment class is to serve as a general container for data files, especially experimental data files. It provides a means for linking files and metadata to SBOL designs.

BiochemicalReactionInteraction
type: Class
equivalent class: Class
  intersection of: Interaction
  intersection of: Restriction
    on property: type
    some values from: biochemical reaction
  intersection of: Restriction
    on property: hasParticipation
    min qualified cardinality: 0
    on class: ModifiedParticipation
  intersection of: Restriction
    on property: hasParticipation
    min qualified cardinality: 0
    on class: ModifierParticipation
  intersection of: Restriction
    on property: hasParticipation
    min qualified cardinality: 0
    on class: ProductParticipation
  intersection of: Restriction
    on property: hasParticipation
    min qualified cardinality: 0
    on class: ReactantParticipation
subclass of: Interaction
domainEntity: true
comment: Represents a biochemical reaction interaction, with the type of SBO:biochemical_reaction, that involves zero or more modifier, modified, product, and reactant participations.

CDS DNA Component
type: Class
equivalent class: Class
  intersection of: DNA Component
  intersection of: Restriction
    on property: role
    some values from: CDS
subclass of: DNA Component
domainEntity: true
comment: Represents a coding sequence DNA component, with the role of SO:CDS.

Cardinality
type: Class
equivalent class: Class
  union of: one
  union of: OneOrMore
  union of: zeroOrMore
  union of: zeroOrOne
subclass of: SBOL Term
Constant list: true
comment: Provides a controlled vocabulary for describing restrictions between pairs of Feature objects, including identity, topology, sequence order, and orientation relationships.

Collection
type: Class
subclass of: TopLevel
domainEntity: true
comment: The Collection class is a class that groups together a set of TopLevel objects that have something in common.

CombinatorialDerivation
type: Class
subclass of: TopLevel
subclass of: Restriction
  on property: template
  some values from: Component
domainEntity: true
comment: The purpose of the CombinatorialDerivation class is to specify combinatorial biological designs without having to specify every possible design variant.

CombinatorialDerivationStrategy
type: Class
equivalent class: Class
  union of: enumerate
  union of: sample
subclass of: SBOL Term
Constant list: true
comment: Controlled vocabulary for the strategies that can be used to derive new Components from a template Component.

Component
type: Class
subclass of: TopLevel
subclass of: Restriction
  on property: type
  some values from: Component Type
subclass of: Restriction
  on property: type
  some values from: Thing
subclass of: Restriction
  on property: type
  max qualified cardinality: 1
  on class: Component Type
domainEntity: true
comment: The Component class represents the structural and/or functional entities of a biological design. The primary usage of this class is to represent entities with designed sequences, such as DNA, RNA, and proteins, but it can also be used to represent any other entity that is part of a design, such as simple chemicals, molecular complexes, strains, media, light, and abstract functional groupings of other entities.

ComponentReference
type: Class
subclass of: Feature
subclass of: Restriction
  on property: inChildOf
  some values from: SubComponent
subclass of: Restriction
  on property: refersTo
  some values from: Feature
domainEntity: true
comment: The ComponentReference class is a subclass of Feature that can be used to reference Features within SubComponents.

Component Role
type: Class
subclass of: SBOLValue
comment: Controlled vocabulary for the roles that a Component can play in a design. The value of a Component's role property must be an instance of a class that is a subclass of ComponentRole.

Component Type
type: Class
equivalent class: Class
  union of: Component Type
  union of: single
  union of: double
  union of: linear
  union of: circular
equivalent class: Class
  union of: functional entity
  union of: simple chemical
  union of: ribonucleic acid
  union of: deoxyribonucleic acid
  union of: polypeptide chain
  union of: non-covalent complex
subclass of: SBOLValue
subclass of: physical entity representation
Constant list: true
comment: Controlled vocabulary for the types of physical entities that can be represented in SBOL. The value of a Component's type property must be an instance of a class that is a subclass of ComponentType.

Constraint
type: Class
subclass of: Identified
subclass of: Restriction
  on property: object
  some values from: Feature
subclass of: Restriction
  on property: restriction
  some values from: Thing
subclass of: Restriction
  on property: subject
  some values from: Feature
domainEntity: true
comment: The Constraint class can be used to assert restrictions on the relationships of pairs of Feature objects contained by the same parent Component. Uses of this class include expressing containment (e.g., a plasmid transformed into a chassis strain), identity mappings (e.g., replacing a placeholder value with a complete definition), and expressing relative, sequence-based positions (e.g., the ordering of features within a template).

ConstraintRestriction
type: Class
subclass of: SBOL Term
Constant list: true
comment: Controlled vocabulary for the types of restrictions that can be expressed in a Constraint. The value of a Constraint's restriction property must be an instance of a class that is a subclass of ConstraintRestriction. Subclasses of ConstraintRestriction include IdentityRestriction, TopologyRestriction, SequentialRestriction, and OrientationRestriction.

ControlInteraction
type: Class
equivalent class: Class
  intersection of: Interaction
  intersection of: Restriction
    on property: hasParticipation
    some values from: ModifiedParticipation
  intersection of: Restriction
    on property: hasParticipation
    some values from: ModifierParticipation
  intersection of: Restriction
    on property: type
    some values from: control
subclass of: Interaction
domainEntity: true
comment: Represents a control interaction, with the type of SBO:control, that involves at least one modifier participation and at least one modified participation.

Cut
type: Class
subclass of: Location
subclass of: Restriction
  on property: at
  some values from: Datatype
    on datatype: integer
    with restrictions:
      min inclusive: 0
domainEntity: true
comment: The Cut class has been introduced to enable the specification of a region between two discrete positions. This specification is accomplished using the at property, which specifies a discrete position that corresponds to the index of a character in the elements String of a Sequence (except in the case when at is equal to zero.)

DNA Component
type: Class
equivalent class: Class
  intersection of: Component
  intersection of: Restriction
    on property: role
    some values from: DNA Role
  intersection of: Restriction
    on property: type
    some values from: deoxyribonucleic acid
  intersection of: Restriction
    on property: hasSequence
    all values from: DNA Sequence
subclass of: Component
domainEntity: true
comment: Represents a DNA component, with the type of SBO:DNA, the role of DNARole. It restricts instances to have the sequences with the correct DNA encoding.

DNA or RNA Component Type
type: Class
subclass of: Component Type
Constant list: true
comment: Type for DNA or RNA components. The value of a Component's type property must be an instance of a class that is a subclass of DNARNAComponentType if the Component has a role that is a subclass of DNARole or RNARole.

DNA Role
type: Class
equivalent class: Class
  union of: operator
  union of: sequence_feature
  union of: ribosome_entry_site
  union of: terminator
  union of: promoter
  union of: CDS
  union of: gene
  union of: engineered_region
subclass of: Component Role
Constant list: true
comment: Controlled vocabulary for the roles that a DNA Component can play in a design. The value of a Component's role property must be an instance of a class that is a subclass of DNARole.

DNA Sequence
type: Class
equivalent class: Class
  intersection of: Sequence With Elements
  intersection of: Restriction
    on property: encoding
    some values from: nucleotide
subclass of: Sequence With Elements
domainEntity: true
comment: Represents a DNA sequence, with the encoding of EDAM format 1207. The elements property MUST contain only characters from the IUPAC DNA character set: A, C, G, T, U, M, R, W, S, Y, K, V, H, D, B, N and -.

DegradationInteraction
type: Class
equivalent class: Class
  intersection of: Interaction
  intersection of: Restriction
    on property: hasParticipation
    some values from: ReactantParticipation
  intersection of: Restriction
    on property: type
    some values from: degradation
subclass of: Interaction
domainEntity: true
comment: Represents a degradation interaction, with the type of SBO:degradation, that involves at least one reactant participation.

Effector Simple Chemical Component
type: Class
equivalent class: Class
  intersection of: Simple Chemical Component
  intersection of: Restriction
    on property: role
    some values from: effector
subclass of: Simple Chemical Component
domainEntity: true
comment: Represents an effector simple chemical component, with the role of CHEBI:effector.

Encoding
type: Class
equivalent class: Class
  union of: SMILES
  union of: InChI
  union of: nucleotide
  union of: protein
subclass of: SBOLValue
Constant list: true
comment: Controlled vocabulary for the types of encoding that can be used to represent the primary structure of a Component. The value of a Sequence's encoding property must be an instance of a class that is a subclass of Encoding.

Engineered Region DNA Component
type: Class
equivalent class: Class
  intersection of: DNA Component
  intersection of: Restriction
    on property: role
    some values from: engineered_region
subclass of: DNA Component
domainEntity: true
comment: Represents an engineered region DNA component, with the role of SO:engineered_region.

EntireSequence
type: Class
subclass of: Location
domainEntity: true
comment: The EntireSequence class does not have any additional properties. Use of this class indicates that the linked Sequence describes the entirety of the Component or Feature parent of this Location object.

Experiment
type: Class
subclass of: Collection
domainEntity: true
comment: The purpose of the Experiment class is to aggregate ExperimentalData objects for subsequent analysis, usually in accordance with an experimental design.

ExperimentalData
type: Class
subclass of: TopLevel
domainEntity: true
comment: The purpose of the ExperimentalData class is to aggregate links to experimental data files. An ExperimentalData is typically associated with a single sample, lab instrument, or experimental condition and can be used to describe the output of the test phase of a design-build-test-learn workflow.

ExternallyDefined
type: Class
subclass of: Feature
subclass of: Restriction
  on property: definition
  some values from: Thing
subclass of: Restriction
  on property: type
  some values from: Thing
domainEntity: true
comment: The ExternallyDefined class has been introduced so that external definitions in databases like ChEBI or UniProt can be referenced.

Feature
type: Class
subclass of: Identified
domainEntity: true
comment: The Feature class, is used to compose Component objects into a structural or functional hierarchy. Feature is an abstract class; only its child classes are actually instantiated.

Functional Entity Component
type: Class
equivalent class: Class
  intersection of: Component
  intersection of: Restriction
    on property: type
    some values from: functional entity
subclass of: Component
domainEntity: true
comment: Represents a functional entity component, with the type of SBO:functional_entity.

Gene DNA Component
type: Class
equivalent class: Class
  intersection of: DNA Component
  intersection of: Restriction
    on property: role
    some values from: gene
subclass of: DNA Component
domainEntity: true
comment: Represents a gene DNA component, with the role of SO:gene.

Generic DNA Component
type: Class
equivalent class: Class
  intersection of: DNA Component
  intersection of: Restriction
    on property: role
    some values from: sequence_feature
subclass of: DNA Component
domainEntity: true
comment: Represents a generic DNA component, with the role of SO:sequence_feature.

GenericTopLevel
type: Class
subclass of: TopLevel
subclass of: Restriction
  on property: type
  some values from: Thing
domainEntity: true
comment: The GenericTopLevel class is a way to create a placeholder for a top-level entity that is not defined in the SBOL data model.

GeneticProductionInteraction
type: Class
equivalent class: Class
  intersection of: Interaction
  intersection of: Restriction
    on property: hasParticipation
    some values from: ProductParticipation
  intersection of: Restriction
    on property: hasParticipation
    some values from: TemplateParticipation
  intersection of: Restriction
    on property: type
    some values from: genetic production
  intersection of: Restriction
    on property: hasParticipation
    min qualified cardinality: 0
    on class: PromoterParticipation
subclass of: Interaction
domainEntity: true
comment: Represents a genetic production interaction, with the type of SBO:genetic_production, that involves at least one template participation and at least one product participation.

Identified
type: Class
subclass of: Thing
subclass of: Restriction
  on property: topObjectProperty
  min qualified cardinality: 0
  on class: Metadata
comment: All SBOL-defined classes are directly or indirectly derived from the Identified abstract class.

IdentityRestriction
type: Class
equivalent class: Class
  union of: differentFrom
  union of: replaces
  union of: verifyIdentical
subclass of: ConstraintRestriction
Constant list: true
comment: Identity restrictions are a subset of the ConstraintRestriction class that are used to express identity relationships between pairs of Features within a template Component. The value of an IdentityRestriction must be one of the following: verifyIdentical, differentFrom, or replaces.

Implementation
type: Class
subclass of: TopLevel
domainEntity: true
comment: An Implementation represents a realized instance of a Component, such a sample of DNA resulting from fabricating a genetic design or an aliquot of a specified reagent.

InChI Sequence
type: Class
equivalent class: Class
  intersection of: Sequence With Elements
  intersection of: Restriction
    on property: encoding
    some values from: InChI
subclass of: Sequence With Elements
domainEntity: true
comment: Represents a chemical structure using the IUPAC International Chemical Identifier (InChI) format, with the encoding of EDAM format 1197. The elements property MUST contain a valid InChI string.

InhibitedParticipation
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: inhibited
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that is inhibited in an interaction, with the role of SBO:inhibited.

InhibitionInteraction
type: Class
equivalent class: Class
  intersection of: Interaction
  intersection of: Restriction
    on property: hasParticipation
    some values from: InhibitedParticipation
  intersection of: Restriction
    on property: hasParticipation
    some values from: InhibitorParticipant
  intersection of: Restriction
    on property: type
    some values from: inhibition
subclass of: Interaction
domainEntity: true
comment: Represents an inhibition interaction, with the type of SBO:inhibition, that involves at least one inhibitor participation and at least one inhibited participation.

InhibitorParticipant
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: inhibitor
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that inhibits an interaction, with the role of SBO:inhibitor.

Interaction
type: Class
subclass of: Identified
subclass of: Restriction
  on property: type
  some values from: Thing
domainEntity: true
comment: The Interaction class provides more detailed description of how the Feature objects of a Component are intended to work together. For example, this class can be used to represent different forms of genetic regulation (e.g., transcriptional activation or repression), processes from the central dogma of biology (e.g. transcription and translation), and other basic molecular interactions (e.g., non-covalent binding or enzymatic phosphorylation).

InteractionType
type: Class
equivalent class: Class
  union of: control
  union of: inhibition
  union of: stimulation
  union of: biochemical reaction
  union of: non-covalent binding
  union of: degradation
  union of: genetic production
subclass of: SBOLValue
Constant list: true
comment: Provides a vocabulary to choose the interaction type of behavior represented by an Interaction. Interaction types are typically identified using IRIs, such as terms from the Systems Biology Ontology.

Interface
type: Class
subclass of: Identified
domainEntity: true
comment: The Interface class is a way of explicitly specifying the interface of a Component.

LocalSubComponent
type: Class
subclass of: Feature
subclass of: Restriction
  on property: type
  some values from: Thing
domainEntity: true
comment: The LocalSubComponent class is a subclass of Feature. This class serves as a way to create a placeholder in more complex Components, such as a variable to be filled in later or a composite that exists only within the context of the parent Component.

Location
type: Class
subclass of: Identified
subclass of: Restriction
  on property: hasSequence
  some values from: Sequence
subclass of: Restriction
  on property: hasSequence
  max qualified cardinality: 1
  on class: Sequence
domainEntity: true
comment: The Location class is used to represent the location of Features within Sequences. This class is extended by the Range, Cut, and EntireSequence classes. Location is an abstract class; only its child classes are actually instantiated.

Metadata
type: Class
subclass of: Identified
subclass of: Restriction
  on property: type
  some values from: Thing
domainEntity: true
comment: Custom data in the form of independent objects can participate in the SBOL data model if they are assigned one of the SBOL types Identified or TopLevel. An example is an RDF object that is annotated such that it represents a data sheet that describes the performance of a Component in a particular context.

Model
type: Class
subclass of: TopLevel
subclass of: Restriction
  on property: framework
  some values from: Thing
subclass of: Restriction
  on property: language
  some values from: Thing
subclass of: Restriction
  on property: source
  some values from: Thing
domainEntity: true
comment: The purpose of the Model class is to serve as a placeholder for an external computational model and provide additional meta-data to enable better reasoning about the contents of this model.

ModelFramework
type: Class
equivalent class: Class
  union of: continuous framework
  union of: discrete framework
  union of: logical framework
  union of: hybrid framework
  union of: constraint-based framework
subclass of: SBOLValue
Constant list: true
comment: Provides a vocabulary to choose the modeling framework of a Model. Model frameworks are typically identified using IRIs, such as terms from the Systems Biology Ontology.

ModelLanguage
type: Class
equivalent class: Class
  union of: SBML
  union of: BioPAX
  union of: CellML
subclass of: SBOLValue
Constant list: true
comment: Provides a vocabulary to choose the modeling language of a Model. Model languages are typically identified using IRIs, such as terms from the EDAM ontology.

ModifiedParticipation
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: modified
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that is modified in an interaction, with the role of SBO:modified.

ModifierParticipation
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: modifier
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that is a modifier in an interaction, with the role of SBO:modifier.

NonCovalentBindingInteraction
type: Class
equivalent class: Class
  intersection of: Interaction
  intersection of: Restriction
    on property: hasParticipation
    some values from: ProductParticipation
  intersection of: Restriction
    on property: hasParticipation
    some values from: ReactantParticipation
  intersection of: Restriction
    on property: type
    some values from: non-covalent binding
subclass of: Interaction
domainEntity: true
comment: Represents a non-covalent binding interaction, with the type of SBO:non_covalent_binding, that involves at least one reactant participation and at least one product participation.

Non-Covalent Complex Component
type: Class
equivalent class: Class
  intersection of: Component
  intersection of: Restriction
    on property: type
    some values from: non-covalent complex
subclass of: Component
domainEntity: true
comment: Represents a non-covalent complex Component, with the type SBO:non-covalent complex.

NucleicAcidTopology
type: Class
equivalent class: Class
  union of: single
  union of: double
  union of: linear
  union of: circular
subclass of: SBOLValue
Constant list: true
comment: Specifies the topology of a nucleic acid Component. Values are linear, circular, single, and double. For DNA Components with a fully specified sequence, topology information is recommended and should be provided using a term from the Topology Attribute branch of the Sequence Ontology.

Operator DNA Component
type: Class
equivalent class: Class
  intersection of: DNA Component
  intersection of: Restriction
    on property: role
    some values from: operator
subclass of: DNA Component
domainEntity: true
comment: Represents an operator DNA component, with the role of SO:operator.

Orientation
type: Class
equivalent class: Class
  union of: inline
  union of: reverseComplement
subclass of: SBOL Term
Constant list: true
comment: Controlled vocabulary for the orientation of a Feature or Location. The value of a Feature or Location's orientation property must be an instance of a class that is a subclass of Orientation.

OrientationRestriction
type: Class
equivalent class: Class
  union of: oppositeOrientationAs
  union of: sameOrientationAs
subclass of: ConstraintRestriction
Constant list: true
comment: Orientation restrictions are a subset of the ConstraintRestriction class that are used to express orientation relationships between pairs of Features within a template Component. The value of an OrientationRestriction must be one of the following: sameOrientationAs or oppositeOrientationAs.

Participation
type: Class
subclass of: Identified
subclass of: Restriction
  on property: role
  some values from: Thing
domainEntity: true
comment: Each Participation represents how a particular Feature behaves in its parent Interaction.

ParticipationRole
type: Class
equivalent class: Class
  union of: reactant
  union of: product
  union of: modifier
  union of: inhibitor
  union of: stimulator
  union of: promoter
  union of: inhibited
  union of: stimulated
  union of: template
subclass of: SBOLValue
Constant list: true
comment: Provides a vocabulary to choose the role of a Participation in an Interaction. Participation roles are typically identified using IRIs, such as terms from the Systems Biology Ontology.

ProductParticipation
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: product
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that is a product in an interaction, with the role of SBO:product.

Promoter DNA Component
type: Class
equivalent class: Class
  intersection of: DNA Component
  intersection of: Restriction
    on property: role
    some values from: promoter
subclass of: DNA Component
domainEntity: true
comment: Represents a promoter DNA component, with the role of SO:promoter.

PromoterParticipation
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: promoter
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that is a promoter in an interaction, with the role of SBO:promoter.

Protein Component
type: Class
equivalent class: Class
  intersection of: Component
  intersection of: Restriction
    on property: role
    some values from: Protein Role
  intersection of: Restriction
    on property: type
    some values from: polypeptide chain
  intersection of: Restriction
    on property: hasSequence
    all values from: Protein Sequence
subclass of: Component
domainEntity: true
comment: Represents a protein component, with the type of SBO:protein, the role of ProteinRole. It restricts instances to have the sequences with the correct protein encoding.

Protein Role
type: Class
equivalent class: Class
  union of: molecular_function
  union of: DNA-binding transcription factor activity
subclass of: Component Role
Constant list: true
comment: Controlled vocabulary for the roles that a Protein Component can play in a design. The value of a Component's role property must be an instance of a class that is a subclass of ProteinRole.

Protein Sequence
type: Class
equivalent class: Class
  intersection of: Sequence With Elements
  intersection of: Restriction
    on property: encoding
    some values from: protein
subclass of: Sequence With Elements
domainEntity: true
comment: Represents a protein sequence, with the encoding of EDAM format 1208. The elements property MUST contain only characters from the IUPAC Protein character set: A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y and -.

RBS DNA Component
type: Class
equivalent class: Class
  intersection of: DNA Component
  intersection of: Restriction
    on property: role
    some values from: ribosome_entry_site
subclass of: DNA Component
domainEntity: true
comment: Represents a ribosome binding site DNA component, with the role of SO:RBS.

RNA Component
type: Class
equivalent class: Class
  intersection of: Component
  intersection of: Restriction
    on property: role
    some values from: RNA role
  intersection of: Restriction
    on property: type
    some values from: ribonucleic acid
  intersection of: Restriction
    on property: hasSequence
    all values from: RNA Sequence
subclass of: Component
domainEntity: true
comment: Represents an RNA component, with the type of SBO:RNA, the role of RNARole. It restricts instances to have the sequences with the correct RNA encoding.

RNA role
type: Class
equivalent class: Class
  union of: sequence_feature
  union of: mRNA
subclass of: Component Role
Constant list: true
comment: Controlled vocabulary for the roles that an RNA Component can play in a design. The value of a Component's role property must be an instance of a class that is a subclass of RNARole.

RNA Sequence
type: Class
equivalent class: Class
  intersection of: Sequence With Elements
  intersection of: Restriction
    on property: encoding
    some values from: nucleotide
subclass of: Sequence With Elements
domainEntity: true
comment: Represents an RNA sequence, with the encoding of EDAM format 1207. The elements property MUST contain only characters from the IUPAC RNA character set: A, C, G, U, M, R, W, S, Y, K, V, H, D, B, N and -.

Range
type: Class
subclass of: Location
subclass of: Restriction
  on property: end
  some values from: Datatype
    on datatype: integer
    with restrictions:
      min inclusive: 1
subclass of: Restriction
  on property: start
  some values from: Datatype
    on datatype: integer
    with restrictions:
      min inclusive: 1
domainEntity: true
comment: A Range object specifies a region via discrete, inclusive start and end positions that correspond to indices for characters in the elements String of a Sequence.

ReactantParticipation
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: reactant
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that is a reactant in an interaction, with the role of SBO:reactant.

RoleIntegration
type: Class
equivalent class: Class
  union of: mergeRoles
  union of: overrideRoles
subclass of: SBOL Term
Constant list: true
comment: A roleIntegration specifies the relationship between a SubComponent instance's own set of role properties and the set of role properties on the included Component.

SBOL Activity
type: Class
subclass of: TopLevel
subclass of: Activity
domainEntity: true
replacementOf: Activity
comment: A wrapper for the PROV Activity class. The purpose of this class is to allow for the inclusion of SBOL-specific properties on PROV Activities, such as the association of an Activity with a particular Component or Interaction.

SBOL Agent
type: Class
subclass of: TopLevel
subclass of: Agent
domainEntity: true
replacementOf: Agent
comment: A wrapper for the PROV-O Agent class. The purpose of this class is to allow for the inclusion of SBOL-specific properties on PROV Agents, such as the association of an Agent with a particular Component or Interaction.

SBOL Association
type: Class
subclass of: Identified
subclass of: Association
domainEntity: true
replacementOf: Association
comment: A wrapper for the PROV-O Association class. The purpose of this class is to allow for the inclusion of SBOL-specific properties on PROV Associations, such as the association of an Association with a particular Component or Interaction.

SBOLBinaryPrefix
type: Class
subclass of: SBOLPrefix
subclass of: BinaryPrefix
domainEntity: true
replacementOf: BinaryPrefix
comment: A wrapper class to enable the use of OM BinaryPrefixes in SBOL. This class allows adding custom SBOL relationships.

SBOLCompoundUnit
type: Class
subclass of: SBOLUnit
subclass of: CompoundUnit
domainEntity: true
replacementOf: CompoundUnit
comment: A wrapper class to enable the use of OM CompoundUnits in SBOL. This class allows adding custom SBOL relationships.

SBOL Measure
type: Class
subclass of: Identified
subclass of: Measure
domainEntity: true
replacementOf: Measure
comment: A wrapper for the OM Measure class. The purpose of this class is to allow for the inclusion of SBOL-specific properties on OM Measures, such as the association of a Measure with a particular Component or Interaction.

SBOL Plan
type: Class
subclass of: TopLevel
subclass of: Plan
domainEntity: true
replacementOf: Plan
comment: A wrapper for the PROV-O Plan class. The purpose of this class is to allow for the inclusion of SBOL-specific properties on PROV Plans, such as the association of a Plan with a particular Component or Interaction.

SBOLPrefix
type: Class
subclass of: TopLevel
subclass of: Prefix
domainEntity: true
replacementOf: Prefix
comment: A wrapper class to enable the use of OM Prefixes in SBOL. This class allows adding custom SBOL relationships.

SBOLPrefixedUnit
type: Class
subclass of: SBOLUnit
subclass of: PrefixedUnit
domainEntity: true
replacementOf: PrefixedUnit
comment: A wrapper class to enable the use of OM PrefixedUnits in SBOL. This class allows adding custom SBOL relationships.

SBOLSIPrefix
type: Class
subclass of: SBOLPrefix
subclass of: SIPrefix
domainEntity: true
replacementOf: SIPrefix
comment: A wrapper class to enable the use of OM SIPrefixes in SBOL. This class allows adding custom SBOL relationships.

SBOLSingularUnit
type: Class
subclass of: SBOLUnit
subclass of: SingularUnit
domainEntity: true
replacementOf: SingularUnit
comment: A wrapper class to enable the use of OM SingularUnits in SBOL. This class allows adding custom SBOL relationships.

SBOL Term
type: Class
subclass of: Thing
Vocabulary: true
comment: The SBOLTerm class is a way to create a placeholder for a term in an SBOL-controlled vocabulary.

SBOLUnit
type: Class
subclass of: TopLevel
subclass of: Unit
domainEntity: true
replacementOf: Unit
comment: A wrapper class to enable the use of OM Units in SBOL. This class allows adding custom SBOL relationships.

SBOLUnitDivision
type: Class
subclass of: SBOLUnit
subclass of: UnitDivision
domainEntity: true
replacementOf: UnitDivision
comment: A wrapper class to enable the use of OM UnitDivisions in SBOL. This class allows adding custom SBOL relationships.

SBOLUnitExponentiation
type: Class
subclass of: SBOLUnit
subclass of: UnitExponentiation
domainEntity: true
replacementOf: UnitExponentiation
comment: A wrapper class to enable the use of OM UnitExponentiations in SBOL. This class allows adding custom SBOL relationships.

SBOLUnitMultiplication
type: Class
subclass of: SBOLUnit
subclass of: UnitMultiplication
domainEntity: true
replacementOf: UnitMultiplication
comment: A wrapper class to enable the use of OM UnitMultiplications in SBOL. This class allows adding custom SBOL relationships.

SBOL Usage
type: Class
subclass of: Identified
subclass of: Usage
subclass of: Restriction
  on property: entity
  some values from: Thing
domainEntity: true
replacementOf: Usage
comment: A wrapper for the PROV-O Usage class. The purpose of this class is to allow for the inclusion of SBOL-specific properties on PROV Usages, such as the association of a Usage with a particular Component or Interaction.

SBOLValue
type: Class
subclass of: Thing
Vocabulary: true

SMILES Sequence
type: Class
equivalent class: Class
  intersection of: Sequence With Elements
  intersection of: Restriction
    on property: encoding
    some values from: SMILES
subclass of: Sequence With Elements
domainEntity: true
comment: Represents a chemical structure using the Simplified Molecular-Input Line-Entry System (SMILES) format, with the encoding of EDAM format 1196. The elements property MUST contain a valid SMILES string.

Sequence
type: Class
subclass of: TopLevel
domainEntity: true
comment: The purpose of the Sequence class is to represent the primary structure of a Component object and the manner in which it is encoded.

SequenceFeature
type: Class
subclass of: Feature
subclass of: Restriction
  on property: hasLocation
  some values from: Location
domainEntity: true
comment: The SequenceFeature class describes one or more regions of interest on the Sequence objects referred to by its parent Component.

Sequence With Elements
type: Class
equivalent class: Class
  intersection of: Sequence
  intersection of: Restriction
    on property: encoding
    some values from: Encoding
  intersection of: Restriction
    on property: elements
    some values from: string
subclass of: Sequence
comment: A SequenceWithElements is a Sequence that contains elements and an encoding.

SequentialRestriction
type: Class
equivalent class: Class
  union of: contains
  union of: equals
  union of: finishes
  union of: meets
  union of: overlaps
  union of: precedes
  union of: starts
  union of: strictlyContains
  union of: strictlyPrecedes
subclass of: ConstraintRestriction
Constant list: true
comment: Sequential restrictions are a subset of the ConstraintRestriction class that are used to express relative, sequence-based positions of pairs of Features within a template Component. The value of a SequentialRestriction must be one of the following: precedes, strictlyPrecedes, meets, overlaps, contains, strictlyContains, equals, starts, or finishes.

Simple Chemical Component
type: Class
equivalent class: Class
  intersection of: Component
  intersection of: Restriction
    on property: role
    some values from: Small Molecule Role
  intersection of: Restriction
    on property: type
    some values from: simple chemical
  intersection of: Restriction
    on property: hasSequence
    all values from: Class
      union of: InChI Sequence
      union of: SMILES Sequence
subclass of: Component
domainEntity: true
comment: Represents a simple chemical component, with the type of SBO:simple_chemical, the role of SmallMoleculeRole. It restricts instances to have the sequences with the correct chemical encoding.

Small Molecule Role
type: Class
equivalent class: Class
  union of: effector
  union of: material entity role
subclass of: Component Role
Constant list: true
comment: Controlled vocabulary for the roles that a Small Molecule Component can play in a design. The value of a Component's role property must be an instance of a class that is a subclass of SmallMoleculeRole.

StimulatedParticipation
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: stimulated
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that is stimulated in an interaction, with the role of SBO:stimulated.

StimulationInteraction
type: Class
equivalent class: Class
  intersection of: Interaction
  intersection of: Restriction
    on property: hasParticipation
    some values from: StimulatedParticipation
  intersection of: Restriction
    on property: hasParticipation
    some values from: StimulatorParticipation
  intersection of: Restriction
    on property: type
    some values from: stimulation
subclass of: Interaction
domainEntity: true
comment: Represents a stimulation interaction, with the type of SBO:stimulation, that involves at least one stimulator participation and at least one stimulated participation.

StimulatorParticipation
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: stimulator
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that stimulates an interaction, with the role of SBO:stimulator.

SubComponent
type: Class
subclass of: Feature
subclass of: Restriction
  on property: instanceOf
  some values from: Component
domainEntity: true
comment: The SubComponent class is a subclass of the Feature class that can be used to specify structural hierarchy.

TemplateParticipation
type: Class
equivalent class: Class
  intersection of: Participation
  intersection of: Restriction
    on property: role
    some values from: template
subclass of: Participation
domainEntity: true
comment: Represents a participation of a feature that is a template in an interaction, with the role of SBO:template.

Terminator DNA Component
type: Class
equivalent class: Class
  intersection of: DNA Component
  intersection of: Restriction
    on property: role
    some values from: terminator
subclass of: DNA Component
domainEntity: true
comment: Represents a terminator DNA component, with the role of SO:terminator.

TopLevel
type: Class
subclass of: Identified
subclass of: Restriction
  on property: hasNamespace
  some values from: Thing
comment: TopLevel is an abstract class that is extended by any Identified class that can be found at the top level of an SBOL document or file.

TopologyRestriction
type: Class
equivalent class: Class
  union of: contains
  union of: covers
  union of: equals
  union of: isDisjointFrom
  union of: meets
  union of: overlaps
  union of: strictlyContains
subclass of: ConstraintRestriction
Constant list: true
comment: Topology restrictions are a subset of the ConstraintRestriction class that are used to express topological relationships between pairs of Features within a template Component. The value of a TopologyRestriction must be one of the following: contains, strictlyContains, equals, covers, overlaps, meets, or isDisjointFrom.

Transcription Factor Protein Component
type: Class
equivalent class: Class
  intersection of: Protein Component
  intersection of: Restriction
    on property: role
    some values from: DNA-binding transcription factor activity
subclass of: Protein Component
domainEntity: true
comment: Represents a transcription factor protein component, with the role of GO:DNA-binding transcription factor activity.

VariableFeature
type: Class
subclass of: Identified
subclass of: Restriction
  on property: cardinality
  some values from: Cardinality
subclass of: Restriction
  on property: variable
  some values from: Feature
domainEntity: true
comment: VariableFeature class specifies a variable and set of values that will replace one of the Feature objects in the template of a CombinatorialDerivation. The variable is specified by the variable property, and the set of values is defined by the union of Component objects referred to by the variant, variantCollection, and variantDerivation properties.

contains
type: Class
subclass of: ConstraintRestriction
comment: The subject contains the object and they might or might not share a boundary.

covers
type: Class
subclass of: ConstraintRestriction
comment: The subject contains the object but also shares a boundary.

differentFrom
type: Class
subclass of: ConstraintRestriction
comment: The subject and object, after tracing through any layers of ComponentReference, MUST NOT both refer to SubComponent objects with the same instanceOf value or both refer to ExternallyDefined objects with the same definition. Example: two fluorescent reporters must be different.

enumerate
type: Class
subclass of: CombinatorialDerivationStrategy
comment: Enumerate is a strategy for deriving new Components from a template Component. The enumerate strategy specifies that a new Component should be derived for every possible combination of values for the variable specified by the VariableFeature objects in the template Component.

equals
type: Class
subclass of: ConstraintRestriction
comment: The subject and object occupy the same location in space.

finishes
type: Class
subclass of: ConstraintRestriction
comment: The start of the location for subject is after the start of the location for object and the end of the location for subject is equal to the end of the location for object.

inline
type: Class
subclass of: Orientation
comment: Inline is an attribute of the feature, where the feature is in the 5' to 3' direction.

isDisjointFrom
type: Class
subclass of: ConstraintRestriction
comment: The subject and object do not overlap in space.

meets
type: Class
subclass of: ConstraintRestriction
comment: The subject and object are connected at a shared boundary.

mergeRoles
type: Class
subclass of: RoleIntegration
comment: Use the union of the two sets: both the set of zero or more role properties given for this SubComponent as well as the set of zero or more role properties given for the included Component.

one
type: Class
subclass of: Cardinality
comment: Exactly one Feature in the derived Component SHOULD have a prov:wasDerivedFrom property that refers to the template Feature.

OneOrMore
type: Class
subclass of: Cardinality
comment: At least one Feature in the derived Component SHOULD have a prov:wasDerivedFrom property that refers to the template Feature.

oppositeOrientationAs
type: Class
subclass of: OrientationRestriction
comment: The subject and object Component objects MUST have opposite orientations.

overlaps
type: Class
subclass of: ConstraintRestriction
comment: The subject and object overlap in space, but portions of each are outside of the other.

overrideRoles
type: Class
subclass of: RoleIntegration
comment: In the context of this SubComponent, ignore any role given for the included Component. Instead use only the set of zero or more role properties given for this SubComponent.

precedes
type: Class
subclass of: ConstraintRestriction
comment: The start of the location for subject is less than the start of the location for object.

replaces
type: Class
subclass of: ConstraintRestriction
comment: In the context of the parent object of the Constraint, information about the subject should be used in place of all instances of the object. Example: the J23101 promoter replaces a generic promoter.

reverseComplement
type: Class
subclass of: Orientation
comment: Reverse complement is an attribute of the feature, where the feature is in the 3' to 5' direction.

sameOrientationAs
type: Class
subclass of: OrientationRestriction
comment: The subject and object Component objects MUST have the same orientation.

sample
type: Class
subclass of: CombinatorialDerivationStrategy
comment: Sample is a strategy for deriving new Components from a template Component. The sample strategy specifies that a new Component should be derived for a random sample of the possible combinations of values for the variable specified by the VariableFeature objects in the template Component.

starts
type: Class
subclass of: ConstraintRestriction
comment: The start of the location for subject is equal to the start of the location for object and the end of the location for subject is before the end of the location for object.

strictlyContains
type: Class
subclass of: ConstraintRestriction
comment: The subject entirely contains the object: they do not share a boundary.

strictlyPrecedes
type: Class
subclass of: ConstraintRestriction
comment: The end of the location for subject is less than the start of the location for object.

verifyIdentical
type: Class
subclass of: ConstraintRestriction
comment: The subject and object, after tracing through any layers of ComponentReference, MUST both refer to SubComponent objects with the same instanceOf value or both refer to ExternallyDefined objects with the same definition. Example: a promoter included via two different subsystems must be the identical.

zeroOrMore
type: Class
subclass of: Cardinality
comment: Any number of Feature objects in the derived Component MAY have prov:wasDerivedFrom properties that refer to the template Feature.

zeroOrOne
type: Class
subclass of: Cardinality
comment: No more than one Feature in the derived Component SHOULD have a prov:wasDerivedFrom property that refers to the template Feature.

BinaryPrefix
type: Class
subclass of: Prefix
comment: The purpose of the om:BinaryPrefix class is to describe standard binary prefixes such as "kibi", "mebi", "gibi", etc.

CompoundUnit
type: Class
subclass of: Unit
comment: om:CompoundUnit is an abstract class that is extended by other classes to describe units of measure that can be represented as combinations of multiple other units of measure.

Measure
type: Class
subclass of: Thing
subclass of: Restriction
  on property: hasUnit
  some values from: Unit
subclass of: Restriction
  on property: hasNumericalValue
  some values from: decimal
comment: The purpose of the om:Measure class is to link a numerical value to a om:Unit.

Prefix
type: Class
subclass of: Thing
subclass of: Restriction
  on property: hasFactor
  some values from: decimal
subclass of: Restriction
  on property: symbol
  some values from: string
subclass of: Restriction
  on property: label
  some values from: string
comment: om:Prefix is an abstract class that is extended by other classes to describe factors that are commonly represented by standard unit prefixes.

PrefixedUnit
type: Class
subclass of: Unit
subclass of: Restriction
  on property: hasPrefix
  some values from: Prefix
subclass of: Restriction
  on property: hasUnit
  some values from: Unit
comment: The purpose of the om:PrefixedUnit class is to describe a unit of measure that is the multiplication of another unit of measure and a factor represented by a standard prefix such as "milli", "centi", "kilo", etc.

SIPrefix
type: Class
subclass of: Prefix
comment: The purpose of the om:SIPrefix class is to describe standard SI prefixes such as "milli", "centi", "kilo", etc.

SingularUnit
type: Class
subclass of: Unit
comment: The purpose of the om:SingularUnit class is to describe a unit of measure that is not explicitly represented as a combination of multiple units, but could be equivalent to such a representation.

Unit
type: Class
subclass of: Thing
subclass of: Restriction
  on property: symbol
  some values from: string
subclass of: Restriction
  on property: label
  some values from: string
comment: om:Unit is an abstract class that is extended by other classes to describe units of measure using a shared set of properties.

UnitDivision
type: Class
subclass of: Unit
subclass of: Restriction
  on property: hasDenominator
  some values from: Unit
subclass of: Restriction
  on property: hasNumerator
  some values from: Unit
comment: The purpose of the om:UnitDivision class is to describe a unit of measure that is the division of one unit of measure by another.

UnitExponentiation
type: Class
subclass of: Unit
subclass of: Restriction
  on property: hasBase
  some values from: Unit
subclass of: Restriction
  on property: hasExponent
  some values from: integer
comment: The purpose of the om:UnitExponentiation class is to describe a unit of measure that is raised to an integer power.

UnitMultiplication
type: Class
subclass of: Unit
subclass of: Restriction
  on property: hasTerm1
  some values from: Unit
subclass of: Restriction
  on property: hasTerm2
  some values from: Unit
comment: The purpose of the om:UnitMultiplication class is to describe a unit of measure that is the multiplication of two other units of measure.

effector
type: Class
subclass of: material entity role
comment: A small molecule which increases (activator) or decreases (inhibitor) the activity of an (allosteric) enzyme by binding to the enzyme at the regulatory site (which is different from the substrate-binding catalytic site).

material entity role
type: Class
subclass of: Thing
comment: A role is particular behaviour which a material entity may exhibit.

molecular_function
type: Class
subclass of: Thing
comment: A molecular process that can be carried out by the action of a single macromolecular machine, usually via direct physical interactions with other molecular entities. Function in this sense denotes an action, or activity, that a gene product (or a complex) performs.

DNA-binding transcription factor activity
type: Class
subclass of: molecular_function
comment: A transcription regulator activity that modulates transcription of gene sets via selective and non-covalent binding to a specific double-stranded genomic DNA sequence (sometimes referred to as a motif) within a cis-regulatory region. Regulatory regions include promoters (proximal and distal) and enhancers. Genes are transcriptional units, and include bacterial operons.

systems biology representation
type: Class
subclass of: Thing
comment: Representation of an entity used in a systems biology knowledge reconstruction, such as a model, pathway, network.

participant role
type: Class
subclass of: systems biology representation
comment: The function of a physical or conceptual entity, that is its role, in the execution of an event or process.

modelling framework
type: Class
subclass of: systems biology representation
comment: Set of assumptions that underlay a mathematical description.

reactant
type: Class
subclass of: participant role
comment: Substance consumed by a chemical reaction. Reactants react with each other to form the products of a chemical reaction. In a chemical equation the Reactants are the elements or compounds on the left hand side of the reaction equation. A reactant can be consumed and produced by the same reaction, its global quantity remaining unchanged.

product
type: Class
subclass of: participant role
comment: Substance that is produced in a reaction. In a chemical equation the Products are the elements or compounds on the right hand side of the reaction equation. A product can be produced and consumed by the same reaction, its global quantity remaining unchanged.

modifier
type: Class
subclass of: participant role
comment: Substance that changes the velocity of a process without itself being consumed or transformed by the reaction.

inhibitor
type: Class
subclass of: modifier
comment: Substance that decreases the probability of a chemical reaction without itself being consumed or transformed by the reaction.

continuous framework
type: Class
subclass of: modelling framework
comment: Modelling approach where the quantities of participants are considered continuous, and represented by real values. The associated simulation methods make use of differential equations.

discrete framework
type: Class
subclass of: modelling framework
comment: Modelling approach where the quantities of participants are considered discrete, and represented by integer values. The associated simulation methods can be deterministic or stochastic.

biochemical or transport reaction
type: Class
subclass of: occurring entity representation
comment: An event involving physical entities that results in modification of structure, location, or free energy.

control
type: Class
subclass of: occurring entity representation
comment: Synonym: regulation

inhibition
type: Class
subclass of: control
comment: Negative modulation of the execution of a process.

stimulation
type: Class
subclass of: control
comment: Positive modulation of the execution of a process.

biochemical reaction
type: Class
subclass of: biochemical or transport reaction
comment: An event involving one or more chemical entities that modifies the electrochemical structure of at least one of the participants.

non-covalent binding
type: Class
subclass of: biochemical reaction
comment: Synonym: association

degradation
type: Class
subclass of: biochemical reaction
comment: Complete disappearance of a physical entity.

occurring entity representation
type: Class
subclass of: systems biology representation
comment: Representation of an entity that manifests, unfolds or develops through time, such as a discrete event, or a mutual or reciprocal action or influence that happens between participating physical entities, and/or other occurring entities.

logical framework
type: Class
subclass of: modelling framework
comment: Modelling approach, pioneered by Rene Thomas and Stuart Kaufman, where the evolution of a system is described by the transitions between discrete activity states of 'genes' that control each other.

physical entity representation
type: Class
subclass of: systems biology representation
comment: Synonym: new synonym

functional entity
type: Class
subclass of: physical entity representation
comment: A real thing, defined by its properties or the actions it performs, rather than it physico-chemical structure.

simple chemical
type: Class
subclass of: physical entity representation
comment: Simple, non-repetitive chemical entity.

ribonucleic acid
type: Class
subclass of: physical entity representation
comment: Synonym: RNA

deoxyribonucleic acid
type: Class
subclass of: physical entity representation
comment: Synonym: DNA

polypeptide chain
type: Class
subclass of: physical entity representation
comment: Naturally occurring macromolecule formed by the repetition of amino-acid residues linked by peptidic bonds. A polypeptide chain is synthesized by the ribosome.

non-covalent complex
type: Class
subclass of: physical entity representation
comment: Entity composed of several independant components that are not linked by covalent bonds.

functional compartment
type: Class
subclass of: participant role
comment: Logical or physical subset of the event space that contains pools, that is sets of participants considered identical when it comes to the event they are involved into. A compartment can have any number of dimensions, including 0, and be of any size including null.

stimulator
type: Class
subclass of: modifier
comment: Synonym: activator

genetic production
type: Class
subclass of: occurring entity representation
comment: A composite biochemical process through which a gene sequence is fully converted into mature gene products. These gene products may include RNA species as well as proteins, and the process encompasses all intermediate steps required to generate the active form of the gene product.

promoter
type: Class
subclass of: participant role
comment: A region of DNA to which various transcription factors and RNA polymerase must bind in order to initiate transcription for a gene.

inhibited
type: Class
subclass of: participant role
comment: Conceptual or material entity that is the object of an inhibition process, and is acted upon by an inhibitor.

stimulated
type: Class
subclass of: participant role
comment: Conceptual or material entity that is the object of a stimulation process, and is acted upon by a stimulator.

modified
type: Class
subclass of: participant role
comment: Conceptual or material entity that is the object of a modification process, and is acted upon by a modifier.

template
type: Class
subclass of: participant role
comment: An entity that acts as the starting material for genetic production (http://identifiers.org/biomodels.sbo/SBO:0000589).

hybrid framework
type: Class
subclass of: modelling framework
comment: Modeling approach which combines multiple canonical modeling frameworks. For example, a hybrid model could consider both continuous (represented by real values) and discrete (represented by integers) participants. Hybrid models are executed with hybrid simulation algorithms. For example, a hybrid continuous-discrete model may be simulation using a combination of stochastic simulation and ordinary differential equations.

constraint-based framework
type: Class
subclass of: modelling framework
comment: Modelling approach which captures bounds on the possible behavior of a system, which may be further reduced using an objective function.

operator
type: Class
subclass of: sequence_feature
comment: Moved to transcriptional_cis_regulatory_region (SO:0001055) from gene_group_regulatory_region (SO:0000752) on 11 Feb 2021 when SO:0000752 was merged into SO:0001055. See GitHub Issue #529. A regulatory element of an operon to which activators or repressors bind thereby effecting translation of genes in that operon.

sequence_feature
type: Class
subclass of: Thing
comment: Any extent of continuous biological sequence.

ribosome_entry_site
type: Class
subclass of: sequence_feature
comment: Region in mRNA where ribosome assembles.

terminator
type: Class
subclass of: sequence_feature
comment: Moved from transcription_regulatory_region (SO:0001679) to transcriptional_cis_regulatory_region (SO:0001055) by Dave Sant on Feb 11, 2021 when transcription_regulatory_region was merged into transcriptional_cis_regulatory_region to be consistent with GO and reduce redundancy as part of the GREEKC consortium. See GitHub Issue #527. The sequence of DNA located either at the end of the transcript that causes RNA polymerase to terminate transcription.

promoter
type: Class
subclass of: sequence_feature
comment: This term is mapped to MGED. Do not obsolete without consulting MGED ontology. The region on a DNA molecule involved in RNA polymerase binding to initiate transcription. Moved from is_a: SO:0001055 transcriptional_cis_regulatory_region as per request from GREEKC initiative in August 2020. Merged with RNA_polymerase_promoter (SO:0001203) Aug 2020. Moved up one level from is_a CRM (SO:0000727) to is_a transcriptional_cis_regulatory_region (SO:0001055) as part of the GREEKC work January 2021. Pascale Gaudet from Gene Ontology pointed out that CRM can be located upstream of the promoter and therefore cannot include the promoter. A regulatory_region composed of the TSS(s) and binding sites for TF_complexes of the core transcription machinery. A region (DNA) to which RNA polymerase binds, to begin transcription.

mRNA
type: Class
subclass of: sequence_feature
comment: An mRNA does not contain introns as it is a processed_transcript. The equivalent kind of primary_transcript is protein_coding_primary_transcript (SO:0000120) which may contain introns. This term is mapped to MGED. Do not obsolete without consulting MGED ontology. Messenger RNA is the intermediate molecule between DNA and protein. It includes UTR and coding sequences. It does not contain introns.

CDS
type: Class
subclass of: sequence_feature
comment: A contiguous sequence which begins with, and includes, a start codon and ends with, and includes, a stop codon.

sequence_attribute
type: Class
subclass of: Thing
comment: An attribute describes a quality of sequence.

gene
type: Class
subclass of: sequence_feature
comment: This term is mapped to MGED. Do not obsolete without consulting MGED ontology. A gene may be considered as a unit of inheritance. A region (or regions) that includes all of the sequence elements necessary to encode a functional transcript. A gene may include regulatory regions, transcribed regions and/or other functional sequence regions.

engineered_region
type: Class
subclass of: sequence_feature
comment: A region that is engineered.

single
type: Class
subclass of: sequence_attribute
comment: Attributes added to describe the different kinds of replicon. SO workshop, September 2006. When a nucleotide polymer has only one strand.

double
type: Class
subclass of: sequence_attribute
comment: Attributes added to describe the different kinds of replicon. SO workshop, September 2006. When a nucleotide polymer has two strands that are reverse-complement to one another and pair together.

linear
type: Class
subclass of: sequence_attribute
comment: Attributes added to describe the different kinds of replicon. SO workshop, September 2006. A quality of a nucleotide polymer that has a 3'-terminal residue and a 5'-terminal residue.

circular
type: Class
subclass of: sequence_attribute
comment: Attributes added to describe the different kinds of replicon. SO workshop, September 2006. A quality of a nucleotide polymer that has no terminal nucleotide residues.

forward
type: Class
subclass of: sequence_attribute
comment: Forward is an attribute of the feature, where the feature is in the 5' to 3' direction.

reverse
type: Class
subclass of: sequence_attribute
comment: Reverse is an attribute of the feature, where the feature is in the 3' to 5' direction. Again could be applied to primer.

SMILES
type: Class
subclass of: Format
comment: Chemical structure specified in Simplified Molecular Input Line Entry System (SMILES) line notation.

InChI
type: Class
subclass of: Format
comment: Chemical structure specified in IUPAC International Chemical Identifier (InChI) line notation.

nucleotide
type: Class
subclass of: Format
comment: Alphabet for a nucleotide sequence with possible ambiguity, unknown positions and non-sequence characters.

protein
type: Class
subclass of: Format
comment: Alphabet for a protein sequence with possible ambiguity, unknown positions and non-sequence characters.

Format
type: Class
subclass of: Thing
comment: A defined way or layout of representing and structuring data in a computer file, blob, string, message, or elsewhere.

SBML
type: Class
subclass of: Format
comment: Systems Biology Markup Language (SBML), the standard XML format for models of biological processes such as for example metabolism, cell signaling, and gene regulation.

BioPAX
type: Class
subclass of: Format
comment: BioPAX is an exchange format for pathway data, with its data model defined in OWL.

CellML
type: Class
subclass of: Format
comment: CellML, the format for mathematical models of biological and other networks.

Activity
type: Class
subclass of: Thing
comment: An Activity is used to represent the execution of a process or set of processes. An Activity is linked through prov:qualifiedAssociation to one or more Associations, and is linked through prov:used to one or more Entities.

Agent
type: Class
subclass of: Thing
comment: An Agent is something that bears some form of responsibility for an Activity taking place, such as a person, organization, or software agent.

Association
type: Class
subclass of: Thing
subclass of: Restriction
  on property: agent
  some values from: Agent
comment: An Association is used to link an Activity to one or more Agents, and to describe the role of each Agent in the execution of the Activity. An Association is linked through prov:qualifiedAssociation to an Activity, and is linked through prov:agent to one or more Agents.

Plan
type: Class
subclass of: Thing
comment: A Plan is used to describe a set of actions or steps intended to achieve a specific goal or outcome.

Usage
type: Class
subclass of: Thing
comment: A Usage is used to describe the involvement of an Entity in an Activity, specifying how the Entity was used during the execution of the Activity.