ISO 13584-32 ontoML

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

Contents

[edit] ISO 13584-32 “ontoML” Dictionary and Classification exchange

eCl@ssXML 1.0 is based on the ISO 13584-32 “ontoML 1.0” file format, the XML representation of the ISO 13584 (PLIB) ontology model that eCl@ss is using (first published with release 7.0, then 7.1)

eCl@ssXML-1.0 includes some extensions over ontoML-1.0 to allow transport of the extended information needs that eCl@ss has on their dictionary and the two contained models (basic and advanced).

In eCl@ssXML 2.0 some adoptions have been made (first published with release 8.0).


XML-Schema location:

  • ontoML (eCl@ss variant 1.0) is here (Releases 7.0, 7.1)



C2.png

Figure 1 - eCl@ss XML 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 eCl@ss.


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


Additionally eCl@ss 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 eCl@ss XML


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.


[edit] Changes to OntoML

In eCl@ss 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.-->


[edit] Application Class (XML Binding)

[edit] Mapping of eCl@ss Application Classes

AC XML.png

Figure 3 - eCl@ss 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.

[edit] Aspect Relation (XML Binding)

[edit] Mapping Application Class - Aspect Relation

ASAC.png

Figure 4 - Aspect under Application Class in eCl@ss


The connection between AC and Aspect is writren 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.

[edit] Aspect (XML Binding)

[edit] Mapping of eCl@ss Aspect Object

ASOBJ.png

Figure 5 - Aspect of eCl@ss 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>

[edit] Classification Class (XML Binding)

[edit] Mapping of eCl@ss Classification Classes

CC XML.png

Figure 6 - eCl@ss Classification Class


eCl@ss 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 eCl@ss CC hierarchy) is “hierarchical_position” element.

[edit] Property (XML Binding)

[edit] Mapping eCl@ss Property

PROPERTY.png

Figure 7 - eCl@ss Property Object


eCl@ss 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.

[edit] Value List (XML Binding)

[edit] Mapping of Coded and Explicit eCl@ss Value Lists

eCl@ss 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"></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>


[edit] 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>


[edit] Deprecated

One major difference between the CSV and the OntoML ("eCl@ssXML") export formats is that in eCl@ssXML, deprecated elements are still included, but marked as deprecated in the sense of withdrawn. Structural elements are never truly deleted in eCl@ss, they always remain to be a part of the dictionary, whether or not they are still actively used. When implementing eCl@ssXML, 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 eCl@ss TUF contains information about deprecated properties if a compatible successor property exists.

See also rules for change requests.

Personal tools