QUDT SHACL SCHEMA Datatypes Version 3.1.11
This ontology is to be used by other ontologies that need datatype definitions.
An "Abstract Datatype" (ADT) is a specification of a set of data and the set of operations that can be performed on the data. Such a data type is abstract in the sense that it is independent of various concrete implementations. The definition can be mathematical, or it can be programmed as an interface. A first class ADT supports the creation of multiple instances of the ADT, and the interface normally provides a constructor, which returns an abstract handle to new data, and several operations, which are functions accepting the abstract handle as an argument.
An Algebraic Datatype is a datatype each of whose values are data from other data types wrapped in one of the constructors of the data type. Any wrapped datum is an argument to the constructor. In contrast to other data types, the constructor is not executed and the only way to operate on the data is to unwrap the constructor using pattern matching. The most common algebraic data type is a list with two constructors: Nil or [] for an empty list, and Cons (an abbreviation of constructor), ::, or : for the combination of a new element with a shorter list (for example (Cons 1 '(2 3 4)) or 1:[2,3,4]). Special cases of algebraic types are product types i.e. records (only one constructor) and enumerated types (many constructors with no arguments). Algebraic types are one kind of composite type (i.e. a type formed by combining other types). An algebraic data type may also be an abstract data type (ADT) if it is exported from a module without its constructors. Values of such a type can only be manipulated using functions defined in the same module as the type itself.
Specifies how a physical data field is aligned. The alignment could be at a bit, byte or word boundary.
An Array> is a data structure that stores a collection of elements, typically of the same type, in a contiguous block of memory. Each element in an array is identified by an index or key, which is typically a numerical identifier, either starting at '0' or '1'. The key considerations for an Array are: Fixed Size: The size of an array may be pre-determined when it is created and cannot be changed; Index-Based Access: Elements can be accessed, updated, or modified using their index; Contiguous Memory Allocation: The elements are stored in consecutive memory locations, which allows efficient access using the index. An Array is represented as ordered entries of values arranged according to its dimensionality. The number of dimensions is specified in the attribute 'dimensionality'. An array can be multi-dimensional. Multiple indices are used but they are treated as extensions of the same structure. For Example: for a 2D array arr[2][3], indices refer to the row and column positions. A 2D array is still represented as a list, where each member of the list is a list. Higher dimensional arrays can be represented as nested lists. For each dimension a new nested list is defined.
A sub-type of 'Enumerated Value'. Detailed description to be provided in a future version.
An Array Type is a type specification for ordered entries of values arranged according to the dimensions given. The dimensions are given as a list of integers where each integer is the cardinality of each dimension. The number of dimensions is specified in the attribute 'dimensionality'. Optionally a reference can be made to a variable, whose values are the array entries. The data type of the array entries is an optional field, 'elementType', which points to a data type definition. If the data type is given, then it applies to all elements. If it is not given then the elements can be of different types for each position in the array. The property qudt:typeMatrix must refer to a matrix of types. If a default value is given this can be used to place the appropriate value in a cell when an entry value is not known. If no dimensionality or dimension vector is specified the array is under-specified but still legitimate as a place-holder for a data type.
An Associative Array (or Map) is an abstract data type composed of a collection of keys and a collection of values, where each key is associated with one value. The operation of finding the value associated with a key is called a lookup or indexing, and this is the most important operation supported by an associative array. The relationship between a key and its value is sometimes called a mapping or binding.
An aural cue is a sound produced by a device or a system that is used to alert personnel of of an advisory, cautionary, warning, or emergency state.
The axial orientation of a coordinate system frame axis.
A Balanced Tree is a data type that defines the properties of data structures that represent balanced trees. A balanced tree is a tree where no leaf is much farther away from the root than any other leaf. Different balancing schemes allow different definitions of "much farther" and different amounts of work to keep them balanced.
A Big Integer is an integer that can be represented in eight octets (64 bits) of machine memory. Big integers may be signed or unsigned.
A Binary Tree is a data type that defines the properties of data structures that represent binary trees. A binary tree is a tree in which each node has at most 2 children.
A Bit Encoding Type is an encoding type for the correspondence between the two possible values of a bit, 0 or 1, and some interpretation. For example, in a boolean encoding, a bit denotes a truth value, where 0 corresponds to False and 1 corresponds to True.
A boolean data type can take on only two values.
Specifies how a boolean value is expressed
This class contains the various ways that information may be encoded into bytes.
In mathematics, the cardinality of a set is a measure of the number of elements of the set. For example, the set $A = {2, 4, 6}$ contains 3 elements, and therefore $A$ has a cardinality of 3. There are two approaches to cardinality: one which compares sets directly using bijections and injections, and another which uses cardinal numbers.
In mathematics, the cardinality of a set is a measure of the number of elements of the set. For example, the set 'A = {2, 4, 6}' contains 3 elements, and therefore 'A' has a cardinality of 3. There are two approaches to cardinality – one which compares sets directly using bijections and injections, and another which uses cardinal numbers.
A set of variables which fix a geometric object. If the coordinates are distances measured along perpendicular axes, they are known as Cartesian coordinates.
The class of all character encoding schemes. Each defines a rule or algorithm for encoding character data as a sequence of bits or bytes.
The class of all character encoding schemes, each of which defines a rule or algorithm for encoding character data as a sequence of bits or bytes.
A Character Type is a data type that defines the type and encoding of single characters.
A collection is a grouping of some variable number of zero or more data items that need to be operated upon together in some controlled fashion. Generally, the data items will all share the same data type or are derived from some common ancestor data type.
A visual cue that uses color to distinguish it from other cues. Each color cue has exactly one corresponding coordinate point in the RGB space.
A Composite Data Structure, also referred to as Data Record is a datatype that aggregates element of possibly different types. The aggregated items are called fields or members and are usually identified or indexed by field labels.
A Composite Datatype is a datatype that is constructed from basic primitive types and other composite types.
An enumeration of coordinate centers for coordinate systems, such as: "Earth centered", "Mars centered", "Moon centered", "Sun centered", and "Vehicle centered".
A Coordinate Member is a data type that defines the properties of a coordinate in a coordinate system.
A Coordinate System is a mathematical structure for assigning a unique n-tuple of numbers or scalars to each point in an n-dimensional space. A Coordinate System Type is a data type that defines the properties of data structures that represent coordinate systems. In geometry, a coordinate system is a system which uses one or more numbers, or coordinates, to uniquely determine the position of a point or other geometric element on a manifold such as Euclidean space. The order of the coordinates is significant. They are sometimes identified by their position in an ordered tuple and sometimes by a letter, as in 'the x-coordinate'. In elementary mathematics the coordinates are taken to be real numbers, but may be complex numbers or elements of a more abstract system such as a commutative ring. The use of a coordinate system allows problems in geometry to be translated into problems about numbers and vice versa; this is the basis of analytic geometry. In astronomy, a celestial coordinate system is a system for specifying positions of celestial objects: satellites, planets, stars, galaxies, and so on. Coordinate systems can specify a position in 3-dimensional space, or merely the direction of the object on the celestial sphere, if its distance is not known or not important. The coordinate systems are implemented in either spherical coordinates or rectangular coordinates. Spherical coordinates, projected on the celestial sphere, are analogous to the geographic coordinate system used on the surface of the Earth. These differ in their choice of fundamental plane, which divides the celestial sphere into two equal hemispheres along a great circle. Rectangular coordinates, in appropriate units, are simply the cartesian equivalent of the spherical coordinates, with the same fundamental (x,y) plane and primary (x-axis) direction. Each coordinate system is named for its choice of fundamental plane.
A coordinate system is a mathematical structure for assigning a unique n-tuple of numbers or scalars to each point in an n-dimensional space. A Coordinate System Type is a data type that defines the properties of data structures that represent coordinate systems. The primary attributes of any coordinate system are the coordinate frame or orientation of the axes of the coordinate system and the coordinate center or origin of the coordinate system. The coordinate center is the easier of the two attributes to define and in trajectory-related coordinate systems is often taken to be the center of mass of natural solar system bodies such as the Earth, the Moon, or Mars. Precise definition of the coordinate frame, however, usually takes much more effort. As a result, the primary purpose is to provide a detailed description of a number of different coordinate frames commonly used in mission analysis.
A 2D coordinate system is a system for assigning a two-tuple of numbers or scalars to each point in an 2-dimensional space. A corresponding 2D Coordinate Type is a data type that defines the data type for each coordinate (tuple member) in a 2D coordinate system.
A 2D coordinates in double floating point precision for locating a point in physical space.
A 2D coordinates in single floating point precision for locating a point in physical space.
Cartesian Coordinates 2D Single Precision
A 3D coordinate system is a system for assigning a three-tuple of numbers or scalars to each point in an 3-dimensional space. A corresponding 3D Coordinate Type is a data type that defines the data type for each coordinate (tuple member) in a 3D coordinate system.
A 3D coordinates in double floating point precision for locating a point in physical space.
A 3D coordinates in single floating point precision for locating a point in physical space.
Data Encoding expresses the properties that specify how data is represented at the bit and byte level. These properties are applicable to describing raw data.
A field is a tuple that carries a name, a type and optionally other properties that characterize a member element of a composite data structure.
Date String Types are scalar data types that define the properties of strings that represent calendar dates.
Date Time encodings are logical encodings for expressing date/time quantities as strings by applying unambiguous formatting and parsing rules.
A class of data types for structures that represent temporal quantities. For example, calendar dates, times, duration of time since a given epoch, etc.
A Dimensional Data Type is a data type that specifies a physical quantity or unit of measure. Information about the physical dimensions of the quantities and units is embedded in their types.
A Discrete State is the parent class for enumerated values that express a 'State' or 'Condition'. Examples are 'on' and 'off for a switch, 'open' and 'closed' for a valve, and 'wet' and 'dry'.
A double precision data type specifies how a numeric value, such as an integer or real number, is stored in memory. Typically this occupies two words in computer memory, where the byte length of a word depends on machine address size of the computer processor. For example, on 32-bit machine architectures, a word is four bytes, and so double precision data value on a 32-bit machine architecture occupies eight bytes of memory.
A "Trajectory Coordinate System" for all earth-centered coordinates, such as: Earth mean equator and prime meridian coordinate system;; Earth true equator and prime meridian of epoch coordinate system; International celestial reference system; International terrestrial reference system; Sun centered international celestial reference system; Vehicle centered international celestial reference system.
An encoding is a rule or algorithm that is used to convert data from a native, or unspecified form into a specific form that satisfies the encoding rules. Examples of encodings include character encodings, such as UTF-8.
In computing, endianness is the ordering used to represent some kind of data as a sequence of smaller units. Typical cases are the order in which integer values are stored as bytes in computer memory (relative to a given memory addressing scheme) and the transmission order over a network or other medium. When specifically talking about bytes, endianness is also referred to simply as byte order. Most computer processors simply store integers as sequences of bytes, so that, conceptually, the encoded value can be obtained by simple concatenation. For an 'n-byte' integer value this allows 'n!' (n factorial) possible representations (one for each byte permutation). The two most common of them are: increasing numeric significance with increasing memory addresses, known as little-endian, and its opposite, called big-endian.
A sub-type of 'Tuple Member Type'.
A Fixed Interval Time Series Array Type is a data type that specifies the properties of arrays that hold time series data. For example, data that has been sampled over uniformly spaced time intervals. A time series is a sequence of data points, measured typically at successive times, spaced at uniform or non-uniform time intervals.
A type for specifying an "Encoding" with the following instance(s): "Double Precision Encoding", and "Single Precision Real Encoding".
A "Encoding" with the following instance(s): "Double Precision Encoding", "Single Precision Real Encoding".
A Frame Type specifies the intertial type of a coordinate frame as either inertial, rotating, or non-rotating.
A function data type defines the input and output data type for a function or method. The data type includes at least the function name and the number of its parameters. In some programming languages, it may also specify the function's return type or the types of its arguments.
A Graph is an instance of a kind of abstract data type, that consists of a set of nodes (also called vertices) and a set of edges that establish relationships (connections) between the nodes. A Graph Type is a data type that defines the properties of data structures that represent graphs and their members (nodes and edges).
A sub-type of 'Aerospace coordinate system'.
A heap is a specialized tree-based data structure that satisfies the condition: if B is a child node of A, then $key(A) \ge key(B)$. This implies that an element with the greatest key is always in the root node, and so such a heap is sometimes called a max heap. Alternatively, if the comparison is reversed, the smallest element is always in the root node, which results in a min heap. The function or method that implements the key() operator is specified by the heap type.
An Array> is a data structure that stores a collection of elements, typically of the same type, in a contiguous block of memory. Each element in an array is identified by an index or key, which is typically a numerical identifier, either starting at '0' or '1'. The key considerations for an Array are: Fixed Size: The size of an array may be pre-determined when it is created and cannot be changed; Index-Based Access: Elements can be accessed, updated, or modified using their index; Heterogenous Elements: all elements in the array may be of different data types; Contiguous Memory Allocation: the elements are stored in consecutive memory locations, which allows efficient access using the index. An Array is represented as ordered entries of values arranged according to its dimensionality. The number of dimensions is specified in the attribute 'dimensionality'. The property 'qudt:datatype' refers to a list if the datatypes of the elements. An heterogenous array can be multi-dimensional. Multiple indices are used but they are treated as extensions of the same structure. For example: for a 2D array arr[2][3], indices refer to the row and column positions. A 2D array is still represented as a list, where each member of the list is a list. Higher dimensional arrays can be represented as nested lists. For each dimension a new nested list is defined.
An Array> is a data structure that stores a collection of elements, typically of the same type, in a contiguous block of memory. Each element in an array is identified by an index or key, which is typically a numerical identifier, either starting at '0' or '1'. The key considerations for an Array are: Fixed Size: The size of an array may be pre-determined when it is created and cannot be changed; Index-Based Access: Elements can be accessed, updated, or modified using their index; Homogeneous Elements: all elements in an array must be of the same datatype; Contiguous Memory Allocation: The elements are stored in consecutive memory locations, which allows efficient access using the index. An Array is represented as ordered entries of values arranged according to its dimensionality. The number of dimensions is specified in the attribute 'dimensionality'. The property 'qudt:datatype' refers to the datatype of the elements. An array can be multi-dimensional. Multiple indices are used but they are treated as extensions of the same structure. For Example: for a 2D array arr[2][3], indices refer to the row and column positions. A 2D array is still represented as a list, where each member of the list is a list. Higher dimensional arrays can be represented as nested lists. For each dimension a new nested list is defined.
An Integer Type is a data type that specifies how integer numbers are represented and stored in machine memory.
A 'LargeObject' datatype is used to store blocks of unstructured data (such as text, graphic images, video clips, and sound waveforms). They often are used to allow efficient, random, piece-wise access to the data.
A "Trajectory Coordinate System" with the following instance(s): "Local vertical curvilinear coordinate system", "Local vertical local horizontal coordinate system", "Vehicle centered local vertical curvilinear coordinate system".
A "Long Integer" is an integer that can be represented in four octets (32 bits) of machine memory. Long integers may be signed or unsigned.
Two slightly different coordinate frames are commonly used to define the orientation of the axes of a lunar body-fixed coordinate system: a mean Earth/rotation frame and a principal axis coordinate frame. The mean Earth/rotation frame (sometimes called the "Mean Earth/polar axis" frame) is a lunar body-fixed coordinate frame. This has the X-axis aligned with the mean direction from the Moon to the Earth and the Z-axis aligned with the mean axis of rotation of the Moon. The principal axis frame is a lunar body-fixed coordinate frame aligned with the principal axes of the Moon. Due to the fact that the Moon is synchronously rotating but is not exactly symmetric, the principal axes and the mean Earth/rotation axes of the Moon do not coincide.
A Map Type is an abstract data type that defines the properties of map data structures. A Map (or Associative Array) is an abstract data structure composed of a collection of keys and a collection of values, where each key is associated with one value. The operation of finding the value associated with a key is called a lookup or indexing, and this is the most important operation supported by an associative array. The relationship between a key and its value is sometimes called a mapping or binding.
A "Trajectory Coordinate System" with the following instance(s): "Mars mean equator and IAU-Node of epoch", "Mars mean equator and prime meridian body-fixed".
A Matrix is a data type that specifies the properties of an N-dimensional data structure.
A Multi-Dimensional Array is an extension of a standard one-dimensional array, where elements are organized in a grid-like structure across two or more dimensions. It is a collection of elements arranged in a tabular or multi-dimensional structure for representing complex datasets, such as matrices, tensors, or higher-dimensional data. The elements of a multi-dimensional array are N-tuples, where 'N' corresponds to the dimensionality of the array. Each element is specified using the property 'qudt:element'. Ordinary or one-dimensional arrays are indexed by a single integer. For a multi-dimensional array, the index into the array uses an ordered list of integers, such as in 'a[3,1,5]'. The length of the list of integers used to index into the multi-dimensional array is always the same. This is referred to as the array's dimensionality. The bounds on each of these are called the array's dimensions.
Data formats for storing and manipulating scalar and multidimensional data in a platform and discipline independent manner, for example HDF, CDF and netCDF.
A bag is a set in which elements may be repeated.
A tuple containing n objects is known as an "n-tuple". For example the 4-tuple (or "quadruple"), with components of respective types PERSON, DAY, MONTH and YEAR. This could be used to record that a certain person was born on a certain day of a certain month of a certain year.
The non-rotating (or "inertial") coordinate frames are defined by taking a "snapshot" of the orientation of a particular set of right-handed, orthogonal axes at a specific epoch or time. In other words, the non-rotating coordinate frame, however it is defined, is frozen or fixed at a specific time - for all time. These non-rotating coordinate frames are referred to as "of Epoch" coordinate frames.
Numeric data types are data types whose values denote quantities as defined by a mathematical number system.
A discrete state enumeration whose values are 'off' and 'on'. The 'off' value is encoded as a zero (0) and the 'on' value as a one (1).
A discrete state enumeration whose values are 'off' and 'on'. The 'on' value is encoded as a zero (0) and the 'off' value as a one (1).
An Ordered Collection Kind is an abstract data type that defines the properties of collection data structures whose members can be linearly ordered. An ordered collection is a collection together with an ordering relation (such as greater than) that linearly orders the collection elements.
An "Ordered Tree Type" is a data type that defines the properties of data structures that represent ordered trees. An ordered tree is a tree where the children of every node are ordered, that is, there is a first child, second child, third child, etc. Typically a type specification for an ordered tree will include the comparison operator (such as lt or gt) that is used to order the nodes.
Describes how a data or information structure is ordered.
An ordinal data type is a data type that specifies the properties of values that can easily be put in a one to one correspondence with a subset of the natural numbers. Examples include boolean, character, and integer data types.
This describes how unused bits of a field are filled. Unused bits could be set to one or zero. A third option is "don't care".
An enumeration of literals that signify whether a parameter is modifiable and if so, by whom.
A partial array is an Array with two attributes that define the starting and ending indices of the elements that are provided.
A physical address is a pointer to a memory location.
A "Tagged Enumeration" with the following instance(s): "negative", "positive".
Positive Integers are integers that are either non-zero and non-negative.
A Quantity Kind List is a list of qudt:QuantityKind. They are used, for instance, to specify the quantity kind in a Mass Properties Array.
A real number is represented as a factor, called the mantissa, multiplied by a power (the exponent) of a base. Different bases yield different approximations to real numbers, and conversion between them is limited in accuracy. Four floating-point types are defined in 'IEEE-754 Standard for Binary Floating-Point'. These types are 'single', 'extended single', 'double', and 'extended double'.
A real double precision data type specifies how a real number, or an approximation of a real number is stored in memory. Typically this occupies two words in computer memory, where the byte length of a word depends on machine address size of the computer processor. For example, on 32-bit machine architectures, a word is four bytes. An example of a real double precision data type specification is the IEEE 754 standard for encoding binary or decimal floating point numbers in 8 bytes for storage on 32-bit machine architectures.
A Real Number Type is the class of data values that approximate real numbers in finite precision. Often, such values are expressed in "mantissa, base, exponent" form. Any rational number can be expressed in the form m*b^e, where m (the mantissa), b (the base), and e (the exponent) are integers. Typically, b is chosen to be either 2 or 10, and then the values of m and e are determined given the choice of base.
A real single precision data type specifies how a real number, or an approximation of a real number is stored in memory that occupies one word in computer memory, where the byte length of a word depends on machine address size of the computer processor. For example, on 32-bit machine architectures, a word is four bytes. An example of a real single precision data type specification is the IEEE 754 standard for encoding binary or decimal floating point numbers in 4 bytes for storage on 32-bit machine architectures.
A Record Type is a type whose values are records, i.e. aggregates of several items of possibly different types. The aggregated items are called fields or members and are usually identified or indexed by field labels.
A reference is an object containing information which refers to data stored elsewhere, as opposed to containing the data itself. A reference data type is a data type that specifies how a reference is represented and stored in memory, as well as the operations that can be performed on reference values. The most common example of a reference data type is a pointer.
A Reference Frame (or "frame of reference") in physics, may refer to a coordinate system or set of axes. The frame serves as the datum to measure the position, orientation, and other properties of objects in it. Reference frame may refer to an observational reference frame tied to the state of motion of an observer. Reference frame may also refer to both an observational reference frame and an attached coordinate system as a unit.
A Sequence is an enumerated collection of objects in which repetitions are allowed. Like a set, it contains members (also called elements, or terms). The number of elements (possibly infinite) is called the length of the sequence. Unlike a set, order matters, and exactly the same elements can appear multiple times at different positions in the sequence. Formally, a sequence can be defined as a function whose domain is either the set of the natural numbers (for infinite sequences) or the set of the first n natural numbers (for a sequence of finite length n). The position of an element in a sequence is its rank or index; it is the integer from which the element is the image. It depends on the context or of a specific convention, if the first element has index 0 or 1. [Wikipedia]
A Set is an abstract data type that defines the properties of sets. A set is a collection (container) of certain values, without any particular order, and no repeated values. It corresponds with a finite set in mathematics.
A Short Integer is an integer that can be represented in two octets (16 bits) of machine memory. Short integers may be signed or unsigned.
A Signed Big Integer is a signed integer that can be represented in eight octets (64 bits) of machine memory.
Signed Integers are integers can take on both positive and negative values.
A Signed Long Integer is a signed integer that can be represented in four octets (32 bits) of machine memory.
A "Signed Medium Integers" is an integer of 24 bits that can take on both positive and negative values.
A Signed Short Integer is a signed integer that can be represented in four octets (32 bits) of machine memory.
A signed type is a numeric type that distinguishes between positive and negative numbers using an encoding scheme, such as sign and magnitude, one's compliment, and two's compliment to represent negative numbers.
A Signed Variable Length Integer data type defines a data structure for representing signed integers that uses a variable number of bits depending on the magnitude of the integer. Typically, variable length integer data types are between one and 64 bits in length.
Specifics whether a value should be signed or unsigned.
A single precision data type specifies how a numeric value, such as an integer or real number, is stored in memory that occupies one word in computer memory, where the byte length of a word depends on machine address size of the computer processor. For example, on 32-bit machine architectures, a word is four bytes. A single precision data value on a 32-bit machine architecture occupies four bytes of memory.
In control engineering, a state space representation is a mathematical model of a physical system as a set of input, output and state variables related by first-order differential equations. To abstract from the number of inputs, outputs and states, the variables are expressed as vectors. The differential and algebraic equations are written in matrix form (the last one can be done when the dynamical system is linear and time invariant).
A state vector in general control systems describes the observed states of an object in state space. For example in variables of the degrees of freedom for motion. As data types, state vector types are used to specify the structure of state vectors, such as how the observed state is encoded.
String Encoding Type is an "Encoding" with the following instance(s): "UTF-16 String", "UTF-8 Encoding".
An "Encoding" with the following instance(s): "qudt:UTF8-StringEncoding", "qudt:UTF16-StringEncoding".
A String Type is a data type that specifies the properties of a list structure that holds characters.
String UTF-16 is a string data type that specifies the properties of string data structures which encode strings using the UTF-16 encoding. UTF-16 is the native internal representation of text in many software systems, for example: Microsoft Windows NT/Windows 2000/Windows XP/Windows CE; Qualcomm BREW, and Symbian operating systems; the Java and .NET byte code environments; Mac OS X's Cocoa and Core Foundation frameworks; Qt cross-platform graphical widget toolkit.
String UTF-8 Type is a string data type that specifies the properties of string data structures which encode strings using the UTF-8 encoding. UTF-8 includes ASCII, otherwise referred to as IA-5 (International Alphabet 5, as standardized by International Organization for Standardization [ISO]) as the first 128 values. The Internet Engineering Task Force (IETF) requires all Internet protocols to identify the encoding used for character data with UTF-8 as at least one supported encoding. The Internet Mail Consortium (IMC) recommends that all e-mail programs must be able to display and create mail using UTF-8.
A Structured Datatype, in contrast to a scalar data type, is used to characterize classes of complex data structures. Examples are collections, linked and indexed lists, trees, ordered trees, and multi-dimensional file formats.
A Table Type is a data type that specifies the properties of table data structures. A table is both a mode of visual communication and a means of arranging data. The precise conventions and terminology for describing tables varies depending on the context. Moreover, tables differ significantly in variety, structure, flexibility, notation, representation and use.
An enumeration where each literal has a tag that is a non-negative integer. These enumerations are likely to have their literals encoded - hence the need for the tag.
A Text String Type has encodings that are specified in subclasses or in connection to character arrays in Structured Datatypes.
A Three Body Rotating Coordinate System is one that is associated with two different three-body systems. For example, the Sun-Earth-spacecraft system and the Earth-Moon-spacecraft system. The lunar coordinate systems are primarily used when operating in close proximity to the Moon. There are, however, a few additional coordinate systems that are also useful when analyzing (and depicting) trajectories in the vicinity of the Earth-Moon system. The Sun-Earth and Earth-Moon rotating coordinate frames are defined as follows: The pole vector or Z-axis of the coordinate frame is set equal to the instantaneous orbit normal of the secondary (smaller) body about the primary (larger) body. The X-axis is set equal to the vector from the primary body center of mass (CM) to the secondary body CM. The X-axis rotates at a rate equal to the instantaneous rotation rate of the secondary body about the primary body.
Three Body Rotating Coordinate System Type
A three-tuple is a tuple with exactly three members. A Three-Tuple Type is a data type that defines the type properties of a class of three-tuples and their members.
The class of data values that denote a point in time. Time values may be encoded in a 12-hour clock or a 24-hour clock, such as 1:35 AM, or 13:35.
A relative interval that is an increment in time. For example, this is used in time series arrays to express the time point of a vector of values.
A Time Series Array is a data type that specifies the properties of arrays that hold time series data. A time series is a sequence of data points, measured at successive time intervals. The time intervals may be uniformly or non-uniformly spaced.
A Time Series Array Type is a data type that specifies the properties of arrays that hold time series data. A time series is a sequence of data points, measured at successive time intervals. The time intervals may be uniformly or non-uniformly spaced.
Time takes a number of forms, depending on the units used (e.g., year, day, minute, millisecond, or combinations thereof) and the origin (i.e., time zero) to which the time value is related.
A "Tree" is a data type that defines the properties of data structures that represent trees. Each node is either a leaf or an internal node. An internal node has one or more child nodes and is called the parent of its child nodes. Leaf nodes have no chidren. Nodes that share the same parent are siblings. In graph theoretic terminology, a tree is a connected, undirected, acyclic graph.
The term Tuple originated as an abstraction of the sequence: single, double, triple, quadruple, quintuple, n-tuple. In mathematics, a tuple is a finite sequence (also known as an Ordered List of objects, each of a specified type. The n can be any non-negative integer.
Tuple Member defines the properties of a member of a tuple. It is used to provide fine grained type specification to the elements of tuples.
Tuple originated as an abstraction of the sequence: single, double, triple, quadruple, quintuple, n-tuple. In mathematics, a tuple is a finite sequence (also known as an Ordered List of objects, each of a specified type. The n can be any non-negative integer.
A 2-tuple is called a pair. For example, a complex number can be represented as a 2-tuple. 2D coordinates are sometimes represented as 2-tuples.
A 2-tuple is called a pair. For example, a complex number can be represented as a 2-tuple, and 2D coordinates are sometimes represented as 2-tuples.
Members of this class are matrix data structures that describe the datatypes of a class of matrices. That is, the members of this class are matrices with cells that contain datatypes (c.f. type:Datatype) and are used to describe the datatype structure of other matrices.
A Type Vector is a vector whose elements are data types. They are used to specify the type of each component of a vector or class of vectors.
An Unsgned Big Integer is an unsigned integer that can be represented in eight octets (64 bits) of machine memory.
Unsgned Integers are integers that are either strictly non-negative or non-positive.
An Unsigned Long Integer is an unsigned integer that can be represented in four octets (32 bits) of machine memory.
An "Unsigned Medium Integer" is an integer of 24 bits that only takes on both positive values.
An Unsigned Short Integer is an unsigned integer that can be represented in four octets (32 bits) of machine memory.
An unsigned data type is a numeric type that does not distinguish between positive and negative values.
An "Unsigned Variable Length Integer" data type defines a data structure for representing unsigned integers that uses a variable number of bits depending on the magnitude of the integer. Typically, variable length integer data types are between one and 64 bits in length.
A Variable Interval Time Series Array Type is a data type that specifies the properties of arrays that hold time series data that has been sampled over non-uniformly spaced time intervals. A time series is a sequence of data points, measured typically at successive times, spaced at uniform or non-uniform time intervals. For variable interval time series, the successive time intervals may follow a repeating pattern, or may be completely random.
Variable Interval Time Series Array Type
A "Variable Length Integer" data type defines a data structure for representing integers that uses a variable number of bits depending on the magnitude of the integer. Typically, variable length integer data types are between one and 64 bits in length.
A Vector is an array data type that can have a dimensionality of one, or more elements. Vectors can represent physical quantities, such as velocity, force, displacement; mathematical objects such as points or directions in space; and abstract representations for things such as colors, features, or embeddings in computational contexts. As a one-dimensional mathematical object it can represent a quantity with both magnitude and direction in space. One-dimensional vectors can be thought of as a special case of a 1D array. For example a 3D vector can be expressed as a list of coordinates: [x,y,z]. A vector in n-dimensional space can represent a point, a direction, or a linear combination of basis vectors. Vectors can represent quantifiable values. For example a car moving at 60 m/hr to the north, assuming north is along the y-axis, can be represented in 2D as: [0, 60] In machine learning a Feature Vector can be expressed for a dataset entry as: [5.1, 3.5, 1.4, 0.2] In AI for text processing a Word Embedding Vector is expressed as a N-dimensional space, where N can be a large number.
Accuracy is the degree to which a given quantity is correct and free from error. For example, a quantity specified as 100+/-1 has an (absolute) accuracy of +/-1 (meaning its true value can fall in the range 99-101), while a quantity specified as 100+/-2% has a (relative) accuracy of +/-2% (meaning its true value can fall in the range 98-102). The concepts of accuracy and precision are both closely related and often confused. While the accuracy of a number x is given by the number of significant decimal (or other) digits to the right of the decimal point in x, the precision of x is the total number of significant decimal (or other) digits.
This property relates a date string encoding (c.f. type:DateStringEncodingType) to one or more XML Schema compliant regular expressions that together determine the allowed lexical expressions that can be unambiguously parsed to determine a temporal quantity.
This property relates a funciton data type with the type of its arg1.
This property relates a funciton data type with the type of its arg2.
This property relates a funciton data type with the type of its arg3.
This property relates a function data type with the type of one of its arguments.
A datatype is bounded if its value space has either a finite upper and lower bound. Either bound may be inclusive or exclusive.
Byte order is an enumeration of two values: 'Big Endian' and 'Little Endian' and is used to denote whether the most signiticant byte is either first or last, respectively.
Datatype name in the C programming language
The number of dimensions making up a matrix or an array. For example a 4 by 4 array has a dimensionality of 2. Whereas a vector or a string has a dimensionality of 1.
The extent of each dimension making up a matrix or an array. For example a 4 by 4 array has dimensions (4 4), whereas a vector or a string has dimensions (1).
The extent of each dimension making up an array or matrix. Dimensions are expressed as an integer list. For example a 4 by 4 array has dimensions (4 4), whereas a vector or a string has dimensions (1).
This property is used to relate a structured data type with the data type the structured type's elements. It is used for structured data types with elements that are all of the same type.
This property is used to describe the quantity kind for a dimensional data type.
This property is used to label the field of a composite data structure.
This property determines the allowed number of element types that a structured data type may have.
This property is used to define the data type of the elements of a structured data type. It is used for structured data types with elements that are of different types.
This property is used to list the field labels for a record type.
This property is used to state the number of arguments for a function type.
This property is used to specify a list of quantity kinds.
The length of a structure, for example the size of a vector
In scientific notation, the mantissa of a real number is the integer coefficient preceding the base raised to the exponent.
maxExclusive is the exclusive upper bound of the value space for a datatype with the ordered property. The value of maxExclusive must be in the value space of the base type or be equal to {value} in {base type definition}.
maxInclusive is the inclusive upper bound of the value space for a datatype with the ordered property. The value of maxInclusive must be in the value space of the base type.
The maximium mantissa is the largest integer that may appear as a coefficient in a finite precision representation of a real number. For a given numeric data type, the value of maxMantissa} (M) and the values of base (b) and precision (p) are related by the formula: M = b - 1 .
This property is used to define a collection's elements.
This property is used to define the data type of a collection's elements. It is used for collections with elements that are all of the same type.
minExclusive is the exclusive lower bound of the value space for a datatype with the ordered property. The value of minExclusive must be in the value space of the base type or be equal to {value} in {base type definition}.
minInclusive is the inclusive lower bound of the value space for a datatype with the ordered property. The value of minInclusive must be in the value space of the base type.
The minimium mantissa is the negative integer with the greatest magnitude that may appear as a coefficient in a finite precision representation of a real number. For a given numeric data type, the value of minMantissa (M) and the values of base (b) and precision (p) are related by the formula: M = -(bp - 1).
Reference to one in a list of enumerated elements that indicates whether data (e.g. variable or parameter) can be changed.
A negative change limit between consecutive sample values for a parameter. The Negative Delta may be the encoded value or engineering units value depending on whether or not a Calibrator is defined.
OLE DB (Object Linking and Embedding, Database, sometimes written as OLEDB or OLE-DB), an API designed by Microsoft, allows accessing data from a variety of sources in a uniform manner. The API provides a set of interfaces implemented using the Component Object Model (COM); it is otherwise unrelated to OLE.
This property identifies the mathematical comparison operator (such as "<" or ">") that is used to order the elements of a collection.
A pattern is a constraint on the value space of a datatype which is achieved by constraining the lexical space to literals which match a specific pattern. The value of pattern must be a regular expression.
A positive change limit between consecutive sample values for a parameter. The Positive Delta may be the encoded value or engineering units value depending on whether or not a Calibrator is defined.
Precision is the number of digits used to perform a given computation. The concepts of accuracy and precision are both closely related and often confused. While the accuracy of a number x is given by the number of significant decimal (or other) digits to the right of the decimal point in x, the precision of x is the total number of significant decimal (or other) digits. For a given numeric data type, the value of type:precision (?p) is related to the values of type:maxMantissa (?M) and type:base (?b) by the formula: ?p := log(?b, ?M) where log(a,y) = x iff y=a^x.
This property is used to state the return type of a function type.
The intended use of the sound property is to be associated with modal enumerations
A reference to the specification of the data type of a variable or constant.
A list of the values of elements in a Partial Array.
The definition of the X-Axis could be an intersection, cross-product or other function of a meridian or orbit. It could also mention any aspects of rotation, for example, the rotation equator of the Earth, Sun, Moon or other celestial body. An epoch might also be given.
The definition of the Y-Axis could be an intersection, cross-product or other function of a meridian or orbit. It could also mention any aspects of rotation, for example, the rotation equator of the Earth, Sun, Moon or other celestial body. An epoch might also be given.
The definition of the Y-Axis could be an intersection, croos-product or other function of a meridian or orbit. It could also mention any aspects of rotation, for example, the rotation equator of the Earth, Sun, Moon or other celestial body. An epoch might also be given.
The QUDT 'Datatype' ontology is a specification of scalar and structured data types. Scalar data types are defined for all the commonly encountered forms of numbers, characters and booleans, with their representations in a number of vendor and industry specific technologies. Structured data types cover arrays, lists, trees and many other forms of composite data elements. Specification of coordinate systems is also covered.
The QUDT Ontologies are issued under a Creative Commons Attribution 4.0 International License (CC BY 4.0), available here. Attribution should be made to QUDT.org.
QUDT SHACL Schema for Datatypes - Version 3.1.11
All Values must have same DataType Shape
Data Item {$this} has type {?valueType}.
SELECT $this ?valueType WHERE { $this qudt:datatype/qudt:rdfsDatatype ?datatype . $this qudt:value ?valueList. ?valueList rdf:rest*/rdf:first ?value . BIND(datatype(?value) as ?valueType) . FILTER(?valueType != ?datatype) }
An rdf:List for a 2D array. For example "[[1,2], [3,4], [5,6]]"
A bit field is a common idiom used in computer programming to store a set of Boolean datatype flags compactly, as a series of bits. The bit field is stored in an integral type of known, fixed bit-width. Each Boolean flag is stored in a separate bit. Usually the source code will define a set of constants, each a power of two, that semantically associate each individual bit with its respective Boolean flag. The bitwise operators and, or, and not are used in combination to set, reset and test the flags.
A set of numbers is called countably infinite if there is a way to enumerate them. Formally this is done with a bijection function that associates each number in the set with exactly one of the positive integers. The set of all fractions is also countably infinite. In other words, any set $X$ that has the same cardinality as the set of the natural numbers, or $| X | \; = \; | \mathbb N | \; = \; \aleph0$, is said to be a countably infinite set.
Any set $X$ with cardinality less than that of the natural numbers, or $$| X | \; < \; | \mathbb N | $$ is said to be a finite set.
Any set with cardinality greater than that of the natural numbers, or $$| X | \; > \; | \mathbb N | $$ For example $| R| \; = \; c \; > |\mathbb N |$, is said to be uncountable.
An rdf:List that can be used in property constraints as the type in an sh:or to indicate that all values of a property must be an xsd date type.
"{$this}" has {$actualDimensions} dimensions extent and needs to have {$specifiedDimensions}
SELECT $this $actualDimensions $specifiedDimensions WHERE { $this qudt:dimensionality $dimensionality . $this qudt:dimensions ?dimensions . ?dimensions rdf:rest*/rdf:first $specifiedDimensions . { SELECT $this (COUNT(?listValue )AS $actualDimensions) WHERE { $this qudt:value/rdf:rest*/rdf:first ?listValue . } GROUP BY $this } FILTER ($actualDimensions != $specifiedDimensions) }
A Mass Properties Array holds, for an object, four values for the properties: Center of Gravity, Mass, Moment of Inertia, and Product of Inertia.
Invalid quantity kinds list - TODO: SPARQL Query
Parameter is modifiable by a (computer) system.
An rdf:List that can be used in property constraints as value for sh:or to indicate that all values of a property must be a plain string, a string with HTML markup, or a string with LaTeX markup.
This type identifies functions that have exactly one argument.
Specifies and checks an optional property for a quantified value.
SELECT $this WHERE { $this qudt:quantity ?quantity . FILTER NOT EXISTS {?quantity qudt:hasUnit ?unit} }
In XML Schema Definition (XSD) xsd:anySimpleType is the base type for all simple types. Simple types in XSD represent atomic values without any child elements or complex structures. All simple types are compliant with xsd:anySimpleType. In XSD, the atomic types are: xsd:string, xsd:boolean, xsd:decimal, xsd:float, xsd:double, xsd:duration, xsd:dateTime, xsd:time, xsd:date, xsd:gYearMonth, xsd:gYear, xsd:gMonthDay, xsd:gDay, xsd:gMonth, xsd:hexBinary, xsd:base64Binary, xsd:anyURI, xsd:QName, and xsd:NOTATION.
YYYY-MM-DDThh:mm:ss[.dd] or YYYY-DDDThh:mm:ss[.dd], where 'YYYY' is the year, 'MM' is the two-digit month, 'DD' is the two-digit day, 'DDD' is the three digit day of year, 'T' is constant, 'hh:mm:ss[.dd]' is the UTC time in hours, minutes, seconds, and optional fractional seconds. As many 'd' characters to the right of the period as required may be used to obtain the required precision. All fields require leading zeros.