This version:
Latest published version: http://www.QUDT.ORG/doc/2026/01/DOC_SCHEMA-DATATYPES.html
Previous published version: https://qudt.org/doc/2025/12/DOC_SCHEMA-DATATYPES.html
Editor: Ralph Hodgson, TopQuadrant, Inc
Contributors:
Last Modified: 2025-04-02T10:54:24-05:00
Copyright © 2011 - 2026 QUDT.ORG , All Rights Reserved.
Generated by SWP using lmdoc version 1.1
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 namespace prefix for resources in this ontology is: qudt
The schema graph is available as:
Turtle
A list of graphs imported by http://qudt.org/3.1.10/schema/shacl/datatype is shown below.
| Graph URI | Intent |
|---|---|
| http://www.linkedmodel.org/schema/dtype | The purpose of DTYPE is to provide, by import, a foundation for data types. |
| http://www.linkedmodel.org/schema/vaem | The purpose of VAEM is to provide, by import, a foundation for commonly needed resources for metadata on an ontology. |
| http://www.w3.org/2004/02/skos/core | |
| http://www.w3.org/ns/shacl# |
The graph uses 7 resources from other graphs that are not imported, as listed below:
The main namespace for resources in this graph is http://qudt.org/schema/qudt/ with the prefix qudt.
The graph defines, or extends, 18 classes, as indexed below:
The graph defines, or extends, 115 properties, as indexed below:
The graph defines, or extends, 35 instances, as indexed below:
The graph defines, or extends, 4 restricted datatypes, as indexed below:
qudt:BitEncodingType
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.
qudt:BooleanEncodingType
qudt:ByteEncodingType
This class contains the various ways that information may be encoded into bytes.
qudt:CardinalityType
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.
qudt:CharEncodingType
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.
qudt:DataEncoding
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.
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.
qudt:Datatype
A Datatype is a definition of the type of the "value" of a data item (for example, "all integers between 0 and 10"), and the allowable operations on those values; the meaning of the data; and the way values of that type can be stored. Some types are primitive - built-in to the language, with no visible internal structure. For example "Boolean"; others are composite - constructed from one or more other types (of either kind). For example lists, arrays, structures, unions. Some languages provide strong typing, others allow implicit type conversion and/or explicit type conversion.
qudt:DateTimeStringEncodingType
Date Time encodings are logical encodings for expressing date/time quantities as strings by applying unambiguous formatting and parsing rules.
qudt:Encoding
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.
qudt:EndianType
qudt:Enumeration
An enumeration is a set of literals from which a single value is selected. Each literal can have a tag as an integer within a standard encoding appropriate to the range of integer values. Consistency of enumeration types will allow them, and the enumerated values, to be referred to unambiguously either through symbolic name or encoding. Enumerated values are also controlled vocabularies and as such need to be standardized. Without this consistency enumeration literals can be stated differently and result in data conflicts and misinterpretations.
The tags are a set of positive whole numbers, not necessarily contiguous and having no numerical significance, each corresponding to the associated literal identifier. An order attribute can also be given on the enumeration elements. An enumeration can itself be a member of an enumeration. This allows enumerations to be enumerated in a selection. Enumerations are also subclasses of Scalar Datatype. This allows them to be used as the reference of a datatype specification.
qudt:EnumerationScale
A sub-type of 'DTYPE Enumeration'.
qudt:FloatingPointEncodingType
A "Encoding" with the following instance(s): "Double Precision Encoding", "Single Precision Real Encoding".
qudt:IntegerEncodingType
The encoding scheme for integer types
qudt:MathsFunctionType
A sub-type of 'QUDT Concept'.
qudt:OrderedType
Describes how a data or information structure is ordered.
qudt:Quantifiable
Quantifiable ascribes to some thing the capability of being measured, observed, or counted.
qudt:ScalarDatatype
Scalar data types are those that have a single value. The permissible values are defined over a domain that may be integers, float, character or boolean. Often a scalar data type is referred to as a primitive data type.
qudt:accuracy
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.
qudt:allowedPattern
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.
qudt:arg1Type
This property relates a funciton data type with the type of its arg1.
qudt:arg2Type
This property relates a funciton data type with the type of its arg2.
qudt:arg3Type
This property relates a funciton data type with the type of its arg3.
qudt:argType
This property relates a function data type with the type of one of its arguments.
qudt:bounded
A datatype is bounded if its value space has either a finite upper and lower bound. Either bound may be inclusive or exclusive.
qudt:byteOrder
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.
qudt:dimensionality
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.
qudt:dimensions
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).
qudt:elementDatatype
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.
qudt:elementKind
This property is used to describe the quantity kind for a dimensional data type.
qudt:elementLabel
This property is used to label the field of a composite data structure.
qudt:elementTypeCount
This property determines the allowed number of element types that a structured data type may have.
qudt:elementTypeList
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.
qudt:fieldLabels
This property is used to list the field labels for a record type.
qudt:functionArity
This property is used to state the number of arguments for a function type.
qudt:hasQuantityKindsList
This property is used to specify a list of quantity kinds.
qudt:maxExclusive
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}.
qudt:maxInclusive
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.
qudt:maxMantissa
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 .
qudt:memberDatatype
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.
qudt:minExclusive
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}.
qudt:minInclusive
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.
qudt:minMantissa
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).
qudt:negativeDeltaLimit
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.
qudt:oleDBName
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.
qudt:orderingRelation
This property identifies the mathematical comparison operator (such as "<" or ">") that is used to order the elements of a collection.
qudt:pattern
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.
qudt:positiveDeltaLimit
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.
qudt:precision
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.
qudt:returnType
This property is used to state the return type of a function type.
qudt:sound
The intended use of the sound property is to be associated with modal enumerations
qudt:xAxisDefinition
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.
qudt:yAxisDefinition
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.
qudt:zAxisDefinition
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.
<http://qudt.org/schema/shacl/datatype/GMD_datatype>
URI: http://qudt.org/schema/shacl/datatype/GMD_datatype
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.
qudt:CT_COUNTABLY-INFINITE
URI: http://qudt.org/schema/qudt/CT_COUNTABLY-INFINITE
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.
qudt:CT_FINITE
URI: http://qudt.org/schema/qudt/CT_FINITE
Any set $X$ with cardinality less than that of the natural numbers, or $$| X | \; < \; | \mathbb N | $$ is said to be a finite set.
qudt:CT_UNCOUNTABLE
URI: http://qudt.org/schema/qudt/CT_UNCOUNTABLE
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.
qudt:IEEE754_1985RealEncoding
URI: http://qudt.org/schema/qudt/IEEE754_1985RealEncoding
qudt:ISO8601-UTCDateTime-BasicFormat
URI: http://qudt.org/schema/qudt/ISO8601-UTCDateTime-BasicFormat
qudt:LongUnsignedIntegerEncoding
URI: http://qudt.org/schema/qudt/LongUnsignedIntegerEncoding
qudt:NonModifiableParameter
URI: http://qudt.org/schema/qudt/NonModifiableParameter
Parameter is fixed, not modifiable.
qudt:ShortSignedIntegerEncoding
URI: http://qudt.org/schema/qudt/ShortSignedIntegerEncoding
qudt:ShortUnsignedIntegerEncoding
URI: http://qudt.org/schema/qudt/ShortUnsignedIntegerEncoding
qudt:SinglePrecisionRealEncoding
URI: http://qudt.org/schema/qudt/SinglePrecisionRealEncoding
qudt:SystemModifiableParameter
URI: http://qudt.org/schema/qudt/SystemModifiableParameter
Parameter is modifiable by a (computer) system.
qudt:UNARY-FUNCTION
URI: http://qudt.org/schema/qudt/UNARY-FUNCTION
This type identifies functions that have exactly one argument.
qudt:UnsignedIntegerEncoding
URI: http://qudt.org/schema/qudt/UnsignedIntegerEncoding
qudt:UserModifiableParameter
URI: http://qudt.org/schema/qudt/UserModifiableParameter
Parameter is modifiable by a user.
qudt:BitField
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.
xsd:dateTime
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.