ValueAndConceptDescription

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: 
NameCardinalityDatatypeDescription
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: 

Stage:

Is extendable: 
Is property: 
0
RDF Mapping: 

Comments

larry's picture

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's picture

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's picture

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... ?