Actors: People and Organizations

Introduction

All activities are carried out by some actor, either a person (Person) or a group of people (Group) such as an organization or company. The identity and description of these actors are very important to record in order to provide the human context for the activities, and their related places and objects. The creators, finders, owners, sellers and curators of objects are all relevant to understanding our cultural heritage.

As far as scope goes, the model currently does not consider that non-humans (such as software or animals) can perform activities, as activities require some notion of intent. Thus the productions of the infamous monkey selfies from 2011 are not carried out by anyone, as the monkey cannot do it and the photographer did not intend for the photographs to be taken. A workaround for this is simply to create a Person record for the non-human, until the model can catch up.

This model does not aim to capture all of the possible information about a Person or Group, or their relationships to other people, objects, places or activities. Instead it attempts to capture sufficient information for a human or machine to distinguish the actor from others and to understand their role in history.

Types

There are two primary types of acting agent, Person and Group. Person is used for humans, and Group is used for any collective set of humans. Groups typically are able to take action as a coherent whole, but in some cases this is overlooked for simplicity's sake. For example, it is useful to be able to say that "The Museum" acquired a painting or "The Workshop" produced a sculpture, when in fact it was some subset of the members of the group that actually performed the activity but we do not know exactly who.

If it is not known whether an actor is a Person or a Group, then the safer default is Group. For example, if a sale of an object is listed as being from an art dealer called "Smith", it is unclear whether it refers to a person via their family name, or to an organization named after its owner. The rationale for using Group is that it could be a group consisting of a single person, or a group that is otherwise arbitrarily defined.

Example:

Rembrandt (a Person) was a member of the Guild of St Luke (a Group).

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/2",
  "type": "Person",
  "_label": "Rembrandt",
  "member_of": [
    {
      "id": "https://linked.art/example/group/stluke",
      "type": "Group",
      "_label": "Guild of St Luke"
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/2) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2(group/stluke) class O2 actor; O2-- type -->O2_0[Group] class O2_0 classstyle; O2-- _label -->O2_3("''Guild of St Luke''") class O2_3 literal; O1-- member_of -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Names

Personal names are described in detail in the shared patterns section.

Example:

Rembrandt's name is Rembrandt Harmenzoon van Rijn

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/3",
  "type": "Person",
  "_label": "Rembrandt",
  "identified_by": [
    {
      "type": "Name",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300404670",
          "type": "Type",
          "_label": "Primary Name"
        }
      ],
      "content": "Rembrandt Harmenzoon van Rijn"
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/3) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2( _ ) class O2 name; O2-- type -->O2_0[Name] class O2_0 classstyle; O3(aat:300404670) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Primary Name''") class O3_3 literal; O2-- classified_as -->O3 O2-- content -->O2_3("''Rembrandt Harmenzoon van Rijn''") class O2_3 literal; O1-- identified_by -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Parts of Names

Personal names can often be broken down into parts, with different types. The types are given using the classified_as property. The name parts are themselves Names, and are included in the part set in the same way as other partitioning. The type of name is given using classified_as, in the regular fashion. Western name division vocabulary is given below, and other name part types should be suggested.

Example:

Rembrandt's name is Rembrandt / Harmenzoon / van Rijn

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/4",
  "type": "Person",
  "_label": "Rembrandt",
  "identified_by": [
    {
      "type": "Name",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300404670",
          "type": "Type",
          "_label": "Primary Name"
        }
      ],
      "content": "Rembrandt Harmenzoon van Rijn",
      "part": [
        {
          "type": "Name",
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300404651",
              "type": "Type",
              "_label": "Given Name"
            }
          ],
          "content": "Rembrandt"
        },
        {
          "id": "https://linked.art/example/Name/Harmenzoon",
          "type": "Name",
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300404654",
              "type": "Type",
              "_label": "Middle Name"
            }
          ]
        },
        {
          "type": "Name",
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300404652",
              "type": "Type",
              "_label": "Family Name"
            }
          ],
          "content": "van Rijn"
        }
      ]
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/4) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2( _ ) class O2 name; O2-- type -->O2_0[Name] class O2_0 classstyle; O3(aat:300404670) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Primary Name''") class O3_3 literal; O2-- classified_as -->O3 O2-- content -->O2_3("''Rembrandt Harmenzoon van Rijn''") class O2_3 literal; O4( _ ) class O4 name; O4-- type -->O4_0[Name] class O4_0 classstyle; O5(aat:300404651) class O5 type; O5-- type -->O5_0[Type] class O5_0 classstyle; O5-- _label -->O5_3("''Given Name''") class O5_3 literal; O4-- classified_as -->O5 O4-- content -->O4_3("''Rembrandt''") class O4_3 literal; O2-- part -->O4 O6(Name/Harmenzoon) class O6 name; O6-- type -->O6_0[Name] class O6_0 classstyle; O7(aat:300404654) class O7 type; O7-- type -->O7_0[Type] class O7_0 classstyle; O7-- _label -->O7_3("''Middle Name''") class O7_3 literal; O6-- classified_as -->O7 O2-- part -->O6 O8( _ ) class O8 name; O8-- type -->O8_0[Name] class O8_0 classstyle; O9(aat:300404652) class O9 type; O9-- type -->O9_0[Type] class O9_0 classstyle; O9-- _label -->O9_3("''Family Name''") class O9_3 literal; O8-- classified_as -->O9 O8-- content -->O8_3("''van Rijn''") class O8_3 literal; O2-- part -->O8 O1-- identified_by -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Equivalent Resources

There may be other identifiers for the person available in external systems, such as ULAN or any of a dozen others. If all of the information needed about the person is available from that system, then it is recommended to simply use that identifier directly as the URI for the Person. If there is a requirement to maintain separate information about the person, then the equivalent property should be used to align the two. This might happen when, for example, the local data has additional information about which documents refer to the person, or more detailed biographical information.

Example:

The equivalent entity in ULAN for Rembrandt is http://vocab.getty.edu/ulan/500011051

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/6",
  "type": "Person",
  "_label": "Rembrandt",
  "equivalent": [
    {
      "id": "http://vocab.getty.edu/ulan/500011051",
      "type": "Person",
      "_label": "Rembrandt"
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/6) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2(ulan:500011051) class O2 actor; O2-- type -->O2_0[Person] class O2_0 classstyle; O2-- _label -->O2_3("''Rembrandt''") class O2_3 literal; O1-- equivalent -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Addresses

People and Organizations often have addresses, physical or online, via which they can be contacted. This includes mailing addresses, email addresses and so forth. These are referenced separately from Names and Identifiers, as many people or groups might have the same contact point. The address is an identifier for a location or service, and is thus modeled as an Identifier. This means it does not have language information, unlike Names, but addresses are not inherently linguistic.

This Identifier is then related to the actor via the contact_point property. They can be classified_as different types, and use the content property to capture the address itself.

Example:

Rembrandt had an address in Amsterdam.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/12",
  "type": "Person",
  "_label": "Rembrandt",
  "contact_point": [
    {
      "type": "Identifier",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300386983",
          "type": "Type",
          "_label": "Street Address"
        }
      ],
      "content": "Jodenbreestraat 4, 1011 NK Amsterdam"
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/12) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2( _ ) class O2 name; O2-- type -->O2_0[Identifier] class O2_0 classstyle; O3(aat:300386983) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Street Address''") class O3_3 literal; O2-- classified_as -->O3 O2-- content -->O2_3("''Jodenbreestraat 4, 1011 NK Amsterdam''") class O2_3 literal; O1-- contact_point -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Example:

