ISO 13584-32 ontoML

From wiki.eclass.eu
Jump to navigation Jump to search

ISO 13584-32 “ontoML” Dictionary and Classification exchange

The ISO 13584 is an international standard which defines product descriptions. In part 32 XML based exchange format is defined. ECLASS XML adopts ISO 13584-32 for the dictionary and classification exchange.


C2.png

Figure 1 - OntoML Root Node Overview


Each valid ontoML File contains a header as well as an optional dictionary and library section.

The dictionary is used to transport classes, properties , values, etc. This part is used to exchange ECLASS.


The library part contains property value pairs to describe product instances. For ECLASS the library is not used, since ECLASS is supporting BMEcat instead.


Additionally ECLASS extended ontoML by an exchange mechanism, where additional information, not currently contained in ISO 13584-32, can be transported.

C3.png

Figure 2 - Dictionary in OntoML


The dictionary is containing a set of data suppliers (“contained_suppliers”). Suppliers are identified by their IRDI.

Another section contains all classes, properties, and datatypes.

Changes to OntoML

In ECLASS XML 2.0 some additional optional elements and attributes were introduced into ontoML to allow:

  • PR valency (in context of class and global)
  • Order of PR
  • Order of VA
  • Mandatory PR (in context of class and global)
  • default UN of PR
  • default VA of PR
<!--added to property.xsd in declaration of PROPERTY_Type:-->
<xs:element name="is_mandatory" type="xs:boolean" minOccurs="0"/>
<xs:element name="is_multivalent" type="xs:boolean" minOccurs="0"/>
<xs:element name="default_unit_ref" type="DicUnitId" minOccurs="0"/>
<xs:element name="its_default_value" type="DEFAULT_VALUES_TYPE" minOccurs="0"/>

<!--added in type_system.xsd in declaration of DIC_VALUE_Type:-->
<xs:element name="order_index" type="xs:integer" minOccurs="0" />

<!--added in identifier.xsd in declaration of PROPERTY_REFERENCE_Type:-->
<xs:sequence minOccurs="0" maxOccurs="1">
  <xs:element name="its_default_value" type="DEFAULT_VALUES_TYPE"
minOccurs="0"/>
</xs:sequence>
<!--...-->
<xs:attribute name="order_index" type="xs:integer" use="optional" />
<xs:attribute name="is_mandatory" type="xs:boolean" use="optional" />
<xs:attribute name="is_multivalent" type="xs:boolean" use="optional" />
<xs:attribute name="default_unit_ref" type="DicUnitId" use="optional" />

<!--and DEFAULT_VALUES_TYPE.

Moved ASSIGNED_VALUE_Type from class.xsd to identifier.xsd as already needed in
DEFAULT_VALUES_TYPE.-->


Application Class (XML Binding)

Mapping of ECLASS Application Classes

AC XML.png

Figure 3 - ECLASS Application Class Connected to Classification Class


Application Classes are corresponding to ITEM_CLASS_CASE_OF_Type objects in OntoML:

<ontoml:class xsi:type="ontoml:ITEM_CLASS_CASE_OF_Type" id="0173-1#01-ABQ162#006">

            <date_of_original_definition>2008-03-27Z</date_of_original_definition>

            <date_of_current_version>2010-08-13Z</date_of_current_version>

            <date_of_current_revision>2010-08-13Z</date_of_current_revision>

            <revision>1</revision>

            <status>66</status>

            <source_language country_code="EN" language_code="en"/>

            <preferred_name>

                        <label country_code="CZ" language_code="cs">Průchozí svorka řadová</label>

                        <label country_code="DE" language_code="de">Durchgangs-Reihenklemme</label>

                        <label country_code="EN" language_code="en">Feed-through terminal block</label>

                        <label country_code="ES" language_code="es">Bornes en serie de paso</label>

                        <label country_code="FR" language_code="fr">Barrette à bornes traversante</label>

                        <label country_code="IT" language_code="it">morsetto di passaggio (serie)</label>

                        <label country_code="JP" language_code="ja">フィードスルー端末ブロック</label>

                        <label country_code="NL" language_code="nl">Doorgangsserieklem</label>

            </preferred_name>

            <definition/>

            <its_superclass class_ref="0173-1#01-AAA001#001"/>

            <described_by>

                        <property property_ref="0173-1#02-BAC034#005"/>

                        <property property_ref="0173-1#02-BAC375#005"/>

                        <property property_ref="0173-1#02-BAC140#004"/>

                        <property property_ref="0173-1#02-BAD774#004"/>

                        <property property_ref="0173-1#02-BAB680#003"/>

                        ...

            </described_by>

            <is_case_of>

                        <class class_ref="0173-1#01-AFZ769#012"/>

            </is_case_of>

