Skip to main content

OntoUML Element

OntoumlElement is the abstract root of the type hierarchy: every element in a serialization — projects, model elements, diagrams, views, and shapes — is an OntoumlElement. It is an abstract grouping that never appears directly in a document (it has no type value of its own); it only contributes the identity properties that every element carries.

PropertyTypeDescription
idstringA non-empty string that uniquely identifies the element within the ontology.
createdpointInTimeWhen the element was created.
modifiedpointInTime or nullWhen the element was last modified, or null.

Because every property is required, all three are always present; an unknown modified is written explicitly as null.

The id must be unique across the whole ontology: OntoUML serializations are flat and express structure by reference, so one element points at another by storing its id. If a Project declares a namespace, the id appended to that namespace should form a globally unique, resolvable URI. See id for the string constraints and pointInTime for the accepted date formats of created and modified.

Subtypes​

OntoumlElement specializes into three branches:

Shared properties​

Since OntoumlElement is abstract, it is never serialized on its own. Its properties appear inside every concrete element. For example, the identity block of any element looks like this:

{
"id": "element_1",
"created": "2024-09-03",
"modified": null
}

A complete, serializable object always adds a type discriminator and the remaining properties of its concrete type — see Project or any model element for full examples.