Building Blocks
Terms
At the heart of SeMoX is the Term (a.k.a. Business Term (BT)).
A term is a word or phrase that describes a concept that is used in a particular domain or business.
Whatever the underlying concept of a Term is, domain experts have to name and describe it.
A simple example might be
Name | Description |
---|---|
Invoice issue date | Date of invoice creation |
A list of Terms can be seen as a glossary.
Semantic Datatypes
In order to use Terms in some kind of computable formal structure, it is essential to express term values as relatively simple data values. The Semantic Datatype is a relatively high level expression of the expected formal structure of the data content of a Term.
Name | Description | Example value | Semantic Datatype |
---|---|---|---|
Invoice issue date | Date of invoice creation | 2021/09/11 | Date |
In the above example we expect any data field in any system to treat this Term as a date value in terms of a calendar date.
Atomic Types
Composed Types
Rules
Data Rules are means of further imposing restrictions, assertions and constraints on the use of terms. These can be of any kind. Rules can be defined for human readers only:
Name | Id | Description |
---|---|---|
Multilang | R-1 | SeMoX should allow Multiple Languages for defintions and names of elements. |
However, most useful are rules if they can be tested and answered with yes and no only.
Name | Id | Description |
---|---|---|
past-date | R-2 | An invoice date should be before or equal the current date. |
The R-2
rule is testable and can also be implemented by variuos means. See Semantic Data Rules in XML.
Structures
All or some Business Terms can be aggregated to form logic/semantic structures. This structures can be defined according to the intents and needs of the domain as defined by experts. This is independent of concrete implementations.
For example the structure of SeMoX itself can be expressed as:
- Semantic Model
- Business Terms
- Term 1
- Term 2
- Semantic Datatypes
- datatype A
- datatype B
- Business Terms
This structure follows the logic of the order of explanation on this web web page.
For the sake of real modeling the structure resembles more this one:
- Semantic Model
- Semantic Datatypes
- datatype A
- datatype B
- Business Terms
- Term 1
- Term 2
- Semantic Datatypes
Both structures are valid and many such structures can be represented in SeMoX. See Semantic Data Models in XML for more details on actual implementation.
Syntax Bindings
In that sense syntax binding is “You can find the representation of a term value here in an instance, because this part of the instance represents what we call Term X”.
Metadata
Projects using SeMoX need additional metadata for e.g. date of creation or development status of the semantic model etc..