</ontoml:class>

The connection to the CC is made by using is_case_of relation.

The location where classes are listed in XML is /ontoml/dictionary/contained_classes.

Properties that are describing the application class are listed in “described_by” element.

Aspect Relation (XML Binding)

Mapping Application Class - Aspect Relation

ASAC.png

Figure 4 - Aspect under Application Class in ECLASS


The connection between AC and Aspect is written in OntoML as a A_POSTERIORI_VIEW_OF_Type that is a specialization of a „a posteriori relationship“:

<ontoml:a_posteriori_semantic_relationship xsi:type="ontoml:A_POSTERIORI_VIEW_OF_Type" id="0173-1#CE-DUMMY#001">

            <item class_ref="0173-1#01-ABQ162#006"/>

            <model class_ref="0173-1#01-SGX027#005"/>

</ontoml:a_posteriori_semantic_relationship>

Item element is referencing the AC while model element is referencing the Aspect.

Aspect (XML Binding)

Mapping of ECLASS Aspect Object

ASOBJ.png

Figure 5 - Aspect of ECLASS contributing with properties additionally than the Application Class


Aspect object is serialized in OntoML as a class of type FUNCTIONAL_MODEL_CLASS_Type:

<ontoml:class xsi:type="ontoml:FUNCTIONAL_MODEL_CLASS_Type" id="0173-1#01-SGX027#005">

            <date_of_original_definition>2008-03-28Z</date_of_original_definition>

            <date_of_current_version>2010-08-13Z</date_of_current_version>

            <date_of_current_revision>2010-08-13Z</date_of_current_revision>

            <revision>1</revision>

            <status>66</status>

            <source_language country_code="EN" language_code="en"/>

            <preferred_name>

                        <label country_code="EN" language_code="en">SG_012 27</label>

            </preferred_name>

            <definition>

                        <text country_code="EN" language_code="en">Elektro-, Automatisierungs- und Prozessleittechnik</text>

            </definition>

            <its_superclass class_ref="0173-1#01-AAA001#001"/>

            <described_by>

                        <property property_ref="0173-1#02-BAA002#002"/>

                        <property property_ref="0173-1#02-BAA001#004"/>

                        <property property_ref="0173-1#02-BAA316#003"/>

                        <property property_ref="0173-1#02-BAA059#004"/>

                        <property property_ref="0173-1#02-BAA271#005"/>

                        <property property_ref="0173-1#02-BAD847#003"/>

                        <property property_ref="0173-1#02-AAE670#001"/>

                        <property property_ref="0173-1#02-BAB542#002"/>

                        <property property_ref="0173-1#02-AAD931#001"/>

            </described_by>

            <created_view class_ref="0173-1#01-SGT001#001"/>

</ontoml:class>

Classification Class (XML Binding)

Mapping of ECLASS Classification Classes

CC XML.png

Figure 6 - ECLASS Classification Class


ECLASS classification classes are exposed in OntoML as CATEGORIZATION_CLASS:

<ontoml:class xsi:type="ontoml:CATEGORIZATION_CLASS_Type" id="0173-1#01-AFZ769#012">

            <date_of_original_definition>2004-09-27Z</date_of_original_definition>

            <date_of_current_version>2010-08-12Z</date_of_current_version>

            <date_of_current_revision>2010-08-12Z</date_of_current_revision>

            <revision>1</revision>

            <status>66</status>

            <source_language country_code="EN" language_code="en"/>

            <preferred_name>

                        <label country_code="CZ" language_code="cs">Průchozí svorka řadová</label>

                        <label country_code="DE" language_code="de">Durchgangs-Reihenklemme</label>

                        <label country_code="EN" language_code="en">Feed-through terminal block</label>

                        <label country_code="ES" language_code="es">Bornes en serie de paso</label>

                        <label country_code="FR" language_code="fr">Barrette à bornes traversante</label>

            </preferred_name>

            <definition/>

            <its_superclass class_ref="0173-1#01-AAB915#005"/>

            <hierarchical_position>27141120</hierarchical_position>

