identity
People, payments, credentials, and personal data
6 categories, 34 types: 9 a sibling in its category also accepts, 19 accepted by another category's rule, 13 that decompose into parts, 10 flagged as personal data, 1 in Meridian's open data.
The 6 identity categories
Each category's lookup value, against every other category's rule
| Category | Types | Casts to | For example | Within the group | Also accepted by |
|---|---|---|---|---|---|
| 14 | VARCHAR, DOUBLE | Male | 7 a sibling accepts, 4 misread | — | |
| 7 | VARCHAR | 99213 | each told apart | commerce, government, person | |
| 6 | VARCHAR | ABCPD1234E | 1 a sibling also accepts | person | |
| 5 | VARCHAR | 5901234123457 | 1 a sibling also accepts | government, person | |
| 1 | VARCHAR | 0000-0002-1825-0097 | — | person | |
| 1 | VARCHAR | 541511 | — | person |
Where identity categories overlap
Each type's lookup value, against every other category's rule
Which identity type is it?
5 of 34 identity types in 3 categories accept it, and read it 2 ways.
DuckDB cannot run 2 of these types' rules, so the box cannot say whether they accept a value.
Gender, Gender Code and Password carry no pattern or format, so they have no rule to ask.
What the engine extracts
- person8 of 14area_code · blood_group · country_code · digits_only · display_name · domain · email · first_name · last_name · local · rh_factor · subscriber · unit · value
- government2 of 6area · country_code · group · local_number · serial
- commerce3 of 5country_code · designation · ean_version · isbn_version · registrant · year
In Meridian's open data
Use it
One value from each category, each inferred on its own
CLI · DuckDB
$ for v in 'Male' '99213' 'ABCPD1234E' '5901234123457' '0000-0002-1825-0097' '541511'; do finetype infer -i "$v"; done
SELECT v, ft_infer(v) FROM (VALUES ('Male'), ('99213'), ('ABCPD1234E'), ('5901234123457'), ('0000-0002-1825-0097'), ('541511')) t(v);