Core Concepts

Last modified 12 Mar 2021 10:22 +01:00

Axiom shares core concepts with Prism, since it is intended to model data structures intended for use in Prism.


Base concept of Axiom is model. Model is named set of object, type and extension definitions.

Each model should



Items represents attributes of an object. Items have


property lName {
  minOccurs 1;
  type PolyString;


container address {
  type Address;

Object Reference

objectReference owner {
  type User;

Value Metadata

Value metadata are modeled using keyword valueMetadata. The argument is name of metadata.

valueMetadata modification {
  objectReference {
    type midpoint:User;


Type system in Axiom is hierarchical, each type could have one supertype.

Simple Type

Simple type is type, which usually does not have structured form. It is used to represent simple values such as numbers or strings.

The simple type may have structured form (eg. PolyString), but modifications of nested items is considered as modification of whole item.

Complex Type

Complex type is type, which have multiple different items and is used to represent structured data, which may be modified individually.

A good example of complex type is Address which have several structured properties such as country, city, postal number.
type Address {
  property type  {
    type string;
  property street {
    type PolyString;
  property streetNo {
    type string;
  property city {
    type PolyString;