Rembrandt's residence is now a museum at the same address, with a phone number and email address:

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/group/rembrandthuis/1",
  "type": "Group",
  "_label": "Rembrandt House Museum",
  "contact_point": [
    {
      "type": "Identifier",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300386983",
          "type": "Type",
          "_label": "Street Address"
        }
      ],
      "content": "Jodenbreestraat 4, 1011 NK Amsterdam"
    },
    {
      "type": "Identifier",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435688",
          "type": "Type",
          "_label": "Telephone Number"
        }
      ],
      "content": "+31-20-520-0400"
    },
    {
      "type": "Identifier",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435686",
          "type": "Type",
          "_label": "Email Address"
        }
      ],
      "content": "museum@rembrandthuis.nl"
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(group/rembrandthuis/1) class O1 actor; O1-- type -->O1_0[Group] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt House Museum''") class O1_4 literal; O2( _ ) class O2 name; O2-- type -->O2_0[Identifier] class O2_0 classstyle; O3(aat:300386983) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Street Address''") class O3_3 literal; O2-- classified_as -->O3 O2-- content -->O2_3("''Jodenbreestraat 4, 1011 NK Amsterdam''") class O2_3 literal; O1-- contact_point -->O2 O4( _ ) class O4 name; O4-- type -->O4_0[Identifier] class O4_0 classstyle; O5(aat:300435688) class O5 type; O5-- type -->O5_0[Type] class O5_0 classstyle; O5-- _label -->O5_3("''Telephone Number''") class O5_3 literal; O4-- classified_as -->O5 O4-- content -->O4_3("''+31-20-520-0400''") class O4_3 literal; O1-- contact_point -->O4 O6( _ ) class O6 name; O6-- type -->O6_0[Identifier] class O6_0 classstyle; O7(aat:300435686) class O7 type; O7-- type -->O7_0[Type] class O7_0 classstyle; O7-- _label -->O7_3("''Email Address''") class O7_3 literal; O6-- classified_as -->O7 O6-- content -->O6_3("''museum@rembrandthuis.nl''") class O6_3 literal; O1-- contact_point -->O6
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Residence as a Place

People and Organizations can have a Place as their residence, identified and described as an entity rather than just a street address as a string. That Place might have the address as an identifier, it would have its own Name, could have geographical coordinates, and any other features of the Place model.

Example:

Rembrandt resided at a Place which is where his house is.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/11",
  "type": "Person",
  "_label": "Rembrandt",
  "residence": [
    {
      "id": "https://linked.art/example/place/rembrandthuis",
      "type": "Place",
      "_label": "Rembrandt's House Place"
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/11) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2(place/rembrandthuis) class O2 place; O2-- type -->O2_0[Place] class O2_0 classstyle; O2-- _label -->O2_3("''Rembrandt's House Place''") class O2_3 literal; O1-- residence -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Life Events

There are key events in a person or organization's lifespan that are often recorded as they contribute core information for determining the identity of the actor. These include the birth or formation, death or dissolution, and the period in which they carried out the work they are known for.

Birth and Death / Formation and Dissolution

Like the production of objects or the creation of texts, people and organizations also come into and out of existence through events. These events can take place at certain Places, and happen at certain times.

People are born in Birth events and die in Death events, related to the person by the born and died properties respectively. Groups are formed in Formation events, and dissolved in Dissolution events, referenced via the formed_by and dissolved_by properties. These classes are modeled not as Activities, but as Events that are not themselves carried out by anyone. They are the coming into existence instant of the person, not the conception of the couple, the labor of the mother, or potentially the killing by a murderer. These activities can be modeled as causes, as described below.

Birth and Death do not have any properties of their own that are used in the model, only those inherited from event, such as timespan and took_place_at.

!!! "note" "Inanimate Thing or Dead Person?" After death, people are still instances of Person which is a subclass of Actor, even though they can no longer carry out activities. People in comas or otherwise completely incapacitated also cannot carry out activities, but are not temporarily non-Actors. The modeling that death is a transformation from an instance of Person to an instance of Thing adds complexity for the sake of purity, but does not add any actual value. Thus a burial activity (aat:300263485) buries a Person, not a Thing-that-used-to-be-a-Person. However if the skeleton is then dug up and exhibited, it is exhibited as a Thing. There is, therefore, a transition at some undetermined point.

Example:

Rembrandt was born on 1606-07-15 and died on 1669-10-04 in Amsterdam.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/13",
  "type": "Person",
  "_label": "Rembrandt",
  "born": {
    "type": "Birth",
    "timespan": {
      "type": "TimeSpan",
      "begin_of_the_begin": "1606-07-15T00:00:00Z",
      "end_of_the_end": "1606-07-15T23:59:59Z"
    }
  },
  "died": {
    "type": "Death",
    "timespan": {
      "type": "TimeSpan",
      "begin_of_the_begin": "1669-10-04T00:00:00Z",
      "end_of_the_end": "1669-10-04T23:59:59Z"
    },
    "took_place_at": [
      {
        "id": "http://vocab.getty.edu/tgn/7006952",
        "type": "Place",
        "_label": "Amsterdam"
      }
    ]
  }
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/13) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2( _ ) class O2 event; O2-- type -->O2_0[Birth] class O2_0 classstyle; O3( _ ) class O3 timespan; O3-- type -->O3_0[TimeSpan] class O3_0 classstyle; O3-- begin_of_the_begin -->O3_2("''1606-07-15T00:00:00Z''") class O3_2 literal; O3-- end_of_the_end -->O3_3("''1606-07-15T23:59:59Z''") class O3_3 literal; O2-- timespan -->O3 O1-- born -->O2 O4( _ ) class O4 event; O4-- type -->O4_0[Death] class O4_0 classstyle; O5( _ ) class O5 timespan; O5-- type -->O5_0[TimeSpan] class O5_0 classstyle; O5-- begin_of_the_begin -->O5_2("''1669-10-04T00:00:00Z''") class O5_2 literal; O5-- end_of_the_end -->O5_3("''1669-10-04T23:59:59Z''") class O5_3 literal; O4-- timespan -->O5 O6(tgn:7006952) class O6 place; O6-- type -->O6_0[Place] class O6_0 classstyle; O6-- _label -->O6_3("''Amsterdam''") class O6_3 literal; O4-- took_place_at -->O6 O1-- died -->O4
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Example:

