Semicolon-Separated Values
container.array.semicolon_separatedList separated by semicolon: value1;value2;value3. Common in European CSV exports (where comma is decimal separator).
Worked samples
DuckDB 1.5.5 · finetype 0.6.64
| Value | As VARCHAR | parts |
|---|---|---|
| apple;banana;cherry | apple;banana;cherry | ['apple', 'banana', 'cherry'] |
| 1,5;2,3;4,7 | 1,5;2,3;4,7 | ['1,5', '2,3', '4,7'] |
Shape
^[^;]+(;[^;]+)*$| Value | Length | Shape |
|---|---|---|
| apple;banana;cherry | 19 | matches |
| 1,5;2,3;4,7 | 11 | matches |
Told apart
3 of the 3 other array types accept every one of these samples on shape alone.
- Comma-Separated Values (Simple)matches them by pattern
- Pipe-Separated Valuesmatches them by pattern
- Whitespace-Separated Valuesmatches them by pattern
Going the other way, this type's own rule accepts 3 of 3 samples of Comma-Separated Values (Simple), 2 of 2 samples of Pipe-Separated Values and 3 of 3 samples of Whitespace-Separated Values.
Background
Origin
FineType defines semicolon-separated values as a type of its own, labelled container.array.semicolon_separated, in its container domain.[1] FineType's registry describes the type as a list separated by semicolons, written value1;value2;value3.[1]
Raymond Chen's Old New Thing post says Microsoft Outlook uses a semicolon to separate multiple recipients by default.[2] Raymond Chen's post explains that businesses complained that a comma separator caused havoc because their address books set names as Last, First.[2] Raymond Chen's post says the Outlook team tried to change the default in 2000, but the outcry from corporations made them go back to the semicolon.[2]
Use
In the GFF3 genome annotation format, multiple tag=value pairs in the attributes column are separated by semicolons.[3] The GFF3 specification has multiple values for one attribute separated by commas, as in Parent=AF2312,AB2812,abc-3.[3] The VCF specification defines the ID column as a semicolon-separated list of unique identifiers.[4] The VCF specification defines the INFO column as a semicolon-separated series of additional information fields.[4] The VCF specification uses a semicolon-separated list of codes in the FILTER column for filters that a site fails.[4]
Where you'll meet it
Ensembl's README for its yeast GFF3 downloads says its gene annotation is provided in GFF3 format, as specified by the Sequence Ontology.[5]
Sources
- [1]finetype/labels/definitions_container.yaml at main · meridian-online/finetype · GitHubFineType
- [2]Why does Outlook use a semicolon to separate multiple recipients by default?secondary source
- [3]Specifications/gff3.md at master · The-Sequence-Ontology/Specifications · GitHubstandard
- [4]The Variant Call Format Specificationstandard
- [5]READMEorganisation
Detection notes
v1 migration: New for v2. Semicolon separator common in Europe (RFC 4180 variant with comma as decimal). Decompose splits on semicolon.
Use it
$ finetype infer -i "apple;banana;cherry" --mode column
→ container.array.semicolon_separated
SELECT ft_infer('apple;banana;cherry');
-- → 'container.array.semicolon_separated'CAST({col} AS VARCHAR)Schema
https://meridian.online/schemas/container.array.semicolon_separated · Frictionless type string
finetype taxonomy container.array.semicolon_separated -o json-schema