<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Dear All,</div><div class=""><br class=""></div><div class="">While working on the NeXus Ontology v2.0, we have found a few interesting cases in the current definitions which we may want to go through (e.g. on the next meeting) and clarify/discuss if needed:</div><div class=""><br class=""></div>+ Same names for different type of children of the same(?) concept (Definition/Group/Field)<div class=""><b class="">NXentry/thumbnail/type-attribute</b> is defined in NXentry, but NXentry/thumbnail-group is referencing NXnote where <b class="">NXnote/type-field </b>is already defined (for the same purpose). Note that a machine can easily distinguish between them and the NeXus Vocabulary is already prepared for handling such cases by using a clarification postfix (as above), but are they intentionally implement two separated concepts under the same name? </div><div class="">Should it be really supported?</div><div class=""><br class=""></div><div class="">Similar, but intentional:</div><div class=""><b class="">NXentry/SAMPLE/sample_histrory-group</b> may be defined as NXnote for a generic use, but <b class="">NXellipsometry/ENTRY/SAMPLE/sample_hisotry-filed</b> may be defined as NX_CHAR for simplicity.</div><div class="">Is it OK?</div><div class=""><br class=""><div class="">Note another intentional, but controversial use case: The NeXus convention on scanning says that a <b class="">Field of an NX_NUMBER dataset</b> can be replaced by an <b class="">NXlog Group</b> with the same name if the values supposed to be stored with timestamps. What happens if this group name is already defined as another concept, so the application of a generic concept leads to a contradiction?</div><div class=""><br class=""></div><div class="">+ regexp enumerations</div><div class=""><b class="">NXentry/thumbnail/type-attribute</b> is defined with the “<span style="font-family: "Lucida Grande", "Lucida Sans Unicode", Geneva, Verdana, sans-serif; font-variant-ligatures: normal; letter-spacing: -0.14px; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); text-decoration-thickness: initial;" class="">Obligatory value: </span><code class="literal notranslate docutils" style="font-family: Consolas, "Deja Vu Sans Mono", "Bitstream Vera Sans Mono", monospace; font-size: 0.95em; letter-spacing: 0.01em; background-color: rgb(242, 242, 242); border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); font-variant-ligatures: normal; orphans: 2; widows: 2; text-decoration-thickness: initial;"><span class="pre" style="hyphens: none; white-space: nowrap;">image/*</span></code>”. Does it mean that it always has to be literaly "image/*” or it only means that its actual value shall start with "image/“? </div><div class="">Is it really an enumeration? </div><div class="">Shall we enable a regexp as enumeration?</div><div class=""><br class=""></div><div class="">+ number enumerations</div><div class="">In some case enumeration refers to numbers (e.g. <b class="">NXguide/reflectivity/[surface,wavelength]_indices</b>), but because of enumeration, their data type had to be<b class=""> forced to be NX_CHAR</b>. Although they are now overriding the data type of the referenced(?) concept <b class="">NXdata/AXISNAME_indices-attribute</b> which is defined as <b class="">NX_INT.</b></div><div class="">Note that <b class="">NXdetector/time_of_flight/axis-attribute</b> (with <b class="">enumeration value of “3”</b>) is defined as <b class="">NX_POSINT</b>.</div><div class="">Shall it be the way to go and allow enumeration for other data types, too, although their string value is given in the nxdl definition?</div><div class=""><br class=""></div><div class="">+ default unit category</div><div class="">In some cases our definitions do not specify a unit category (e.g. <b class="">NXdetector/detector_number-field</b> of NX_INT, <b class="">NXdetector/bit_depth_readout-field</b> of NX_INT, or even <b class="">NXcapillary/focal_size-field</b> of NX_FLOAT). </div><div class="">If it is only for convenience, Is there a fallback solution of a default value, like NX_ANY or NX_UNITLESS? The later does apply neither to NXdetector/bit_depth_readout-field, nor to NXcapillary/focal_size-field.</div><div class=""><br class=""></div><div class="">Or if the given concept (Group/Field/Attribute) is referring to another one (e.g. from a base class as <b class="">NXmonopd/MONITOR/preset</b> of NX_FLOAT referring to the same(?) concept <b class="">NXmonitor/preset</b> of NX_NUMBER units=NX_ANY) shall it receive a default unit category, or shall it simply inherit the already defined unit category from the referred concept? </div><div class=""><br class=""></div><div class="">+ complex unit categories</div></div><div class="">NeXus has already complex unit categories, like NX_MASS_DENSITY, NX_MOLECULAR_WEIGHT, NX_PER_AREA, NX_PER_LENGTH, NX_WAVENUMBER, etc. but others can also be derived using the Unidata’s Udunits convention (see also <a href="https://www.unidata.ucar.edu/software/udunits/udunits-2.2.28/udunits2.html" class="">https://www.unidata.ucar.edu/software/udunits/udunits-2.2.28/udunits2.html</a>). </div><div class="">Is there a way to refer to such units or unit categories? </div><div class="">Is it planed to introduce NX_UDUNITS as unit category, so one can use derived unints according?</div><div class="">Or is it possible to supply a Udunits derivation as a unit category(!) (e.g. units="m/s"), so any compatible units, like "km/h” could be used?</div><div class=""><br class=""></div><div class="">+ units= vs. units=</div><div class="">As an xml tag, units= is used by NXDL <b class="">to specify unit categories</b> for Fields. units= on the other hand can be used by application definitions to specify enumeration for the <b class="">dataset attribute @units which specify the actual unit of the data</b>.</div><div class="">It is at least confusing in NeXus that both a unit category specification and a specific unit in a data file use the same plural form “units”. </div><div class="">Was it ever discussed? </div><div class="">Should not it be made clear: “units” for unit categories, and “unit” for the actual unit?</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Bests,</div><div class="">Sandor</div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>