Linked Art API: Identifier Structure

Introduction

Identifiers are codes in string form assigned to some resource to identify it within a particular context. All of the different types of entity can have identifiers assigned to them. Identifiers are very similar in structure to Names, but are explicitly not part of natural langauge, and hence do not have a language property, nor can they be translated or have alternative forms and hence are documented separately.

Identifiers are described in the base patterns of the model documentation, and examples are present for practically every class.

Property Definitions

Identifiers have the following properties.

Properties of Identifiers

Property Name Datatype Requirement Description
id string Optional If present, the value MUST be a URI identifying the identifier, from which a representation of the assignment can be retrieved
type string Required The class for the name, which MUST be the value "Identifier"
_label string Recommended A human readable label, intended for developers
_complete boolean Optional Non-Semantic. If there is an id property with a URI, and there is more information about the identifier available from the representation at that URI, then _complete MUST be present with a value of false to inform the consuming application that it might want to retrieve it
content string Required The string content of the identifier
classified_as array Recommended An array of json objects, each of which is a further classification of the identifier and MUST follow the requirements for Type
identified_by array Recommended An array of json objects, each of which is a name to be displayed for the identifier, and MUST follow the requirements for Name
referred_to_by array Optional An array of json objects, each of which is either a reference to a textual work that refers to the identifier, or an embedded statement about the identifier.
assigned_by array Optional An array of json objects, each of which is an assignment of the identifier, as below

Properties of Identifier Assignments

Property Name Datatype Requirement Description
type string Required The class for the name, which MUST be the value "AttributeAssignment"
_label string Recommended A human readable label for the assignment, intended for developers
classified_as array Recommended An array of json objects, each of which is a further classification of the assignment and MUST follow the requirements for Type
carried_out_by array Recommended An array of json objects, each of which is a reference to a Person or Group
timespan json object Optional A json object which MUST follow the requirements for timespans
referred_to_by array Optional An array of json objects, each of which is an embedded statement about the assignment
used_specific_object array Optional An array of json objects, each of which is a reference to another endpoint that was instrumental in the assignment of the identifier

Property Diagram

diagram

Incoming Properties

Identifier instances are typically found as the object of the following properties. This list is not exhaustive, but is intended to cover the likely cases.

Property Name Source Endpoint Description
identified_by All The most common case is for a resource to be identified_by an Identifier, which can be found in every endpoint
contact_point Person, Group People and Groups can also have contact points, which are modeled as Identifiers.

Example

An accession number for an object, created and assigned by Example Museum at some point during 1997.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/object/8",
  "type": "HumanMadeObject",
  "identified_by": [
    {
      "type": "Identifier",
      "_label": "Example Museum Accession Number",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300312355",
          "type": "Type",
          "_label": "Accession Number"
        }
      ],
      "content": "1997-A1752",
      "identified_by": [
        {
          "type": "Name",
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300404670",
              "type": "Type",
              "_label": "Primary Name"
            }
          ],
          "content": "Accession Number"
        }
      ],
      "referred_to_by": [
        {
          "type": "LinguisticObject",
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300027200",
              "type": "Type",
              "_label": "Note",
              "classified_as": [
                {
                  "id": "http://vocab.getty.edu/aat/300418049",
                  "type": "Type",
                  "_label": "Brief Text"
                }
              ]
            }
          ],
          "content": "This is the original accession number from 1997"
        }
      ],
      "assigned_by": [
        {
          "type": "AttributeAssignment",
          "_label": "Assignment of 1997-A1752",
          "timespan": {
            "type": "TimeSpan",
            "_label": "1997",
            "begin_of_the_begin": "1997-01-01T00:00:00Z",
            "end_of_the_end": "1997-12-31T00:00:00Z"
          },
          "carried_out_by": [
            {
              "type": "Group",
              "_label": "Example Museum"
            }
          ]
        }
      ]
    }
  ]
}

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(object/8) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O2( _ ) class O2 name; O2-- type -->O2_0[Identifier] class O2_0 classstyle; O2-- _label -->O2_2("''Example Museum Accession Number''") class O2_2 literal; O3(aat:300312355) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Accession Number''") class O3_3 literal; O2-- classified_as -->O3 O2-- content -->O2_4("''1997-A1752''") class O2_4 literal; O4( _ ) class O4 name; O4-- type -->O4_0[Name] class O4_0 classstyle; O5(aat:300404670) class O5 type; O5-- type -->O5_0[Type] class O5_0 classstyle; O5-- _label -->O5_3("''Primary Name''") class O5_3 literal; O4-- classified_as -->O5 O4-- content -->O4_3("''Accession Number''") class O4_3 literal; O2-- identified_by -->O4 O6( _ ) class O6 infoobj; O6-- type -->O6_0[LinguisticObject] class O6_0 classstyle; O7(aat:300027200) class O7 type; O7-- type -->O7_0[Type] class O7_0 classstyle; O7-- _label -->O7_3("''Note''") class O7_3 literal; O8(aat:300418049) class O8 type; O8-- type -->O8_0[Type] class O8_0 classstyle; O8-- _label -->O8_3("''Brief Text''") class O8_3 literal; O7-- classified_as -->O8 O6-- classified_as -->O7 O6-- content -->O6_3("''This is the original accession number from 1997''") class O6_3 literal; O2-- referred_to_by -->O6 O9( _ ) class O9 event; O9-- type -->O9_0[AttributeAssignment] class O9_0 classstyle; O9-- _label -->O9_2("''Assignment of 1997-A1752''") class O9_2 literal; O10( _ ) class O10 timespan; O10-- type -->O10_0[TimeSpan] class O10_0 classstyle; O10-- _label -->O10_2("''1997''") class O10_2 literal; O10-- begin_of_the_begin -->O10_3("''1997-01-01T00:00:00Z''") class O10_3 literal; O10-- end_of_the_end -->O10_4("''1997-12-31T00:00:00Z''") class O10_4 literal; O9-- timespan -->O10 O11( _ ) class O11 actor; O11-- type -->O11_0[Group] class O11_0 classstyle; O11-- _label -->O11_2("''Example Museum''") class O11_2 literal; O9-- carried_out_by -->O11 O2-- assigned_by -->O9 O1-- identified_by -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)