Any name (or chunk of text being treated as a name) can be translated into a standardized "key." Keys are comprised solely of lowercase alphanumeric characters, underscores, and asterisks.
The key is used primarily in detecting name variants.
- Apples — apple
- TedErnst — ted_ernst
- Joe's Blog Entries — joe_s_blog_entry
The default Wagn algorithm for key generation is as follows.
- decode any HTML
- add a space before any upper case letter followed by a lower case letter (this splits CamelCase into words)
- make all upper case into lower case
- replace any non-alphanumeric character (except *) with a space
- break the name into words, and make each word singular if it's plural
- rejoin those words with underscores (instead of spaces)
NOTE: At present the above algorithm has an English bias, because the singularization algorithm is based on English patterns. In coming releases, this will be addressed in attempts to make Wagn more completely international.