Allotrope Ontology of Datatypes (WD/2025/12)
type: Ontology
imports: afo
contributor: www.osthus.com
description: Ontology of general purpose datatypes based on ISO standard ISO-11404.
issued: 2025-12-16T12:00:00Z
modified: 2025-06-25T12:00:00Z
rights: copyright
prior version: datatype
version info: WD/2025/12

attribute identifier
type: Class
subclass of: AFR_0000919
AFX_0002808: OntoDT_016936

character set identifier
type: Class
subclass of: AFR_0000919
AFX_0002808: OntoDT_776867

enumerated value identifier
type: Class
subclass of: AFR_0000919
AFX_0002808: OntoDT_776867

extended value identifier
type: Class
subclass of: AFR_0000919
AFX_0002808: OntoDT_477213

field identifier
type: Class
subclass of: AFR_0000919
AFX_0002808: OntoDT inst 507131

parameter identifier
type: Class
subclass of: AFR_0000919
AFX_0002808: OntoDT_035818

state value identifier
type: Class
subclass of: AFR_0000919
AFX_0002808: OntoDT_467794
alternative label: discrete value identifier

descriptive field identifier
type: Class
subclass of: field identifier
AFX_0002808: OntoDT_0000398

target field identifier
type: Class
subclass of: field identifier
AFX_0002808: OntoDT_0000399

datatype facet
type: Class
subclass of: AFR_0000923
note: The model of datatypes used in this International Standard is said to be an “abstract computational model”. It is “computational” in the sense that it deals with the manipulation of information by computer systems and makes distinctions in the typing of data units which are appropriate to that kind of manipulation. It is “abstract” in the sense that it deals with the perceived properties of the data units themselves, rather than with the properties of their representations in computer systems. [ISO11404]

boundedness
type: Class
equivalent class: Class
  union of: bounded
  union of: unbounded
subclass of: datatype facet
AFX_0002808: OntoDT_396145
definition: A datatype is said to be bounded above if it is ordered and there is a value U in the value space such that, for all values s in the value space, s ≤ U . The value U is then said to be an upper bound of the value space. Similarly, a datatype is said to be bounded below if it is ordered and there is a value L in the space such that, for all values s in the value space, L ≤ s . The value L is then said to be a lower bound of the value space. A datatype is said to be bounded if its value space has both an upper bound and a lower bound. [ISO11404]

bounded
type: Class
subclass of: boundedness
AFX_0002808: OntoDT_0000248

unbounded
type: Class
subclass of: boundedness
AFX_0002808: OntoDT_0000249

cardinality
type: Class
equivalent class: Class
  union of: countable
  union of: finite
  union of: uncountable
subclass of: datatype facet
AFX_0002808: OntoDT_318874
definition: A value space has the mathematical concept of cardinality: it may be finite, denumerably infinite (countable), or non-denumerably infinite (uncountable). A datatype is said to have the cardinality of its value space. In the computational model, there are three significant cases: - datatypes whose value spaces are finite, - datatypes whose value spaces are exact and denumerably infinite, - datatypes whose value spaces are approximate, and therefore have a finite or denumerably infinite computational model, although the conceptual value space may be non-denumerably infinite. Every conceptually finite datatype is necessarily exact. No computational datatype is non-denumerably infinite. [ISO11404]
note: For a denumerably infinite value space, there always exist representation algorithms such that no two distinct values have the same representation and the representation of any given value is of finite length. Conversely, in a nondenumerably infinite value space there always exist values which do not have finite representations. [ISO11404]

countable
type: Class
subclass of: cardinality
AFX_0002808: OntoDT_0000241

finite
type: Class
subclass of: cardinality
AFX_0002808: OntoDT_0000242

uncountable
type: Class
subclass of: cardinality
AFX_0002808: OntoDT_0000243

equality
type: Class
subclass of: datatype facet
AFX_0002808: OntoDT_905914
definition: In every value space there is a notion of equality, for which the following rules hold: - for any two instances (a, b) of values from the value space, either a is equal to b, denoted a = b , or a is not equal to b, denoted a ≠ b ; - there is no pair of instances (a, b) of values from the value space such that both a = b and a ≠ b ; - for every value a from the value space, a = a ; - for any two instances (a, b) of values from the value space, a = b if and only if b = a ; - for any three instances (a, b, c) of values from the value space, if a = b and b = c , then a = c . On every datatype, the operation Equal is defined in terms of the equality property of the value space, by: - for any values a, b drawn from the value space, Equal(a,b) is true if a = b , and false otherwise. [ISO11404]

