A Proposal for a Person Schema
This describes a natural Person as a Thing. Therefore, elementId, @id, coreMetaData, and context will always be present in Things.
Property | Expected Type | Description |
---|---|---|
Primary Electronic Mail address. | ||
elementId | String | A unique and persistent identifier for the record within the system's data set. |
@id | URL | The full unique link to the item so it's traversable by that property. |
coreMetaData | Object | The object representation of the Thing CoreMetaData. |
emailAddresses | Array | A collection of Email objects. |
socialAddresses | Array | The various Internet locations that help disambiguate a person or organization, such as their FaceBook, LinkedIn, YouTube and Twitter Address. |
phoneNumbers | Array | A collection of PhoneNumber. Which foreign key is used will be determined by the object the phone number is in. |
languages | Object | A collection of Language. |
context | Context | The JSON-LD context for the item in question. |
postalAddresses | Array | An array of the object Postal Address. |
membership | Object | The object representation of the Thing Membership. |
personName | Object | The object representation of the Thing PersonName. |
disambiguated | Object | The object representation of the Thing Disambiguated. |
Common Elements
Person has multiple common elements, such as postalAddresses, socialAddresses, phoneNumbers, and languages. These have all been approved for quite some time and can be found online at their respective URLs.
Many of the elements within Person are Things or Objects unto themselves and are described below.
email and Email addresses
Email is the primary email address for the person, and emails is a a listing of all other email addresses for the person.
Membership
This is the array of the things (as of now) that a person can belong to within the schema.
Property | Expected Type | Description |
---|---|---|
affiliations | Array | A collection of Affiliation. |
groups | Array | A collection of Group. |
initiatives | Array | An array of Initiative. |
Organizations | Array | An array of Organization. |
Affiliations are very simplistic names, such as CSA, ISACA, etc., basically abbreviations of organization names.
Initiatives has more to do with the various software initiatives a person might be involved in.
Groups and Organizations, however, are different entirely. We cover Groups and Organizations in a different document HERE.
PersonName
PersonName is an object of the Thing PersonName. It is used for names of natural persons, as opposed to a name of an agent, group, organization, etc. The International Federation of Library Associations, as well as a few publishers’ associations, have taken the stance that both name prefixes and suffixes should be standardized. As such, we’ve included that methodology into the Person schema. These two items have their own schemas, which we’ll cover below.
Property | Expected Type | Description |
---|---|---|
firstName | String | The person's first name. |
lastName | String | The person's last name. |
middleName | String | A person's middle name. |
name | String | The name of the item or record. |
elementId | String | A unique and persistent identifier for the record within the system's data set. |
freeformName | String | A free-form name for a Person |
@id | URL | The full unique link to the item so it's traversable by that property. |
coreMetaData | Object | The object representation of the Thing CoreMetaData. |
context | Context | The JSON-LD context for the item in question. |
nickNames | Array | An array of NickName. |
namePrefix | Object | The object representation of the Thing NamePrefix. |
nameSuffix | Object | The object representation of the Thing NameSuffix. |
akaPersonNames | Array | An array of person names that the person can be alternately know by. |
NamePrefix
Name prefix is the object that defines the abbreviated (Dr.) version of a person’s name as opposed to the long version (Doctor).
Property | Expected Type | Description |
---|---|---|
element id | String | A unique and persistent identifier for the record within the system's data set. |
abbreviation | String | A shortened form of a word or phrase. |
@id | URL | The full unique link to the item so it's traversable by that property. |
NameSuffix
Name prefix is the object that defines the abbreviated (Jr.) version of a person’s name as opposed to the long version (Junior).
Property | Expected Type | Description |
---|---|---|
name | String | The name of the item or record. |
element id | String | A unique and persistent identifier for the record within the system's data set. |
abbreviation | String | A shortened form of a word or phrase. |
@id | URL | The full unique link to the item so it's traversable by that property. |
core meta data | Object | The object representation of the Thing CoreMetaData. |
context | Context | The JSON-LD context for the item in question. |
Disambiguated
For a discussion about disambiguation, see the online documentation regarding that topic. Each disambiguation record is treated as a Thing as it can change on its own and therefore is required to have coreMetaData associated with it. The key properties here are liveStatus (1 for disambiguated, 0 or null for not), and authorityRecords.
Property | Expected Type | Description |
---|---|---|
liveStatus | String | A Boolean field of "live" (1::boolean) or "deprecated" (0::boolean). |
elementId | String | A unique and persistent identifier for the record within the system's data set. |
@id | URL | The full unique link to the item so it's traversable by that property. |
statusDate | Datetime | The status date value. |
coreMetaData | Object | The object representation of the Thing CoreMetaData. |
authorityRecords | Object | An array of Authority Record IDs. |
context | Context | The JSON-LD context for the item in question. |
Authority Records
Each property in the array of Authority Records contains a Disambiguation Record ID, a pointer to an Authority Source’s record wherein the Person was disambiguated.