Datatypes
Several value types recur throughout the schema. Rather than repeat their definitions on every element, the schema factors them out as reusable datatypes, described here.
Each datatype summarized below also has a dedicated reference page: id · language string · resource · point in time · point.
id
A non-empty string that uniquely identifies an OntoUML element within an ontology. Ids are how
elements reference one another: wherever an
element needs to point at another (a package's contents, a generalization's general, a view's
isViewOf, and so on), it stores the target element's id.
- JSON type:
string - Constraint: at least one character (must not be empty).
"class_person"
When a Project declares a namespace, appending an
element's id to that namespace should yield a globally unique, resolvable URI — turning each
element into a FAIR Digital Object.
languageString
An object whose key-value pairs map an IANA language tag
to the text in that language. It is used for all human-readable, translatable text, such as name,
description, and a note's text.
- JSON type:
object - Keys: IANA language tags (e.g.
en,pt-BR). The empty key""denotes text in an unknown language. - Values: non-empty strings.
{
"en": "Person",
"pt-BR": "Pessoa"
}
Because it underpins every label and piece of documentation in a model, languageString has its
own reference page: see language string for how it is structured, where it
is used, and how absent text is represented.
resource
A reference to an external resource by name and URI, allowing links into the semantic web. It is
used for properties such as a project's publisher, license, creators, and contributors.
- JSON type:
object - Properties (both required):
| Property | Type | Description |
|---|---|---|
URI | string (uri) or null | The Uniform Resource Identifier of the resource. |
name | languageString or null | The name of the resource. |
{
"name": { "en": "CC BY 4.0" },
"URI": "https://creativecommons.org/licenses/by/4.0/"
}
pointInTime
A string denoting a point in time, used by the identity properties
created and modified. It supports four levels of precision, so a value can be as coarse as a
year or as fine as a second.
- JSON type:
string - Accepted formats:
| Precision | Format | Example |
|---|---|---|
| Year | YYYY | "2024" |
| Year-month | YYYY-MM | "2024-09" |
| Date | YYYY-MM-DD (full date) | "2024-09-04" |
| Date-time | full date-time | "2024-09-04T10:30:00Z" |
"2024-09-04T10:30:00Z"
point
A pair of coordinates locating a position in a diagram, used by shapes
for topLeft and for the entries of a path's points. The origin (0, 0) is the diagram's
top-left corner; x increases rightwards and y increases downwards.
- JSON type:
object - Properties (both required):
| Property | Type | Description |
|---|---|---|
x | integer | The horizontal coordinate; zero or greater. |
y | integer | The vertical coordinate; zero or greater. |
{ "x": 813, "y": 20 }