exactness
type: Class
equivalent class: Class
  union of: approximate
  union of: exact
subclass of: datatype facet
AFX_0002808: OntoDT_185557
definition: The computational model of a datatype may limit the degree to which values of the datatype can be distinguished. If every value in the value space of the conceptual datatype is distinguishable in the computational model from every other value in the value space, then the datatype is said to be exact. Certain mathematical datatypes having values which do not have finite representations are said to be approximate, in the following sense: Let M be the mathematical datatype and C be the corresponding computational datatype, and let P be the mapping from the value space of M to the value space of C . Then for every value v' in C , there is a corresponding value v in M and a real value h such that P(x) = v' for all x in M such that v − x < h . That is, v' is the approximation in C to all values in M which are “within distance h of value v ”. Furthermore, for at least one value v' in C , there is more than one value y in M such that P( y) = v' . And thus C is not an exact model of M . In this International Standard, all approximate datatypes have computational models which specify, via parametric values, a degree of approximation, that is, they require a certain minimum set of values of the mathematical datatype to be distinguishable in the computational datatype. [ISO11404]

approximate
type: Class
subclass of: exactness
AFX_0002808: OntoDT_0000250

exact
type: Class
subclass of: exactness
AFX_0002808: OntoDT_0000251

numericalness
type: Class
equivalent class: Class
  union of: non-numeric
  union of: numeric
subclass of: datatype facet
AFX_0002808: OntoDT_194081
definition: A datatype is said to be numeric if its values are conceptually quantities (in some mathematical number system). A datatype whose values do not have this property is said to be non-numeric. [ISO11404]
note: The significance of the numeric property is that the representations of the values depend on some radix, but can be algorithmically transformed from one radix to another. [ISO11404]

non-numeric
type: Class
subclass of: numericalness
AFX_0002808: OntoDT_0000253

numeric
type: Class
subclass of: numericalness
AFX_0002808: OntoDT_0000252

order
type: Class
equivalent class: Class
  union of: non-ordered
  union of: ordered
subclass of: datatype facet
AFX_0002808: OntoDT_369036
definition: A value space is said to be ordered if there exists for the value space an order relation, denoted ≤, with the following rules: - for every pair of values (a, b) from the value space, either a ≤ b or b ≤ a , or both; - for any two values (a, b) from the value space, if a ≤ b and b ≤ a , then a = b ; - for any three values (a, b, c) from the value space, if a ≤ b and b ≤ c , then a ≤ c . For convenience, the notation a < b is used herein to denote the simultaneous relationships: a ≤ b and a ≠ b . A datatype is said to be ordered if an order relation is defined on its value space. A corresponding characterizing operation, called InOrder, is then defined by: - for any two values (a, b) from the value space, InOrder(a, b) is true if a ≤ b , and false otherwise. [ISO11404]

non-ordered
type: Class
subclass of: order
AFX_0002808: OntoDT_0000255

ordered
type: Class
subclass of: order
AFX_0002808: OntoDT_0000254

aggregate generator facet
type: Class
subclass of: AFR_0000923

access type
type: Class
equivalent class: Class
  union of: direct access
  union of: indirect access
subclass of: aggregate generator facet
AFX_0002808: OntoDT_888670

direct access
type: Class
equivalent class: Class
  union of: index access
  union of: key access
subclass of: access type
AFX_0002808: OntoDT_0000221

indirect access
type: Class
equivalent class: Class
  union of: access by value
  union of: implementation dependent access
  union of: position access
subclass of: access type
AFX_0002808: OntoDT_0000222

access by value
type: Class
subclass of: indirect access
AFX_0002808: OntoDT_0000372

implementation dependent access
type: Class
subclass of: indirect access
AFX_0002808: OntoDT_0000373

position access
type: Class
subclass of: indirect access
AFX_0002808: OntoDT_0000374

index access
type: Class
subclass of: direct access
AFX_0002808: OntoDT_0000370

key access
type: Class
subclass of: direct access
AFX_0002808: OntoDT_0000371

aggregate size
type: Class
equivalent class: Class
  union of: fixed size
  union of: variable size
