Subset: object_oriented
The set of constructs that have an equivalent in a minimal object oriented metamodel
Classes
- ClassDefinition - the definition of a class or interface
- EnumDefinition - List of values that constrain the range of a slot
- SchemaDefinition - a collection of subset, type, slot and class definitions
Mixins
Slots
- abstract - an abstract class is a high level class or slot that is typically used to group common slots together and cannot be directly instantiated.
- attributes - Inline definition of slots
- class_definition➞is_a
- class_definition➞mixins
- classes - class definitions
- enums - enumerated ranges
- is_a - specifies single-inheritance between classes or slots. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded
- mixin - this slot or class can only be used as a mixin.
- mixins - List of definitions to be mixed in. Targets may be any definition of the same type
- multivalued - true means that slot can have more than one value
- name - the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.
- permissible_value➞is_a
- permissible_value➞mixins
- range - defines the type of the object of the slot. Given the following slot definition
- required - true means that the slot must be present in the loaded definition
- schema_definition➞name
- slot_definition➞is_a
- slot_definition➞mixins
- types - data types used in the model