</ontoml:class>

The location where classes are listed in XML is /ontoml/dictionary/contained_classes.

The unique code identifying a CC (that is also the base for ECLASS CC hierarchy) is “hierarchical_position” element.

Property (XML Binding)

Mapping ECLASS Property

PROPERTY.png

Figure 7 - ECLASS Property Object


ECLASS property object is mapped in OntoML into NON_DEPENDENT_P_DET_Type in most of the cases:

<ontoml:property xsi:type="ontoml:NON_DEPENDENT_P_DET_Type" id="0173-1#02-BAA270#002">

            <name_scope class_ref="0173-1#01-AAA001#001"/>

            <date_of_original_definition>2004-09-27Z</date_of_original_definition>

            <date_of_current_version>2009-11-28Z</date_of_current_version>

            <date_of_current_revision>2009-11-28Z</date_of_current_revision>

            <revision>2</revision>

            <status>66</status>

            <source_language country_code="EN" language_code="en"/>

            <preferred_name>

                        <label country_code="DE" language_code="de">Kurzschlussstrom</label>

                        <label country_code="EN" language_code="en">Short circuit current</label>

                        <label country_code="ES" language_code="es">Corriente de cortocircuito</label>

                        <label country_code="FR" language_code="fr">Courant de court-circuit</label>

                        <label country_code="IT" language_code="it">corrente di cortocircuito</label>

                        <label country_code="CN" language_code="zh">短路电流</label>

            </preferred_name>

            <definition>

                        <text country_code="DE" language_code="de">Für ein Betriebsmittel der während einer bestimmten Dauer
                         maximal zulässige Strom bei einem Kurzschluss</text>

                        <text country_code="EN" language_code="en">For an operating resource, the maximum short-circuit 
                         current permitted during a certain period of time</text>

                        <text country_code="ES" language_code="es">La máxima corriente permitida, durante un periodo de tiempo
                         determinado, para un medio de operación durante un cortocircuito.</text>

                        <text country_code="FR" language_code="fr">Courant maxi. admissible en cas de court-circuit pour un
                         moyen de production pendant une certaine durée.</text>

                        <text country_code="IT" language_code="it">La massima corrente ammessa misurata in un cortocircuito in
                         un dispositivo di servizio durante un periodo determinato.</text>

                        <text country_code="CN" language_code="zh">一个设备在一定时间之内直到短路时所容许的最大电流</text>

            </definition>

            <det_classification>E01</det_classification>

            <domain xsi:type="ontoml:REAL_TYPE_Type">

                        <value_format>NR2..3.3</value_format>

            </domain>

</ontoml:property>

If the property is depending on another property then the specialization used is ontoml:DEPENDENT_P_DET_Type.

If other properties depend on one property then this one (the condition) uses specialization ontoml:CONDITION_DET_Type.

Value List (XML Binding)

Mapping of Coded and Explicit ECLASS Value Lists