subclass of: aggregate generator facet
AFX_0002808: OntoDT_251157
definition: The size of an aggregate-value is the number of component values it contains. The size of the aggregate datatype is fixed, if and only if all values in its value space contain the same number of component values. The size is variable, if different values of the aggregate datatype may have different numbers of component values. Variability is the more general case; fixed-size is a constraint. [ISO11404]

fixed size
type: Class
subclass of: aggregate size

variable size
type: Class
subclass of: aggregate size

aggregate-imposed identifier uniqueness
type: Class
equivalent class: Class
  union of: identifier not unique
  union of: identifier unique
subclass of: aggregate generator facet
AFX_0002808: OntoDT_158535
definition: An aggregate-value has the identifier uniqueness property if and only if no identifier (e.g., label, index) of the element datatype occurs more than once in the aggregate-value. The aggregate datatype has the identifier uniqueness property, if and only if all values in its value space do. [ISO11404]

identifier not unique
type: Class
subclass of: aggregate-imposed identifier uniqueness
AFX_0002808: OntoDT_0000377

identifier unique
type: Class
subclass of: aggregate-imposed identifier uniqueness
AFX_0002808: OntoDT_0000378

aggregate-imposed ordering
type: Class
equivalent class: Class
  union of: ordered aggregate
  union of: unordered aggregate
subclass of: aggregate generator facet
AFX_0002808: OntoDT_017837
definition: An aggregate datatype has the ordering property, if and only if there is a canonical first element of each nonempty value in its value-space. This ordering is (externally) imposed by the aggregate value, as distinct from the value-space of the element datatype itself being (internally) ordered. It is also distinct from the value-space of the aggregate datatype being ordered. [ISO11404]
example: The type-generator sequence has the ordering property. The datatype characterstring is defined as sequence of (character(repertoire)). The ordering property of sequence means that in every value of type characterstring, there is a first character value. For example, the first element value of the characterstring value "computation" is 'c'. This is different from the question of whether the element datatype character(repertoire) is ordered: is 'a' < 'c'? It is also different from the question of whether the value space of datatype characterstring is ordered by some collating-sequence, e.g. is "computation" < "Computer"? [ISO11404]

ordered aggregate
type: Class
subclass of: aggregate-imposed ordering
AFX_0002808: OntoDT_0000375

unordered aggregate
type: Class
subclass of: aggregate-imposed ordering
AFX_0002808: OntoDT_0000376

component mandatoriness
type: Class
equivalent class: Class
  union of: component mandatory
  union of: component optional
subclass of: aggregate generator facet
AFX_0002808: OntoDT_470848
definition: The components of an aggregate datatype may not all be required to have a valid value of the datatype, i.e., the actual value space of the datatype may include values for which some of the component values are unspecified. When a component of the datatype is required to have a valid value in order for the aggregate value to be a valid value of the datatype, the component is said to be a mandatory component. When a component of the datatype is not required to have a valid value in order for the aggregate value to be a valid value of the datatype, the component is said to be an optional component. [ISO 11404]
note: This property applies to fields of records, members of classes, and elements of sequences, tables, and arrays. [ISO11404]

component mandatory
type: Class
subclass of: component mandatoriness
AFX_0002808: OntoDT_0000381

component optional
type: Class
subclass of: component mandatoriness
AFX_0002808: OntoDT_0000382

dimensionality
type: Class
equivalent class: Class
  union of: multidimensional
  union of: one dimensional
  union of: two dimensional
subclass of: aggregate generator facet
AFX_0002808: OntoDT_0000204

multidimensional
type: Class
subclass of: dimensionality
AFX_0002808: OntoDT_0000385

one dimensional
type: Class
subclass of: dimensionality
AFX_0002808: OntoDT_0000383

two dimensional
type: Class
subclass of: dimensionality
AFX_0002808: OntoDT_0000384

homogenity
type: Class
equivalent class: Class
  union of: heterogenous
  union of: homogenous
