Skip to content

Translation of the ‘property’ element to different subclasses depending on its use

The translation of the ‘property’ element to ontology classes is a complex interaction between which element is the parent of the property and specific values of attributes of the property element (‘experiment’ was another simpler example). This dictomy exists because in the XML data file, the single keyword ‘property’ used. However, in the description of the ‘property’, there are many different cases, making, for example, an element or attribute ‘mandatory’ or just ‘optional’ or ‘not-handled’. The same applies to attributes. Sometimes, if an attribute has a specific value, then again other attributes or elements can be ‘mandatory’ or just ‘optional’ or ‘not-handled’.

The purpose of the ontology in this instance is to create a class hierarchy of ‘property’ where each subclass represents these different cases. One of the advantages of doing this is that, for example, if the ontology is going to be used to validate an XML data file, it must differentiate between the different cases. Or, for example, if making an interface, given the initial choices, the set of attributes or elements that are mandatory and the ranges of these values can be presented.

The ‘property’ element can be a child of ‘commonProperties’ or of ‘dataGroup’. As a child of ‘commonProperties’, the property element  ‘describes an initial condition of the experiment, and its numerical value must be given as the value of the element‘ (from Specification under property). If ‘property’ is a child of ‘dataGroup’ then property ‘defines a physical property that was varied between experiments or measured as a function of another property within a single experiment’ (also from Specification). As can be seen from the specification, many elements are have several possibilities between ‘optional’, ‘mandatory’ or ‘non-handled’. In terms of the ontology, this means that a ‘property’ as a child of ‘commonProperties’ is different from a ‘property’ from ‘dataGroup’. Each ‘property’ element, depending on what element is the parent, has a different set of attributes and children. In the ontology, the top parent class is reflects the specification element, but subclasses of this top parent class differentiate.

However, it is not just the parent that distinguishes between different ‘property’ classes.  The main attribute which can create different subclasses of ‘property’ is the ‘name’ attribute.

As can be seen by the large number of conditions in the ‘description’ (see above), the translation of the ‘property’ element is a particular challenge because its exact form depends specifically on what element is the parent and the values of some of the attributes. Not only are there several classes of ‘property’ that must be formed, but there are also many classes of the attributes of ‘property’. These sets of classes are intertwined in their definition.

The first level of subclasses of property will be based on whether it is property from ‘commonProperties’ or from ‘dataGroup’. The reasoning is that, as in the description in the text, the fundamental purpose of the two ‘property’ types are different. Under these two subclasses, there will be further subclass divisions. One example is when the ‘name’ attribute is ‘uncertainty’. In this case, since this name attribute of ‘uncertainty’ can occur in both of these subclasses, that particular class will be a subclass of both (meaning the class hierarchy will not be a strict tree structure but a graph).

The following explanation will break down the dependencies and explain how the final configuration was designed.

Property Attribute: label

In the description, the label is defined by The label attribute

The label attribute contains a string that is the short notation of the physical property, e.g. for a temperature property, the label is usually “T”.

It is a property of the top class of ‘property’ (‘Property’) since it is the same for all subclasses.

The label attribute is also used in the ‘plottingInfo’ element, but its purpose is the same and so there is no distinction made.

Property Attribute: name

In the specification a table lists the possible values of the ‘name’ attribute. Since these are only the possible, this attribute is a classification in the ontology.

Depending on the name attribute, what attributes and children are ‘mandatory’ can be different. This will result in further differentiation of subclasses of ‘property’.

In addition, for example, the statement at the top of the table, different values can be grouped together. This means that the classification is not a simple list of values, but a tree of subclasses where the nodes of the trees are the values in this table.

Property Attribute: id

In the property description for id:

The id attribute is mandatory only if the property element is the child of a dataGroup element. Otherwise, it is non-handled

This is interpreted that the id is a property of only ‘dataGroup’ and is mandatory (the yellow ‘@’). The ‘non-handled’ is interpreted as not being an element of ‘commonProperties’. The ‘some’ attribute reflects the fact that there can be many id’s:

It contains the name of the child element of the dataPoint elements in which the corresponding numerical values will appear. The id attributes within a dataGroup usually follow the progression “x1”, “x2”, “x3”, but can have any other name.

Name Attribute: value and component of commonproperties

In the specification, the value and component children are determined by the value of the ‘type’ attribute:

Suppose a property element occurs as the child of the ‘commonProperties’ element, and its type (‘name’ value) is not „initial composition”. In that case, it must have a value child element containing its numeric value. If it is an „initial composition” property, it must have component child element(s) that define the component species of the initial composition.

