This document adds additional properties to the Person class.

1. Use cases & requirements

The Person class should have properties for:

  1. each component of the name

    To display an abbreviated name on a mobile device.

  2. sort key

    To sort a list of names.

2. Standard Reuse

Many specifications use the same terms for name components, including FOAF,, RFC 6350 (vCard 4.0) and OpenSocial. FOAF and terms are reused, given their breadth of adoption.

The survey of existing specifications found few terms for sort keys; sortName was chosen, which is under consideration for FOAF. The Person Core Vocabulary adds a patronymicName component:

Patronymic names are important in some countries. Iceland does not have a concept of family name in the way that many other European countries do. In Bulgaria and Russia, patronymic names are in every day usage.

Additional resources:

2.1. Cardinality restrictions

In RFC 6350 (vCard 4.0), each component of a name – family name, given name, additional name, honorific prefix and honorific suffix – can include multiple text values. Other vocabularies, including FOAF, do not restrict the cardinality of these properties either. Some, like OpenSocial, do. This data specification requires that each component of a name can include one text value only, which itself may contain multiple names.

3. Classes and properties

Term Mapping Definition
family name foaf:familyName One or more family names
given name foaf:givenName One or more primary given names
additional name schema:additionalName One or more secondary given names
honorific prefix schema:honorificPrefix1 One or more honorifics preceding a person's name
honorific suffix schema:honorificSuffix One or more honorifics following a person's name
patronymic name person:patronymicName One or more patronymic names
sort name con:sortName2 A name to use in a lexicographically ordered list

1. schema:honorificPrefix is used instead of foaf:title, because foaf:title is a candidate for deprecation.

2. FOAF proposes foaf:sortName. vCard uses SORT-AS. con:sortName seems to be the only existing RDF property.

4. Serialization

5. Code lists