For many of the object properties the domain and/or range is specified as a union consisting of a single class. This is really not necessary, and adds a layer of complexity when populating the ontology with instances through a UI.
Example:
<owl:ObjectProperty rdf:about="&om;commonlyHasUnit">
<rdfs:label xml:lang="en">commonly has unit</rdfs:label>
<om:alternativeLabel xml:lang="en">commonly has unit of measure</om:alternativeLabel>
<rdfs:comment>This property indicates a commonly-used unit.</rdfs:comment>
<rdfs:domain>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="&om;Quantity"/>
</owl:unionOf>
</owl:Class>
</rdfs:domain>
<rdfs:range rdf:resource="&om;Unit"/>
</owl:ObjectProperty>
should be
<owl:ObjectProperty rdf:about="&om;commonlyHasUnit">
<rdfs:label xml:lang="en">commonly has unit</rdfs:label>
<om:alternativeLabel xml:lang="en">commonly has unit of measure</om:alternativeLabel>
<rdfs:comment>This property indicates a commonly-used unit.</rdfs:comment>
<rdfs:domain rdf:resource="&om;Quantity"/>
<rdfs:range rdf:resource="&om;Unit"/>
</owl:ObjectProperty>
For many of the object properties the domain and/or range is specified as a union consisting of a single class. This is really not necessary, and adds a layer of complexity when populating the ontology with instances through a UI.
Example:
should be