MeridianMERIDIAN

Full Name

identity.person.full_name

Complete person name (first and last names, possibly including middle names). Locale-specific due to name order and formatting conventions (e.g., Western "FirstName LastName" vs East Asian "LastName FirstName").

Worked samples

DuckDB 1.5.5 · finetype 0.6.64

ValueAs VARCHARfirst_namelast_name
John SmithJohn SmithJohnSmith
María GarcíaMaría GarcíaMaríaGarcía
Jacques DuboisJacques DuboisJacquesDubois
田中太郎田中太郎田中太郎田中太郎
محمد عليمحمد عليمحمدعلي
Smith, Mr. JohnSmith, Mr. JohnJohnSmith
Dr. Jane WilsonDr. Jane WilsonJaneWilson
BROWN, ALICEBROWN, ALICEALICEBROWN
Scope
Locale-specific
Personal data
Yes — treat as PII
Locales
EN, EN_AU, EN_GB, EN_CA, EN_US, DE, FR, ES, IT, NL, PL, RU, JA, ZH, KO, AR

Shape

Length 2 to 200 characters.

Pattern
^[\p{L}\s'\-.,]+$
ValueLengthShape
John Smith10not checked
María García12not checked
Jacques Dubois14not checked
田中太郎4not checked
محمد علي8not checked
Smith, Mr. John15not checked
Dr. Jane Wilson15not checked
BROWN, ALICE12not checked

pattern uses syntax this checker does not support

Background

Origin

The vCard Format Specification, RFC 6350, was published in August 2011.[1] Its FN property holds the formatted text of the name of the object the vCard represents.[1] RFC 6350 requires at least one FN property in every vCard.[1] A separate, optional N property breaks the name into components: family names, given names, additional names, honorific prefixes and honorific suffixes.[1] That split is a useful picture of this type: a full name is the FN side, one display string, while first and last name columns are an attempt at the N side. (Meridian's view)

Use

The W3C's guide to personal names notes that in Japan, Korea and Hungary names are ordered family name followed by given name.[2] The same guide says Spanish-speaking people commonly have two family names.[2] In Icelandic names, the guide explains, the second part indicates the father's or sometimes the mother's name.[2]

The W3C guide advises that, where possible, it is simpler to use the full name as the user provides it.[2] Patrick McKenzie's essay Falsehoods Programmers Believe About Names lists the belief that people's names fit within a certain defined amount of space as a falsehood.[3] The same essay lists the belief that people's names are case insensitive as a falsehood.[3] Keep the original string untouched, treat any split into parts as a lossy derived column, and never normalise case on the stored value. (Meridian's view)

Where you'll meet it

The US Federal Election Commission's contributions by individuals file carries a NAME column, Contributor/Lender/Transfer Name, as a single field.[4] The FEC's file description gives that column the data type VARCHAR2 (200) and the example Abigail Adams.[4]

Detection notes

v1 migration: Was person.full_name. Locale-specific due to name order conventions. Simple decompose extracts first and last words; more sophisticated parsing requires NLP. Includes Unicode letter support for international names.

Use it

CLI · DuckDB
$ finetype infer -i "John Smith" --mode column
→ identity.person.full_name

SELECT ft_infer('John Smith');
-- → 'identity.person.full_name'
Cast expression
CAST({col} AS VARCHAR)

Schema

https://meridian.online/schemas/identity.person.full_name · Frictionless type string

finetype taxonomy identity.person.full_name -o json-schema

Aliases

namefullname

Type Registry