The formation of the Rembrandt House Museum on 1911-06-10.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/group/rembrandthuis/2",
  "type": "Group",
  "_label": "Rembrandt House Museum",
  "formed_by": {
    "type": "Formation",
    "timespan": {
      "type": "TimeSpan",
      "begin_of_the_begin": "1911-06-10T00:00:00Z",
      "end_of_the_end": "1911-06-10T23:59:59Z"
    }
  }
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(group/rembrandthuis/2) class O1 actor; O1-- type -->O1_0[Group] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt House Museum''") class O1_4 literal; O2( _ ) class O2 event; O2-- type -->O2_0[Formation] class O2_0 classstyle; O3( _ ) class O3 timespan; O3-- type -->O3_0[TimeSpan] class O3_0 classstyle; O3-- begin_of_the_begin -->O3_2("''1911-06-10T00:00:00Z''") class O3_2 literal; O3-- end_of_the_end -->O3_3("''1911-06-10T23:59:59Z''") class O3_3 literal; O2-- timespan -->O3 O1-- formed_by -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Active Dates

It is often useful to know where and when the person or organization was active in their professional function. For example, an artist might have started painting when they were 20, stopped by 30, and only painted in Italy. This information can be used to help eliminate dubious attributions, for example.

The property for the Person or Group is carried_out, the inverse of the more familiar carried_out_by from Activities to Actors. The Activity resource must be classified_as aat:300393177, meaning the time when the actor is actively performing their primary professional function. The other properties of activities can and should also be used.

This pattern can be used for other activities that the Person or Group was responsible for by changing the classified_as on the Activity to reflect the nature of that activity, however the activity must not have its own identity separate from Person or Group. If it does, then it should have its own record, and use carried_out_by in the regular fashion. Activities that are embedded within records in this way cannot be referred to separately from the Person.

A more specific classification can be added to the activity if known, for example that Rembrandt's professional activities were being an artist, rather than being an author. The location can be added with took_place_at, along with any other activity based properties. Note that this might end up duplicating occupation information in classified_as on the Person or Group.

Example:

Rembrandt was professionally active as a painter between 1631 and his death in 1669.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/7",
  "type": "Person",
  "_label": "Rembrandt",
  "carried_out": [
    {
      "type": "Activity",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300393177",
          "type": "Type",
          "_label": "Professional Activities"
        },
        {
          "id": "http://vocab.getty.edu/aat/300025136",
          "type": "Type",
          "_label": "Painter"
        }
      ],
      "timespan": {
        "type": "TimeSpan",
        "begin_of_the_begin": "1631-01-01T00:00:00Z",
        "end_of_the_end": "1669-10-04T23:59:59Z"
      }
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/7) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2( _ ) class O2 event; O2-- type -->O2_0[Activity] class O2_0 classstyle; O3(aat:300393177) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Professional Activities''") class O3_3 literal; O2-- classified_as -->O3 O4(aat:300025136) class O4 type; O4-- type -->O4_0[Type] class O4_0 classstyle; O4-- _label -->O4_3("''Painter''") class O4_3 literal; O2-- classified_as -->O4 O5( _ ) class O5 timespan; O5-- type -->O5_0[TimeSpan] class O5_0 classstyle; O5-- begin_of_the_begin -->O5_2("''1631-01-01T00:00:00Z''") class O5_2 literal; O5-- end_of_the_end -->O5_3("''1669-10-04T23:59:59Z''") class O5_3 literal; O2-- timespan -->O5 O1-- carried_out -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Participation versus Responsibility

