Data Modelling Patterns: Golden Rules for railML 3 Development
railML 3 has been developed from scratch and, step by step, will bring the era of railML 2 to an end (see railML's release plan for more detailed information). This process encompasses the possibility to reduce and eliminate difficulties of the design and the usage of the railML data model. One novelty that is introduced with railML 3 are Data Modelling Patterns, which shall function as “golden rules” for railML 3 modelling. These rules shall serve the following purposes:
- Unification of the modelling structure in all railML schemas
- Definition of mutual modelling principals to ensure better compatibility with other (external) models (e.g. Canonical Data Model, Shift2Rail)
- Enhancement of comprehensibility of model (for developers and users)
- Definition of consistent terms (e.g. Domain, View, Object, Part, etc.)
- Simplification of the later model expandability with defined standardised interfaces for expansions
- Increase of recognisability of the data format
The modelling patterns are available for PDF download. They explain the following Data Modelling Patterns in more detail: Model hierarchy, inheritance, layers, extension points, common domain, names of elements and attributes, difference of element and attribute, unknown information, units, references and multiplicity.
These Data Modelling Patterns are not finalised. They shall help to reduce misunderstandings, increase the common understanding and therefore lead to a reduction of development costs and time. Thus, we highly appreciate your feedback regarding the current rules or extensions. Please use the railML Forum as a platform for discussion amongst the whole community.