TabularTextDataSet#

Fully qualified class name of the UML model DDI-CDI 1.1beta: DDICDIModels::DDICDILibrary::Classes::FormatDescription::TabularTextDataSet

Definition#

Information describing the physical aspects of a data set which is encoded using a text-based method and which has an essentially tabular structure.

Examples#

A table formatted as a comma separated values (CSV) file; a pipe-delimited ASCII data file such as the tract definitions for the US 2020 Census (found at https://www2.census.gov/geo/docs/maps-data/data/rel2020/tract/tab20_tract20_tract10_natl.txt); any similar file which used fixed-width columns instead of delimiters.

Explanatory notes#

A tabular text data set is a physical description (e.g. unit segment layout) of the instance variables making up the records in the data set. Each instance variable has a text mapping linking it to the physical layout, with a position index supplied by a physical mapping position object. Tabular text data sets are distinct from binary data sets which do not use a text-based encoding, and from more structured text-based data expressed in formats such as XML, JSON, or any of the RDF representations.

Diagram#

Diagram

Inheritance#

Inheritance
  ᐊ── FormatDescription::TabularTextDataSet

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

arrayBase

- own class -

The starting value for the numbering of cells, rows, columns, etc. when they constitute an ordered sequence (an array). Note that in DDI, this is typically either 0 or 1. In related W3C work (Model for Tabular Data and Metadata on the Web), they appear to standardize on 1 (see https://www.w3.org/TR/tabular-data-model/ 4.3 [Columns] and 4.4 [Rows]: “number - the position of the column amongst the columns for the associated table, starting from 1.”)

Integer

0..1

commentPrefix

- own class -

A string used to indicate that an input line is a comment, a string which precedes a comment in the data file. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect commentPrefix: ‘An atomic property that sets the comment prefix flag to the single provided value, which MUST be a string. The default is “#”.’

String

0..1

delimiter

- own class -

The Delimiting character in the data. Must be used if isDelimited is True. “The separator between cells, set by the delimiter property of a dialect description. The default is ,. See the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-data-model/#encoding). From the “CSV Dialect” specification (https://specs.frictionlessdata.io/csv-dialect/#specification): “delimiter: specifies a one-character string to use as the field separator. Default = ,.”

String

0..1

,

escapeCharacter

- own class -

“The string that is used to escape the quote character within escaped cells, or null” see https://www.w3.org/TR/tabular-data-model/#encoding. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect “doubleQuote: A boolean atomic property that, if true, sets the escape character flag to “. If false, to . The default is true.” From http://specs.frictionlessdata.io/csv-dialect/ “doubleQuote: controls the handling of quotes inside fields. If true, two consecutive quotes should be interpreted as one. Default = true”.

String

0..1

True

hasHeader

- own class -

True if the file contains a header containing column names. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect “header: A boolean atomic property that, if true, sets the header row count flag to 1, and if false to 0, unless headerRowCount is provided, in which case the value provided for the header property is ignored. The default is true.” From http://specs.frictionlessdata.io/csv-dialect/ “header: indicates whether the file includes a header row. If true the first row in the file is a header row, not data. Default = true”.

Boolean

0..1

true

headerIsCaseSensitive

- own class -

If True, the case of the labels in the header is significant. From the “CSV Dialect” specification (http://specs.frictionlessdata.io/csv-dialect/): “caseSensitiveHeader: indicates that case in the header is meaningful. For example, columns CAT and Cat should not be equated. Default = false.”

Boolean

0..1

false

headerRowCount

- own class -

The number of lines in the header From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect “headerRowCount: A numeric atomic property that sets the header row count flag to the single provided value, which MUST be a non-negative integer. The default is 1.”

Integer

0..1

1

isDelimited

- own class -

Indicates whether the data are in a delimited format. If “true,” the format is delimited, and the isFixedWidth property must be set to “false.” If not set to “true,” the property isFixedWitdh must be set to “true.”

Boolean

1..1

true

isFixedWidth

- own class -

Set to true if the file is fixed-width. If true, isDelimited must be set to false.

Boolean

1..1

false

lineTerminator

- own class -

The strings that can be used at the end of a row, set by the lineTerminators property of a dialect description. The default is [CRLF, LF]. See the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-data-model/#encoding) 5.9 Dialect “lineTerminators: An atomic property that sets the line terminators flag to either an array containing the single provided string value, or the provided array. The default is [‘rn’, ‘n’].” Also, from the “CSV Dialect” specification (http://specs.frictionlessdata.io/csv-dialect/): “lineTerminator: specifies the character sequence which should terminate rows. Default = rn.”

String

0..*

[CRLF, LF]

nullSequence

- own class -

A string indicating a null value. From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) 4.3: “null: the string or strings which cause the value of cells having string value matching any of these values to be null.” From the same source, Inherited 5.7: “null: An atomic property giving the string or strings used for null values within the data. If the string value of the cell is equal to any one of these values, the cell value is null. See Parsing Cells in [tabular-data-model] for more details. If not specified, the default for the null property is the empty string ‘’. The value of this property becomes the null annotation for the described column.”

String

0..1

quoteCharacter

- own class -

“The string that is used around escaped cells, or null, set by the quoteChar property of a dialect description. The default is “.”. See W3C Recommendation “Model for Tabular Data and Metadata on the Web”, https://www.w3.org/TR/tabular-data-model/#parsing. From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: “quoteChar: An atomic property that sets the quote character flag to the single provided value, which MUST be a string or null. If the value is null, the escape character flag is also set to null. The default is ‘”’.” From the CSV Dialect specification (http://specs.frictionlessdata.io/csv-dialect/): “quoteChar: specifies a one-character string to use as the quoting character. Default = “.”

String

0..1

skipBlankRows

- own class -

If the value is True, blank rows are ignored. From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: “skipBlankRows: A boolean atomic property that sets the skip blank rows flag to the single provided boolean value. The default is false.”

Boolean

0..1

false

skipDataColumns

- own class -

The number of columns to skip at the beginning of the row. From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: “skipColumns: A numeric atomic property that sets the skip columns flag to the single provided numeric value, which MUST be a non-negative integer. The default is 0.” A value other than 0 will mean that the source numbers of columns will be different from their numbers.

Integer

0..1

0

skipInitialSpace

- own class -

If the value is True, skip whitespace at the beginning of a line or following a delimiter. From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: “skipInitialSpace: A boolean atomic property that, if true, sets the trim flag to ‘start’ and if false, to false. If the trim property is provided, the skipInitialSpace property is ignored. The default is false.” From the CSV Dialect specification (http://specs.frictionlessdata.io/csv-dialect/): “skipInitialSpace: specifies how to interpret whitespace which immediately follows a delimiter; if false, it means that whitespace immediately after a delimiter should be treated as part of the following field. Default = true.”

Boolean

0..1

true

skipRows

- own class -

Number of input rows to skip preceding the header or data. From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: “skipRows: A numeric atomic property that sets the skip rows flag to the single provided numeric value, which MUST be a non-negative integer. The default is 0.” A value greater than 0 will mean that the source numbers of rows will be different from their numbers.

Integer

0..1

0

tableDirection

- own class -

Indicates the direction in which columns are arranged in each row. From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) 5.3.2: “tableDirection: An atomic property that MUST have a single string value that is one of ‘rtl’, ‘ltr’, or ‘auto’. Indicates whether the tables in the group should be displayed with the first column on the right, on the left, or based on the first character in the table that has a specific direction. The value of this property becomes the value of the table direction annotation for all the tables in the table group. See Bidirectional Tables in [tabular-data-model] for details. The default value for this property is ‘auto’.”

TableDirectionValues

0..1

“Auto”

textDirection

- own class -

Indicates the reading order of text within cells. From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) Inherited 5.7: “textDirection: An atomic property that MUST have a single string value that is one of ‘ltr’, ‘rtl’, ‘auto’ or ‘inherit’ (the default). Indicates whether the text within cells should be displayed as left-to-right text (ltr), as right-to-left text (rtl), according to the content of the cell (auto) or in the direction inherited from the table direction annotation of the table. The value of this property determines the text direction annotation for the column, and the text direction annotation for the cells within that column: if the value is inherit then the value of the text direction annotation is the value of the table direction annotation on the table, otherwise it is the value of this property. See Bidirectional Tables in [tabular-data-model] for details.”

TextDirectionValues

0..1

treatConsecutiveDelimitersAsOne

- own class -

If the value is True, consecutive (adjacent) delimiters are treated as a single delimiter; if the value is False consecutive (adjacent) delimiters indicate a missing value.

Boolean

0..1

false

trim

- own class -

Specifies which spaces to remove from a data value (start, end, both, neither) From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: “trim: An atomic property that, if the boolean true, sets the trim flag to true and if the boolean false to false. If the value provided is a string, sets the trim flag to the provided value, which MUST be one of ‘true’, ‘false’, ‘start’, or ‘end’. The default is true.”

TrimValues

0..1

True

catalogDetails

FormatDescription::PhysicalDataSet

Bundles the information useful for a data catalog entry.

Examples would be creator, contributor, title, copyright, embargo, and license information

A set of information useful for attribution, data discovery, and access. This is information that is tied to the identity of the object. If this information changes the version of the associated object changes.

CatalogDetails

0..1

characterSet

FormatDescription::PhysicalDataSet

Default character set used in the physical data set.

String

0..1

encoding

FormatDescription::PhysicalDataSet

The character encoding of the represented data. From the W3C Recommendation “Metadata Vocabulary for Tabular Data” (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: “encoding - An atomic property that sets the encoding flag to the single provided string value, which MUST be a defined in [encoding]. The default is ‘utf-8’.” From the same W3C recommendation 7.2 Encoding: “CSV files should be encoded using UTF-8, and should be in Unicode Normal Form C as defined in [UAX15]. If a CSV file is not encoded using UTF-8, the encoding should be specified through the charset parameter in the Content-Type header.”

ControlledVocabularyEntry

0..1

fileSize

FormatDescription::PhysicalDataSet

File size expressed as a real number.

Real

0..1

fileSizeUofM

FormatDescription::PhysicalDataSet

Unit of measure of the fileSize as a simple string, e.g. KB, megabyte, GB, etc.

String

0..1

fingerprint

FormatDescription::PhysicalDataSet

Universal Numerical Fingerprint or similar format-independent, canonical hash value of the physical representation of data in the physical data set.

DataFingerprint

0..1

identifier

FormatDescription::PhysicalDataSet

Identifier for objects requiring short- or long-lasting referencing and management.

Identifier

0..1

name

FormatDescription::PhysicalDataSet

Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.

ObjectName

0..1

overview

FormatDescription::PhysicalDataSet

Short natural language account of the information obtained from the combination of properties and relationships associated with an object.

InternationalString

0..1

physicalFileURL

FormatDescription::PhysicalDataSet

URL for the physical data set.

String

0..1

purpose

FormatDescription::PhysicalDataSet

Intent or reason for the object/the description of the object.

InternationalString

0..1

recordCount

FormatDescription::PhysicalDataSet

Number of records in the physical data set.

Integer

0..1

standard

FormatDescription::PhysicalDataSet

An established standard to which the described resource conforms.

conformsTo

0..*

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of TabularTextDataSet

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

PhysicalDataSet has InstanceVariable

0..*

Conceptual

InstanceVariable

0..*

shared

FormatDescription::PhysicalDataSet

from

PhysicalDataSet isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Conceptual

Concept

0..*

none

FormatDescription::PhysicalDataSet

from

PhysicalDataSet correspondsTo DataSet

0..*

DataDescription

DataSet

0..1

none

FormatDescription::PhysicalDataSet

from

PhysicalDataSet has PhysicalMapping

0..*

- own package -

PhysicalMapping

0..*

shared

FormatDescription::PhysicalDataSet

from

PhysicalDataSet has PhysicalMappingPosition

1..1

- own package -

PhysicalMappingPosition

0..*

composite

FormatDescription::PhysicalDataSet

from

PhysicalDataSet has Segment

0..*

- own package -

Segment

0..*

shared

FormatDescription::PhysicalDataSet

from

PhysicalDataSet has SegmentPosition

1..1

- own package -

SegmentPosition

0..*

composite

FormatDescription::PhysicalDataSet

from

PhysicalDataSet uses LogicalRecord

0..*

- own package -

LogicalRecord

0..1

none

FormatDescription::PhysicalDataSet

from

TabularTextDataSet isDefinedBy Concept

The conceptual basis for the collection of members.

0..*

Conceptual

Concept

0..*

none

own class

Encodings#

Syntax representations / encodings

All syntax representations except the Canonical XMI are provided as reference points for specific implementations, or for use as defaults if sufficient in the form presented.

Fragment for the class TabularTextDataSet (entire model as XMI)

  1<packagedElement xmlns:StandardProfile="http://www.omg.org/spec/UML/20131001/StandardProfile"
  2                  xmlns:uml="http://www.omg.org/spec/UML/20131001"
  3                  xmlns:xmi="http://www.omg.org/spec/XMI/20131001"
  4                  xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet"
  5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet"
  6                  xmi:type="uml:Class">
  7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-ownedComment"
  8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-ownedComment"
  9                  xmi:type="uml:Comment">
 10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet"/>
 11      <body>Definition
 12==========
 13Information describing the physical aspects of a data set which is encoded using a text-based method and which has an essentially tabular structure.
 14
 15Examples
 16========
 17A table formatted as a comma separated values (CSV) file; a pipe-delimited ASCII data file such as the tract definitions for the US 2020 Census (found at https://www2.census.gov/geo/docs/maps-data/data/rel2020/tract/tab20_tract20_tract10_natl.txt); any similar file which used fixed-width columns instead of delimiters.
 18
 19Explanatory notes
 20=================
 21A tabular text data set is a physical description (e.g. unit segment layout) of the instance variables making up the records in the data set. Each instance variable has a text mapping linking it to the physical layout, with a position index supplied by a physical mapping position object.
 22Tabular text data sets are distinct from binary data sets which do not use a text-based encoding, and from more structured text-based data expressed in formats such as XML, JSON, or any of the RDF representations.
 23</body>
 24   </ownedComment>
 25   <name>TabularTextDataSet</name>
 26   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-generalization"
 27                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-generalization"
 28                    xmi:type="uml:Generalization">
 29      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-PhysicalDataSet"/>
 30   </generalization>
 31   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-arrayBase"
 32                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-arrayBase"
 33                    xmi:type="uml:Property">
 34      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-arrayBase-ownedComment"
 35                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-arrayBase-ownedComment"
 36                     xmi:type="uml:Comment">
 37         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-arrayBase"/>
 38         <body>The starting value for the numbering of cells, rows, columns, etc. when they constitute an ordered sequence (an array). Note that in DDI, this is typically either 0 or 1. In related W3C work (Model for Tabular Data and Metadata on the Web), they appear to standardize on 1 (see https://www.w3.org/TR/tabular-data-model/ 4.3 [Columns] and 4.4 [Rows]: "number - the position of the column amongst the columns for the associated table, starting from 1.")</body>
 39      </ownedComment>
 40      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-arrayBase-lowerValue"
 41                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-arrayBase-lowerValue"
 42                   xmi:type="uml:LiteralInteger"/>
 43      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-arrayBase-upperValue"
 44                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-arrayBase-upperValue"
 45                   xmi:type="uml:LiteralUnlimitedNatural">
 46         <value>1</value>
 47      </upperValue>
 48      <name>arrayBase</name>
 49      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"
 50             xmi:type="uml:PrimitiveType"/>
 51   </ownedAttribute>
 52   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-commentPrefix"
 53                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-commentPrefix"
 54                    xmi:type="uml:Property">
 55      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-commentPrefix-ownedComment"
 56                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-commentPrefix-ownedComment"
 57                     xmi:type="uml:Comment">
 58         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-commentPrefix"/>
 59         <body>A string used to indicate that an input line is a comment, a string which precedes a comment in the data file. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect  commentPrefix: 'An atomic property that sets the comment prefix flag to the single provided value, which MUST be a string. The default is "#".'</body>
 60      </ownedComment>
 61      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-commentPrefix-lowerValue"
 62                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-commentPrefix-lowerValue"
 63                   xmi:type="uml:LiteralInteger"/>
 64      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-commentPrefix-upperValue"
 65                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-commentPrefix-upperValue"
 66                   xmi:type="uml:LiteralUnlimitedNatural">
 67         <value>1</value>
 68      </upperValue>
 69      <name>commentPrefix</name>
 70      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"
 71             xmi:type="uml:PrimitiveType"/>
 72   </ownedAttribute>
 73   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-delimiter"
 74                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-delimiter"
 75                    xmi:type="uml:Property">
 76      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-delimiter-ownedComment"
 77                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-delimiter-ownedComment"
 78                     xmi:type="uml:Comment">
 79         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-delimiter"/>
 80         <body>The Delimiting character in the data. Must be used if isDelimited is True. "The separator between cells, set by the delimiter property of a dialect description. The default is ,. See the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-data-model/#encoding). From the "CSV Dialect" specification (https://specs.frictionlessdata.io/csv-dialect/#specification): "delimiter: specifies a one-character string to use as the field separator. Default = ,."</body>
 81      </ownedComment>
 82      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-delimiter-lowerValue"
 83                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-delimiter-lowerValue"
 84                   xmi:type="uml:LiteralInteger"/>
 85      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-delimiter-upperValue"
 86                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-delimiter-upperValue"
 87                   xmi:type="uml:LiteralUnlimitedNatural">
 88         <value>1</value>
 89      </upperValue>
 90      <name>delimiter</name>
 91      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-delimiter-defaultValue"
 92                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-delimiter-defaultValue"
 93                     xmi:type="uml:LiteralString">
 94         <value>,</value>
 95      </defaultValue>
 96      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"
 97             xmi:type="uml:PrimitiveType"/>
 98   </ownedAttribute>
 99   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-escapeCharacter"
100                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-escapeCharacter"
101                    xmi:type="uml:Property">
102      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-escapeCharacter-ownedComment"
103                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-escapeCharacter-ownedComment"
104                     xmi:type="uml:Comment">
105         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-escapeCharacter"/>
106         <body>"The string that is used to escape the quote character within escaped cells, or null" see https://www.w3.org/TR/tabular-data-model/#encoding. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect "doubleQuote: A boolean atomic property that, if true, sets the escape character flag to ". If false, to \. The default is true." From http://specs.frictionlessdata.io/csv-dialect/ "doubleQuote: controls the handling of quotes inside fields. If true, two consecutive quotes should be interpreted as one. Default = true".
107</body>
108      </ownedComment>
109      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-escapeCharacter-lowerValue"
110                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-escapeCharacter-lowerValue"
111                   xmi:type="uml:LiteralInteger"/>
112      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-escapeCharacter-upperValue"
113                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-escapeCharacter-upperValue"
114                   xmi:type="uml:LiteralUnlimitedNatural">
115         <value>1</value>
116      </upperValue>
117      <name>escapeCharacter</name>
118      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-escapeCharacter-defaultValue"
119                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-escapeCharacter-defaultValue"
120                     xmi:type="uml:LiteralString">
121         <value>True</value>
122      </defaultValue>
123      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"
124             xmi:type="uml:PrimitiveType"/>
125   </ownedAttribute>
126   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-hasHeader"
127                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-hasHeader"
128                    xmi:type="uml:Property">
129      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-hasHeader-ownedComment"
130                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-hasHeader-ownedComment"
131                     xmi:type="uml:Comment">
132         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-hasHeader"/>
133         <body>True if the file contains a header containing column names. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect "header: A boolean atomic property that, if true, sets the header row count flag to 1, and if false to 0, unless headerRowCount is provided, in which case the value provided for the header property is ignored. The default is true." From http://specs.frictionlessdata.io/csv-dialect/ "header: indicates whether the file includes a header row. If true the first row in the file is a header row, not data. Default = true".</body>
134      </ownedComment>
135      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-hasHeader-lowerValue"
136                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-hasHeader-lowerValue"
137                   xmi:type="uml:LiteralInteger"/>
138      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-hasHeader-upperValue"
139                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-hasHeader-upperValue"
140                   xmi:type="uml:LiteralUnlimitedNatural">
141         <value>1</value>
142      </upperValue>
143      <name>hasHeader</name>
144      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-hasHeader-defaultValue"
145                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-hasHeader-defaultValue"
146                     xmi:type="uml:LiteralBoolean">
147         <value>True</value>
148      </defaultValue>
149      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"
150             xmi:type="uml:PrimitiveType"/>
151   </ownedAttribute>
152   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerIsCaseSensitive"
153                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerIsCaseSensitive"
154                    xmi:type="uml:Property">
155      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerIsCaseSensitive-ownedComment"
156                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerIsCaseSensitive-ownedComment"
157                     xmi:type="uml:Comment">
158         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerIsCaseSensitive"/>
159         <body>If True, the case of the labels in the header is significant. From the "CSV Dialect" specification (http://specs.frictionlessdata.io/csv-dialect/): "caseSensitiveHeader: indicates that case in the header is meaningful. For example, columns CAT and Cat should not be equated. Default = false."</body>
160      </ownedComment>
161      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerIsCaseSensitive-lowerValue"
162                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerIsCaseSensitive-lowerValue"
163                   xmi:type="uml:LiteralInteger"/>
164      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerIsCaseSensitive-upperValue"
165                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerIsCaseSensitive-upperValue"
166                   xmi:type="uml:LiteralUnlimitedNatural">
167         <value>1</value>
168      </upperValue>
169      <name>headerIsCaseSensitive</name>
170      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerIsCaseSensitive-defaultValue"
171                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerIsCaseSensitive-defaultValue"
172                     xmi:type="uml:LiteralBoolean">
173         <value>False</value>
174      </defaultValue>
175      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"
176             xmi:type="uml:PrimitiveType"/>
177   </ownedAttribute>
178   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerRowCount"
179                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerRowCount"
180                    xmi:type="uml:Property">
181      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerRowCount-ownedComment"
182                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerRowCount-ownedComment"
183                     xmi:type="uml:Comment">
184         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerRowCount"/>
185         <body>The number of lines in the header From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect "headerRowCount: A numeric atomic property that sets the header row count flag to the single provided value, which MUST be a non-negative integer. The default is 1."</body>
186      </ownedComment>
187      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerRowCount-lowerValue"
188                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerRowCount-lowerValue"
189                   xmi:type="uml:LiteralInteger"/>
190      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerRowCount-upperValue"
191                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerRowCount-upperValue"
192                   xmi:type="uml:LiteralUnlimitedNatural">
193         <value>1</value>
194      </upperValue>
195      <name>headerRowCount</name>
196      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-headerRowCount-defaultValue"
197                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-headerRowCount-defaultValue"
198                     xmi:type="uml:LiteralInteger">
199         <value>1</value>
200      </defaultValue>
201      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"
202             xmi:type="uml:PrimitiveType"/>
203   </ownedAttribute>
204   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isDelimited"
205                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isDelimited"
206                    xmi:type="uml:Property">
207      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isDelimited-ownedComment"
208                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isDelimited-ownedComment"
209                     xmi:type="uml:Comment">
210         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isDelimited"/>
211         <body>Indicates whether the data are in a delimited format. If "true," the format is delimited, and the isFixedWidth property must be set to "false." If not set to "true," the property isFixedWitdh must be set to "true."
212
213
214</body>
215      </ownedComment>
216      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isDelimited-lowerValue"
217                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isDelimited-lowerValue"
218                   xmi:type="uml:LiteralInteger">
219         <value>1</value>
220      </lowerValue>
221      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isDelimited-upperValue"
222                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isDelimited-upperValue"
223                   xmi:type="uml:LiteralUnlimitedNatural">
224         <value>1</value>
225      </upperValue>
226      <name>isDelimited</name>
227      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isDelimited-defaultValue"
228                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isDelimited-defaultValue"
229                     xmi:type="uml:LiteralBoolean">
230         <value>True</value>
231      </defaultValue>
232      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"
233             xmi:type="uml:PrimitiveType"/>
234   </ownedAttribute>
235   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isFixedWidth"
236                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isFixedWidth"
237                    xmi:type="uml:Property">
238      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isFixedWidth-ownedComment"
239                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isFixedWidth-ownedComment"
240                     xmi:type="uml:Comment">
241         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isFixedWidth"/>
242         <body>Set to true if the file is fixed-width. If true, isDelimited must be set to false.</body>
243      </ownedComment>
244      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isFixedWidth-lowerValue"
245                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isFixedWidth-lowerValue"
246                   xmi:type="uml:LiteralInteger">
247         <value>1</value>
248      </lowerValue>
249      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isFixedWidth-upperValue"
250                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isFixedWidth-upperValue"
251                   xmi:type="uml:LiteralUnlimitedNatural">
252         <value>1</value>
253      </upperValue>
254      <name>isFixedWidth</name>
255      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-isFixedWidth-defaultValue"
256                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-isFixedWidth-defaultValue"
257                     xmi:type="uml:LiteralBoolean">
258         <value>False</value>
259      </defaultValue>
260      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"
261             xmi:type="uml:PrimitiveType"/>
262   </ownedAttribute>
263   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-lineTerminator"
264                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-lineTerminator"
265                    xmi:type="uml:Property">
266      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-lineTerminator-ownedComment"
267                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-lineTerminator-ownedComment"
268                     xmi:type="uml:Comment">
269         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-lineTerminator"/>
270         <body>The strings that can be used at the end of a row, set by the lineTerminators property of a dialect description. The default is [CRLF, LF]. See the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-data-model/#encoding) 5.9 Dialect "lineTerminators: An atomic property that sets the line terminators flag to either an array containing the single provided string value, or the provided array. The default is ['rn', 'n']." Also, from the "CSV Dialect" specification (http://specs.frictionlessdata.io/csv-dialect/): "lineTerminator: specifies the character sequence which should terminate rows. Default = rn."</body>
271      </ownedComment>
272      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-lineTerminator-lowerValue"
273                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-lineTerminator-lowerValue"
274                   xmi:type="uml:LiteralInteger"/>
275      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-lineTerminator-upperValue"
276                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-lineTerminator-upperValue"
277                   xmi:type="uml:LiteralUnlimitedNatural">
278         <value>*</value>
279      </upperValue>
280      <name>lineTerminator</name>
281      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-lineTerminator-defaultValue"
282                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-lineTerminator-defaultValue"
283                     xmi:type="uml:LiteralString">
284         <value>[CRLF, LF]</value>
285      </defaultValue>
286      <isOrdered>true</isOrdered>
287      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"
288             xmi:type="uml:PrimitiveType"/>
289   </ownedAttribute>
290   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-nullSequence"
291                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-nullSequence"
292                    xmi:type="uml:Property">
293      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-nullSequence-ownedComment"
294                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-nullSequence-ownedComment"
295                     xmi:type="uml:Comment">
296         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-nullSequence"/>
297         <body>A string indicating a null value. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 4.3: "null: the string or strings which cause the value of cells having string value matching any of these values to be null." From the same source, Inherited 5.7: "null: An atomic property giving the string or strings used for null values within the data. If the string value of the cell is equal to any one of these values, the cell value is null. See Parsing Cells in [tabular-data-model] for more details. If not specified, the default for the null property is the empty string ''. The value of this property becomes the null annotation for the described column."</body>
298      </ownedComment>
299      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-nullSequence-lowerValue"
300                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-nullSequence-lowerValue"
301                   xmi:type="uml:LiteralInteger"/>
302      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-nullSequence-upperValue"
303                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-nullSequence-upperValue"
304                   xmi:type="uml:LiteralUnlimitedNatural">
305         <value>1</value>
306      </upperValue>
307      <name>nullSequence</name>
308      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"
309             xmi:type="uml:PrimitiveType"/>
310   </ownedAttribute>
311   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-ownedAttribute"
312                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-ownedAttribute"
313                    xmi:type="uml:Property">
314      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-ownedAttribute-lowerValue"
315                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-ownedAttribute-lowerValue"
316                   xmi:type="uml:LiteralInteger"/>
317      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-ownedAttribute-upperValue"
318                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-ownedAttribute-upperValue"
319                   xmi:type="uml:LiteralUnlimitedNatural">
320         <value>*</value>
321      </upperValue>
322      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-TabularTextDataSet_isDefinedBy_Concept"/>
323      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Conceptual-Concept"/>
324   </ownedAttribute>
325   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-quoteCharacter"
326                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-quoteCharacter"
327                    xmi:type="uml:Property">
328      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-quoteCharacter-ownedComment"
329                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-quoteCharacter-ownedComment"
330                     xmi:type="uml:Comment">
331         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-quoteCharacter"/>
332         <body>"The string that is used around escaped cells, or null, set by the quoteChar property of a dialect description. The default is ".". See W3C Recommendation "Model for Tabular Data and Metadata on the Web", https://www.w3.org/TR/tabular-data-model/#parsing. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "quoteChar: An atomic property that sets the quote character flag to the single provided value, which MUST be a string or null. If the value is null, the escape character flag is also set to null. The default is '"'." From the CSV Dialect specification (http://specs.frictionlessdata.io/csv-dialect/): "quoteChar: specifies a one-character string to use as the quoting character. Default = "."</body>
333      </ownedComment>
334      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-quoteCharacter-lowerValue"
335                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-quoteCharacter-lowerValue"
336                   xmi:type="uml:LiteralInteger"/>
337      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-quoteCharacter-upperValue"
338                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-quoteCharacter-upperValue"
339                   xmi:type="uml:LiteralUnlimitedNatural">
340         <value>1</value>
341      </upperValue>
342      <name>quoteCharacter</name>
343      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-quoteCharacter-defaultValue"
344                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-quoteCharacter-defaultValue"
345                     xmi:type="uml:LiteralString">
346         <value>"</value>
347      </defaultValue>
348      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#String"
349             xmi:type="uml:PrimitiveType"/>
350   </ownedAttribute>
351   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipBlankRows"
352                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipBlankRows"
353                    xmi:type="uml:Property">
354      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipBlankRows-ownedComment"
355                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipBlankRows-ownedComment"
356                     xmi:type="uml:Comment">
357         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipBlankRows"/>
358         <body>If the value is True, blank rows are ignored. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "skipBlankRows: A boolean atomic property that sets the skip blank rows flag to the single provided boolean value. The default is false."</body>
359      </ownedComment>
360      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipBlankRows-lowerValue"
361                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipBlankRows-lowerValue"
362                   xmi:type="uml:LiteralInteger"/>
363      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipBlankRows-upperValue"
364                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipBlankRows-upperValue"
365                   xmi:type="uml:LiteralUnlimitedNatural">
366         <value>1</value>
367      </upperValue>
368      <name>skipBlankRows</name>
369      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipBlankRows-defaultValue"
370                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipBlankRows-defaultValue"
371                     xmi:type="uml:LiteralBoolean">
372         <value>False</value>
373      </defaultValue>
374      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"
375             xmi:type="uml:PrimitiveType"/>
376   </ownedAttribute>
377   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipDataColumns"
378                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipDataColumns"
379                    xmi:type="uml:Property">
380      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipDataColumns-ownedComment"
381                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipDataColumns-ownedComment"
382                     xmi:type="uml:Comment">
383         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipDataColumns"/>
384         <body>The number of columns to skip at the beginning of the row. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "skipColumns: A numeric atomic property that sets the skip columns flag to the single provided numeric value, which MUST be a non-negative integer. The default is 0." A value other than 0 will mean that the source numbers of columns will be different from their numbers.</body>
385      </ownedComment>
386      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipDataColumns-lowerValue"
387                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipDataColumns-lowerValue"
388                   xmi:type="uml:LiteralInteger"/>
389      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipDataColumns-upperValue"
390                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipDataColumns-upperValue"
391                   xmi:type="uml:LiteralUnlimitedNatural">
392         <value>1</value>
393      </upperValue>
394      <name>skipDataColumns</name>
395      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipDataColumns-defaultValue"
396                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipDataColumns-defaultValue"
397                     xmi:type="uml:LiteralInteger">
398         <value>0</value>
399      </defaultValue>
400      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"
401             xmi:type="uml:PrimitiveType"/>
402   </ownedAttribute>
403   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipInitialSpace"
404                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipInitialSpace"
405                    xmi:type="uml:Property">
406      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipInitialSpace-ownedComment"
407                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipInitialSpace-ownedComment"
408                     xmi:type="uml:Comment">
409         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipInitialSpace"/>
410         <body>If the value is True, skip whitespace at the beginning of a line or following a delimiter. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "skipInitialSpace: A boolean atomic property that, if true, sets the trim flag to 'start' and if false, to false. If the trim property is provided, the skipInitialSpace property is ignored. The default is false." From the CSV Dialect specification (http://specs.frictionlessdata.io/csv-dialect/): "skipInitialSpace: specifies how to interpret whitespace which immediately follows a delimiter; if false, it means that whitespace immediately after a delimiter should be treated as part of the following field. Default = true."</body>
411      </ownedComment>
412      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipInitialSpace-lowerValue"
413                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipInitialSpace-lowerValue"
414                   xmi:type="uml:LiteralInteger"/>
415      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipInitialSpace-upperValue"
416                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipInitialSpace-upperValue"
417                   xmi:type="uml:LiteralUnlimitedNatural">
418         <value>1</value>
419      </upperValue>
420      <name>skipInitialSpace</name>
421      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipInitialSpace-defaultValue"
422                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipInitialSpace-defaultValue"
423                     xmi:type="uml:LiteralBoolean">
424         <value>True</value>
425      </defaultValue>
426      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"
427             xmi:type="uml:PrimitiveType"/>
428   </ownedAttribute>
429   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipRows"
430                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipRows"
431                    xmi:type="uml:Property">
432      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipRows-ownedComment"
433                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipRows-ownedComment"
434                     xmi:type="uml:Comment">
435         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipRows"/>
436         <body>Number of input rows to skip preceding the header or data. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "skipRows: A numeric atomic property that sets the skip rows flag to the single provided numeric value, which MUST be a non-negative integer. The default is 0." A value greater than 0 will mean that the source numbers of rows will be different from their numbers.</body>
437      </ownedComment>
438      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipRows-lowerValue"
439                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipRows-lowerValue"
440                   xmi:type="uml:LiteralInteger"/>
441      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipRows-upperValue"
442                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipRows-upperValue"
443                   xmi:type="uml:LiteralUnlimitedNatural">
444         <value>1</value>
445      </upperValue>
446      <name>skipRows</name>
447      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-skipRows-defaultValue"
448                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-skipRows-defaultValue"
449                     xmi:type="uml:LiteralInteger">
450         <value>0</value>
451      </defaultValue>
452      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"
453             xmi:type="uml:PrimitiveType"/>
454   </ownedAttribute>
455   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-tableDirection"
456                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-tableDirection"
457                    xmi:type="uml:Property">
458      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-tableDirection-ownedComment"
459                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-tableDirection-ownedComment"
460                     xmi:type="uml:Comment">
461         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-tableDirection"/>
462         <body>Indicates the direction in which columns are arranged in each row. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/)  5.3.2: "tableDirection: An atomic property that MUST have a single string value that is one of 'rtl', 'ltr', or 'auto'. Indicates whether the tables in the group should be displayed with the first column on the right, on the left, or based on the first character in the table that has a specific direction. The value of this property becomes the value of the table direction annotation for all the tables in the table group. See Bidirectional Tables in [tabular-data-model] for details. The default value for this property is 'auto'."</body>
463      </ownedComment>
464      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-tableDirection-lowerValue"
465                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-tableDirection-lowerValue"
466                   xmi:type="uml:LiteralInteger"/>
467      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-tableDirection-upperValue"
468                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-tableDirection-upperValue"
469                   xmi:type="uml:LiteralUnlimitedNatural">
470         <value>1</value>
471      </upperValue>
472      <name>tableDirection</name>
473      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-tableDirection-defaultValue"
474                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-tableDirection-defaultValue"
475                     xmi:type="uml:LiteralString">
476         <value>"Auto"</value>
477      </defaultValue>
478      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-Enumerations-TableDirectionValues"/>
479   </ownedAttribute>
480   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-textDirection"
481                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-textDirection"
482                    xmi:type="uml:Property">
483      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-textDirection-ownedComment"
484                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-textDirection-ownedComment"
485                     xmi:type="uml:Comment">
486         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-textDirection"/>
487         <body>Indicates the reading order of text within cells. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) Inherited 5.7: "textDirection: An atomic property that MUST have a single string value that is one of 'ltr', 'rtl', 'auto' or 'inherit' (the default). Indicates whether the text within cells should be displayed as left-to-right text (ltr), as right-to-left text (rtl), according to the content of the cell (auto) or in the direction inherited from the table direction annotation of the table. The value of this property determines the text direction annotation for the column, and the text direction annotation for the cells within that column: if the value is inherit then the value of the text direction annotation is the value of the table direction annotation on the table, otherwise it is the value of this property. See Bidirectional Tables in [tabular-data-model] for details."
488
489</body>
490      </ownedComment>
491      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-textDirection-lowerValue"
492                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-textDirection-lowerValue"
493                   xmi:type="uml:LiteralInteger"/>
494      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-textDirection-upperValue"
495                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-textDirection-upperValue"
496                   xmi:type="uml:LiteralUnlimitedNatural">
497         <value>1</value>
498      </upperValue>
499      <name>textDirection</name>
500      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-Enumerations-TextDirectionValues"/>
501   </ownedAttribute>
502   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-treatConsecutiveDelimitersAsOne"
503                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-treatConsecutiveDelimitersAsOne"
504                    xmi:type="uml:Property">
505      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-treatConsecutiveDelimitersAsOne-ownedComment"
506                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-treatConsecutiveDelimitersAsOne-ownedComment"
507                     xmi:type="uml:Comment">
508         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-treatConsecutiveDelimitersAsOne"/>
509         <body>If the value is True, consecutive (adjacent) delimiters are treated as a single delimiter; if the value is False consecutive (adjacent) delimiters indicate a missing value.</body>
510      </ownedComment>
511      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-treatConsecutiveDelimitersAsOne-lowerValue"
512                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-treatConsecutiveDelimitersAsOne-lowerValue"
513                   xmi:type="uml:LiteralInteger"/>
514      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-treatConsecutiveDelimitersAsOne-upperValue"
515                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-treatConsecutiveDelimitersAsOne-upperValue"
516                   xmi:type="uml:LiteralUnlimitedNatural">
517         <value>1</value>
518      </upperValue>
519      <name>treatConsecutiveDelimitersAsOne</name>
520      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-treatConsecutiveDelimitersAsOne-defaultValue"
521                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-treatConsecutiveDelimitersAsOne-defaultValue"
522                     xmi:type="uml:LiteralBoolean">
523         <value>False</value>
524      </defaultValue>
525      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Boolean"
526             xmi:type="uml:PrimitiveType"/>
527   </ownedAttribute>
528   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-trim"
529                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-trim"
530                    xmi:type="uml:Property">
531      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-trim-ownedComment"
532                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-trim-ownedComment"
533                     xmi:type="uml:Comment">
534         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-trim"/>
535         <body>Specifies which spaces to remove from a data value (start, end, both, neither) From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "trim: An atomic property that, if the boolean true, sets the trim flag to true and if the boolean false to false. If the value provided is a string, sets the trim flag to the provided value, which MUST be one of 'true', 'false', 'start', or 'end'. The default is true."</body>
536      </ownedComment>
537      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-trim-lowerValue"
538                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-trim-lowerValue"
539                   xmi:type="uml:LiteralInteger"/>
540      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-trim-upperValue"
541                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-trim-upperValue"
542                   xmi:type="uml:LiteralUnlimitedNatural">
543         <value>1</value>
544      </upperValue>
545      <name>trim</name>
546      <defaultValue xmi:id="DDICDIModels-DDICDILibrary-Classes-FormatDescription-TabularTextDataSet-trim-defaultValue"
547                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#TabularTextDataSet-trim-defaultValue"
548                     xmi:type="uml:LiteralString">
549         <value>True</value>
550      </defaultValue>
551      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-Enumerations-TrimValues"/>
552   </ownedAttribute>
553</packagedElement>

Fragment for the class TabularTextDataSet (entire XML Schema)

  1<xs:element name="TabularTextDataSet"
  2            type="TabularTextDataSetXsdType"
  3            xml:id="TabularTextDataSet">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::TabularTextDataSet -->
  5  <xs:annotation>
  6    <xs:documentation>Definition
  7          ==========
  8          Information describing the physical aspects of a data set which is encoded using a text-based method and which has an essentially tabular structure.
  9          
 10          Examples
 11          ========
 12          A table formatted as a comma separated values (CSV) file; a pipe-delimited ASCII data file such as the tract definitions for the US 2020 Census (found at https://www2.census.gov/geo/docs/maps-data/data/rel2020/tract/tab20_tract20_tract10_natl.txt); any similar file which used fixed-width columns instead of delimiters.
 13          
 14          Explanatory notes
 15          =================
 16          A tabular text data set is a physical description (e.g. unit segment layout) of the instance variables making up the records in the data set. Each instance variable has a text mapping linking it to the physical layout, with a position index supplied by a physical mapping position object.
 17          Tabular text data sets are distinct from binary data sets which do not use a text-based encoding, and from more structured text-based data expressed in formats such as XML, JSON, or any of the RDF representations.</xs:documentation>
 18  </xs:annotation>
 19</xs:element>
 20<xs:complexType name="TabularTextDataSetXsdType"
 21                xml:id="TabularTextDataSetXsdType">
 22  <xs:annotation>
 23    <xs:documentation>Definition
 24          ==========
 25          Information describing the physical aspects of a data set which is encoded using a text-based method and which has an essentially tabular structure.
 26          
 27          Examples
 28          ========
 29          A table formatted as a comma separated values (CSV) file; a pipe-delimited ASCII data file such as the tract definitions for the US 2020 Census (found at https://www2.census.gov/geo/docs/maps-data/data/rel2020/tract/tab20_tract20_tract10_natl.txt); any similar file which used fixed-width columns instead of delimiters.
 30          
 31          Explanatory notes
 32          =================
 33          A tabular text data set is a physical description (e.g. unit segment layout) of the instance variables making up the records in the data set. Each instance variable has a text mapping linking it to the physical layout, with a position index supplied by a physical mapping position object.
 34          Tabular text data sets are distinct from binary data sets which do not use a text-based encoding, and from more structured text-based data expressed in formats such as XML, JSON, or any of the RDF representations.</xs:documentation>
 35  </xs:annotation>
 36  <xs:complexContent>
 37    <xs:extension base="PhysicalDataSetXsdType">
 38      <xs:sequence>
 39        <xs:element name="arrayBase"
 40                    type="xs:integer"
 41                    minOccurs="0"
 42                    maxOccurs="1"
 43                    xml:id="TabularTextDataSet-arrayBase">
 44          <xs:annotation>
 45            <xs:documentation>The starting value for the numbering of cells, rows, columns, etc. when they constitute an ordered sequence (an array). Note that in DDI, this is typically either 0 or 1. In related W3C work (Model for Tabular Data and Metadata on the Web), they appear to standardize on 1 (see https://www.w3.org/TR/tabular-data-model/ 4.3 [Columns] and 4.4 [Rows]: "number - the position of the column amongst the columns for the associated table, starting from 1.")</xs:documentation>
 46          </xs:annotation>
 47        </xs:element>
 48        <xs:element name="commentPrefix"
 49                    type="xs:string"
 50                    minOccurs="0"
 51                    maxOccurs="1"
 52                    xml:id="TabularTextDataSet-commentPrefix">
 53          <xs:annotation>
 54            <xs:documentation>A string used to indicate that an input line is a comment, a string which precedes a comment in the data file. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect  commentPrefix: 'An atomic property that sets the comment prefix flag to the single provided value, which MUST be a string. The default is "#".'</xs:documentation>
 55          </xs:annotation>
 56        </xs:element>
 57        <xs:element name="delimiter"
 58                    type="xs:string"
 59                    minOccurs="0"
 60                    maxOccurs="1"
 61                    xml:id="TabularTextDataSet-delimiter">
 62          <xs:annotation>
 63            <xs:documentation>The Delimiting character in the data. Must be used if isDelimited is True. "The separator between cells, set by the delimiter property of a dialect description. The default is ,. See the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-data-model/#encoding). From the "CSV Dialect" specification (https://specs.frictionlessdata.io/csv-dialect/#specification): "delimiter: specifies a one-character string to use as the field separator. Default = ,."</xs:documentation>
 64          </xs:annotation>
 65        </xs:element>
 66        <xs:element name="escapeCharacter"
 67                    type="xs:string"
 68                    minOccurs="0"
 69                    maxOccurs="1"
 70                    xml:id="TabularTextDataSet-escapeCharacter">
 71          <xs:annotation>
 72            <xs:documentation>"The string that is used to escape the quote character within escaped cells, or null" see https://www.w3.org/TR/tabular-data-model/#encoding. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect "doubleQuote: A boolean atomic property that, if true, sets the escape character flag to ". If false, to \. The default is true." From http://specs.frictionlessdata.io/csv-dialect/ "doubleQuote: controls the handling of quotes inside fields. If true, two consecutive quotes should be interpreted as one. Default = true".</xs:documentation>
 73          </xs:annotation>
 74        </xs:element>
 75        <xs:element name="hasHeader"
 76                    type="xs:boolean"
 77                    minOccurs="0"
 78                    maxOccurs="1"
 79                    xml:id="TabularTextDataSet-hasHeader">
 80          <xs:annotation>
 81            <xs:documentation>True if the file contains a header containing column names. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect "header: A boolean atomic property that, if true, sets the header row count flag to 1, and if false to 0, unless headerRowCount is provided, in which case the value provided for the header property is ignored. The default is true." From http://specs.frictionlessdata.io/csv-dialect/ "header: indicates whether the file includes a header row. If true the first row in the file is a header row, not data. Default = true".</xs:documentation>
 82          </xs:annotation>
 83        </xs:element>
 84        <xs:element name="headerIsCaseSensitive"
 85                    type="xs:boolean"
 86                    minOccurs="0"
 87                    maxOccurs="1"
 88                    xml:id="TabularTextDataSet-headerIsCaseSensitive">
 89          <xs:annotation>
 90            <xs:documentation>If True, the case of the labels in the header is significant. From the "CSV Dialect" specification (http://specs.frictionlessdata.io/csv-dialect/): "caseSensitiveHeader: indicates that case in the header is meaningful. For example, columns CAT and Cat should not be equated. Default = false."</xs:documentation>
 91          </xs:annotation>
 92        </xs:element>
 93        <xs:element name="headerRowCount"
 94                    type="xs:integer"
 95                    minOccurs="0"
 96                    maxOccurs="1"
 97                    xml:id="TabularTextDataSet-headerRowCount">
 98          <xs:annotation>
 99            <xs:documentation>The number of lines in the header From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect "headerRowCount: A numeric atomic property that sets the header row count flag to the single provided value, which MUST be a non-negative integer. The default is 1."</xs:documentation>
100          </xs:annotation>
101        </xs:element>
102        <xs:element name="isDelimited"
103                    type="xs:boolean"
104                    minOccurs="1"
105                    maxOccurs="1"
106                    xml:id="TabularTextDataSet-isDelimited">
107          <xs:annotation>
108            <xs:documentation>Indicates whether the data are in a delimited format. If "true," the format is delimited, and the isFixedWidth property must be set to "false." If not set to "true," the property isFixedWitdh must be set to "true."</xs:documentation>
109          </xs:annotation>
110        </xs:element>
111        <xs:element name="isFixedWidth"
112                    type="xs:boolean"
113                    minOccurs="1"
114                    maxOccurs="1"
115                    xml:id="TabularTextDataSet-isFixedWidth">
116          <xs:annotation>
117            <xs:documentation>Set to true if the file is fixed-width. If true, isDelimited must be set to false.</xs:documentation>
118          </xs:annotation>
119        </xs:element>
120        <xs:element name="lineTerminator"
121                    type="xs:string"
122                    minOccurs="0"
123                    maxOccurs="unbounded"
124                    xml:id="TabularTextDataSet-lineTerminator">
125          <xs:annotation>
126            <xs:documentation>The strings that can be used at the end of a row, set by the lineTerminators property of a dialect description. The default is [CRLF, LF]. See the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-data-model/#encoding) 5.9 Dialect "lineTerminators: An atomic property that sets the line terminators flag to either an array containing the single provided string value, or the provided array. The default is ['rn', 'n']." Also, from the "CSV Dialect" specification (http://specs.frictionlessdata.io/csv-dialect/): "lineTerminator: specifies the character sequence which should terminate rows. Default = rn."</xs:documentation>
127          </xs:annotation>
128        </xs:element>
129        <xs:element name="nullSequence"
130                    type="xs:string"
131                    minOccurs="0"
132                    maxOccurs="1"
133                    xml:id="TabularTextDataSet-nullSequence">
134          <xs:annotation>
135            <xs:documentation>A string indicating a null value. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 4.3: "null: the string or strings which cause the value of cells having string value matching any of these values to be null." From the same source, Inherited 5.7: "null: An atomic property giving the string or strings used for null values within the data. If the string value of the cell is equal to any one of these values, the cell value is null. See Parsing Cells in [tabular-data-model] for more details. If not specified, the default for the null property is the empty string ''. The value of this property becomes the null annotation for the described column."</xs:documentation>
136          </xs:annotation>
137        </xs:element>
138        <xs:element name="quoteCharacter"
139                    type="xs:string"
140                    minOccurs="0"
141                    maxOccurs="1"
142                    xml:id="TabularTextDataSet-quoteCharacter">
143          <xs:annotation>
144            <xs:documentation>"The string that is used around escaped cells, or null, set by the quoteChar property of a dialect description. The default is ".". See W3C Recommendation "Model for Tabular Data and Metadata on the Web", https://www.w3.org/TR/tabular-data-model/#parsing. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "quoteChar: An atomic property that sets the quote character flag to the single provided value, which MUST be a string or null. If the value is null, the escape character flag is also set to null. The default is '"'." From the CSV Dialect specification (http://specs.frictionlessdata.io/csv-dialect/): "quoteChar: specifies a one-character string to use as the quoting character. Default = "."</xs:documentation>
145          </xs:annotation>
146        </xs:element>
147        <xs:element name="skipBlankRows"
148                    type="xs:boolean"
149                    minOccurs="0"
150                    maxOccurs="1"
151                    xml:id="TabularTextDataSet-skipBlankRows">
152          <xs:annotation>
153            <xs:documentation>If the value is True, blank rows are ignored. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "skipBlankRows: A boolean atomic property that sets the skip blank rows flag to the single provided boolean value. The default is false."</xs:documentation>
154          </xs:annotation>
155        </xs:element>
156        <xs:element name="skipDataColumns"
157                    type="xs:integer"
158                    minOccurs="0"
159                    maxOccurs="1"
160                    xml:id="TabularTextDataSet-skipDataColumns">
161          <xs:annotation>
162            <xs:documentation>The number of columns to skip at the beginning of the row. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "skipColumns: A numeric atomic property that sets the skip columns flag to the single provided numeric value, which MUST be a non-negative integer. The default is 0." A value other than 0 will mean that the source numbers of columns will be different from their numbers.</xs:documentation>
163          </xs:annotation>
164        </xs:element>
165        <xs:element name="skipInitialSpace"
166                    type="xs:boolean"
167                    minOccurs="0"
168                    maxOccurs="1"
169                    xml:id="TabularTextDataSet-skipInitialSpace">
170          <xs:annotation>
171            <xs:documentation>If the value is True, skip whitespace at the beginning of a line or following a delimiter. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "skipInitialSpace: A boolean atomic property that, if true, sets the trim flag to 'start' and if false, to false. If the trim property is provided, the skipInitialSpace property is ignored. The default is false." From the CSV Dialect specification (http://specs.frictionlessdata.io/csv-dialect/): "skipInitialSpace: specifies how to interpret whitespace which immediately follows a delimiter; if false, it means that whitespace immediately after a delimiter should be treated as part of the following field. Default = true."</xs:documentation>
172          </xs:annotation>
173        </xs:element>
174        <xs:element name="skipRows"
175                    type="xs:integer"
176                    minOccurs="0"
177                    maxOccurs="1"
178                    xml:id="TabularTextDataSet-skipRows">
179          <xs:annotation>
180            <xs:documentation>Number of input rows to skip preceding the header or data. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "skipRows: A numeric atomic property that sets the skip rows flag to the single provided numeric value, which MUST be a non-negative integer. The default is 0." A value greater than 0 will mean that the source numbers of rows will be different from their numbers.</xs:documentation>
181          </xs:annotation>
182        </xs:element>
183        <xs:element name="tableDirection"
184                    type="TableDirectionValuesXsdType"
185                    minOccurs="0"
186                    maxOccurs="1"
187                    xml:id="TabularTextDataSet-tableDirection">
188          <xs:annotation>
189            <xs:documentation>Indicates the direction in which columns are arranged in each row. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/)  5.3.2: "tableDirection: An atomic property that MUST have a single string value that is one of 'rtl', 'ltr', or 'auto'. Indicates whether the tables in the group should be displayed with the first column on the right, on the left, or based on the first character in the table that has a specific direction. The value of this property becomes the value of the table direction annotation for all the tables in the table group. See Bidirectional Tables in [tabular-data-model] for details. The default value for this property is 'auto'."</xs:documentation>
190          </xs:annotation>
191        </xs:element>
192        <xs:element name="textDirection"
193                    type="TextDirectionValuesXsdType"
194                    minOccurs="0"
195                    maxOccurs="1"
196                    xml:id="TabularTextDataSet-textDirection">
197          <xs:annotation>
198            <xs:documentation>Indicates the reading order of text within cells. From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) Inherited 5.7: "textDirection: An atomic property that MUST have a single string value that is one of 'ltr', 'rtl', 'auto' or 'inherit' (the default). Indicates whether the text within cells should be displayed as left-to-right text (ltr), as right-to-left text (rtl), according to the content of the cell (auto) or in the direction inherited from the table direction annotation of the table. The value of this property determines the text direction annotation for the column, and the text direction annotation for the cells within that column: if the value is inherit then the value of the text direction annotation is the value of the table direction annotation on the table, otherwise it is the value of this property. See Bidirectional Tables in [tabular-data-model] for details."</xs:documentation>
199          </xs:annotation>
200        </xs:element>
201        <xs:element name="treatConsecutiveDelimitersAsOne"
202                    type="xs:boolean"
203                    minOccurs="0"
204                    maxOccurs="1"
205                    xml:id="TabularTextDataSet-treatConsecutiveDelimitersAsOne">
206          <xs:annotation>
207            <xs:documentation>If the value is True, consecutive (adjacent) delimiters are treated as a single delimiter; if the value is False consecutive (adjacent) delimiters indicate a missing value.</xs:documentation>
208          </xs:annotation>
209        </xs:element>
210        <xs:element name="trim"
211                    type="TrimValuesXsdType"
212                    minOccurs="0"
213                    maxOccurs="1"
214                    xml:id="TabularTextDataSet-trim">
215          <xs:annotation>
216            <xs:documentation>Specifies which spaces to remove from a data value (start, end, both, neither) From the W3C Recommendation "Metadata Vocabulary for Tabular Data" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: "trim: An atomic property that, if the boolean true, sets the trim flag to true and if the boolean false to false. If the value provided is a string, sets the trim flag to the provided value, which MUST be one of 'true', 'false', 'start', or 'end'. The default is true."</xs:documentation>
217          </xs:annotation>
218        </xs:element>
219        <xs:element name="TabularTextDataSet_isDefinedBy_Concept"
220                    minOccurs="0"
221                    maxOccurs="unbounded"
222                    xml:id="TabularTextDataSet_isDefinedBy_Concept">
223          <xs:annotation>
224            <xs:documentation>The conceptual basis for the collection of members.</xs:documentation>
225          </xs:annotation>
226          <xs:complexType>
227            <xs:complexContent>
228              <xs:restriction base="AssociationReferenceXsdType">
229                <xs:sequence>
230                  <xs:element name="ddiReference"
231                              type="InternationalRegistrationDataIdentifierXsdType"
232                              minOccurs="0"
233                              maxOccurs="1"
234                              xml:id="TabularTextDataSet_isDefinedBy_Concept-ddiReference"/>
235                  <xs:element name="validType"
236                              minOccurs="0"
237                              maxOccurs="unbounded"
238                              xml:id="TabularTextDataSet_isDefinedBy_Concept-validType">
239                    <xs:simpleType>
240                      <xs:restriction base="xs:NMTOKEN">
241                        <xs:enumeration value="Category"/>
242                        <xs:enumeration value="Concept"/>
243                        <xs:enumeration value="ConceptualValue"/>
244                        <xs:enumeration value="ConceptualVariable"/>
245                        <xs:enumeration value="DescriptorVariable"/>
246                        <xs:enumeration value="DimensionalKeyDefinitionMember"/>
247                        <xs:enumeration value="InstanceVariable"/>
248                        <xs:enumeration value="KeyDefinitionMember"/>
249                        <xs:enumeration value="Population"/>
250                        <xs:enumeration value="ReferenceVariable"/>
251                        <xs:enumeration value="RepresentedVariable"/>
252                        <xs:enumeration value="UnitType"/>
253                        <xs:enumeration value="Universe"/>
254                      </xs:restriction>
255                    </xs:simpleType>
256                  </xs:element>
257                </xs:sequence>
258              </xs:restriction>
259            </xs:complexContent>
260          </xs:complexType>
261        </xs:element>
262      </xs:sequence>
263    </xs:extension>
264  </xs:complexContent>
265</xs:complexType>

Fragment for the class TabularTextDataSet (entire JSON Schema)

  1"cls-TabularTextDataSet": {
  2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TabularTextDataSet",
  3  "type": "object",
  4  "properties": {
  5    "@context": {
  6      "$ref": "#/defs/at-context"
  7    },
  8    "@id": {
  9      "type": "string",
 10      "format": "iri-reference"
 11    },
 12    "@type": {
 13      "const": "TabularTextDataSet"
 14    },
 15    "arrayBase": {
 16      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 17      "$ref": "#/defs/xsd:integer"
 18    },
 19    "commentPrefix": {
 20      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 21      "$ref": "#/defs/xsd:string"
 22    },
 23    "delimiter": {
 24      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 25      "$ref": "#/defs/xsd:string"
 26    },
 27    "escapeCharacter": {
 28      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 29      "$ref": "#/defs/xsd:string"
 30    },
 31    "hasHeader": {
 32      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 33      "$ref": "#/defs/xsd:boolean"
 34    },
 35    "headerIsCaseSensitive": {
 36      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 37      "$ref": "#/defs/xsd:boolean"
 38    },
 39    "headerRowCount": {
 40      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 41      "$ref": "#/defs/xsd:integer"
 42    },
 43    "isDelimited": {
 44      "$comment": "cardinality 1..1 – from cdi:TabularTextDataSet",
 45      "$ref": "#/defs/xsd:boolean"
 46    },
 47    "isFixedWidth": {
 48      "$comment": "cardinality 1..1 – from cdi:TabularTextDataSet",
 49      "$ref": "#/defs/xsd:boolean"
 50    },
 51    "lineTerminator": {
 52      "$comment": "cardinality 0..-1 – from cdi:TabularTextDataSet",
 53      "if": { "type": "array" },
 54      "then": { "items": { "$ref": "#/defs/xsd:string" } },
 55      "else": { "$ref": "#/defs/xsd:string" }
 56    },
 57    "nullSequence": {
 58      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 59      "$ref": "#/defs/xsd:string"
 60    },
 61    "quoteCharacter": {
 62      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 63      "$ref": "#/defs/xsd:string"
 64    },
 65    "skipBlankRows": {
 66      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 67      "$ref": "#/defs/xsd:boolean"
 68    },
 69    "skipDataColumns": {
 70      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 71      "$ref": "#/defs/xsd:integer"
 72    },
 73    "skipInitialSpace": {
 74      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 75      "$ref": "#/defs/xsd:boolean"
 76    },
 77    "skipRows": {
 78      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 79      "$ref": "#/defs/xsd:integer"
 80    },
 81    "tableDirection": {
 82      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 83      "$ref": "#/defs/enum-TableDirectionValues"
 84    },
 85    "textDirection": {
 86      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 87      "$ref": "#/defs/enum-TextDirectionValues"
 88    },
 89    "treatConsecutiveDelimitersAsOne": {
 90      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 91      "$ref": "#/defs/xsd:boolean"
 92    },
 93    "trim": {
 94      "$comment": "cardinality 0..1 – from cdi:TabularTextDataSet",
 95      "$ref": "#/defs/enum-TrimValues"
 96    },
 97    "catalogDetails": {
 98      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
 99      "$ref": "#/defs/dt-CatalogDetails"
100    },
101    "characterSet": {
102      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
103      "$ref": "#/defs/xsd:string"
104    },
105    "encoding": {
106      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
107      "$ref": "#/defs/dt-ControlledVocabularyEntry"
108    },
109    "fileSize": {
110      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
111      "$ref": "#/defs/xsd:double"
112    },
113    "fileSizeUofM": {
114      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
115      "$ref": "#/defs/xsd:string"
116    },
117    "fingerprint": {
118      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
119      "$ref": "#/defs/dt-DataFingerprint"
120    },
121    "identifier": {
122      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
123      "$ref": "#/defs/dt-Identifier"
124    },
125    "name": {
126      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
127      "$ref": "#/defs/dt-ObjectName"
128    },
129    "overview": {
130      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
131      "$ref": "#/defs/dt-InternationalString"
132    },
133    "physicalFileURL": {
134      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
135      "$ref": "#/defs/xsd:string"
136    },
137    "purpose": {
138      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
139      "$ref": "#/defs/dt-InternationalString"
140    },
141    "recordCount": {
142      "$comment": "cardinality 0..1 – from cdi:PhysicalDataSet",
143      "$ref": "#/defs/xsd:integer"
144    },
145    "standard": {
146      "$comment": "cardinality 0..-1 – from cdi:PhysicalDataSet",
147      "if": { "type": "array" },
148      "then": { "items": { "$ref": "#/defs/dt-conformsTo" } },
149      "else": { "$ref": "#/defs/dt-conformsTo" }
150    },
151    "isDefinedBy_Concept": {
152      "description": "TabularTextDataSet_isDefinedBy_Concept",
153      "$comment": "cardinality 0..-1",
154      "anyOf": [
155        {
156          "$ref": "#/defs/target-Concept"
157        },
158        {
159          "type": "array",
160          "items": {
161            "$ref": "#/defs/target-Concept"
162          }
163        }
164      ]
165    },
166    "has_InstanceVariable": {
167      "description": "PhysicalDataSet_has_InstanceVariable",
168      "$comment": "cardinality 0..-1",
169      "anyOf": [
170        {
171          "$ref": "#/defs/target-InstanceVariable"
172        },
173        {
174          "type": "array",
175          "items": {
176            "$ref": "#/defs/target-InstanceVariable"
177          }
178        }
179      ]
180    },
181    "isDefinedBy_Concept": {
182      "description": "PhysicalDataSet_isDefinedBy_Concept",
183      "$comment": "cardinality 0..-1",
184      "anyOf": [
185        {
186          "$ref": "#/defs/target-Concept"
187        },
188        {
189          "type": "array",
190          "items": {
191            "$ref": "#/defs/target-Concept"
192          }
193        }
194      ]
195    },
196    "correspondsTo_DataSet": {
197      "description": "PhysicalDataSet_correspondsTo_DataSet",
198      "$comment": "cardinality 0..1",
199       "$ref": "#/defs/target-DataSet"
200    },
201    "has_PhysicalMapping": {
202      "description": "PhysicalDataSet_has_PhysicalMapping",
203      "$comment": "cardinality 0..-1",
204      "anyOf": [
205        {
206          "$ref": "#/defs/target-PhysicalMapping"
207        },
208        {
209          "type": "array",
210          "items": {
211            "$ref": "#/defs/target-PhysicalMapping"
212          }
213        }
214      ]
215    },
216    "has_PhysicalMappingPosition": {
217      "description": "PhysicalDataSet_has_PhysicalMappingPosition",
218      "$comment": "cardinality 0..-1",
219      "anyOf": [
220        {
221          "$ref": "#/defs/target-PhysicalMappingPosition"
222        },
223        {
224          "type": "array",
225          "items": {
226            "$ref": "#/defs/target-PhysicalMappingPosition"
227          }
228        }
229      ]
230    },
231    "has_Segment": {
232      "description": "PhysicalDataSet_has_Segment",
233      "$comment": "cardinality 0..-1",
234      "anyOf": [
235        {
236          "$ref": "#/defs/target-Segment"
237        },
238        {
239          "type": "array",
240          "items": {
241            "$ref": "#/defs/target-Segment"
242          }
243        }
244      ]
245    },
246    "has_SegmentPosition": {
247      "description": "PhysicalDataSet_has_SegmentPosition",
248      "$comment": "cardinality 0..-1",
249      "anyOf": [
250        {
251          "$ref": "#/defs/target-SegmentPosition"
252        },
253        {
254          "type": "array",
255          "items": {
256            "$ref": "#/defs/target-SegmentPosition"
257          }
258        }
259      ]
260    },
261    "uses_LogicalRecord": {
262      "description": "PhysicalDataSet_uses_LogicalRecord",
263      "$comment": "cardinality 0..1",
264       "$ref": "#/defs/target-LogicalRecord"
265    },
266    
267    "sameAs": {
268      "$ref": "#/defs/owl:sameAs"
269    }
270  },
271  "required": ["isDelimited","isFixedWidth","@type"],
272  "additionalProperties": false
273},
274"target-TabularTextDataSet": {
275  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TabularTextDataSet",
276  "anyOf": [
277    { "$ref": "#/defs/cls-TabularTextDataSet" },
278    { "type": "string", "format": "iri-reference" }
279  ]
280},

Fragment for the class TabularTextDataSet (main ontology)

  1# class TabularTextDataSet
  2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::TabularTextDataSet
  3cdi:TabularTextDataSet
  4  a rdfs:Class, owl:Class, ucmis:Class;
  5  rdfs:label "TabularTextDataSet";
  6  rdfs:comment "Definition\n==========\nInformation describing the physical aspects of a data set which is encoded using a text-based method and which has an essentially tabular structure.\n\nExamples\n========\nA table formatted as a comma separated values (CSV) file; a pipe-delimited ASCII data file such as the tract definitions for the US 2020 Census (found at https://www2.census.gov/geo/docs/maps-data/data/rel2020/tract/tab20_tract20_tract10_natl.txt); any similar file which used fixed-width columns instead of delimiters.\n\nExplanatory notes\n=================\nA tabular text data set is a physical description (e.g. unit segment layout) of the instance variables making up the records in the data set. Each instance variable has a text mapping linking it to the physical layout, with a position index supplied by a physical mapping position object.\nTabular text data sets are distinct from binary data sets which do not use a text-based encoding, and from more structured text-based data expressed in formats such as XML, JSON, or any of the RDF representations."@en;
  7  rdfs:subClassOf cdi:PhysicalDataSet;
  8.
  9
 10cdi:TabularTextDataSet-arrayBase
 11  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 12  rdfs:label "arrayBase";
 13  rdfs:comment "The starting value for the numbering of cells, rows, columns, etc. when they constitute an ordered sequence (an array). Note that in DDI, this is typically either 0 or 1. In related W3C work (Model for Tabular Data and Metadata on the Web), they appear to standardize on 1 (see https://www.w3.org/TR/tabular-data-model/ 4.3 [Columns] and 4.4 [Rows]: \"number - the position of the column amongst the columns for the associated table, starting from 1.\")"@en;
 14  rdfs:domain cdi:TabularTextDataSet;
 15  rdfs:range xsd:integer;
 16.
 17
 18cdi:TabularTextDataSet-commentPrefix
 19  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 20  rdfs:label "commentPrefix";
 21  rdfs:comment "A string used to indicate that an input line is a comment, a string which precedes a comment in the data file. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect  commentPrefix: 'An atomic property that sets the comment prefix flag to the single provided value, which MUST be a string. The default is \"#\".'"@en;
 22  rdfs:domain cdi:TabularTextDataSet;
 23  rdfs:range xsd:string;
 24.
 25
 26cdi:TabularTextDataSet-delimiter
 27  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 28  rdfs:label "delimiter";
 29  rdfs:comment "The Delimiting character in the data. Must be used if isDelimited is True. \"The separator between cells, set by the delimiter property of a dialect description. The default is ,. See the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-data-model/#encoding). From the \"CSV Dialect\" specification (https://specs.frictionlessdata.io/csv-dialect/#specification): \"delimiter: specifies a one-character string to use as the field separator. Default = ,.\""@en;
 30  rdfs:domain cdi:TabularTextDataSet;
 31  rdfs:range xsd:string;
 32.
 33
 34cdi:TabularTextDataSet-escapeCharacter
 35  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 36  rdfs:label "escapeCharacter";
 37  rdfs:comment "\"The string that is used to escape the quote character within escaped cells, or null\" see https://www.w3.org/TR/tabular-data-model/#encoding. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect \"doubleQuote: A boolean atomic property that, if true, sets the escape character flag to \". If false, to \\. The default is true.\" From http://specs.frictionlessdata.io/csv-dialect/ \"doubleQuote: controls the handling of quotes inside fields. If true, two consecutive quotes should be interpreted as one. Default = true\"."@en;
 38  rdfs:domain cdi:TabularTextDataSet;
 39  rdfs:range xsd:string;
 40.
 41
 42cdi:TabularTextDataSet-hasHeader
 43  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 44  rdfs:label "hasHeader";
 45  rdfs:comment "True if the file contains a header containing column names. From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect \"header: A boolean atomic property that, if true, sets the header row count flag to 1, and if false to 0, unless headerRowCount is provided, in which case the value provided for the header property is ignored. The default is true.\" From http://specs.frictionlessdata.io/csv-dialect/ \"header: indicates whether the file includes a header row. If true the first row in the file is a header row, not data. Default = true\"."@en;
 46  rdfs:domain cdi:TabularTextDataSet;
 47  rdfs:range xsd:boolean;
 48.
 49
 50cdi:TabularTextDataSet-headerIsCaseSensitive
 51  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 52  rdfs:label "headerIsCaseSensitive";
 53  rdfs:comment "If True, the case of the labels in the header is significant. From the \"CSV Dialect\" specification (http://specs.frictionlessdata.io/csv-dialect/): \"caseSensitiveHeader: indicates that case in the header is meaningful. For example, columns CAT and Cat should not be equated. Default = false.\""@en;
 54  rdfs:domain cdi:TabularTextDataSet;
 55  rdfs:range xsd:boolean;
 56.
 57
 58cdi:TabularTextDataSet-headerRowCount
 59  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 60  rdfs:label "headerRowCount";
 61  rdfs:comment "The number of lines in the header From https://www.w3.org/TR/tabular-metadata/ 5.9 Dialect \"headerRowCount: A numeric atomic property that sets the header row count flag to the single provided value, which MUST be a non-negative integer. The default is 1.\""@en;
 62  rdfs:domain cdi:TabularTextDataSet;
 63  rdfs:range xsd:integer;
 64.
 65
 66cdi:TabularTextDataSet-isDelimited
 67  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 68  rdfs:label "isDelimited";
 69  rdfs:comment "Indicates whether the data are in a delimited format. If \"true,\" the format is delimited, and the isFixedWidth property must be set to \"false.\" If not set to \"true,\" the property isFixedWitdh must be set to \"true.\""@en;
 70  rdfs:domain cdi:TabularTextDataSet;
 71  rdfs:range xsd:boolean;
 72.
 73
 74cdi:TabularTextDataSet-isFixedWidth
 75  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 76  rdfs:label "isFixedWidth";
 77  rdfs:comment "Set to true if the file is fixed-width. If true, isDelimited must be set to false."@en;
 78  rdfs:domain cdi:TabularTextDataSet;
 79  rdfs:range xsd:boolean;
 80.
 81
 82cdi:TabularTextDataSet-lineTerminator
 83  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 84  rdfs:label "lineTerminator";
 85  rdfs:comment "The strings that can be used at the end of a row, set by the lineTerminators property of a dialect description. The default is [CRLF, LF]. See the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-data-model/#encoding) 5.9 Dialect \"lineTerminators: An atomic property that sets the line terminators flag to either an array containing the single provided string value, or the provided array. The default is ['rn', 'n'].\" Also, from the \"CSV Dialect\" specification (http://specs.frictionlessdata.io/csv-dialect/): \"lineTerminator: specifies the character sequence which should terminate rows. Default = rn.\""@en;
 86  rdfs:domain cdi:TabularTextDataSet;
 87  rdfs:range xsd:string;
 88.
 89
 90cdi:TabularTextDataSet-nullSequence
 91  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
 92  rdfs:label "nullSequence";
 93  rdfs:comment "A string indicating a null value. From the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-metadata/) 4.3: \"null: the string or strings which cause the value of cells having string value matching any of these values to be null.\" From the same source, Inherited 5.7: \"null: An atomic property giving the string or strings used for null values within the data. If the string value of the cell is equal to any one of these values, the cell value is null. See Parsing Cells in [tabular-data-model] for more details. If not specified, the default for the null property is the empty string ''. The value of this property becomes the null annotation for the described column.\""@en;
 94  rdfs:domain cdi:TabularTextDataSet;
 95  rdfs:range xsd:string;
 96.
 97
 98cdi:TabularTextDataSet-quoteCharacter
 99  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
100  rdfs:label "quoteCharacter";
101  rdfs:comment "\"The string that is used around escaped cells, or null, set by the quoteChar property of a dialect description. The default is \".\". See W3C Recommendation \"Model for Tabular Data and Metadata on the Web\", https://www.w3.org/TR/tabular-data-model/#parsing. From the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: \"quoteChar: An atomic property that sets the quote character flag to the single provided value, which MUST be a string or null. If the value is null, the escape character flag is also set to null. The default is '\"'.\" From the CSV Dialect specification (http://specs.frictionlessdata.io/csv-dialect/): \"quoteChar: specifies a one-character string to use as the quoting character. Default = \".\""@en;
102  rdfs:domain cdi:TabularTextDataSet;
103  rdfs:range xsd:string;
104.
105
106cdi:TabularTextDataSet-skipBlankRows
107  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
108  rdfs:label "skipBlankRows";
109  rdfs:comment "If the value is True, blank rows are ignored. From the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: \"skipBlankRows: A boolean atomic property that sets the skip blank rows flag to the single provided boolean value. The default is false.\""@en;
110  rdfs:domain cdi:TabularTextDataSet;
111  rdfs:range xsd:boolean;
112.
113
114cdi:TabularTextDataSet-skipDataColumns
115  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
116  rdfs:label "skipDataColumns";
117  rdfs:comment "The number of columns to skip at the beginning of the row. From the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: \"skipColumns: A numeric atomic property that sets the skip columns flag to the single provided numeric value, which MUST be a non-negative integer. The default is 0.\" A value other than 0 will mean that the source numbers of columns will be different from their numbers."@en;
118  rdfs:domain cdi:TabularTextDataSet;
119  rdfs:range xsd:integer;
120.
121
122cdi:TabularTextDataSet-skipInitialSpace
123  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
124  rdfs:label "skipInitialSpace";
125  rdfs:comment "If the value is True, skip whitespace at the beginning of a line or following a delimiter. From the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: \"skipInitialSpace: A boolean atomic property that, if true, sets the trim flag to 'start' and if false, to false. If the trim property is provided, the skipInitialSpace property is ignored. The default is false.\" From the CSV Dialect specification (http://specs.frictionlessdata.io/csv-dialect/): \"skipInitialSpace: specifies how to interpret whitespace which immediately follows a delimiter; if false, it means that whitespace immediately after a delimiter should be treated as part of the following field. Default = true.\""@en;
126  rdfs:domain cdi:TabularTextDataSet;
127  rdfs:range xsd:boolean;
128.
129
130cdi:TabularTextDataSet-skipRows
131  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
132  rdfs:label "skipRows";
133  rdfs:comment "Number of input rows to skip preceding the header or data. From the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: \"skipRows: A numeric atomic property that sets the skip rows flag to the single provided numeric value, which MUST be a non-negative integer. The default is 0.\" A value greater than 0 will mean that the source numbers of rows will be different from their numbers."@en;
134  rdfs:domain cdi:TabularTextDataSet;
135  rdfs:range xsd:integer;
136.
137
138cdi:TabularTextDataSet-tableDirection
139  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
140  rdfs:label "tableDirection";
141  rdfs:comment "Indicates the direction in which columns are arranged in each row. From the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-metadata/)  5.3.2: \"tableDirection: An atomic property that MUST have a single string value that is one of 'rtl', 'ltr', or 'auto'. Indicates whether the tables in the group should be displayed with the first column on the right, on the left, or based on the first character in the table that has a specific direction. The value of this property becomes the value of the table direction annotation for all the tables in the table group. See Bidirectional Tables in [tabular-data-model] for details. The default value for this property is 'auto'.\""@en;
142  rdfs:domain cdi:TabularTextDataSet;
143  rdfs:range cdi:TableDirectionValues;
144.
145
146cdi:TabularTextDataSet-textDirection
147  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
148  rdfs:label "textDirection";
149  rdfs:comment "Indicates the reading order of text within cells. From the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-metadata/) Inherited 5.7: \"textDirection: An atomic property that MUST have a single string value that is one of 'ltr', 'rtl', 'auto' or 'inherit' (the default). Indicates whether the text within cells should be displayed as left-to-right text (ltr), as right-to-left text (rtl), according to the content of the cell (auto) or in the direction inherited from the table direction annotation of the table. The value of this property determines the text direction annotation for the column, and the text direction annotation for the cells within that column: if the value is inherit then the value of the text direction annotation is the value of the table direction annotation on the table, otherwise it is the value of this property. See Bidirectional Tables in [tabular-data-model] for details.\""@en;
150  rdfs:domain cdi:TabularTextDataSet;
151  rdfs:range cdi:TextDirectionValues;
152.
153
154cdi:TabularTextDataSet-treatConsecutiveDelimitersAsOne
155  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
156  rdfs:label "treatConsecutiveDelimitersAsOne";
157  rdfs:comment "If the value is True, consecutive (adjacent) delimiters are treated as a single delimiter; if the value is False consecutive (adjacent) delimiters indicate a missing value."@en;
158  rdfs:domain cdi:TabularTextDataSet;
159  rdfs:range xsd:boolean;
160.
161
162cdi:TabularTextDataSet-trim
163  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
164  rdfs:label "trim";
165  rdfs:comment "Specifies which spaces to remove from a data value (start, end, both, neither) From the W3C Recommendation \"Metadata Vocabulary for Tabular Data\" (https://www.w3.org/TR/tabular-metadata/) 5.9 Dialect: \"trim: An atomic property that, if the boolean true, sets the trim flag to true and if the boolean false to false. If the value provided is a string, sets the trim flag to the provided value, which MUST be one of 'true', 'false', 'start', or 'end'. The default is true.\""@en;
166  rdfs:domain cdi:TabularTextDataSet;
167  rdfs:range cdi:TrimValues;
168.
169
170
171cdi:TabularTextDataSet_isDefinedBy_Concept
172  a rdf:Property, owl:ObjectProperty, ucmis:Association;
173  # ASSOCIATION
174  rdfs:label "isDefinedBy_Concept";
175  skos:altLabel "TabularTextDataSet_isDefinedBy_Concept";
176  rdfs:comment "The conceptual basis for the collection of members."@en;
177  rdfs:domain cdi:TabularTextDataSet;
178  rdfs:range cdi:Concept;
179.

Fragment for the class TabularTextDataSet (entire JSON-LD)

  1{
  2  "@context": [
  3    "PhysicalDataSet.jsonld",
  4    {
  5      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
  6      "xsd": "http://www.w3.org/2001/XMLSchema#",
  7
  8      "arrayBase": {
  9        "@id": "cdi:TabularTextDataSet-arrayBase",
 10        "@type": "xsd:integer"
 11      },
 12      "commentPrefix": {
 13        "@id": "cdi:TabularTextDataSet-commentPrefix",
 14        "@type": "xsd:string"
 15      },
 16      "delimiter": {
 17        "@id": "cdi:TabularTextDataSet-delimiter",
 18        "@type": "xsd:string"
 19      },
 20      "escapeCharacter": {
 21        "@id": "cdi:TabularTextDataSet-escapeCharacter",
 22        "@type": "xsd:string"
 23      },
 24      "hasHeader": {
 25        "@id": "cdi:TabularTextDataSet-hasHeader",
 26        "@type": "xsd:boolean"
 27      },
 28      "headerIsCaseSensitive": {
 29        "@id": "cdi:TabularTextDataSet-headerIsCaseSensitive",
 30        "@type": "xsd:boolean"
 31      },
 32      "headerRowCount": {
 33        "@id": "cdi:TabularTextDataSet-headerRowCount",
 34        "@type": "xsd:integer"
 35      },
 36      "isDelimited": {
 37        "@id": "cdi:TabularTextDataSet-isDelimited",
 38        "@type": "xsd:boolean"
 39      },
 40      "isFixedWidth": {
 41        "@id": "cdi:TabularTextDataSet-isFixedWidth",
 42        "@type": "xsd:boolean"
 43      },
 44      "lineTerminator": {
 45        "@id": "cdi:TabularTextDataSet-lineTerminator",
 46        "@type": "xsd:string"
 47      },
 48      "nullSequence": {
 49        "@id": "cdi:TabularTextDataSet-nullSequence",
 50        "@type": "xsd:string"
 51      },
 52      "quoteCharacter": {
 53        "@id": "cdi:TabularTextDataSet-quoteCharacter",
 54        "@type": "xsd:string"
 55      },
 56      "skipBlankRows": {
 57        "@id": "cdi:TabularTextDataSet-skipBlankRows",
 58        "@type": "xsd:boolean"
 59      },
 60      "skipDataColumns": {
 61        "@id": "cdi:TabularTextDataSet-skipDataColumns",
 62        "@type": "xsd:integer"
 63      },
 64      "skipInitialSpace": {
 65        "@id": "cdi:TabularTextDataSet-skipInitialSpace",
 66        "@type": "xsd:boolean"
 67      },
 68      "skipRows": {
 69        "@id": "cdi:TabularTextDataSet-skipRows",
 70        "@type": "xsd:integer"
 71      },
 72      "tableDirection": {
 73        "@id": "cdi:TabularTextDataSet-tableDirection",
 74        "@type": "@vocab",
 75        "@context": {
 76          "Auto": "cdi:Auto"
 77      ,    "Ltr": "cdi:Ltr"
 78      ,    "Rtl": "cdi:Rtl"
 79        }
 80      },
 81      "textDirection": {
 82        "@id": "cdi:TabularTextDataSet-textDirection",
 83        "@type": "@vocab",
 84        "@context": {
 85          "Auto": "cdi:Auto"
 86      ,    "Inherit": "cdi:Inherit"
 87      ,    "Ltr": "cdi:Ltr"
 88      ,    "Rtl": "cdi:Rtl"
 89        }
 90      },
 91      "treatConsecutiveDelimitersAsOne": {
 92        "@id": "cdi:TabularTextDataSet-treatConsecutiveDelimitersAsOne",
 93        "@type": "xsd:boolean"
 94      },
 95      "trim": {
 96        "@id": "cdi:TabularTextDataSet-trim",
 97        "@type": "@vocab",
 98        "@context": {
 99          "Both": "cdi:Both"
100      ,    "End": "cdi:End"
101      ,    "Neither": "cdi:Neither"
102      ,    "Start": "cdi:Start"
103        }
104      },
105      
106      "isDefinedBy_Concept": {
107        "@id": "cdi:TabularTextDataSet_isDefinedBy_Concept",
108        "@type": "@id",
109        "@context": "Concept.jsonld"
110      },
111      " comment ": "tag:json-should-support-trailing-commas"
112    }
113  ],
114  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2026-04-15 14:38:41.",
115  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::FormatDescription::TabularTextDataSet"
116}

Fragment for the class TabularTextDataSet (entire SHACL - Shapes Constraint Language)

  1# class TabularTextDataSet
  2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::TabularTextDataSet
  3<#TabularTextDataSet> a sh:NodeShape;
  4    sh:targetClass cdi:TabularTextDataSet;
  5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/TabularTextDataSet";
  6	sh:closed true;
  7	sh:ignoredProperties ( owl:sameAs );
  8    sh:property [
  9			sh:path rdf:type;
 10			sh:in (   cdi:TabularTextDataSet
 11			 ) ;
 12    ];
 13    # attributes
 14    sh:property <#TabularTextDataSet-arrayBase>;
 15    sh:property <#TabularTextDataSet-commentPrefix>;
 16    sh:property <#TabularTextDataSet-delimiter>;
 17    sh:property <#TabularTextDataSet-escapeCharacter>;
 18    sh:property <#TabularTextDataSet-hasHeader>;
 19    sh:property <#TabularTextDataSet-headerIsCaseSensitive>;
 20    sh:property <#TabularTextDataSet-headerRowCount>;
 21    sh:property <#TabularTextDataSet-isDelimited>;
 22    sh:property <#TabularTextDataSet-isFixedWidth>;
 23    sh:property <#TabularTextDataSet-lineTerminator>;
 24    sh:property <#TabularTextDataSet-nullSequence>;
 25    sh:property <#TabularTextDataSet-quoteCharacter>;
 26    sh:property <#TabularTextDataSet-skipBlankRows>;
 27    sh:property <#TabularTextDataSet-skipDataColumns>;
 28    sh:property <#TabularTextDataSet-skipInitialSpace>;
 29    sh:property <#TabularTextDataSet-skipRows>;
 30    sh:property <#TabularTextDataSet-tableDirection>;
 31    sh:property <#TabularTextDataSet-textDirection>;
 32    sh:property <#TabularTextDataSet-treatConsecutiveDelimitersAsOne>;
 33    sh:property <#TabularTextDataSet-trim>;
 34    # associations from TabularTextDataSet
 35    sh:property <#TabularTextDataSet_isDefinedBy_Concept>;
 36    # associations to TabularTextDataSet
 37
 38    # ---- superclass: PhysicalDataSet
 39    # attributes
 40    sh:property <#PhysicalDataSet-catalogDetails>;
 41    sh:property <#PhysicalDataSet-characterSet>;
 42    sh:property <#PhysicalDataSet-encoding>;
 43    sh:property <#PhysicalDataSet-fileSize>;
 44    sh:property <#PhysicalDataSet-fileSizeUofM>;
 45    sh:property <#PhysicalDataSet-fingerprint>;
 46    sh:property <#PhysicalDataSet-identifier>;
 47    sh:property <#PhysicalDataSet-name>;
 48    sh:property <#PhysicalDataSet-overview>;
 49    sh:property <#PhysicalDataSet-physicalFileURL>;
 50    sh:property <#PhysicalDataSet-purpose>;
 51    sh:property <#PhysicalDataSet-recordCount>;
 52    sh:property <#PhysicalDataSet-standard>;
 53    # associations from PhysicalDataSet
 54    sh:property <#PhysicalDataSet_has_InstanceVariable>;
 55    sh:property <#PhysicalDataSet_isDefinedBy_Concept>;
 56    sh:property <#PhysicalDataSet_correspondsTo_DataSet>;
 57    sh:property <#PhysicalDataSet_has_PhysicalMapping>;
 58    sh:property <#PhysicalDataSet_has_PhysicalMappingPosition>;
 59    sh:property <#PhysicalDataSet_has_Segment>;
 60    sh:property <#PhysicalDataSet_has_SegmentPosition>;
 61    sh:property <#PhysicalDataSet_uses_LogicalRecord>;
 62    # associations to PhysicalDataSet
 63
 64
 65
 66
 67
 68.
 69
 70<#TabularTextDataSet-arrayBase> a sh:PropertyShape ;
 71    sh:path cdi:TabularTextDataSet-arrayBase;
 72    sh:datatype xsd:integer;
 73    sh:maxCount 1;
 74.
 75<#TabularTextDataSet-commentPrefix> a sh:PropertyShape ;
 76    sh:path cdi:TabularTextDataSet-commentPrefix;
 77    sh:datatype xsd:string;
 78    sh:maxCount 1;
 79.
 80<#TabularTextDataSet-delimiter> a sh:PropertyShape ;
 81    sh:path cdi:TabularTextDataSet-delimiter;
 82    sh:datatype xsd:string;
 83    sh:maxCount 1;
 84.
 85<#TabularTextDataSet-escapeCharacter> a sh:PropertyShape ;
 86    sh:path cdi:TabularTextDataSet-escapeCharacter;
 87    sh:datatype xsd:string;
 88    sh:maxCount 1;
 89.
 90<#TabularTextDataSet-hasHeader> a sh:PropertyShape ;
 91    sh:path cdi:TabularTextDataSet-hasHeader;
 92    sh:datatype xsd:boolean;
 93    sh:maxCount 1;
 94.
 95<#TabularTextDataSet-headerIsCaseSensitive> a sh:PropertyShape ;
 96    sh:path cdi:TabularTextDataSet-headerIsCaseSensitive;
 97    sh:datatype xsd:boolean;
 98    sh:maxCount 1;
 99.
100<#TabularTextDataSet-headerRowCount> a sh:PropertyShape ;
101    sh:path cdi:TabularTextDataSet-headerRowCount;
102    sh:datatype xsd:integer;
103    sh:maxCount 1;
104.
105<#TabularTextDataSet-isDelimited> a sh:PropertyShape ;
106    sh:path cdi:TabularTextDataSet-isDelimited;
107    sh:datatype xsd:boolean;
108    sh:minCount 1;
109    sh:maxCount 1;
110.
111<#TabularTextDataSet-isFixedWidth> a sh:PropertyShape ;
112    sh:path cdi:TabularTextDataSet-isFixedWidth;
113    sh:datatype xsd:boolean;
114    sh:minCount 1;
115    sh:maxCount 1;
116.
117<#TabularTextDataSet-lineTerminator> a sh:PropertyShape ;
118    sh:path cdi:TabularTextDataSet-lineTerminator;
119    sh:datatype xsd:string;
120.
121<#TabularTextDataSet-nullSequence> a sh:PropertyShape ;
122    sh:path cdi:TabularTextDataSet-nullSequence;
123    sh:datatype xsd:string;
124    sh:maxCount 1;
125.
126<#TabularTextDataSet-quoteCharacter> a sh:PropertyShape ;
127    sh:path cdi:TabularTextDataSet-quoteCharacter;
128    sh:datatype xsd:string;
129    sh:maxCount 1;
130.
131<#TabularTextDataSet-skipBlankRows> a sh:PropertyShape ;
132    sh:path cdi:TabularTextDataSet-skipBlankRows;
133    sh:datatype xsd:boolean;
134    sh:maxCount 1;
135.
136<#TabularTextDataSet-skipDataColumns> a sh:PropertyShape ;
137    sh:path cdi:TabularTextDataSet-skipDataColumns;
138    sh:datatype xsd:integer;
139    sh:maxCount 1;
140.
141<#TabularTextDataSet-skipInitialSpace> a sh:PropertyShape ;
142    sh:path cdi:TabularTextDataSet-skipInitialSpace;
143    sh:datatype xsd:boolean;
144    sh:maxCount 1;
145.
146<#TabularTextDataSet-skipRows> a sh:PropertyShape ;
147    sh:path cdi:TabularTextDataSet-skipRows;
148    sh:datatype xsd:integer;
149    sh:maxCount 1;
150.
151<#TabularTextDataSet-tableDirection> a sh:PropertyShape ;
152    sh:path cdi:TabularTextDataSet-tableDirection;
153    sh:node <#TableDirectionValues>
154    ;
155    sh:maxCount 1;
156.
157<#TabularTextDataSet-textDirection> a sh:PropertyShape ;
158    sh:path cdi:TabularTextDataSet-textDirection;
159    sh:node <#TextDirectionValues>
160    ;
161    sh:maxCount 1;
162.
163<#TabularTextDataSet-treatConsecutiveDelimitersAsOne> a sh:PropertyShape ;
164    sh:path cdi:TabularTextDataSet-treatConsecutiveDelimitersAsOne;
165    sh:datatype xsd:boolean;
166    sh:maxCount 1;
167.
168<#TabularTextDataSet-trim> a sh:PropertyShape ;
169    sh:path cdi:TabularTextDataSet-trim;
170    sh:node <#TrimValues>
171    ;
172    sh:maxCount 1;
173.
174
175<#TabularTextDataSet_isDefinedBy_Concept> a sh:PropertyShape ;
176    sh:path cdi:TabularTextDataSet_isDefinedBy_Concept;
177	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
178        cdi:Concept
179        cdi:Category
180        cdi:ConceptualValue
181        cdi:DimensionalKeyDefinitionMember
182        cdi:KeyDefinitionMember
183        cdi:ConceptualVariable
184        cdi:RepresentedVariable
185        cdi:InstanceVariable
186        cdi:DescriptorVariable
187        cdi:ReferenceVariable
188        cdi:UnitType
189        cdi:Universe
190        cdi:Population
191      
192    ) ]];
193.
194<#rev_TabularTextDataSet_isDefinedBy_Concept> a sh:PropertyShape ;
195    sh:path [ sh:inversePath cdi:TabularTextDataSet_isDefinedBy_Concept ];
196.

Fragment for the class TabularTextDataSet (entire ShEx - Shape Expressions)

 1# class TabularTextDataSet
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::FormatDescription::TabularTextDataSet
 3cdi:TabularTextDataSetShape CLOSED {
 4	a [cdi:TabularTextDataSet];
 5	cdi:TabularTextDataSet-arrayBase	xsd:integer?;
 6	cdi:TabularTextDataSet-commentPrefix	xsd:string?;
 7	cdi:TabularTextDataSet-delimiter	xsd:string?;
 8	cdi:TabularTextDataSet-escapeCharacter	xsd:string?;
 9	cdi:TabularTextDataSet-hasHeader	xsd:boolean?;
10	cdi:TabularTextDataSet-headerIsCaseSensitive	xsd:boolean?;
11	cdi:TabularTextDataSet-headerRowCount	xsd:integer?;
12	cdi:TabularTextDataSet-isDelimited	xsd:boolean;
13	cdi:TabularTextDataSet-isFixedWidth	xsd:boolean;
14	cdi:TabularTextDataSet-lineTerminator	xsd:string*;
15	cdi:TabularTextDataSet-nullSequence	xsd:string?;
16	cdi:TabularTextDataSet-quoteCharacter	xsd:string?;
17	cdi:TabularTextDataSet-skipBlankRows	xsd:boolean?;
18	cdi:TabularTextDataSet-skipDataColumns	xsd:integer?;
19	cdi:TabularTextDataSet-skipInitialSpace	xsd:boolean?;
20	cdi:TabularTextDataSet-skipRows	xsd:integer?;
21	cdi:TabularTextDataSet-tableDirection	@cdi:TableDirectionValuesShape?;
22	cdi:TabularTextDataSet-textDirection	@cdi:TextDirectionValuesShape?;
23	cdi:TabularTextDataSet-treatConsecutiveDelimitersAsOne	xsd:boolean?;
24	cdi:TabularTextDataSet-trim	@cdi:TrimValuesShape?;
25	cdi:TabularTextDataSet_isDefinedBy_Concept	@cdi:ConceptShape OR @cdi:CategoryShape OR @cdi:ConceptualValueShape OR @cdi:ConceptualVariableShape OR @cdi:UnitTypeShape*;
26	
27		&cdi:PhysicalDataSetProperties;
28	}