subclass of: aggregate generator facet
AFX_0002808: OntoDT_205502
definition: An aggregate datatype is homogeneous, if and only if all components must belong to a single datatype. If different components may belong to different datatypes, the aggregate datatype is said to be heterogeneous. The component datatype of a homogeneous aggregate is also called the element datatype. [ISO11404]
note: Homogeneous aggregates view all their elements as serving the same role or purpose. Heterogeneous aggregates divide their elements into different roles. [ISO11404]
note: The aggregate datatype is homogeneous if its components all belong to the same datatype, even if the element datatype is itself an heterogeneous aggregate datatype. Consider the datatype label_list defined by: type label = choice (state(name, handle)) of ((name): characterstring, (handle): integer); type label_list = sequence of (label); Formally, a label_list value is a homogeneous series of label values. One could argue that it is really a series of heterogeneous values, because every label value is of a choice datatype. The choice datatype generator is clearly heterogeneous because it is capable of introducing variation in element type. But sequence is homogeneous because it itself introduces no variation in element type. [ISO11404]

heterogenous
type: Class
subclass of: homogenity

homogenous
type: Class
subclass of: homogenity

recursiveness
type: Class
equivalent class: Class
  union of: non-recursive
  union of: recursive
subclass of: aggregate generator facet

non-recursive
type: Class
subclass of: recursiveness

recursive
type: Class
subclass of: recursiveness

structuredness
type: Class
equivalent class: Class
  union of: semi-structured
  union of: structured
  union of: unstructured
subclass of: aggregate generator facet
AFX_0002808: OntoDT_614962

semi-structured
type: Class
subclass of: structuredness

structured
type: Class
subclass of: structuredness

unstructured
type: Class
subclass of: structuredness

uniqueness
type: Class
equivalent class: Class
  union of: non-unique values
  union of: unique values
subclass of: aggregate generator facet
AFX_0002808: OntoDT_261649
definition: An aggregate-value has the uniqueness property if and only if no value of the element datatype occurs more than once in the aggregate-value. The aggregate datatype has the uniqueness property, if and only if all values in its value space do. [ISO11404]

non-unique values
type: Class
subclass of: uniqueness

unique values
type: Class
subclass of: uniqueness

defined generator parameter
type: Class
subclass of: AFR_0000957

direction
type: Class
subclass of: AFR_0000957
AFX_0002808: OntoDT_1000008

list specification
type: Class
subclass of: AFR_0000957
example: OntoDT_0000005

alternative list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: alternative component

attribute list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: attribute component

defined datatype parameter list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: defined datatype parameter
AFX_0002808: OntoDT_372249

defined generator parameter list
type: Class
subclass of: list specification
AFX_0002808: OntoDT_335173

enumerated value list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: enumerated value identifier
AFX_0002808: OntoDT_959638

extended value list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: extended value identifier
AFX_0002808: OntoDT_621008

field list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: field component
AFX_0002808: OntoDT inst 674431

index type list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: index type
AFX_0002808: OntoDT_713630

procedure parameter list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: procedure parameter declaration
AFX_0002808: OntoDT_1000006

select list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: select item specification
AFX_0002808: OntoDT_589006

state value list
type: Class
subclass of: list specification
subclass of: Restriction
  on property: BFO_0000051
  some values from: state value identifier
AFX_0002808: OntoDT_089686
alternative label: discrete value list

procedure parameter declaration
type: Class
subclass of: AFR_0000957
subclass of: Restriction
  on property: BFO_0000051
  some values from: direction
subclass of: Restriction
  on property: BFO_0000051
  some values from: parameter
AFX_0002808: OntoDT_1000007

return parameter specification
type: Class
subclass of: AFR_0000957
subclass of: Restriction
  on property: BFO_0000051
  some values from: datatype
AFX_0002808: OntoDT_1000010

select item specification
type: Class
subclass of: AFR_0000957
AFX_0002808: OntoDT_344884

value space
type: Class
subclass of: AFR_0000957
AFX_0002808: OntoDT_095716
source: ISO/IEC 11404:2007(E)
definition: a value space is the collection of values for a given datatype

datatype generator
type: Class
subclass of: algorithm
definition: Operation on datatypes, as objects distinct from their values, that generates new datatypes. [ISO11404]

defined generator
type: Class
subclass of: datatype generator

generated datatype generator
type: Class
subclass of: datatype generator
AFX_0002808: OntoDT_436502

subtype generator
type: Class
subclass of: datatype generator
type: NamedIndividual
AFX_0002808: OntoDT_869983
definition: A subtype is a datatype derived from an existing datatype, designated the base datatype, by restricting the value space to a subset of that of the base datatype whilst maintaining all characterizing operations. Subtypes are created by a kind of datatype generator which is unusual in that its only function is to define the relationship between the value spaces of the base datatype and the subtype. [ISO11404]

