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, rather than the URI which is the identifier of the object
type string Required The class for the name, which MUST be the value "Identifier"
_label string Recommended A human readable label, intended for developers
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
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
id string Optional If present, the value MUST be a URI identifying the assignment
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/6",
  "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",
      "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(object6) 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 infoobj; O4-- type -->O4_0[LinguisticObject] class O4_0 classstyle; O5(aat:300027200) class O5 type; O5-- type -->O5_0[Type] class O5_0 classstyle; O5-- _label -->O5_3("''Note''") class O5_3 literal; O6(aat:300418049) class O6 type; O6-- type -->O6_0[Type] class O6_0 classstyle; O6-- _label -->O6_3("''Brief Text''") class O6_3 literal; O5-- classified_as -->O6 O4-- classified_as -->O5 O4-- content -->O4_3("''This is the original accession number from 1997''") class O4_3 literal; O2-- referred_to_by -->O4 O7( _ ) class O7 event; O7-- type -->O7_0[AttributeAssignment] class O7_0 classstyle; O7-- _label -->O7_2("''Assignment of 1997-A1752''") class O7_2 literal; O8( _ ) class O8 timespan; O8-- type -->O8_0[TimeSpan] class O8_0 classstyle; O8-- _label -->O8_2("''1997''") class O8_2 literal; O8-- begin_of_the_begin -->O8_3("''1997-01-01T00:00:00Z''") class O8_3 literal; O8-- end_of_the_end -->O8_4("''1997-12-31T00:00:00Z''") class O8_4 literal; O7-- timespan -->O8 O9( _ ) class O9 actor; O9-- type -->O9_0[Group] class O9_0 classstyle; O9-- _label -->O9_2("''Example Museum''") class O9_2 literal; O7-- carried_out_by -->O9 O2-- assigned_by -->O7 O1-- identified_by -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)