Other core life events are not carried out by the Person or Group, but are still potentially important to capture such as baptisms and burials. As marriages are not unique to the person, they should instead have their own record to capture both parties.

Note that many such events take place in locations only identified by a civic or religious building, however activities take place at a Place, not at a building, which is a Human Made Object. See documenation about "immovable" objects and places.

Example:

Rembrandt was buried after his death in 1669 at the location of Westerkerk.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/14",
  "type": "Person",
  "_label": "Rembrandt",
  "participated_in": [
    {
      "type": "Activity",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300263485",
          "type": "Type",
          "_label": "Burial"
        }
      ],
      "timespan": {
        "type": "TimeSpan",
        "begin_of_the_begin": "1669-10-04T00:00:00Z",
        "end_of_the_end": "1669-11-01T23:59:59Z"
      },
      "took_place_at": [
        {
          "id": "https://linked.art/example/place/westerkerk",
          "type": "Place",
          "_label": "Place of Westerkerk"
        }
      ]
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/14) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2( _ ) class O2 event; O2-- type -->O2_0[Activity] class O2_0 classstyle; O3(aat:300263485) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Burial''") class O3_3 literal; O2-- classified_as -->O3 O4( _ ) class O4 timespan; O4-- type -->O4_0[TimeSpan] class O4_0 classstyle; O4-- begin_of_the_begin -->O4_2("''1669-10-04T00:00:00Z''") class O4_2 literal; O4-- end_of_the_end -->O4_3("''1669-11-01T23:59:59Z''") class O4_3 literal; O2-- timespan -->O4 O5(place/westerkerk) class O5 place; O5-- type -->O5_0[Place] class O5_0 classstyle; O5-- _label -->O5_3("''Place of Westerkerk''") class O5_3 literal; O2-- took_place_at -->O5 O1-- participated_in -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Descriptive Information

Biography

Biographical descriptions follow the Statement pattern, with biography (aat:300080102) as the classification. In all other respects, it is a typical usage of an entity being referred_to_by a Statement.

Example:

Rembrandt with a biography statement.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/8",
  "type": "Person",
  "_label": "Rembrandt",
  "referred_to_by": [
    {
      "type": "LinguisticObject",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435422",
          "type": "Type",
          "_label": "Biography Statement",
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300418049",
              "type": "Type",
              "_label": "Brief Text"
            }
          ]
        }
      ],
      "content": "Rembrandt's work is characterized by the Baroque interest in dramatic scenes and strong contrasts of light on a dark stage"
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/8) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2( _ ) class O2 infoobj; O2-- type -->O2_0[LinguisticObject] class O2_0 classstyle; O3(aat:300435422) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Biography Statement''") class O3_3 literal; O4(aat:300418049) class O4 type; O4-- type -->O4_0[Type] class O4_0 classstyle; O4-- _label -->O4_3("''Brief Text''") class O4_3 literal; O3-- classified_as -->O4 O2-- classified_as -->O3 O2-- content -->O2_3("''Rembrandt's work is characterized by the Baroque interest in dramatic scenes and strong contrasts of light on a dark stage''") class O2_3 literal; O1-- referred_to_by -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Nationality

Nationality is modeled as a Type that is associated with the Person, rather than as a Group as described in the CIDOC-CRM ontology document. This is because all of the people, across all time, who have had a particular nationality, cannot take action as a single coherent entity. As Group is a sub-class of Actor, it is not thought to be an appropriate class for this use. Without proliferating new classes (e.g. sets of people that are not actors), the traditional and perfectly consistent way to describe nationality is as a flag on the person, which is modeled as a Type.

The Type resource should have aat:300379842 as one of its classifications, such that a consuming application can find all of the nationality types from amongst the person's classifications. The nationality resource should either be from an established vocabulary of nationalities, or have an exact_match to an established vocabulary entry if additional local information is necessary to record, such as a particular name for that nationality.

Example:

Rembrandt was Dutch.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/9",
  "type": "Person",
  "_label": "Rembrandt",
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300111175",
      "type": "Type",
      "_label": "Dutch",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300379842",
          "type": "Type",
          "_label": "Nationality"
        }
      ]
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/9) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2(aat:300111175) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Dutch''") class O2_3 literal; O3(aat:300379842) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Nationality''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Ethnicity

