Shape / inspect · All operations
Check data quality
Data-quality rule, assertion, test, constraint or schema check.
Status
- In arcform
Runs as a SQL step
arcform carries it as a
sql:step today.- Shape of the result
- a table describing the input rather than holding its rows
- Level
- several clauses of SQL, or a window
The DuckDB step
Rows failing each rule, counted
It reads the orders and customers tables the proofs share. Create them first:
CREATE TABLE orders AS SELECT * FROM (VALUES
(1, 'Alice Ng', 'north', DATE '2026-01-03', 120.00, 'widget', 'a|b', '{"channel":"web","items":[1,2]}'),
(2, 'alice ng', 'north', DATE '2026-01-05', 80.50, 'gadget', 'b', '{"channel":"shop","items":[3]}'),
(3, 'Bob Okafor', 'south', DATE '2026-01-05', 300.00, 'widget', 'a|c', '{"channel":"web","items":[4,5,6]}'),
(4, 'Carla Díaz', 'east', DATE '2026-01-09', NULL, 'gizmo', NULL, '{"channel":"web","items":[]}'),
(5, 'Bob Okafor', 'south', DATE '2026-01-12', 45.25, 'gadget', 'c', '{"channel":"phone","items":[7]}'),
(6, 'Dev Patel', 'west', DATE '2026-01-12', 510.00, 'widget', 'a', '{"channel":"web","items":[8,9]}'),
(7, 'Carla Diaz', 'east', DATE '2026-01-20', 99.99, 'gizmo', 'b|c', '{"channel":"shop","items":[10]}'),
(8, 'Dev Patel', 'west', DATE '2026-02-02', 510.00, 'widget', 'a', '{"channel":"web","items":[8,9]}'),
(9, 'Eve Larsen', NULL, DATE '2026-02-03', 15.00, 'gadget', NULL, '{"channel":"web","items":[11]}'),
(10, 'Alice Ng', 'north', DATE '2026-02-10', 220.00, 'gizmo', 'a|b|c', '{"channel":"phone","items":[12,13]}')
) t(order_id, customer, region, order_date, amount, product, tags, meta);
CREATE TABLE customers AS SELECT * FROM (VALUES
('Alice Ng', 'retail', DATE '2025-06-01', 52.52, 13.40),
('Bob Okafor', 'wholesale', DATE '2025-09-15', 48.85, 2.35),
('Carla Diaz', 'retail', DATE '2025-11-30', 40.42, -3.70),
('Frank Moore', 'retail', DATE '2026-01-01', 51.51, -0.13)
) t(customer, segment, joined, lat, lon);Then run the statement:
CREATE TEMP TABLE result AS
SELECT 'amount is present' AS rule, count(*) FILTER (WHERE amount IS NULL) AS failing, count(*) AS checked FROM orders
UNION ALL
SELECT 'order_id is unique', count(*) - count(DISTINCT order_id), count(*) FROM orders
UNION ALL
SELECT 'customer is known', count(*) FILTER (WHERE c.customer IS NULL), count(*) FROM orders o LEFT JOIN customers c USING (customer);
SELECT * FROM result;
SELECT CASE WHEN ((SELECT map_from_entries(list((rule, failing) ORDER BY rule)) = MAP {'amount is present': 1, 'customer is known': 6, 'order_id is unique': 0} FROM result)) THEN 'as expected' ELSE error('the rules did not count 1 missing amount, 6 unknown customers and 0 repeated ids') END AS verdict;- It needs nothing installed beyond DuckDB itself.
- The statement checks its own result and raises an error when it is wrong: “the rules did not count 1 missing amount, 6 unknown customers and 0 repeated ids”.
- It passed on DuckDB
v2.0.0 (Cyanoptera) d54cbbe3df.
Variants
- Compare two tables
Check that a table matches another or an expected result, row for row, by row count or by a summary figure.
- Validate files against a schema
Check that XML, JSON or CSV content or files are well-formed and conform to a schema such as XSD, DTD or JSON Schema.
- Flag invalid values
Keep every row and add a column marking whether its value is valid, such as an error, a malformed geometry or a bad email address.
- Find outliers
Find values far from the rest of their column by interquartile range or z-score, and flag, remove or reject them.
- Report a quality scorecard
Run a set of rules and return one row per rule with its outcome, instead of stopping the run.
- Split valid from invalid rows
Send the rows that pass the rules to one output and the rows that fail to another, instead of stopping the run.
- Check a table's structure
Check that a table has the expected columns, names and types, failing or conforming it when it does not.
- Check a table-wide measure
Compute one measure over the whole table, such as the row count, share of nulls, mean or age of the newest row, and check it against a threshold.
Other checks
Checks on things other than data, such as a learner's settings.
Check every row against a rule
Test each row against a rule, such as not null, unique, in a list, in a range or matching a pattern, and fail when any row breaks it.
What other tools call it
Meridian's classification; an independent blind rating agreed on 86.2% of 312 rows (exact class, version 2).
Alteryx Designer (2)
Expect Equalread 2026-09-27Assert that two data streams are identical and report an error when they are not
Testread 2026-09-27Assert conditions on data or record counts and raise an error when a test fails
Apache Hop (9)
Check if XML file is well-formedread 2026-09-27Check that XML files are well-formed
Credit card validatorread 2026-09-27Check a card number with the Luhn algorithm and identify the card vendor
DTD validatorread 2026-09-27Validate an XML file against a DTD
Data Validatorread 2026-09-27Check fields against rules for data type, nulls, string length, min and max, allowed values
Database value validationread 2026-09-27Check values against a target table and report the rows and columns an insert would reject
Evaluate rows number in a tableread 2026-09-27Test the row count of a table or query against a condition to branch the workflow
Mail validatorread 2026-09-27Check that an email address is valid, optionally by SMTP lookup
XSD Validatorread 2026-09-27Validate XML in a file or field against an XSD schema
XSD validatorread 2026-09-27Validate an XML file against an XSD schema
Apache NiFi (5)
ScriptedValidateRecordread 2026-09-27Route records as valid or invalid by the boolean a user script returns
ValidateCsvread 2026-09-27Validate CSV content, or an attribute value, against a user-specified CSV schema
ValidateJsonread 2026-09-27Validate JSON content against a JSON Schema
ValidateRecordread 2026-09-27Validate records against a schema; valid and invalid records go to separate relationships
ValidateXmlread 2026-09-27Validate XML held in content or in a named attribute
Apache SeaTunnel (1)
DataValidatorread 2026-09-27Validate fields by null, range, length and regex rules; fail, skip or route invalid rows to a table
AWS Glue (29)
AggregateMatchread 2026-09-27Check that two datasets agree on summary metrics, such as a total
ColumnCountread 2026-09-27Check the number of columns, to catch dropped columns
ColumnDataTyperead 2026-09-27Check that the values of a column comply with a data type
ColumnExistsread 2026-09-27Check that a column exists in the dataset
ColumnLengthread 2026-09-27Check the length of the values of a column
ColumnNamesMatchPatternread 2026-09-27Check that column names match a pattern
ColumnValuesread 2026-09-27Check the values of a column against defined values, ranges or a regular expression
Completenessread 2026-09-27Check the share of non-null, non-blank values in a column
CustomSqlread 2026-09-27Check a data quality condition expressed as a SQL statement
DataFreshnessread 2026-09-27Check how recent the values of a date column are
DistinctValuesCountread 2026-09-27Check the number of distinct values in a column
Evaluate Data Qualityread 2026-09-27Evaluate data quality rules written in DQDL against a dataset and act on the result
EvaluateDataQualityread 2026-09-27Evaluate a data quality ruleset against a frame and return the results as a frame
FileFreshnessread 2026-09-27Check how recent the files at an Amazon S3 path are
FileMatchread 2026-09-27Check by checksum that a file matches a checksum or another file
FileSizeread 2026-09-27Check the size of files against a condition
FileUniquenessread 2026-09-27Check by checksum that files are unique
IsCompleteread 2026-09-27Check that a column has no nulls
IsPrimaryKeyread 2026-09-27Check that a column, or set of columns, is unique and not null
IsUniqueread 2026-09-27Check that every value of a column is unique
Meanread 2026-09-27Check the mean of a column against a threshold
ReferentialIntegrityread 2026-09-27Check that the values of a column exist in a reference dataset
RowCountread 2026-09-27Check the number of rows against a threshold
RowCountMatchread 2026-09-27Check that the row counts of two datasets match
SchemaMatchread 2026-09-27Check that the schemas of two datasets match
StandardDeviationread 2026-09-27Check the standard deviation of a column against a threshold
Sumread 2026-09-27Check the sum of a column against a threshold
UniqueValueRatioread 2026-09-27Check the ratio of unique values in a column against a threshold
Uniquenessread 2026-09-27Check the share of values in a column that occur exactly once
Azure Data Factory (1)
Assertread 2026-09-27Set assertion rules that each row is checked against
Bruin (12)
Accepted valuesread 2026-09-27Check: Column value is one of a list of accepted values
Custom Checksread 2026-09-27A user SQL query whose result must equal a value, zero by default, or return an expected row count
Maxread 2026-09-27Check: Column values are all at or below a maximum threshold
Minread 2026-09-27Check: Column values are all at or above a minimum threshold
Negativeread 2026-09-27Check: Column values are all negative
Non-Negativeread 2026-09-27Check: Column values are all zero or positive
Not-Nullread 2026-09-27Check: Column holds no null values
Patternread 2026-09-27Check: Column values match a regular expression
Positiveread 2026-09-27Check: Column values are all greater than zero
Relationshipsread 2026-09-27Check: Every non-null value exists in the column named by foreign_key metadata
Uniqueread 2026-09-27Check: No column value appears more than once
Unit Testsread 2026-09-27Run the asset query against mock upstream rows as a read-only SELECT and compare with expected rows
dbt-utils (21)
Singular data testsread 2026-09-27A hand-written SELECT saved as a test; any row returned is a failure
accepted_rangeread 2026-09-27Assert column values fall in a min/max range, inclusive or exclusive, against scalars or columns
accepted_valuesread 2026-09-27Assert every non-null value of a column is in a supplied list
at_least_oneread 2026-09-27Assert a column has at least one non-null value
cardinality_equalityread 2026-09-27Assert a column has the same value cardinality as a column in another model
equal_rowcountread 2026-09-27Assert two relations have the same number of rows, optionally per group
equalityread 2026-09-27Assert two relations hold the same rows, over all or chosen columns, with optional numeric precision
expression_is_trueread 2026-09-27Assert a SQL expression is true for all rows, or for rows matching a where filter
fewer_rows_thanread 2026-09-27Assert the model has fewer rows than a comparison relation, optionally per group
mutually_exclusive_rangesread 2026-09-27Assert lower/upper bound ranges do not overlap across rows, with gap rules and optional partition
not_accepted_valuesread 2026-09-27Assert no rows hold any of the listed values
not_constantread 2026-09-27Assert a column does not hold the same value in all rows
not_empty_stringread 2026-09-27Assert a column has no values equal to the empty string, optionally after trimming
not_nullread 2026-09-27Assert a column has no null values
not_null_proportionread 2026-09-27Assert the share of non-null values in a column lies between at_least and at_most
recencyread 2026-09-27Assert a timestamp column holds data at least as recent as a given interval
relationshipsread 2026-09-27Assert every non-null child value has a matching record in a parent relation
relationships_whereread 2026-09-27Assert referential integrity between two relations after filtering each side by a predicate
sequential_valuesread 2026-09-27Assert a numeric or datetime column increases by a fixed interval from row to row
uniqueread 2026-09-27Assert a column has no duplicate values
unique_combination_of_columnsread 2026-09-27Assert a combination of columns is unique across rows
Duckle (14)
Assertread 2026-09-25fail the pipeline if any row violates a SQL predicate
Check Empty Geometryread 2026-09-25flag or filter empty geometries with ST_IsEmpty
Data Contractread 2026-09-25the expectation suite as a gate: pass rows through or fail the run
Expectationsread 2026-09-25run a suite of expectations and emit a scorecard row per rule
Freshness Check (SLA Gate)read 2026-09-25check the age of the newest timestamp against a maximum
Not-Null Checkread 2026-09-25pass rows with no nulls in chosen columns, the rest to reject
Outlier Detectionread 2026-09-25route IQR or z-score outliers of a numeric column to reject
Range Checkread 2026-09-25pass in-range rows, the rest to reject
Referential Integrityread 2026-09-25pass rows whose key exists in a reference input, orphans to reject
Regex Matchread 2026-09-25pass rows matching a pattern, the rest to reject
Run Baselineread 2026-09-25compare this run's profile with the median of previously accepted runs
Schema Validateread 2026-09-25reject rows where an expected column is null
Uniqueness Checkread 2026-09-25pass the first row per key, duplicates to reject
Validate Geometryread 2026-09-25flag or filter invalid geometries with ST_IsValid
EasyMorph (2)
Halt on data type mismatchread 2026-09-27Abort the run when a value in given columns has the wrong data type
Verify data in another tableread 2026-09-27Run data-quality checks on another table: duplicates, types, content, names, custom rules
KNIME Analytics Platform (7)
JSON Schema Validatorread 2026-09-27Validate JSON values against a JSON Schema
KNIME Testing Framework UI (extension)read 2026-09-27Extension outside the base install: 29 current nodes: Block Programmatically (Table); Block Programmatically (Variable), …
Numeric Outliersread 2026-09-27Flag numeric outliers by interquartile-range rule and remove or replace them
Numeric Outliers (Apply)read 2026-09-27Treat outliers in a table using bounds computed by Numeric Outliers
Reference Table Validatorread 2026-09-27Check a table's columns, types and domains against a second reference table and conform it
Table Structure Validatorread 2026-09-27Check that a table matches a reference column structure set in the dialog, fixing or failing
Table Validatorread 2026-09-27Check table structure and content against a specification set in the dialog
OpenRefine (3)
Duplicates facetread 2026-09-27Mark each row true or false by whether its value in the column occurs more than once
Facet by errorread 2026-09-27Split rows true or false by whether the cell holds a stored error
Issue detectionread 2026-09-27Analyse the schema and list suggested fixes, such as statements that lack a reference
Pentaho Data Integration (4)
Credit card validatorread 2026-09-27Check a card number with the Luhn algorithm and name the card vendor
Data Validatorread 2026-09-27Validate passing rows against a set of rules
Mail Validatorread 2026-09-27Check whether an email address is valid
XSD Validatorread 2026-09-27Validate XML in files or fields against an XML Schema Definition
Polars (3)
DataFrame.is_sortedread 2026-09-27Check whether the frame is sorted by the given columns
DataFrame.match_to_schemaread 2026-09-27Check a frame against a target schema, erroring or coercing on missing, extra or mistyped columns
polars.testing asserts (family)read 2026-09-275 functions: assert_frame_equal, assert_frame_not_equal, assert_series_equal, assert_series_not_equal, assert_schema_equal
Power Query M (7)
Table.Containsread 2026-09-27Report whether a given record appears as a row
Table.ContainsAllread 2026-09-27Report whether all of the given records appear as rows
Table.ContainsAnyread 2026-09-27Report whether any of the given records appears as a row
Table.HasColumnsread 2026-09-27Report whether the table has the named column or columns
Table.IsDistinctread 2026-09-27Report whether the table has no duplicate rows
Table.MatchesAllRowsread 2026-09-27Report whether every row satisfies a condition
Table.MatchesAnyRowsread 2026-09-27Report whether at least one row satisfies a condition
RapidMiner Studio (2)
Check Model Conformanceread 2026-09-27Check whether a table's columns and values are compatible with a model's training data
Tukey Testread 2026-09-27Flag outliers per numeric column by Tukey's fences around the quartiles
SQLMesh (32)
Generic auditsread 2026-09-27A parameterised audit query using @this_model and named arguments, reusable across models
Unit testsread 2026-09-27YAML tests that run a model on given input rows and compare query or CTE output to expected rows
User-defined audits (AUDIT)read 2026-09-27A named SQL query that must return no rows, in an audits file or inline in the model
accepted_rangeread 2026-09-27Audit: Column values lie in a numeric range, inclusive by default
accepted_valuesread 2026-09-27Audit: Every row of a column holds one of the accepted values
at_least_oneread 2026-09-27Audit: Listed columns contain at least one non-NULL value
chi_squareread 2026-09-27Audit: Chi-square statistic for two categorical columns stays under a critical value
forallread 2026-09-27Audit: Every row satisfies a list of arbitrary boolean SQL expressions
kl_divergenceread 2026-09-27Audit: Symmetrised Kullback-Leibler divergence between two columns stays under a threshold
match_like_pattern_listread 2026-09-27Audit: Every non-NULL value is LIKE at least one listed pattern
match_regex_pattern_listread 2026-09-27Audit: Every non-NULL value matches at least one listed regular expression
mean_in_rangeread 2026-09-27Audit: A numeric column's mean lies in a range
mutually_exclusive_rangesread 2026-09-27Audit: Each row's numeric range overlaps no other row's range
not_accepted_valuesread 2026-09-27Audit: No row of a column holds one of the listed values
not_constantread 2026-09-27Audit: Listed columns have at least two non-NULL values
not_empty_stringread 2026-09-27Audit: No row of a column holds the empty string
not_match_like_pattern_listread 2026-09-27Audit: No non-NULL value is LIKE any listed pattern
not_match_regex_pattern_listread 2026-09-27Audit: No non-NULL value matches any listed regular expression
not_nullread 2026-09-27Audit: Listed columns contain no NULL values
not_null_proportionread 2026-09-27Audit: Proportion of NULL values in a column is no greater than a threshold
number_of_rowsread 2026-09-27Audit: Row count of the model exceeds a threshold
sequential_valuesread 2026-09-27Audit: Each ordered value equals the previous row's value plus an interval
stddev_in_rangeread 2026-09-27Audit: A numeric column's standard deviation lies in a range
string_length_betweenread 2026-09-27Audit: Every string length in a column lies in a range
string_length_equalread 2026-09-27Audit: Every string in a column has a given number of characters
unique_combination_of_columnsread 2026-09-27Audit: Each row has a unique combination of values over listed columns
unique_valuesread 2026-09-27Audit: Listed columns contain no duplicated values
valid_emailread 2026-09-27Audit: Every non-NULL value matches an email address pattern
valid_http_methodread 2026-09-27Audit: Every non-NULL value is a valid HTTP method name
valid_urlread 2026-09-27Audit: Every non-NULL value matches a URL pattern
valid_uuidread 2026-09-27Audit: Every non-NULL value matches the UUID pattern
z_scoreread 2026-09-27Audit: No row has an absolute z-score above a threshold
subtoken (1)
subtoken_is_truncatedread 2026-09-27Report whether subtoken_embed would drop part of a text to fit its input limit
Tableau Prep (2)
Assign data roleread 2026-09-27Mark a field as Email, URL or a geographic role; values invalid for the role are flagged
Publish as Data Roleread 2026-09-27Save a field's values as a custom data role to validate other fields against
Talend (10)
Database valid and invalid rows components (family)read 2026-09-2714 components checking table rows against data quality patterns or rules: tDBValidRows, tMySQLInvalidRows, tOracleValidRows
tDQRules/tDataQualityRulesread 2026-09-27Validate rows against data quality rules held in Qlik Talend Data Integration or a Talend app
tDTDValidatorread 2026-09-27Validate an XML file against a DTD and output the validation log
tJSONValidatorread 2026-09-27Validate JSON data against a JSON schema
tMultiPatternCheckread 2026-09-27Check several columns against Java regular expressions, splitting matching from non-matching rows
tPatternCheckread 2026-09-27Check a column against a Java regular expression, splitting matching from non-matching rows
tSchemaComplianceCheckread 2026-09-27Validate rows against a reference schema: types, nullability and length
tThresholdViolationAlertread 2026-09-27Find indicators in the data quality report database whose thresholds are violated
tVerifyEmailread 2026-09-27Check email addresses against rules and correct non-conforming ones from other columns
tXSDValidatorread 2026-09-27Validate an XML file or flow against an XSD and output the validation log
Trifacta (1)
Extract mismatchedread 2026-09-27Extract the values that do not match a chosen data type
VisiData (3)
assert-cellread 2026-09-23Assert current cell's displayed value equals an expected string
assert-exprread 2026-09-23Assert that a Python expression is truthy
assert-expr-rowread 2026-09-23Assert that a Python expression is truthy for current row
Yggdrasil Decision Forests (1)
validate_hyperparametersread 2026-09-27Raise if the learner's hyperparameter values are invalid or incompatible
Background
Data validation checks that data is both correct and useful, using routines often called validation rules, validation constraints or check routines.[1] Validation rules check data for correctness, meaningfulness and security, and may use declarative data integrity rules or procedure-based business rules.[1] In dbt, a data test is a SELECT statement that returns the failing records, and a test that returns zero failing rows passes.[2]
When to use it
The guarantees of data validation do not necessarily include accuracy, so a data entry error such as a misspelling can be accepted as valid.[1] A rule tells you the data has the shape you expected, not that it is true; keep that in mind when a clean run is read as good data. (Meridian's view)
In DuckDB, the error function throws the given error message.[3] Decide for each rule whether a failure should stop the run or be reported while the data carries on, because the two call for different queries. (Meridian's view)
In DuckDB, any comparison with a NULL value returns NULL, including NULL = NULL.[4] In PostgreSQL, a CHECK constraint is satisfied if its expression evaluates to true or to the null value, so most such constraints do not keep nulls out of a column.[5] In PostgreSQL, a unique constraint by default does not treat two null values as equal, so duplicate rows can be stored when a constrained column holds a null.[5] Write every rule so that a missing value gives a definite pass or fail, and state which one it is. (Meridian's view)
The method
Kinds of data validation include data type, range and constraint, code and cross-reference, structured and consistency validation.[1] A range check tests that data lies within a specified range, such as a probability between 0 and 1, and a presence check tests that required data is there.[1] A referential integrity check makes sure that a value in a foreign key field always refers to a row in the referenced table.[1] A check digit is an extra digit, calculated from the other digits of a number, that supports error detection.[1]
In dbt, a test query selects the records that disprove its assertion: a uniqueness test selects duplicates and a not-null test selects nulls.[2] Writing a rule as a query for the rows that break it pays twice: the count says whether the rule held, and the rows say where to look. (Meridian's view)
Data quality expectations, specifications and requirements are stated in terms of dimensions of the data, such as completeness, timeliness and validity.[6]
Compared with the alternatives
Data validation is distinct from formal verification, which attempts to prove or disprove the correctness of algorithms for implementing a specification.[1]
Sources
- [1]Data validation - Wikipediasecondary source
- [2]Add data tests to your DAG | dbt Developer Hubdocumentation
- [3]Utility Functions – DuckDBdocumentation
- [4]NULL Values – DuckDBdocumentation
- [5]PostgreSQL: Documentation: 18: 5.5. Constraintsdocumentation
- [6]Data quality - Wikipediasecondary source
Types it works with
FineType's registry gives 251 types a validation rule.
ABA Routing Number: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
IBAN: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
Credit Card Number: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
CUSIP: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
FIGI: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
ISIN: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
LEI: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
SEDOL: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
Shipping Container Code (ISO 6346): FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
ORCID: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
EAN: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
ISBN: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
ISSN: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
UPC: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
Australian Business Number: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
DEA Number: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
NPI (National Provider Identifier): FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
CAS Registry Number: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
IMEI: FineType's table validator checks its check digit.
Evidence: crates/finetype-core/src/table_validator.rs in finetype at 3693c9f
Used in
9 Protocols use this operation:
- NAICS — Industry Classification, step
validate - Epoch AI Notable AI Models dataset, step
raw_models - California Housing dataset, step
load - EDGAR ↔ GLEIF — Company-to-LEI Crosswalk, steps
load,package,validate - MedMCQA dataset, step
load - Palmer Penguins dataset, step
raw_penguins - SuperGPQA dataset, steps
corpus,load - SEC EDGAR — Company Tickers, step
validate - USGS Earthquakes 2025 dataset, step
raw_earthquakes