excluding subtype generator
type: Class
subclass of: subtype generator
AFX_0002808: OntoDT_0000013

explict subtype generator
type: Class
subclass of: subtype generator
AFX_0002808: OntoDT_0000014

extending subtype generator
type: Class
subclass of: subtype generator
AFX_0002808: OntoDT_0000015

range subtype generator
type: Class
subclass of: subtype generator
AFX_0002808: OntoDT_0000016

selection subtype generator
type: Class
subclass of: subtype generator
AFX_0002808: OntoDT_0000017

size subtype generator
type: Class
subclass of: subtype generator
AFX_0002808: OntoDT_0000018

positive integer range subtype generator
type: Class
subclass of: range subtype generator
AFX_0002808: OntoDT UC 0000031

aggregate datatype generator
type: Class
subclass of: generated datatype generator
definition: An aggregate datatype generator generates a datatype by - applying an algorithmic procedure to the value spaces of its component datatypes to yield the value space of the aggregate datatype, and - providing a set of characterizing operations specific to the generator. [ISO11404]

non-aggregate datatype generator
type: Class
subclass of: generated datatype generator
AFX_0002808: OntoDT_176330

choice datatype generator
type: Class
subclass of: non-aggregate datatype generator
AFX_0002808: OntoDT_0000039

pointer datatype generator
type: Class
subclass of: non-aggregate datatype generator
AFX_0002808: OntoDT_0000040

procedure datatype generator
type: Class
subclass of: non-aggregate datatype generator
AFX_0002808: OntoDT_0000041

heterogenous aggregate datatype generator
type: Class
subclass of: aggregate datatype generator
AFX_0002808: OntoDT_0000209

homogenous aggregate datatype generator
type: Class
equivalent class: Class
  union of: array datatype generator
  union of: sequence datatype generator
  union of: bag datatype generator
  union of: set datatype generator
subclass of: aggregate datatype generator
AFX_0002808: OntoDT_0000208

array datatype generator
type: Class
subclass of: homogenous aggregate datatype generator
AFX_0002808: OntoDT_0000032

homogenous aggregate datatype generator with variable size
type: Class
subclass of: homogenous aggregate datatype generator
AFX_0002808: OntoDT_0000210

homogenous unordered aggregate datatype generator with variable size
type: Class
subclass of: homogenous aggregate datatype generator with variable size
AFX_0002808: OntoDT_0000211

sequence datatype generator
type: Class
subclass of: homogenous aggregate datatype generator with variable size
AFX_0002808: OntoDT_0000036

bag datatype generator
type: Class
subclass of: homogenous unordered aggregate datatype generator with variable size
AFX_0002808: OntoDT_0000033

set datatype generator
type: Class
subclass of: homogenous unordered aggregate datatype generator with variable size
AFX_0002808: OntoDT_0000037

class datatype generator
type: Class
subclass of: heterogenous aggregate datatype generator
AFX_0002808: OntoDT_0000034

record datatype generator
type: Class
subclass of: heterogenous aggregate datatype generator
AFX_0002808: OntoDT_0000035

table datatype generator
type: Class
subclass of: heterogenous aggregate datatype generator
AFX_0002808: OntoDT_0000038

directed labeled graph datatype generator
type: Class
subclass of: defined generator
AFX_0002808: OntoDT_210187

non-directed labeled graph generator
type: Class
subclass of: defined generator
AFX_0002808: OntoDT_339517

optional generator
type: Class
subclass of: defined generator

stack generator
type: Class
subclass of: defined generator
AFX_0002808: OntoDT_0000029

tree generator
type: Class
subclass of: defined generator

vector generator
type: Class
subclass of: defined generator
AFX_0002808: OntoDT_755846

DAG datatype generator
type: Class
subclass of: directed labeled graph datatype generator
AFX_0002808: OntoDT_972766

tree datatype generator
type: Class
subclass of: directed labeled graph datatype generator
AFX_0002808: OntoDT_0000030

datatype
type: Class
subclass of: data representational model
AFX_0002808: OntoDT_487147
definition: set of distinct values, characterized by properties of those values, and by operations on those values. [ISO11404]

defined datatype
type: Class
subclass of: datatype
AFX_0002808: OntoDT_310738
definition: Datatype defined by a type-declaration. [ISO11404]