The set of ‘name’ types are in a classification and those that are not an ‘initial concentration’ set in a branching of the classifications. In the annotations the of the ‘name’ property, the ‘default value’ points to either ‘initial composition’ or ‘not initial composition’ in the classification. The name can also deal with uncertainty values. This is elaborated below.

The children of the property dealing with ‘initial concentration’ (‘Initial Concentration Property) has one or more members of ‘component’ (‘initial concentration component’). Note that component can be used in several contexts, so this particular component is for initial concentration. The component not corresponding to ‘initial concentration’ has as member ‘value’ (‘Numeric Value’).

Property: child of a dataGroup species data

In the specification for property, when the property is a child of the ‘dataGroup’ and the property refers to a species:

If a property element occurs as the child of the dataGroup element, and it describes data corresponding to a species (a “concentration” or “composition” type property), then a speciesLink child element is mandatory, which defines the species to which the property corresponds.

This represents a subclass of the ‘dataGroup Property’ element class, namely ‘Data Group Property: Species Data’ class. The ‘name’ property refers to the classification ‘RespecthPropertyNameSpeciesData’, which can have the values ‘concentration’ (‘Species Concentration’) or ‘composition’ (‘Species Composition’).

The ‘speciesLink’ (connected through ‘has member’ is annotated with ‘Mandatory’.

Name Attribute: uncertainty

Even though this is a special case of ‘property’ dealing with the ‘name’ attribute being ‘uncertainty’, the ‘identifier’ is still ‘property’. This class of property is assigned to ‘uncertainty’ by specifying that the default value of the ‘name’ attribute is ‘uncertainty’.

So if the name value is ‘uncertainty’, then the three attributes, ‘reference’, ‘kind’ and ‘bound’ are ‘Mandatory’. 

 In addition, these values also have requirements on their values. The ‘kind’ is restricted to two values, ‘absolute’ and ‘relative’. The attribute ‘kind’ has more than one context and in this subclass the kind attribute is represented by the subclass( of kind) named ‘Evaluation Standard Deviation Kind’.

The ‘bound’ property also has only three possible values (attribute class ‘Uncertainty Bound’).

The ‘reference’ attribute is represented in the ‘Property Reference’ class.

The property ‘uncertainty’ has one ‘mandatory’ property, namely ‘Property Value’. This is the numerical value of the uncertainty.

Name Attribute: evaluated standard deviation

The ‘property’ class when the attribute name is ‘evaluated standard deviation’ is exactly that of the property with name ‘uncertainty’ with the exception that there is one more ‘mandatory’ attribute, namely ‘method’. This is represented by the class ‘Standard Deviation Method’.

The method attribute in the ReSpecTh specification has a table of values, these set of values are represented in the ‘RespecthStandardDeviationMethodClassification’ classification and is pointed to in the annotations (by ‘rdfs:isDefinedBy’) in the ‘Uncertainty Property Data Group’ class.

Property attribute: reference

The attribute of ‘reference’ in the ‘property element actually has two distinct meanings. One, when the ‘name’ attribute is ‘uncertainty’, ‘evaluated standard deviation’. In this case, the reference refers to the property to which the uncertainty or standard deviation refers:

For uncertainty:

The attribute reference contains the property name to which the specified uncertainty refers.

For ‘evaluated standard deviation’:

The attribute reference contains the name of the property to which the specified
standard deviation refers.

In the other case:

If the reference property is composition or concentration, a speciesLink child element is mandatory, which defines the species to which the referenced property corresponds.

Property Attribute: Kind

The property attribute ‘kind’ has actually three meanings (and whether it is ‘mandatory’ or not) depending on the name value.

If the value of ‘name’ is ‘uncertainty’ or ‘evaluated standard deviation’, the kind value has two choices, ‘absolute’ or ‘relative’. These values are given in the classification class ‘RespecthPropertyNameUncertaintyKindValue’. In this case, the ‘kind’ attribute is interpreted as a ‘Evaluation Standard Deviation Kind. which refers to the classification.  This, in turn is listed as an attribute (through the ‘has property’ term) of the ‘Uncertainty Property’.

If the ‘name’ of the property is describing a RCM time series in a ‘dataGroup’ and the name is pressure’ or ‘volume’, then:

must be used to describe if the profile corresponds to a reactive or a nonreactive mixture. In this case, it can have “reactive” or “nonreactive” values.

These two values are listed in a classification ‘RespecthAttributeKindReactiveNonReactiveClassification’ which is refered to in the ‘(Non-) reactive kind’ attribute (which is a subclass of ‘kind’ class.). This ‘kind’ attribute is, in turn, referred to by the ‘Pressure or Volume Time Series (in RCM)’ class (a subclass of ‘dataGroupProperty’) and in ‘Mandatory’.

Property Attribute: bound

 

en_USEnglish