Core Concepts

OUT OD DATE

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

Model

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

Each model should

Object

Item

Items represents attributes of an object. Items have

Property

property lName {
  minOccurs 1;
  type PolyString;
}

Container

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

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;
  }
  ...
}