First name, middle name, last name. Why not Full Name?

You can always construct a full name from its components, but you can’t always deconstruct a full name into its components.

Say you want to write an email starting with “Dear Richie” – you can do that trivially if you have a given_name field, but figuring out what someone’s given name is from their full name isn’t trivial.

You can also trivially search or sort by given_name, or family_name, or whatever.

(Note I’m using given_name, family_name, etc. rather than first_name, last_name, because different cultures put their names in different orders.)

Solving this problem in the general case is hard – here’s an article that gives a flavour of how hard it is: Representing People’s Names in Dublin Core.

Leave a Comment