ECLASS domains are exposed in OntoML as a named type:

      <ontoml:datatype id="0173-1#09-AAC056#001">
        <name_scope class_ref="0173-1#01-AAA001#001" />
        <date_of_original_definition>2009-08-10Z</date_of_original_definition>
        <date_of_current_version>2009-08-10Z</date_of_current_version>
        <date_of_current_revision>2009-08-10Z</date_of_current_revision>
        <revision>1</revision>
        <status>66</status>
        <source_language country_code="US" language_code="en" />
        <preferred_name>
          <label country_code="US" language_code="en">SD virus inactivated_1</label>
        </preferred_name>
        <type_definition xsi:type="ontoml:STRING_TYPE_Type">
          <constraints>
            <constraint xsi:type="ontoml:ENUMERATION_CONSTRAINT_Type">
              <subset>
                <val:string_value>NV</val:string_value>
                <val:string_value>J</val:string_value> (***)
                <val:string_value>N</val:string_value>
              </subset>
              <value_meaning>
                <its_values>
                  <dic_value xsi:type="ontoml:INT_DIC_VALUE_Type" value_meaning_id="0173-1#07-AAA577#001">
                    <preferred_name>
                      <label country_code="DE" language_code="de">nicht bewertet</label>
                      <label country_code="US" language_code="en">non-valued</label>
                    </preferred_name>
                    <definition>
                      <text>-</text>
                    </definition>
                    <value_code>1</value_code>
                  </dic_value>
                  <dic_value xsi:type="ontoml:INT_DIC_VALUE_Type" value_meaning_id="0173-1#07-VAA001#001">
                    <preferred_name>
                      <label country_code="DE" language_code="de">Ja</label>
                      <label country_code="US" language_code="en">Yes</label>
                      <label country_code="ES" language_code="es">Sí</label>
                      <label country_code="FR" language_code="fr">Oui</label>
                      <label country_code="IT" language_code="it">si</label>
                      <label country_code="CN" language_code="zh">?</label>
                    </preferred_name>
                    <short_name>
                      <label country_code="DE" language_code="de">J</label>
                    </short_name>
                    <definition>
                      <text>-</text>
                    </definition>
                    <value_code>2</value_code>      (**)
                  </dic_value>
                  <dic_value xsi:type="ontoml:INT_DIC_VALUE_Type" value_meaning_id="0173-1#07-VAA002#001">
                    <preferred_name>
                      <label country_code="DE" language_code="de">Nein</label>
                      <label country_code="US" language_code="en">No</label>
                      <label country_code="ES" language_code="es">No</label>
                      <label country_code="FR" language_code="fr">Non</label>
                      <label country_code="IT" language_code="it">no</label>
                      <label country_code="CN" language_code="zh">?</label>
                    </preferred_name>
                    <short_name>
                      <label country_code="DE" language_code="de">N</label>
                    </short_name>
                    <definition>
                      <text>-</text>
                    </definition>
                    <value_code>3</value_code>
                  </dic_value>
                </its_values>
              </value_meaning>
            </constraint>
          </constraints>
        </type_definition>
      </ontoml:datatype>

For explicit values the section “value_meaning” is not present. Only coded values have a meaning associated to the value. The only indication that value specification is coded or explicit is the presence of value_meaning element in the enumeration constraint.

The association of the meaning to the value is made by using the index of the value in the subset. The line marked with: (**) “<value_code>2</value_code>“ associates the meaning VAA001 (Ja/Yes) to the second value in the subset:

              <subset>
                <val:string_value>NV</val:string_value>
                <val:string_value>J</val:string_value> (***)
                <val:string_value>N</val:string_value>
              </subset>


Named types are referenced in property object: "<ontoml:property …."

        <domain xsi:type="ontoml:NAMED_TYPE_Type">
          <referred_type datatype_ref="0173-1#09-AAA001#001" />
        </domain>
      </ontoml:property>


Coded and Explicit Values in BMEcat

Coded values are expressed in BMEcat by the combination of VALUE_IDREF (containing the IRDI of the value) and the VALUE_TEXT (non-translatable):

<FEATURE>
  <FTEMPLATE>
    <FT_IDREF>0173-1#02-BAB680#004</FT_IDREF>
    <FT_NAME>Anschlussposition</FT_NAME>
  </FTEMPLATE>
  <VALUE_IDREF>0173-1#07-BAA806#001</VALUE_IDREF>
  <VALUE_TEXT>oben</VALUE_TEXT>
</FEATURE>

Explicit values are expressed directly as FVALUE:

<FEATURE>
  <FTEMPLATE>		
    <FT_IDREF>0173-1#01-AAP530#001</FT_IDREF>
    <FT_NAME>Anzahl der Etagen</FT_NAME>
  </FTEMPLATE>
  <FVALUE>2</FVALUE>
  <FUNIT>C62</FUNIT><!-- UNECE unit "Stück" / "piece" -->
</FEATURE>


Deprecated

One major difference between the CSV and the OntoML ("ECLASSXML") export formats is that in ECLASSXML, deprecated elements are still included, but marked as deprecated in the sense of withdrawn. Structural elements are never truly deleted in ECLASS, they always remain to be a part of the dictionary, whether or not they are still actively used. When implementing ECLASSXML, users have to know this, as deprecated properties are no longer an active part of the current release. You can find detailed information about Deprecations here.

ISO 13584-42 ed2 defines a deprecated property as follows:

Is Deprecated Obj: To specify whether a property may still be used or shall no longer be used for new characterizations.

NOTE 1: Deprecated properties may be maintained in a reference dictionary to allow users to interpret characterizations defined with previous versions of this dictionary.

Additionally, the ECLASS TUF contains information about deprecated properties if a compatible successor property exists.

See also rules for change requests.