zephyr-data-specs / GMNS

General Modeling Network Specification
https://zephyr-data-specs.github.io/GMNS/
104 stars 15 forks source link

🐛 Need to clarify if `required` means a required column OR also required valid data within column #70

Open e-lo opened 1 year ago

e-lo commented 1 year ago

As an implementer of GMNS, I'd like to understand if the required constraint applies to values or columns (or both)

Frictionless spec is really just checking for the column presence and allows for missing values. If we don't want missing values, then we need to assert pattern or enum or other constraints.

ianberg-volpe commented 1 year ago

Our intent was to use the term required to require column presence and prohibit missing values. I think this lines up with the definition used by Frictionless Table Schema's constraints:

Property Type Applies to Description
required boolean All Indicates whether this field cannot be null. If required is false (the default), then null is allowed. See the section on missingValues for how, in the physical representation of the data, strings can represent null values.

Is the issue actually in the frictionless python package's implementation of the term?