The current mapping of NeXus definitions to the Ontology uses a flattening which is good for representing if an AppDef is referencing (or citing) a base class, but it looses all cardinality information (like something is being optional or required) and cannot represent specialisations (e.g. in docstrings and/or in enumerations). NeXus Ontology should preserve all these information, too.
Since we are now generating a comprehensive glossary of the NeXus controlled Vocabulary, it can probably easily feed the ontology with an extended list of terms/concepts. Instead of the loose relationship “citesGroup”, we could use “HAS_A” or in appropriate cases the “IS_A" or “SAME_AS" relationships. Whenever it is adequate, we could also set cardinality according to the settings min/maxOccurs.
The current mapping of NeXus definitions to the Ontology uses a flattening which is good for representing if an AppDef is referencing (or citing) a base class, but it looses all cardinality information (like something is being optional or required) and cannot represent specialisations (e.g. in docstrings and/or in enumerations). NeXus Ontology should preserve all these information, too. Since we are now generating a comprehensive glossary of the NeXus controlled Vocabulary, it can probably easily feed the ontology with an extended list of terms/concepts. Instead of the loose relationship “citesGroup”, we could use “HAS_A” or in appropriate cases the “IS_A" or “SAME_AS" relationships. Whenever it is adequate, we could also set cardinality according to the settings min/maxOccurs.