Package:

Extends:

Version:

1

Is Abstract:

no

Is Pattern:

no

Definition:

A formal description of a set of values.

Explanatory Notes:

The ValueAndConceptDescription may be used to describe either a value domain or a conceptual domain. For a value domain, the ValueAndConceptDescription contains the details for a “described” domain (as opposed to an enumerated domain). There are a number of properties which can be used for the description. The description could be just text such as: “an even number greater than zero”. Or a more formal logical expression like “x>0 and mod(x,2)=0”. A regular expression might be useful for describing a textual domain. It could also employ a format pattern from the Unicode Locale Data Markup Language (LDML) (http://www.unicode.org/reports/tr35/tr35.html.

Some Conceptual Domains might be described with just a narrative. Others, though, might be described in much the same way as a value domain depending on the specificity of the concept.

In ISO 11404 a value domain may be described either through enumeration or description, or both. This class provides the facility for that description. It may be just a text description, but a description through a logical expression is machine actionable and might, for example, be rendered as an integrity constraint. If both text and a logical expression are provided the logical expression is to be taken as the canonical description.

The logical expression should conform to the expression syntax of VTL. https://sdmx.org/?page_id=5096

Example:

Example 1)
The integers between 1 and 10 inclusive.
The values of x satisfying the logicalExpression property:
" (1 <=x <= 10) AND mod(x,10)=0"
Also described with minimumValueInclusive = 1 and maximumValueInclusive = 10 (and datatype of integer)
Example 2)
The upper case letters A through C and X
described with the regularExpression "/[A-CX]/"
Example 3)
A date-time described with the Unicode Locale Data Markup Language pattern yyyy.MM.dd G 'at' HH:mm:ss zzz

Property:

Name | Cardinality | Datatype | Description |
---|---|---|---|

description | 0..1 | A formal description of the set of values. | |

logicalExpression | 0..1 | A logical expression where the values of "x" making the expression true are the members of the set of valid values.
Example:
(all reals x such that x >0)
describes the real numbers greater than 0 | |

regularExpression | 0..1 | A regular expression where strings matching the expression belong to the set of valid values. | |

minimumValueInclusive | 0..1 | A string denoting the minimum possible value.
From https://www.w3.org/TR/tabular-metadata/ 5.11.2 minimum: “An atomic property that contains a single number or string that is the minimum valid value (inclusive); equivalent to minInclusive. The value of this property becomes the minimum annotation for the described datatype. See Value Constraints in [tabular-data-model] for details.” | |

maximumValueInclusive | 0..1 | A string denoting the maximum possible value.
From https://www.w3.org/TR/tabular-metadata/ 5.11.2 maximum: “An atomic property that contains a single number or string that is the maximum valid value (inclusive); equivalent to maxInclusive. The value of this property becomes the maximum annotation for the described datatype. See Value Constraints in [tabular-data-model] for details.” | |

minimumValueExclusive | 0..1 | A string denoting the minimum possible value (excluding this value)
From https://www.w3.org/TR/tabular-metadata/ 5.11.2 minExclusive: “An atomic property that contains a single number or string that is the minimum valid value (exclusive). The value of this property becomes the minimum exclusive annotation for the described datatype. See Value Constraints in [tabular-data-model] for details.”
DDI3.2 handles this with a Boolean isInclusive attribute.
| |

maximumValueExclusive | 0..1 | A string denotFrom https://www.w3.org/TR/tabular-metadata/ 5.11.2 maxExclusive: “An atomic property that contains a single number or string that is the maximum valid value (exclusive). The value of this property becomes the maximum exclusive annotation for the described datatype. See Value Constraints in [tabular-data-model] for details.”
DDI3.2 handles this with a Boolean isInclusive attribute.
ing the maximumpossible value (excluding this value) | |

classificationLevel | 0..1 | Indicates the type of relationship, nominal, ordinal, interval, ratio, or continuous. Use where appropriate for the representation type. | |

formatPattern | 0..1 | A pattern for a number as described in Unicode Locale Data Markup Language (LDML) (http://www.unicode.org/reports/tr35/tr35.html)
Part 3: Numbers (http://www.unicode.org/reports/tr35/tr35-numbers.html#Number_Format_Patterns) and Part 4. Dates (http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns) . Examples would be #,##0.### to describe the pattern for a decimal number, or yyyy.MM.dd G 'at' HH:mm:ss zzz for a datetime pattern. |

Relationship:

Is extendable:

Is property:

0

RDF Mapping:

- Log in to post comments

## Comments

larry

Tue, 04/12/2016 - 15:14

Permalink

## one class or several

This one class allows several description methods - should there be a set of child classes, one for each method, with this perhaps being abstract?

larry

Tue, 04/12/2016 - 15:38

Permalink

## datatypes

DDI3.2 can manage representations for datetime, numeric, text, and scales

logical expressions should be able to handle datetime and numeric - what is needed for scales?

larry

Fri, 08/19/2016 - 20:39

Permalink

## commonly known values

Do we need something here using well known datatypes, e.g. the formatting patterns referenced by the W3C tabular data model http://www.unicode.org/cldr/charts/latest/by_type/numbers.number_formatt... ?