bcsv
Version: v26.0610
Namespace: https://behaverse.org/schemas/bcsv/v26.0610
JSON Schema for BCSV (Better CSV) metadata files
Properties
This schema defines 27 properties for describing bcsv metadata.
Table Properties
| Property | Type | Requirement | Description |
|---|---|---|---|
| @context | string | required | JSON-LD context URL |
| @type | csvw:Table | optional | JSON-LD node type (rdf:type). A bcsv document describes a CSVW table. |
| name | string | optional | Short URL-friendly identifier |
| url | string | required | URL or path to the CSV file |
| dialect | object | optional | CSV serialization hints. v0 honors delimiter and encoding; other CSVW dialec... |
| pretty_name | string | optional | Human-readable title for the table |
| description | string | required | Detailed description of the table contents |
| date_created | string (date) | optional | Date the table was created |
| creator | string / object / array | optional | Person or organization that created the table (string, object, or array of objec... |
| file_hash | string | optional | SHA-256 hash of the CSV file for integrity verification (lowercase hex) |
| license | string | optional | License identifier in SPDX format (e.g., CC-BY-4.0, MIT, Apache-2.0) |
| table_schema | object | required | Schema describing the structure and properties of columns in the CSV table |
Column Properties
These properties are used within the table_schema.columns array to describe individual columns.
| Property | Type | Requirement | Description |
|---|---|---|---|
| name | string | required | Column name (must match CSV header) |
| label | string | optional | Human-readable label |
| description | string | optional | Detailed description of the column |
| datatype | enum | optional | Data type of the column |
| format | string | optional | Format pattern or constraint for values (forbidden when datatype is categorical ... |
| unit | string | optional | Unit of measurement (e.g., 'kg', '°C', 'mol/L') |
| levels | array | optional | Factor levels for categorical or ordered datatypes (strings or numbers; integers... |
| minimum | number | optional | Minimum value for numeric columns |
| maximum | number | optional | Maximum value for numeric columns |
| min_length | integer | optional | Minimum string length |
| max_length | integer | optional | Maximum string length |
| null | string / array | optional | String(s) representing null values |
| na_strings | array | optional | Additional missing value codes |
| required | boolean | optional | Whether column values are required (not null) |
| virtual | boolean | optional | Whether column is virtual (not in CSV) |
Usage
See the examples for practical usage patterns.
Version History
The current version of bcsv is v26.0610.
Older versions are available in the bcsv/versions/ directory.