Ethnicity is separate from nationality, as it refers to a social group or culture as opposed to a political nation or state. The same rationale as for Nationality being a classification also applies to ethnicity or culture -- it is unlikely to be a coherent collective capable of intentional action.

Please note that it is completely acceptable to list a nationality or ethnicity without a "meta-type" classification if it is unknown which of the two it is. Also, note that different organizations might make different decisions as to whether a particular group or culture is a nationality or an ethnicity.

Example:

Kehinde Wiley is African-American.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/wiley/1",
  "type": "Person",
  "_label": "Kehinde Wiley",
  "classified_as": [
    {
      "id": "http://www.wikidata.org/entity/Q3007177",
      "type": "Type",
      "_label": "African-American",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300250435",
          "type": "Type",
          "_label": "Ethnicity"
        }
      ]
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/wiley/1) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Kehinde Wiley''") class O1_4 literal; O2(http://www.wikidata.org/entity/Q3007177) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''African-American''") class O2_3 literal; O3(aat:300250435) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Ethnicity''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Gender

Gender is a debated and politically charged topic. The intent of this section is not to take a stand on those debates, but instead to allow the representation of data in museum and other information management systems to be made accessible.

Gender is not specifically discussed in CRM, in fact it was even deleted from a previous version, and the modeling follows the same classification pattern as for nationality and culture. This allows a diverse set of gender possibilities, and does not make any specific statements about biological versus assigned versus preferred gender roles. The gender must be classified_as aat:300055147.

Example:

Rembrandt was male.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/32",
  "type": "Person",
  "_label": "Rembrandt",
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300189559",
      "type": "Type",
      "_label": "Male",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300055147",
          "type": "Type",
          "_label": "Gender"
        }
      ]
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/32) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2(aat:300189559) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Male''") class O2_3 literal; O3(aat:300055147) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Gender''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Occupations

Similar to nationalities, ethnicities and genders, people are also often classified based on their roles or occupations.

Example:

Rembrandt was an artist.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/31",
  "type": "Person",
  "_label": "Rembrandt",
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300025103",
      "type": "Type",
      "_label": "Artist",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300263369",
          "type": "Type",
          "_label": "Occupation"
        }
      ]
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/31) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2(aat:300025103) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Artist''") class O2_3 literal; O3(aat:300263369) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Occupation''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Organization Membership

As discussed above, Organizations can be seen as the actor when it comes to their roles in various events. For example, an auction is likely to be carried out by an organization, and they can own and curate objects.

The only significantly new aspect to organizational actors, compared to people, is that they can have members. These members can be either other groups, such as a department within a museum, or individuals. The member_of property is used to connect the member Person or Group to the Group they are a member of.

Example:

Rembrandt (a Person) was a member of the Guild of St Luke (a Group).

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/person/rembrandt/2",
  "type": "Person",
  "_label": "Rembrandt",
  "member_of": [
    {
      "id": "https://linked.art/example/group/stluke",
      "type": "Group",
      "_label": "Guild of St Luke"
    }
  ]
}

graph TD classDef object stroke:black,fill:#E1BA9C,rx:20px,ry:20px; classDef actor stroke:black,fill:#FFBDCA,rx:20px,ry:20px; classDef type stroke:red,fill:#FAB565,rx:20px,ry:20px; classDef name stroke:orange,fill:#FEF3BA,rx:20px,ry:20px; classDef dims stroke:black,fill:#c6c6c6,rx:20px,ry:20px; classDef infoobj stroke:#907010,fill:#fffa40,rx:20px,ry:20px classDef timespan stroke:blue,fill:#ddfffe,rx:20px,ry:20px classDef place stroke:#3a7a3a,fill:#aff090,rx:20px,ry:20px classDef event stroke:#1010FF,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(person/rembrandt/2) class O1 actor; O1-- type -->O1_0[Person] class O1_0 classstyle; O1-- _label -->O1_4("''Rembrandt''") class O1_4 literal; O2(group/stluke) class O2 actor; O2-- type -->O2_0[Group] class O2_0 classstyle; O2-- _label -->O2_3("''Guild of St Luke''") class O2_3 literal; O1-- member_of -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)