Includes manifests for different application profiles.
This page describes CSVW tests for JSON, RDF, Validation, and Non-normative profiles. These tests are also described in JSON-LD and Turtle format for convenience. The manifest vocabulary is described in the CSVT Vocabulary (JSON-LD, Turtle) and is based on the RDF Test Vocabulary.
All test manifests have a similar structure and reference an action file, and may reference a result file. Evaluation Tests reference both an action and a result file, and the result of processing the action file should result in output equivalent to the result file. For a ToRdfTest, the results should be compared using RDF graph isomorphism. For a ToJsonTest, the results should be compared using JSON object comparison.
A PositiveValidationTest should process the input and find no validation errors. A WarningValidationTest should validate the input and generate one or more warnings; the content of these warnings is not checked as part of the test, as there is no normative form for validation warnings. A NegativeValiationTest should result in a validation error.
Tests may be defined with processor options and expected HTTP headers which should be treated as if they were provided with the action file.
The action file may reference a tabular data file (CSV or TSV) or a Metadata file (JSON).
Tests included in the non-normative manifest test aspects of processing CSV files which are not normatively defined in CSVW; implementations are not required to pass such tests to be conforming.
Developers are encouraged to make a local copy of the test suite (available on GitHub) and simulate the behavior of fetching test files remotely and setting HTTP headers as described in a particular test entry.
The test manifests and entries are built automatically from manifest.csv using mk_manifest.rb, where each row defines a combination of RDF, JSON and Validation tests for the same action and implicit files. Tests may be contributed via pull request to https://github.com/w3c/csvw with suitable changes to the manifest.csv and necessary action, result and implicit files. Tests will also be considered if a contribution is sent to public-csv-wg-comments@w3.org.
Distributed under both the W3C Test Suite License and the W3C 3-clause BSD License. To contribute to a W3C Test Suite, see the policies and contribution forms.
UNDER BOTH MUTUALLY EXCLUSIVE LICENSES, THIS DOCUMENT AND ALL DOCUMENTS, TESTS AND SOFTWARE THAT LINK THIS STATEMENT ARE PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.
Tests transformation of CSV to JSON.
JSON tests are passed when the result of transforming the action and implicit files generates the same JSON as the result file using JSON object comparison.
The simplest possible table without metadata
A table with entity identifiers and references to other entities without metadata
Records contain two entities with relationships which are duplicated without metadata
Joined data with identified records without metadata
One field has comma-separated values without metadata
Field with parseable human formatted time without metadata
Country-codes-and-names example
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
<linked-metadata.json>; rel="describedby"; type="application/csvm+json"
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
<linked-metadata.json>; rel="describedby"; type="application/csvm+json"
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
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.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
If no metadata is supplied or found, processors MUST use embedded metadata.
If no metadata is supplied or found, processors MUST use embedded metadata.
countries.json from metadata
countries.json from metadata minimal output
events-listing example from metadata, virtual columns and multiple subjects per row
events-listing example from metadata, virtual columns and multiple subjects per row; minimal output
Public Sector Roles example with referenced schemas. Validation fails because organization.csv intentionally contains an invalid reference.
Public Sector Roles example with referenced schemas; minimal output. Validation fails because organization.csv intentionally contains an invalid reference.
tree-ops extended example
tree-ops extended example; minimal output
Setting inherited properties at different levels inherit to cell
Different combinations of valid inherited properties
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
The value of @language
MUST be a valid BCP47
language code
Expects Warnings
Compliant application MUST raise an error if this array does not contain one or more table descriptions
.
Negative Test
An atomic property that MUST have a single string value that is one of "rtl", "ltr" or "auto".
Expects Warnings
An atomic property that MUST have a single string value that is one of "rtl", "ltr" or "auto".
Expects Warnings
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be Dialect
Negative Test
If included @type
MUST be Template
Negative Test
The tables
property is required in a TableGroup
Negative Test
The url
property is required in a Table
Negative Test
Compliant applications MUST ignore properties (aside from common properties) which are not defined in this specification and MUST generate a warning when they are encoutered
Expects Warnings
Any items within an array that are not valid objects of the type expected are ignored
Expects Warnings
Any items within an array that are not valid objects of the type expected are ignored
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array. Compliant application MUST raise an error if this array does not contain one or more table descriptions.
Negative Test
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Negative Test
The referenced description object MUST have a name property
Negative Test
The referenced description object MUST have a name property
Expects Warnings
If the supplied value of an object property is not a string or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an object with no properties.
Expects Warnings
If the supplied value of an object property is not a string or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an object with no properties.
Expects Warnings
If the supplied value of an object property is not a string or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an object with no properties.
Negative Test
Natural Language properties may be objects whose properties MUST be language codes as defined by [BCP47] and whose values are either strings or arrays, providing natural language strings in that language. Validation fails because without a title, the metadata is incompatible with the CSV, which isn't a problem when not validating.
Expects Warnings
Natural Language properties may be objects whose properties MUST be language codes as defined by [BCP47] and whose values are either strings or arrays, providing natural language strings in that language
Expects Warnings
If the supplied value of a natural language property is not a string, array or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an empty array. Validation fails because without a title, the metadata is incompatible with the CSV, which isn't a problem when not validating.
Expects Warnings
If the supplied value is an array, any items in that array that are not strings MUST be ignored
Expects Warnings
Atomic properties: Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
Atomic properties: Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
Atomic properties: Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
processors MUST attempt to locate a metadata documents through site-wide configuration.
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
processors MUST attempt to locate a metadata documents through site-wide configuration. component.
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
<test120-linked-metadata.json>; rel="describedby"; type="application/csvm+json"
User-specified metadata does not need to reference the starting CSV
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
<test122-linked-metadata.json>; rel="describedby"; type="application/csvm+json"
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
If not validating, and one schema has a name property but not a titles property, and the other has a titles property but not a name property.
If the column required annotation is true, add an error to the list of errors for the cell.
Expects Warnings
if the string is the same as any one of the values of the column null annotation, then the resulting value is null. If the column separator annotation is null and the column required annotation is true, add an error to the list of errors for the cell.
Expects Warnings
if TM is not compatible with EM validators MUST raise an error, other processors MUST generate a warning and continue processing
Expects Warnings
The name properties of the column descriptions MUST be unique within a given table description.
Negative Test
This (name) MUST be a string and this property has no default value, which means it MUST be ignored if the supplied value is not a string.
Expects Warnings
column names are restricted as defined in Variables in [URI-TEMPLATE]
Expects Warnings
column names are restricted ... names beginning with '_' are reserved by this specification and MUST NOT be used within metadata documents.
Expects Warnings
If there is no name property defined on this column, the first titles value having the same language tag as default language, or und or if no default language is specified, becomes the name annotation for the described column. This annotation MUST be percent-encoded as necessary to conform to the syntactic requirements defined in [RFC3986]
If present, a virtual column MUST appear after all other non-virtual column definitions.
Negative Test
A metadata document MUST NOT add a new context
Negative Test
Values MUST NOT use list objects or set objects.
Negative Test
Values MUST NOT use list objects or set objects.
Negative Test
The value of any @id or @type contained within a metadata document MUST NOT be a blank node.
Negative Test
The value of any @id or @type contained within a metadata document MUST NOT be a blank node.
Negative Test
The value of any member of @type MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
Negative Test
The value of any member of @type MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
Negative Test
The value of any @id or @type contained within a metadata document MUST NOT be a blank node.
Negative Test
If a @value property is used on an object, that object MUST NOT have any other properties aside from either @type or @language, and MUST NOT have both @type and @language as properties. The value of the @value property MUST be a string, number, or boolean value.
Negative Test
If a @value property is used on an object, that object MUST NOT have any other properties aside from either @type or @language, and MUST NOT have both @type and @language as properties. The value of the @value property MUST be a string, number, or boolean value.
Negative Test
A @language property MUST NOT be used on an object unless it also has a @value property.
Negative Test
Aside from @value, @type, @language, and @id, the properties used on an object MUST NOT start with @.
Negative Test
If there is a non-empty case-sensitive intersection between the titles values, where matches MUST have a matching language; und
matches any language, and languages match if they are equal when truncated, as defined in [BCP47], to the length of the shortest language tag.
Expects Warnings
If there is a non-empty case-sensitive intersection between the titles values, where matches MUST have a matching language; und
matches any language, and languages match if they are equal when truncated, as defined in [BCP47], to the length of the shortest language tag.
Expects Warnings
If there is a non-empty case-sensitive intersection between the titles values, where matches MUST have a matching language; und
matches any language, and languages match if they are equal when truncated, as defined in [BCP47], to the length of the shortest language tag.
If the value of this property is a string, it MUST be one of the built-in datatypes defined in section 5.11.1 Built-in Datatypes or an absolute URL
Expects Warnings
If the value of this property is a string, it MUST be one of the built-in datatypes
Expects Warnings
If the datatype base is not numeric, boolean, a date/time type, or a duration type, the datatype format annotation provides a regular expression for the string values
If the datatype base is not numeric, boolean, a date/time type, or a duration type, the datatype format annotation provides a regular expression for the string values
Expects Warnings
If the datatype base is not numeric, boolean, a date/time type, or a duration type, the datatype format annotation provides a regular expression for the string values
Expects Warnings
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
Expects Warnings
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
Expects Warnings
Numeric dataype with object format
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed contains two consecutive groupChar strings
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed contains the decimalChar, if the datatype base is integer or one of its sub-values
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, if the datatype base is decimal or one of its sub-values
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, is one of the special values NaN, INF, or -INF, if the datatype base is decimal or one of its sub-values
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, is one of the special values NaN, INF, or -INF, if the datatype base is decimal or one of its sub-values
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, is one of the special values NaN, INF, or -INF, if the datatype base is decimal or one of its sub-values
Expects Warnings
When parsing the string value of a cell against this format specification, implementations MUST recognise and parse numbers
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST use the sign, exponent, percent, and per-mille signs when parsing the string value of a cell to provide the value of the cell
Implementations MUST use the sign, exponent, percent, and per-mille signs when parsing the string value of a cell to provide the value of the cell
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
If the datatype base for a cell is boolean, the datatype format annotation provides the true and false values expected, separated by |
.
If the datatype base for a cell is boolean, the datatype format annotation provides the true and false values expected, separated by |
.
Expects Warnings
If the datatype base for a cell is boolean, the datatype format annotation provides the true and false values expected, separated by |
.
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed
Expects Warnings
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
Expects Warnings
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
Expects Warnings
If the datatype base is a duration type, the datatype format annotation provides a regular expression for the string values
If the datatype base is a duration type, the datatype format annotation provides a regular expression for the string values
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
Applications MUST raise an error if both length and minLength are specified and length is less than minLength.
Negative Test
Applications MUST raise an error if both length and maxLength are specified and length is greater than maxLength.
Negative Test
Applications MUST raise an error if length, maxLength, or minLength are specified and the base datatype is not string or one of its subtypes, or a binary type.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
Applications MUST raise an error if both minInclusive and minExclusive are specified, or if both maxInclusive and maxExclusive are specified.
Negative Test
Applications MUST raise an error if both minInclusive and minExclusive are specified, or if both maxInclusive and maxExclusive are specified.
Negative Test
Applications MUST raise an error if both minInclusive and maxInclusive are specified and maxInclusive is less than minInclusive, or if both minInclusive and maxExclusive are specified and maxExclusive is less than or equal to minInclusive.
Negative Test
Applications MUST raise an error if both minInclusive and maxInclusive are specified and maxInclusive is less than minInclusive, or if both minInclusive and maxExclusive are specified and maxExclusive is less than or equal to minInclusive.
Negative Test
Applications MUST raise an error if both minExclusive and maxExclusive are specified and maxExclusive is less than minExclusive, or if both minExclusive and maxInclusive are specified and maxInclusive is less than or equal to minExclusive.
Negative Test
Applications MUST raise an error if both minExclusive and maxExclusive are specified and maxExclusive is less than minExclusive, or if both minExclusive and maxInclusive are specified and maxInclusive is less than or equal to minExclusive.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
If the value is a list, the constraint applies to each element of the list.
If the value is a list, the constraint applies to each element of the list.
If the value is a list, the constraint applies to each element of the list.
Expects Warnings
As defined in [tabular-data-model], validators MUST check that each row has a unique combination of values of cells in the indicated columns.
Validators MUST raise errors if there is more than one row with the same primary key
As defined in [tabular-data-model], validators MUST check that each row has a unique combination of values of cells in the indicated columns.
Validators MUST raise errors if there is more than one row with the same primary key
if row titles is not null, insert any titles specified for the row. For each value, tv, of the row titles annotation
if row titles is not null, insert any titles specified for the row. For each value, tv, of the row titles annotation
if row titles is not null, insert any titles specified for the row. For each value, tv, of the row titles annotation
it must be the name of one of the built-in datatypes defined in section 5.11.1 Built-in Datatypes
Expects Warnings
If included, @id is a link property that identifies the datatype described by this datatype description.
It MUST NOT start with _:
.
Negative Test
It MUST NOT be the URL of a built-in datatype.
Negative Test
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
Expects Warnings
No Unicode normalization (as specified in [UAX15]) is applied to these string values
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Negative Test
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Negative Test
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Negative Test
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Applications MUST raise an error if both minLength and maxLength are specified and minLength is greater than maxLength.
Negative Test
The value of any member of @type
MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
The value of any member of @type
MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
It MUST NOT start with _:
and it MUST NOT be the URL of a built-in datatype.
Negative Test
An atomic property that contains a single string: the name of one of the built-in datatypes, as listed above (and which are defined as terms in the default context). Its default is string.
If the datatype base for a cell is boolean
, the datatype format annotation provides the true value followed by the false value, separated by |
. If the format does not follow this syntax, implementations MUST issue a warning and proceed as if no format had been provided.
Expects Warnings
All terms used within a metadata document MUST be defined in [csvw-context] defined for this specification
Expects Warnings
A foreign key definition is a JSON object that must contain only the following properties. . .
Negative Test
A foreign key definition is a JSON object that must contain only the following properties. . .
Negative Test
If present, its value MUST be a string that is interpreted as a URL which is resolved against the location of the metadata document to provide the base URL for other URLs in the metadata document.
The @context
MUST have one of the following values: An array composed of a string followed by an object, where the string is http://www.w3.org/ns/csvw
and the object represents a local context definition, which is restricted to contain either or both of the following members.
Negative Test
Table Group may only use defined properties.
Expects Warnings
Table may only use defined properties.
Expects Warnings
Column may only use defined properties.
Expects Warnings
Two schemas are compatible if they have the same number of non-virtual column descriptions, and the non-virtual column descriptions at the same index within each are compatible with each other.
Expects Warnings
Value MUST be a valid xsd:duration.
Expects Warnings
Value MUST be a valid xsd:dayTimeDuration.
Expects Warnings
Value MUST be a valid xsd:yearMonthDuration.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
Values in separate columns using the same propertyUrl are kept in proper relative order.
Values in separate columns using the same propertyUrl are kept in proper relative order.
Values in separate columns using the same propertyUrl are kept in proper relative order.
Tests transformation of CSV to RDF.
RDF tests are passed when the graph generated by transforming the action and implicit files is isomorphic to that in the result file.
The simplest possible table without metadata
A table with entity identifiers and references to other entities without metadata
Records contain two entities with relationships which are duplicated without metadata
Joined data with identified records without metadata
One field has comma-separated values without metadata
Field with parseable human formatted time without metadata
Country-codes-and-names example
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
<linked-metadata.json>; rel="describedby"; type="application/csvm+json"
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
<linked-metadata.json>; rel="describedby"; type="application/csvm+json"
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
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.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
If no metadata is supplied or found, processors MUST use embedded metadata.
If no metadata is supplied or found, processors MUST use embedded metadata.
countries.json from metadata
countries.json from metadata minimal output
events-listing example from metadata, virtual columns and multiple subjects per row
events-listing example from metadata, virtual columns and multiple subjects per row; minimal output
Public Sector Roles example with referenced schemas. Validation fails because organization.csv intentionally contains an invalid reference.
Public Sector Roles example with referenced schemas; minimal output. Validation fails because organization.csv intentionally contains an invalid reference.
tree-ops extended example
tree-ops extended example; minimal output
Setting inherited properties at different levels inherit to cell
Different combinations of valid inherited properties
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
The value of @language
MUST be a valid BCP47
language code
Expects Warnings
Compliant application MUST raise an error if this array does not contain one or more table descriptions
.
Negative Test
An atomic property that MUST have a single string value that is one of "rtl", "ltr" or "auto".
Expects Warnings
An atomic property that MUST have a single string value that is one of "rtl", "ltr" or "auto".
Expects Warnings
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be Dialect
Negative Test
If included @type
MUST be Template
Negative Test
The tables
property is required in a TableGroup
Negative Test
The url
property is required in a Table
Negative Test
Compliant applications MUST ignore properties (aside from common properties) which are not defined in this specification and MUST generate a warning when they are encoutered
Expects Warnings
Any items within an array that are not valid objects of the type expected are ignored
Expects Warnings
Any items within an array that are not valid objects of the type expected are ignored
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array. Compliant application MUST raise an error if this array does not contain one or more table descriptions.
Negative Test
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Negative Test
The referenced description object MUST have a name property
Negative Test
The referenced description object MUST have a name property
Expects Warnings
If the supplied value of an object property is not a string or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an object with no properties.
Expects Warnings
If the supplied value of an object property is not a string or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an object with no properties.
Expects Warnings
If the supplied value of an object property is not a string or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an object with no properties.
Negative Test
Natural Language properties may be objects whose properties MUST be language codes as defined by [BCP47] and whose values are either strings or arrays, providing natural language strings in that language. Validation fails because without a title, the metadata is incompatible with the CSV, which isn't a problem when not validating.
Expects Warnings
Natural Language properties may be objects whose properties MUST be language codes as defined by [BCP47] and whose values are either strings or arrays, providing natural language strings in that language
Expects Warnings
If the supplied value of a natural language property is not a string, array or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an empty array. Validation fails because without a title, the metadata is incompatible with the CSV, which isn't a problem when not validating.
Expects Warnings
If the supplied value is an array, any items in that array that are not strings MUST be ignored
Expects Warnings
Atomic properties: Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
Atomic properties: Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
Atomic properties: Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
processors MUST attempt to locate a metadata documents through site-wide configuration.
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
processors MUST attempt to locate a metadata documents through site-wide configuration. component.
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
<test120-linked-metadata.json>; rel="describedby"; type="application/csvm+json"
User-specified metadata does not need to reference the starting CSV
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
<test122-linked-metadata.json>; rel="describedby"; type="application/csvm+json"
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
If not validating, and one schema has a name property but not a titles property, and the other has a titles property but not a name property.
If the column required annotation is true, add an error to the list of errors for the cell.
Expects Warnings
if the string is the same as any one of the values of the column null annotation, then the resulting value is null. If the column separator annotation is null and the column required annotation is true, add an error to the list of errors for the cell.
Expects Warnings
if TM is not compatible with EM validators MUST raise an error, other processors MUST generate a warning and continue processing
Expects Warnings
The name properties of the column descriptions MUST be unique within a given table description.
Negative Test
This (name) MUST be a string and this property has no default value, which means it MUST be ignored if the supplied value is not a string.
Expects Warnings
column names are restricted as defined in Variables in [URI-TEMPLATE]
Expects Warnings
column names are restricted ... names beginning with '_' are reserved by this specification and MUST NOT be used within metadata documents.
Expects Warnings
If there is no name property defined on this column, the first titles value having the same language tag as default language, or und or if no default language is specified, becomes the name annotation for the described column. This annotation MUST be percent-encoded as necessary to conform to the syntactic requirements defined in [RFC3986]
If present, a virtual column MUST appear after all other non-virtual column definitions.
Negative Test
A metadata document MUST NOT add a new context
Negative Test
Values MUST NOT use list objects or set objects.
Negative Test
Values MUST NOT use list objects or set objects.
Negative Test
The value of any @id or @type contained within a metadata document MUST NOT be a blank node.
Negative Test
The value of any @id or @type contained within a metadata document MUST NOT be a blank node.
Negative Test
The value of any member of @type MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
Negative Test
The value of any member of @type MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
Negative Test
The value of any @id or @type contained within a metadata document MUST NOT be a blank node.
Negative Test
If a @value property is used on an object, that object MUST NOT have any other properties aside from either @type or @language, and MUST NOT have both @type and @language as properties. The value of the @value property MUST be a string, number, or boolean value.
Negative Test
If a @value property is used on an object, that object MUST NOT have any other properties aside from either @type or @language, and MUST NOT have both @type and @language as properties. The value of the @value property MUST be a string, number, or boolean value.
Negative Test
A @language property MUST NOT be used on an object unless it also has a @value property.
Negative Test
Aside from @value, @type, @language, and @id, the properties used on an object MUST NOT start with @.
Negative Test
If there is a non-empty case-sensitive intersection between the titles values, where matches MUST have a matching language; und
matches any language, and languages match if they are equal when truncated, as defined in [BCP47], to the length of the shortest language tag.
Expects Warnings
If there is a non-empty case-sensitive intersection between the titles values, where matches MUST have a matching language; und
matches any language, and languages match if they are equal when truncated, as defined in [BCP47], to the length of the shortest language tag.
Expects Warnings
If there is a non-empty case-sensitive intersection between the titles values, where matches MUST have a matching language; und
matches any language, and languages match if they are equal when truncated, as defined in [BCP47], to the length of the shortest language tag.
If the value of this property is a string, it MUST be one of the built-in datatypes defined in section 5.11.1 Built-in Datatypes or an absolute URL
Expects Warnings
If the value of this property is a string, it MUST be one of the built-in datatypes
Expects Warnings
If the datatype base is not numeric, boolean, a date/time type, or a duration type, the datatype format annotation provides a regular expression for the string values
If the datatype base is not numeric, boolean, a date/time type, or a duration type, the datatype format annotation provides a regular expression for the string values
Expects Warnings
If the datatype base is not numeric, boolean, a date/time type, or a duration type, the datatype format annotation provides a regular expression for the string values
Expects Warnings
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
Expects Warnings
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
Expects Warnings
Numeric dataype with object format
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed contains two consecutive groupChar strings
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed contains the decimalChar, if the datatype base is integer or one of its sub-values
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, if the datatype base is decimal or one of its sub-values
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, is one of the special values NaN, INF, or -INF, if the datatype base is decimal or one of its sub-values
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, is one of the special values NaN, INF, or -INF, if the datatype base is decimal or one of its sub-values
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, is one of the special values NaN, INF, or -INF, if the datatype base is decimal or one of its sub-values
Expects Warnings
When parsing the string value of a cell against this format specification, implementations MUST recognise and parse numbers
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST use the sign, exponent, percent, and per-mille signs when parsing the string value of a cell to provide the value of the cell
Implementations MUST use the sign, exponent, percent, and per-mille signs when parsing the string value of a cell to provide the value of the cell
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Expects Warnings
If the datatype base for a cell is boolean, the datatype format annotation provides the true and false values expected, separated by |
.
If the datatype base for a cell is boolean, the datatype format annotation provides the true and false values expected, separated by |
.
Expects Warnings
If the datatype base for a cell is boolean, the datatype format annotation provides the true and false values expected, separated by |
.
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed
Expects Warnings
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
Expects Warnings
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
Expects Warnings
If the datatype base is a duration type, the datatype format annotation provides a regular expression for the string values
If the datatype base is a duration type, the datatype format annotation provides a regular expression for the string values
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
Applications MUST raise an error if both length and minLength are specified and length is less than minLength.
Negative Test
Applications MUST raise an error if both length and maxLength are specified and length is greater than maxLength.
Negative Test
Applications MUST raise an error if length, maxLength, or minLength are specified and the base datatype is not string or one of its subtypes, or a binary type.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Expects Warnings
Applications MUST raise an error if both minInclusive and minExclusive are specified, or if both maxInclusive and maxExclusive are specified.
Negative Test
Applications MUST raise an error if both minInclusive and minExclusive are specified, or if both maxInclusive and maxExclusive are specified.
Negative Test
Applications MUST raise an error if both minInclusive and maxInclusive are specified and maxInclusive is less than minInclusive, or if both minInclusive and maxExclusive are specified and maxExclusive is less than or equal to minInclusive.
Negative Test
Applications MUST raise an error if both minInclusive and maxInclusive are specified and maxInclusive is less than minInclusive, or if both minInclusive and maxExclusive are specified and maxExclusive is less than or equal to minInclusive.
Negative Test
Applications MUST raise an error if both minExclusive and maxExclusive are specified and maxExclusive is less than minExclusive, or if both minExclusive and maxInclusive are specified and maxInclusive is less than or equal to minExclusive.
Negative Test
Applications MUST raise an error if both minExclusive and maxExclusive are specified and maxExclusive is less than minExclusive, or if both minExclusive and maxInclusive are specified and maxInclusive is less than or equal to minExclusive.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
If the value is a list, the constraint applies to each element of the list.
If the value is a list, the constraint applies to each element of the list.
If the value is a list, the constraint applies to each element of the list.
Expects Warnings
As defined in [tabular-data-model], validators MUST check that each row has a unique combination of values of cells in the indicated columns.
Validators MUST raise errors if there is more than one row with the same primary key
As defined in [tabular-data-model], validators MUST check that each row has a unique combination of values of cells in the indicated columns.
Validators MUST raise errors if there is more than one row with the same primary key
if row titles is not null, insert any titles specified for the row. For each value, tv, of the row titles annotation
if row titles is not null, insert any titles specified for the row. For each value, tv, of the row titles annotation
if row titles is not null, insert any titles specified for the row. For each value, tv, of the row titles annotation
it must be the name of one of the built-in datatypes defined in section 5.11.1 Built-in Datatypes
Expects Warnings
If included, @id is a link property that identifies the datatype described by this datatype description.
It MUST NOT start with _:
.
Negative Test
It MUST NOT be the URL of a built-in datatype.
Negative Test
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
Expects Warnings
No Unicode normalization (as specified in [UAX15]) is applied to these string values
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Negative Test
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Negative Test
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Negative Test
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Applications MUST raise an error if both minLength and maxLength are specified and minLength is greater than maxLength.
Negative Test
The value of any member of @type
MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
The value of any member of @type
MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
It MUST NOT start with _:
and it MUST NOT be the URL of a built-in datatype.
Negative Test
An atomic property that contains a single string: the name of one of the built-in datatypes, as listed above (and which are defined as terms in the default context). Its default is string.
If the datatype base for a cell is boolean
, the datatype format annotation provides the true value followed by the false value, separated by |
. If the format does not follow this syntax, implementations MUST issue a warning and proceed as if no format had been provided.
Expects Warnings
All terms used within a metadata document MUST be defined in [csvw-context] defined for this specification
Expects Warnings
A foreign key definition is a JSON object that must contain only the following properties. . .
Negative Test
A foreign key definition is a JSON object that must contain only the following properties. . .
Negative Test
If present, its value MUST be a string that is interpreted as a URL which is resolved against the location of the metadata document to provide the base URL for other URLs in the metadata document.
The @context
MUST have one of the following values: An array composed of a string followed by an object, where the string is http://www.w3.org/ns/csvw
and the object represents a local context definition, which is restricted to contain either or both of the following members.
Negative Test
Table Group may only use defined properties.
Expects Warnings
Table may only use defined properties.
Expects Warnings
Column may only use defined properties.
Expects Warnings
Two schemas are compatible if they have the same number of non-virtual column descriptions, and the non-virtual column descriptions at the same index within each are compatible with each other.
Expects Warnings
Value MUST be a valid xsd:duration.
Expects Warnings
Value MUST be a valid xsd:dayTimeDuration.
Expects Warnings
Value MUST be a valid xsd:yearMonthDuration.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Expects Warnings
Values in separate columns using the same propertyUrl are kept in proper relative order.
Values in separate columns using the same propertyUrl are kept in proper relative order.
Values in separate columns using the same propertyUrl are kept in proper relative order.
Tests CSV validation using metadata.
Validation tests are passed when the accept and implicit files are validating without errors, with one or more warnings, or one or more errors depending on the type of test being run.
The simplest possible table without metadata
A table with entity identifiers and references to other entities without metadata
Records contain two entities with relationships which are duplicated without metadata
Joined data with identified records without metadata
One field has comma-separated values without metadata
Field with parseable human formatted time without metadata
Country-codes-and-names example
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
<linked-metadata.json>; rel="describedby"; type="application/csvm+json"
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
<linked-metadata.json>; rel="describedby"; type="application/csvm+json"
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
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.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
If no metadata is supplied or found, processors MUST use embedded metadata.
If no metadata is supplied or found, processors MUST use embedded metadata.
countries.json from metadata
countries.json from metadata minimal output
events-listing example from metadata, virtual columns and multiple subjects per row
events-listing example from metadata, virtual columns and multiple subjects per row; minimal output
Public Sector Roles example with referenced schemas. Validation fails because organization.csv intentionally contains an invalid reference.
Negative Test
Public Sector Roles example with referenced schemas; minimal output. Validation fails because organization.csv intentionally contains an invalid reference.
Negative Test
tree-ops extended example
tree-ops extended example; minimal output
Setting inherited properties at different levels inherit to cell
Different combinations of valid inherited properties
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
If a property has a value that is not permitted by this specification, then if a default value is provided for that property, compliant applications MUST use that default value and MUST generate a warning. If no default value is provided for that property, compliant applications MUST generate a warning and behave as if the property had not been specified.
Expects Warnings
The value of @language
MUST be a valid BCP47
language code
Expects Warnings
Compliant application MUST raise an error if this array does not contain one or more table descriptions
.
Negative Test
An atomic property that MUST have a single string value that is one of "rtl", "ltr" or "auto".
Expects Warnings
An atomic property that MUST have a single string value that is one of "rtl", "ltr" or "auto".
Expects Warnings
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
It MUST NOT start with _:
.
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be TableGroup
Negative Test
If included @type
MUST be Dialect
Negative Test
If included @type
MUST be Template
Negative Test
The tables
property is required in a TableGroup
Negative Test
The url
property is required in a Table
Negative Test
All compliant applications MUST generate errors and stop processing if a metadata document does not use valid JSON syntax
Negative Test
Compliant applications MUST ignore properties (aside from common properties) which are not defined in this specification and MUST generate a warning when they are encoutered
Expects Warnings
Any items within an array that are not valid objects of the type expected are ignored
Expects Warnings
Any items within an array that are not valid objects of the type expected are ignored
Expects Warnings
Any items within an array that are not valid objects of the type expected are ignored
Expects Warnings
Any items within an array that are not valid objects of the type expected are ignored
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array. Compliant application MUST raise an error if this array does not contain one or more table descriptions.
Negative Test
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Negative Test
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Expects Warnings
If the supplied value of an array property is not an array (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been supplied with an empty array
Negative Test
The referenced description object MUST have a name property
Negative Test
The referenced description object MUST have a name property
Expects Warnings
If the supplied value of an object property is not a string or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an object with no properties.
Expects Warnings
If the supplied value of an object property is not a string or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an object with no properties.
Negative Test
If the supplied value of an object property is not a string or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an object with no properties.
Negative Test
Natural Language properties may be objects whose properties MUST be language codes as defined by [BCP47] and whose values are either strings or arrays, providing natural language strings in that language. Validation fails because without a title, the metadata is incompatible with the CSV, which isn't a problem when not validating.
Negative Test
Natural Language properties may be objects whose properties MUST be language codes as defined by [BCP47] and whose values are either strings or arrays, providing natural language strings in that language
Expects Warnings
If the supplied value of a natural language property is not a string, array or object (eg if it is an integer), compliant applications MUST issue a warning and proceed as if the property had been specified as an empty array. Validation fails because without a title, the metadata is incompatible with the CSV, which isn't a problem when not validating.
Negative Test
If the supplied value is an array, any items in that array that are not strings MUST be ignored
Expects Warnings
Atomic properties: Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
Atomic properties: Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
Atomic properties: Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
processors MUST attempt to locate a metadata documents through site-wide configuration.
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
processors MUST attempt to locate a metadata documents through site-wide configuration. component.
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
<test120-linked-metadata.json>; rel="describedby"; type="application/csvm+json"
User-specified metadata does not need to reference the starting CSV
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
<test122-linked-metadata.json>; rel="describedby"; type="application/csvm+json"
If the metadata file found at this location does not explicitly include a reference to the requested tabular data file then it MUST be ignored.
Expects Warnings
If not validating, and one schema has a name property but not a titles property, and the other has a titles property but not a name property.
Negative Test
If the column required annotation is true, add an error to the list of errors for the cell.
Negative Test
if the string is the same as any one of the values of the column null annotation, then the resulting value is null. If the column separator annotation is null and the column required annotation is true, add an error to the list of errors for the cell.
Negative Test
if TM is not compatible with EM validators MUST raise an error, other processors MUST generate a warning and continue processing
Negative Test
The name properties of the column descriptions MUST be unique within a given table description.
Negative Test
This (name) MUST be a string and this property has no default value, which means it MUST be ignored if the supplied value is not a string.
Expects Warnings
column names are restricted as defined in Variables in [URI-TEMPLATE]
Expects Warnings
column names are restricted ... names beginning with '_' are reserved by this specification and MUST NOT be used within metadata documents.
Expects Warnings
If there is no name property defined on this column, the first titles value having the same language tag as default language, or und or if no default language is specified, becomes the name annotation for the described column. This annotation MUST be percent-encoded as necessary to conform to the syntactic requirements defined in [RFC3986]
If present, a virtual column MUST appear after all other non-virtual column definitions.
Negative Test
A metadata document MUST NOT add a new context
Negative Test
Values MUST NOT use list objects or set objects.
Negative Test
Values MUST NOT use list objects or set objects.
Negative Test
The value of any @id or @type contained within a metadata document MUST NOT be a blank node.
Negative Test
The value of any @id or @type contained within a metadata document MUST NOT be a blank node.
Negative Test
The value of any member of @type MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
Negative Test
The value of any member of @type MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
Negative Test
The value of any @id or @type contained within a metadata document MUST NOT be a blank node.
Negative Test
If a @value property is used on an object, that object MUST NOT have any other properties aside from either @type or @language, and MUST NOT have both @type and @language as properties. The value of the @value property MUST be a string, number, or boolean value.
Negative Test
If a @value property is used on an object, that object MUST NOT have any other properties aside from either @type or @language, and MUST NOT have both @type and @language as properties. The value of the @value property MUST be a string, number, or boolean value.
Negative Test
A @language property MUST NOT be used on an object unless it also has a @value property.
Negative Test
If a @language property is used, it MUST have a string value that adheres to the syntax defined in [BCP47], or be null.
Negative Test
Aside from @value, @type, @language, and @id, the properties used on an object MUST NOT start with @.
Negative Test
If there is a non-empty case-sensitive intersection between the titles values, where matches MUST have a matching language; und
matches any language, and languages match if they are equal when truncated, as defined in [BCP47], to the length of the shortest language tag.
Negative Test
If there is a non-empty case-sensitive intersection between the titles values, where matches MUST have a matching language; und
matches any language, and languages match if they are equal when truncated, as defined in [BCP47], to the length of the shortest language tag.
Negative Test
If there is a non-empty case-sensitive intersection between the titles values, where matches MUST have a matching language; und
matches any language, and languages match if they are equal when truncated, as defined in [BCP47], to the length of the shortest language tag.
If the value of this property is a string, it MUST be one of the built-in datatypes defined in section 5.11.1 Built-in Datatypes or an absolute URL
Expects Warnings
If the value of this property is a string, it MUST be one of the built-in datatypes
Expects Warnings
If the datatype base is not numeric, boolean, a date/time type, or a duration type, the datatype format annotation provides a regular expression for the string values
If the datatype base is not numeric, boolean, a date/time type, or a duration type, the datatype format annotation provides a regular expression for the string values
Expects Warnings
If the datatype base is not numeric, boolean, a date/time type, or a duration type, the datatype format annotation provides a regular expression for the string values
Negative Test
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
Expects Warnings
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
Negative Test
Numeric dataype with object format
If the datatype format annotation is a single string, this is interpreted in the same way as if it were an object with a pattern property whose value is that string
Expects Warnings
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed contains two consecutive groupChar strings
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed contains the decimalChar, if the datatype base is integer or one of its sub-values
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, if the datatype base is decimal or one of its sub-values
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, is one of the special values NaN, INF, or -INF, if the datatype base is decimal or one of its sub-values
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, is one of the special values NaN, INF, or -INF, if the datatype base is decimal or one of its sub-values
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, is one of the special values NaN, INF, or -INF, if the datatype base is decimal or one of its sub-values
Negative Test
When parsing the string value of a cell against this format specification, implementations MUST recognise and parse numbers
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST use the sign, exponent, percent, and per-mille signs when parsing the string value of a cell to provide the value of the cell
Implementations MUST use the sign, exponent, percent, and per-mille signs when parsing the string value of a cell to provide the value of the cell
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell contains an exponent, does not meet the numeric format defined above
Negative Test
If the datatype base for a cell is boolean, the datatype format annotation provides the true and false values expected, separated by |
.
If the datatype base for a cell is boolean, the datatype format annotation provides the true and false values expected, separated by |
.
Expects Warnings
If the datatype base for a cell is boolean, the datatype format annotation provides the true and false values expected, separated by |
.
Negative Test
Implementations MUST add a validation error to the errors annotation for the cell if the string being parsed
Negative Test
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
Negative Test
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
Negative Test
If the datatype base is a duration type, the datatype format annotation provides a regular expression for the string values
If the datatype base is a duration type, the datatype format annotation provides a regular expression for the string values
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
Applications MUST raise an error if both length and minLength are specified and length is less than minLength.
Negative Test
Applications MUST raise an error if both length and maxLength are specified and length is greater than maxLength.
Negative Test
Applications MUST raise an error if length, maxLength, or minLength are specified and the base datatype is not string or one of its subtypes, or a binary type.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
validate the value based on the length constraints described in section 4.6.1 Length Constraints, the value constraints described in section 4.6.2 Value Constraints and the datatype format annotation if one is specified, as described below. If there are any errors, add them to the list of errors for the cell.
Negative Test
Applications MUST raise an error if both minInclusive and minExclusive are specified, or if both maxInclusive and maxExclusive are specified.
Negative Test
Applications MUST raise an error if both minInclusive and minExclusive are specified, or if both maxInclusive and maxExclusive are specified.
Negative Test
Applications MUST raise an error if both minInclusive and maxInclusive are specified and maxInclusive is less than minInclusive, or if both minInclusive and maxExclusive are specified and maxExclusive is less than or equal to minInclusive.
Negative Test
Applications MUST raise an error if both minInclusive and maxInclusive are specified and maxInclusive is less than minInclusive, or if both minInclusive and maxExclusive are specified and maxExclusive is less than or equal to minInclusive.
Negative Test
Applications MUST raise an error if both minExclusive and maxExclusive are specified and maxExclusive is less than minExclusive, or if both minExclusive and maxInclusive are specified and maxInclusive is less than or equal to minExclusive.
Negative Test
Applications MUST raise an error if both minExclusive and maxExclusive are specified and maxExclusive is less than minExclusive, or if both minExclusive and maxInclusive are specified and maxInclusive is less than or equal to minExclusive.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
Applications MUST raise an error if minimum, minInclusive, maximum, maxInclusive, minExclusive, or maxExclusive are specified and the base datatype is not a numeric, date/time, or duration type.
Negative Test
If the value is a list, the constraint applies to each element of the list.
If the value is a list, the constraint applies to each element of the list.
If the value is a list, the constraint applies to each element of the list.
Negative Test
As defined in [tabular-data-model], validators MUST check that each row has a unique combination of values of cells in the indicated columns.
Validators MUST raise errors if there is more than one row with the same primary key
Negative Test
As defined in [tabular-data-model], validators MUST check that each row has a unique combination of values of cells in the indicated columns.
Validators MUST raise errors if there is more than one row with the same primary key
Negative Test
if row titles is not null, insert any titles specified for the row. For each value, tv, of the row titles annotation
if row titles is not null, insert any titles specified for the row. For each value, tv, of the row titles annotation
if row titles is not null, insert any titles specified for the row. For each value, tv, of the row titles annotation
it must be the name of one of the built-in datatypes defined in section 5.11.1 Built-in Datatypes
Expects Warnings
If included, @id is a link property that identifies the datatype described by this datatype description.
It MUST NOT start with _:
.
Negative Test
It MUST NOT be the URL of a built-in datatype.
Negative Test
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
The supported date and time formats listed here are expressed in terms of the date field symbols defined in [UAX35] and MUST be interpreted by implementations as defined in that specification.
Negative Test
No Unicode normalization (as specified in [UAX15]) is applied to these string values
When comparing URLs, processors MUST use Syntax-Based Normalization as defined in [[RFC3968]]. Processors perform Scheme-Based Normalization for HTTP (80) and HTTPS (443)
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Negative Test
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Negative Test
As defined in [tabular-data-model], validators MUST check that, for each row, the combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Negative Test
The combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
The combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
The combination of cells in the referencing columns references a unique row within the referenced table through a combination of cells in the referenced columns.
Validators MUST raise errors for each row that does not have a referenced row for each of the foreign keys on the table in which the row appears
Negative Test
Validators MUST raise errors for each row that does not have a referenced row for each of the foreign keys on the table in which the row appears
Negative Test
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Processors MUST use the first metadata found for processing a tabular data file by using overriding metadata, if provided. Otherwise processors MUST attempt to locate the first metadata document from the Link header or the metadata located through site-wide configuration.
Applications MUST raise an error if both minLength and maxLength are specified and minLength is greater than maxLength.
Negative Test
The value of any member of @type
MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
The value of any member of @type
MUST be either a term defined in [csvw-context], a prefixed name where the prefix is a term defined in [csvw-context], or an absolute URL.
Processors MUST issue a warning if a property is set to an invalid value type
Expects Warnings
It MUST NOT start with _:
and it MUST NOT be the URL of a built-in datatype.
Negative Test
An atomic property that contains a single string: the name of one of the built-in datatypes, as listed above (and which are defined as terms in the default context). Its default is string.
If the datatype base for a cell is boolean
, the datatype format annotation provides the true value followed by the false value, separated by |
. If the format does not follow this syntax, implementations MUST issue a warning and proceed as if no format had been provided.
Negative Test
All terms used within a metadata document MUST be defined in [csvw-context] defined for this specification
Expects Warnings
A foreign key definition is a JSON object that must contain only the following properties. . .
Negative Test
A foreign key definition is a JSON object that must contain only the following properties. . .
Negative Test
If present, its value MUST be a string that is interpreted as a URL which is resolved against the location of the metadata document to provide the base URL for other URLs in the metadata document.
The @context
MUST have one of the following values: An array composed of a string followed by an object, where the string is http://www.w3.org/ns/csvw
and the object represents a local context definition, which is restricted to contain either or both of the following members.
Negative Test
Table Group may only use defined properties.
Expects Warnings
Table may only use defined properties.
Expects Warnings
Column may only use defined properties.
Expects Warnings
Two schemas are compatible if they have the same number of non-virtual column descriptions, and the non-virtual column descriptions at the same index within each are compatible with each other.
Negative Test
Value MUST be a valid xsd:duration.
Negative Test
Value MUST be a valid xsd:dayTimeDuration.
Negative Test
Value MUST be a valid xsd:yearMonthDuration.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
A number format pattern as defined in [UAX35]. Implementations MUST recognise number format patterns containing the symbols 0
, #
, the specified decimalChar (or .
if unspecified), the specified groupChar (or ,
if unspecified), E
, +
, %
and ‰
.
Negative Test
Values in separate columns using the same propertyUrl are kept in proper relative order.
Values in separate columns using the same propertyUrl are kept in proper relative order.
Values in separate columns using the same propertyUrl are kept in proper relative order.
If the value of the datatype property is a string, it must be one of the built-in datatypes.
Negative Test
CSV transformation and validation tests which are non-normative and not required for acceptance testing.
Non-normative tests include variations described above. Conforming implementations are not required to pass such tests.
Table with one quoted field without metadata
Table with whitespace before and after every field without metadata
If a CSV+ file does not include a header line, this MUST be specified using the header
parameter.
text/csv;header=absent
If trim
is true
or "start" then whitespace from the start of values that are not enclosed MUST be removed from the value.
If trim
is true
or "end" then whitespace from the end of values that are not enclosed MUST be removed from the value.
If trim
is true
or "start" then whitespace from the start of values that are not enclosed MUST be removed from the value. If trim
is true
or "end" then whitespace from the end of values that are not enclosed MUST be removed from the value.
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.
Ignore header uses column definitions from metadata
Recognizes tab-separated-values with appropriate delimiter
Adds comments when found in skipRows
Adds comments when found in content
Ignores skipped columns
Ignores rows in which all columns are empty
Equivalent totrim="start"
Loads a dialect description
if referenced using a URL
A dialect defined in a Table completely overrides that defined in a TableGroup
each row
MUST contain the same number of cells (although some of these cells may be empty)
Negative Test
If trim
is true
or "start" then whitespace from the start of values that are not enclosed MUST be removed from the value.