Data Types
Identifiers
The identifiers refer to base characteristics of the objects. They are defined as unquoted ASCII alphanumeric sequences; the underscore (_
) is also allowed except in the initial position.
Reserved words such as and
, true
, etc. cannot be used as identifiers.
Examples:
size
object_id
recursion_level
ctime
See Common Object Data for more examples.
Metadata Keys
Metadata keys refer to specific keys in an object's or its relation metadata, which have a form of key-value entries. The metadata key names are prefixed with $
and are only meant to be used within metadata related functions (such as has_object_meta
or match_object_meta
).
Examples:
$natural_language
$iso9660.bootable
Strings
The literal strings are defined as a double quote ("
) wrapped sequence of Unicode characters. Additionally the following escape sequences are defined (escaped -> unescaped):
\"
->"
(mandatory escape)\\
->\
(mandatory escape)\/
->/
\b
-> backspaceU+0008
\f
-> form feedU+000c
\n
-> newlineU+000a
\r
-> carriage returnU+000d
\t
-> horizontal tabU+0009
\uNNNN
-> single Unicode character NNNN
Whitespace is significant inside strings.
Examples:
"a string"
"another \"string\""
Integer numbers (Integer)
Numeric values are represented as sequences of ASCII digit characters, optionally preceded by a +
or -
sign.
Examples:
1337
+10
-42
Floating point numbers (Number)
These floating point numbers are defined as:
- integer numbers
- integer numbers followed by a
.
subsequently followed by a fractional part
The fractional part is expressed as a sequence of ASCII digits optionally followed by an exponent part. The exponent part is expressed as the e
letter followed by an integer number.
Examples:
1
-123.456
123.456e-7
Date and Time (DateTime)
The time functions accept dates (with optional times) as strings in the following format:
"YYYY-MM-DD"
"YYYY-MM-DD hh:mm:ss"
Examples:
"2024-09-26"
"2024-09-26 13:37:00"
Boolean values
The boolean values are either true
or false
.
The above values are both reserved words.