generated datatype
type: Class
subclass of: datatype
AFX_0002808: OntoDT_191754
definition: Datatype defined by the application of a datatype generator to one or more previously-defined datatypes. [ISO11404]

primitive datatype
type: Class
subclass of: datatype
AFX_0002808: OntoDT_018988
definition: Identifiable datatype that cannot be decomposed into other identifiable datatypes without loss of all semantics associated with the datatype. [ISO11404]

non-numeric primitive datatype
type: Class
subclass of: primitive datatype
AFX_0002808: OntoDT_0000212

numeric primitive datatype
type: Class
subclass of: primitive datatype
AFX_0002808: OntoDT_0000213

void datatype
type: Class
subclass of: primitive datatype
AFX_0002808: OntoDM-Viz 00000
definition: void is the datatype representing an object whose presence is syntactically or semantically required, but carries no information in a given instance. [ISO11404]

complex datatype
type: Class
subclass of: numeric primitive datatype
AFX_0002808: OntoDT_582642
definition: complex is a family of datatypes, each of which is a computational approximation to the mathematical datatype comprising the “complex numbers”. Specifically, each complex datatype designates a collection of mathematical complex values which are known to certain applications to some finite precision and must be distinguishable to at least that precision in those applications.

numeric ordered primitive datatype
type: Class
subclass of: numeric primitive datatype
AFX_0002808: OntoDT_0000214

integer datatype
type: Class
subclass of: numeric ordered primitive datatype
AFX_0002808: OntoDT_0000003
definition: integer is the mathematical datatype comprising the exact integral values. [ISO11404]

rational datatype
type: Class
subclass of: numeric ordered primitive datatype
AFX_0002808: OntoDT_0000004
definition: Rational is the mathematical datatype comprising the “rational numbers”. [ISO11404]

real datatype
type: Class
subclass of: numeric ordered primitive datatype
AFX_0002808: OntoDT_150012
definition: real is a family of datatypes which are computational approximations to the mathematical datatype comprising the “real numbers”. Specifically, each real datatype designates a collection of mathematical real values which are expressed to some finite precision and must be distinguishable to at least that precision. [ISO11404]

scaled datatype
type: Class
subclass of: numeric ordered primitive datatype
AFX_0002808: OntoDT_131075
definition: Scaled is a family of datatypes whose value spaces are subsets of the rational value space, each individual datatype having a fixed denominator, but the scaled datatypes possess the concept of approximate value. [ISO11404]

non-numeric ordered primitive datatype
type: Class
subclass of: non-numeric primitive datatype
AFX_0002808: OntoDT_0000216

non-numeric unordered primitive datatype
type: Class
subclass of: non-numeric primitive datatype
AFX_0002808: OntoDT_0000215

boolean datatype
type: Class
subclass of: non-numeric unordered primitive datatype
AFX_0002808: OntoDT_0000002
definition: boolean is the mathematical datatype associated with two-valued logic. [ISO11404]

character datatype
type: Class
subclass of: non-numeric unordered primitive datatype
AFX_0002808: OntoDT_321211
definition: character is a family of datatypes whose value spaces are character-sets. [ISO11404]

state datatype
type: Class
subclass of: non-numeric unordered primitive datatype
AFX_0002808: OntoDT_608148
definition: State is a family of datatypes, each of which comprises a finite number of distinguished but unordered values. [ISO11404]

date and time datatype
type: Class
subclass of: non-numeric ordered primitive datatype
AFX_0002808: OntoDT_459594
definition: Time is a family of datatypes whose values are points in time to various common resolutions: year, month, day, hour, minute, second, and fractions thereof. [ISO11404]

enumerated datatype
type: Class
subclass of: non-numeric ordered primitive datatype
AFX_0002808: OntoDT_379444
definition: enumerated is a family of datatypes, each of which comprises a finite number of distinguished values having an intrinsic order. [ISO11404]

ordinal datatype
type: Class
subclass of: non-numeric ordered primitive datatype
AFX_0002808: OntoDT_0000001
definition: ordinal is the datatype of the ordinal numbers, as distinct from the quantifying numbers (datatype integer). ordinal is the infinite enumerated datatype. [ISO11404]

aggregate datatype
type: Class
subclass of: generated datatype
subclass of: Restriction
  on property: BFO_0000051
  some values from: aggregate datatype generator
AFX_0002808: OntoDT_378476
definition: An aggregate datatype is a generated datatype, each of whose values is, in principle, made up of values of the parametric datatypes. The parametric datatypes of an aggregate datatype or its generator are also called component datatypes. [ISO11404]

non-aggregate datatype
type: Class
subclass of: generated datatype
AFX_0002808: OntoDT_877338

choice datatype
type: Class
subclass of: non-aggregate datatype
AFX_0002808: OntoDT_382564
definition: Choice generates a datatype called a choice datatype, each of whose values is a single value from any of a set of alternative datatypes. The alternative datatypes of a choice datatype are logically distinguished by their correspondence to values of another datatype, called the tag datatype. [ISO11404]

pointer datatype
type: Class
subclass of: non-aggregate datatype
AFX_0002808: OntoDT_236485
definition: pointer generates a datatype, called a pointer datatype, each of whose values constitutes a means of reference to values of another datatype, designated the element datatype. The values of a pointer datatype are atomic. [ISO11404]

procedure datatype
type: Class
subclass of: non-aggregate datatype
AFX_0002808: OntoDT_721277
definition: procedure generates a datatype, called a procedure datatype, each of whose values is an operation on values of other datatypes, designated the parameter datatypes. That is, a procedure datatype comprises the set of all operations on values of a particular collection of datatypes. All values of a procedure datatype are conceptually atomic. [ISO11404]

heterogenous aggregate datatype
type: Class
subclass of: aggregate datatype
AFX_0002808: OntoDT_0000218

homogenous aggregate datatype
type: Class
subclass of: aggregate datatype
AFX_0002808: OntoDT_0000217

array datatype
type: Class
subclass of: homogenous aggregate datatype
AFX_0002808: OntoDT_110287

homogenous aggregate datatype with variable size
type: Class
subclass of: homogenous aggregate datatype
AFX_0002808: OntoDT_0000219

sequence datatype
type: Class
subclass of: homogenous aggregate datatype with variable size
AFX_0002808: OntoDT_648082
definition: Sequence generates a datatype, called a sequence datatype, whose values are ordered sequences of values from the element datatype. The ordering is imposed on the values and not intrinsic in the underlying datatype; the same value may occur more than once in a given sequence. [ISO11404]

vector datatype
type: Class
subclass of: array datatype
AFX_0002808: OntoDT_207563

bit
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000021
definition: bit is the datatype representing the finite field of two symbols designated 0, the additive identity, and 1, the multiplicative identity. [ISO11404]

bit string
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000022
definition: bitstring is the datatype of variable-length strings of binary digits. [ISO11404]

character string
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000023
definition: character string is a family of datatypes which represent strings of symbols from standard character-sets. [ISO11404]

labeled graph datatype
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_591397

modulo
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000020
definition: modulo is a family of datatypes derived from Integer by replacing the operations with arithmetic operations using the modulus characteristic. [ISO11404]

natural number
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000019

non-directed labeled graph datatype
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_576464

object identifier
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000028
definition: object identifier is the datatype of “object identifiers”, i.e. values which uniquely identify objects in a (Open Systems Interconnection) communications protocol, using the formal structure defined by Abstract Syntax Notation One (ISO/IEC 8824). [ISO11404]

octet
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000025
definition: octet is the datatype of 8-bit codes, as used for character-sets and private encodings. [ISO11404]

octet string
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000026
definition: octet string is the datatype of variable-length encodings using 8-bit codes. [ISO11404]

private
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000027
definition: A private datatype represents an application-defined value-space and operation set which are intentionally concealed from certain processing entities. [ISO11404]

time interval
type: Class
subclass of: defined datatype
AFX_0002808: OntoDT_0000024
definition: timeinterval is a family of datatypes representing elapsed time in seconds or fractions of a second (as opposed to Date-and-time, which represents a point in time). It is a generated datatype derived from a scaled datatype by limiting the operations. [ISO11404]

directed acyclic graph datatype
type: Class
subclass of: labeled graph datatype
AFX_0002808: OntoDT_645869
alternative label: DAG datatype

tree datatype
type: Class
subclass of: labeled graph datatype
AFX_0002808: OntoDT_245924

extended datatype
type: Class
subclass of: data representational model
subclass of: Restriction
  on property: BFO_0000051
  some values from: subtype generator
subclass of: Restriction
  on property: BFO_0000051
  some values from: base type
AFX_0002808: OntoDT_0000203
alternative label: subtype

positive integer datatype
type: Class
subclass of: extended datatype
subclass of: Restriction
  on property: BFO_0000051
  some values from: positive integer range subtype generator
AFX_0002808: OntoDT UC 0000030

class datatype
type: Class
subclass of: heterogenous aggregate datatype
AFX_0002808: OntoDT_598925

record datatype
type: Class
subclass of: heterogenous aggregate datatype
AFX_0002808: OntoDT_950419
alternative label: tuple datatype

labeled dataset record datatype
type: Class
subclass of: record datatype
AFX_0002808: OntoDT_0000049

unlabeled dataset record datatype
type: Class
subclass of: record datatype
AFX_0002808: OntoDT UC 0000028

table datatype
type: Class
subclass of: heterogenous aggregate datatype
AFX_0002808: OntoDT_003508

datatype role
type: Class
subclass of: AFRL_0000166
subclass of: Restriction
  on property: AFX_0002726
  some values from: datatype
AFX_0002808: OntoDT_0000008

alternative component
type: Class
subclass of: datatype role

alternative type
type: Class
subclass of: datatype role
subclass of: Restriction
  on property: BFO_0000051
  some values from: alternative component

attribute component
type: Class
subclass of: datatype role

base type
type: Class
subclass of: datatype role
subclass of: Restriction
  on property: BFO_0000050
  some values from: extended datatype
AFX_0002808: OntoDT_691902

integer base type
type: Class
subclass of: base type
subclass of: Restriction
  on property: AFX_0002726
  some values from: real datatype
AFX_0002808: OntoDT UC 0000027

real base type
type: Class
subclass of: base type
subclass of: Restriction
  on property: AFX_0002726
  some values from: real datatype
AFX_0002808: OntoDT_488636

state base type
type: Class
subclass of: base type
subclass of: Restriction
  on property: AFX_0002726
  some values from: state datatype
AFX_0002808: OntoDT_339518

defined datatype parameter
type: Class
subclass of: datatype role
AFX_0002808: OntoDT_029503

field component
type: Class
subclass of: datatype role

aggregate field component
type: Class
subclass of: field component

primitive field component
type: Class
subclass of: field component

graph aggregate component
type: Class
subclass of: aggregate field component
AFX_0002808: OntoDT_041544

edge component
type: Class
subclass of: graph aggregate component
AFX_0002808: OntoDT_903401

node component
type: Class
subclass of: graph aggregate component
AFX_0002808: OntoDT_775509

index type
type: Class
subclass of: datatype role
AFX_0002808: OntoDT_293023

parameter
type: Class
subclass of: datatype role
AFX_0002808: OntoDT_1000009

pointer element type
type: Class
subclass of: datatype role
AFX_0002808: OntoDT_1000005

tag type
type: Class
subclass of: datatype role
AFX_0002808: OntoDT_1000000

datum label
type: Class

algorithm
type: Class

data representational model
type: Class
subclass of: AFR_0000957

direction in
type: NamedIndividual
type: direction
alternative label: in

direction out
type: NamedIndividual
type: direction
alternative label: out

Derivative works attribution
type: NamedIndividual
type: RightsStatement
description: These taxonomies contain material or may constitute derivative works of material which may be subject to copyright by one of the following organizations. By using these taxonomies, you agree to the following terms and conditions applicable to its contents: ****************************************************************************** Copyright Notice and Terms for IUPAC Gold Book ______________________________________________________________________________ Copyright © 1998, Regents of the University of California All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ****************************************************************************** Copyright Notice and Terms for PSI-MS (Proteomics Standards Initiative - Mass Spectrometry) Mass spectrometer output files and spectra interpretati…

(c) 2017 Allotrope Foundation
type: NamedIndividual
type: RightsStatement
description: (c) 2017 Allotrope Foundation

Creative Commons Attribution 4.0 International Public License
type: NamedIndividual
type: LicenseDocument
description: This work is licensed under a Creative Commons Attribution 4.0 International License http://creativecommons.org/licenses/by/4.0/. THESE MATERIALS ARE PROVIDED "AS IS" AND ALLOTROPE EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF NON-INFRINGEMENT, TITLE, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Copyright © 2015-2025 Allotrope Foundation

datatype
type: NamedIndividual
contributor: Pance Panov
contributor: Saso Dzeroski