Linked Art API: Provenance Activity

Introduction

The Provenance Activity API is a method of getting access to descriptions of ... The API is of higher than average complexity with many familiar properties and patterns, but also with a series of classes which convey parts of the higher level activity, each with their own unique properties.

Property Definitions

Dereferencing an entity via the Provenance Activity endpoint would result in a JSON-LD document containing a single JSON object with the following properties.

Properties of Provenance Activities

The top level Activity has the following properties.

Property Name Datatype Requirement Description
@context string, array Required The value MUST be the URI of the Linked Art context as a string, "https://linked.art/ns/v1/linked-art.json" or an array in which the URI is the last entry to allow for extensions
id string Required The value MUST be the HTTP(S) URI at which the event's representation can be dereferenced
type string Required The class for the event, which MUST be the value "Event" or the value "Activity"
_label string Recommended A human readable label for the event, intended for developers
classified_as array Required An array of json objects, each of which is a classification of the event and MUST follow the requirements for Type
identified_by array Recommended An array of json objects, each of which is a name/title of the event and MUST follow the requirements for Name, or an identifier for the event and MUST follow the requirements for Identifier
referred_to_by array Optional An array of json objects, each of which is a human readable statement about the event and MUST follow the requirements for Statement
equivalent array Optional An array of json objects, each of which is a reference to an external identity and description of the current event
representation array Optional An array of json objects, each of which is a reference to a Visual Work that represents the current event, and MUST follow the requirements for a reference
member_of array Optional An array of json objects, each of which is a Set that the current event is a member of and MUST follow the requirements for a reference to a Set
subject_of array Optional An array of json objects, each of which is a reference to a Textual Work, the content of which focuses on the current event, and MUST follow the requirements for a reference
attributed_by array Optional An array of json objects, each of which is a Relationship Assignment that relates the current event to another entity
part_of array Optional An array of json objects, each of which is a reference to another event that the current event is a part of.
timespan json object Recommended A json object recording when the event occured, which MUST follow the requirements for timespans
took_place_at array Optional An array of json objects, each of which is a reference to a Place where the event occured
caused_by array Optional An array of json objects, each of which is a reference to an Event that caused the event to occur
influenced_by array Optional An array of json objects, each of which is a reference to an entity that influenced the event in some noticable fashion
carried_out_by array Optional An array of json objects, each of which is a reference to a Person or Group that carried out the activity
used_specific_object array Optional An array of json objects, each of which is a reference] to an entity that was instrumental in the carrying out of the activity
part array Required The more detailed changes that the activity consists of, described below

Required Classification

In order to determine that the activity is a Provenance Activity, rather than a more general Event or Activity, which would follow the event API instead, the Activity MUST have a classified_as entry with an id of "http://vocab.getty.edu/aat/300055863".

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/provenance/0",
  "type": "Activity",
  "_label": "Provenance Activity",
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300055863",
      "type": "Type",
      "_label": "Provenance Activity"
    }
  ]
}

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(provenance/0) class O1 event; O1-- type -->O1_0[Activity] class O1_0 classstyle; O1-- _label -->O1_4("''Provenance Activity''") class O1_4 literal; O2(aat:300055863) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Provenance Activity''") class O2_3 literal; O1-- classified_as -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Properties of All Parts

Each of the activities in the part property can have the properties in the table below. The different classes of activity have their own type and other properties, which are defined in the following subsections.

Property Name Datatype Requirement Description
id string Optional If present, the value MUST be a URI identifying the creation or publication
type string Required The class for the part, which MUST be the value given in the subsections below
_label string Recommended A human readable label for the creation or publication, intended for developers
identified_by array Recommended An array of json objects, each of which is a name for the creation or publication and MUST follow the requirements for Name, or an identifier for the creation or publication and MUST follow the requirements for Identifier
classified_as array Recommended An array of json objects, each of which is a further classification of the creation or publication and MUST follow the requirements for Type
referred_to_by array Optional An array of json objects, each of which is an embedded statement about the creation or publication
timespan json object Recommended A json object recording when the creation or publication occured, which MUST follow the requirements for timespans
took_place_at array Optional An array of json objects, each of which is a reference to a Place where the creation or publication occured
influenced_by array Optional An array of json objects, each of which is a reference to an entity that influenced the creation or publication in some noticable fashion
carried_out_by array Optional An array of json objects, each of which is a reference to a Person or Group that carried out the creation or publication
used_specific_object array Optional An array of json objects, each of which is a reference] to an entity that was instrumental in the carrying out of the activity

Properties of Part: Acquisition

Parts which are Acquisitions have the following additional properties.

Property Name Datatype Requirement Description
type string Required The class for the part, which MUST be the value "Acquisition"
transferred_title_of array Required An array of json objects, each of which is a reference to the Object of which the ownership is transferred
transferred_title_from array Optional An array of json objects, each of which is a reference to a Person or Group, each of which was a previous owner of the object, and from whom the object's ownership was transferred
transferred_title_to array Optional An array of json objects, each of which is a reference to a Person or Group, each of which is one of the new owners to whom the object's ownership was transferred

Properties of Part: Payment

Parts which are Payments have the following additional properties.

Property Name Datatype Requirement Description
type string Required The class for the part, which MUST be the value "Payment"
paid_amount json object Optional A Monetary Amount structure encoding the amount that was transferred
paid_from array Optional An array of json objects, each of which is a reference to a Person or Group, each of which provided some part of the monetary amount
paid_to array Optional An array of json objects, each of which is a reference to a Person or Group, each of which received some part of the monetary amount

Properties of Part: Transfer of Custody

Parts which are Transfers of Custody have the following additional properties.

Property Name Datatype Requirement Description
type string Required The class for the part, which MUST be the value "TransferOfCustody"
transferred_custody_of array Required An array of json objects, each of which is a reference to the Object of which the custody is transferred
transferred_custody_from array Optional An array of json objects, each of which is a reference to a Person or Group, each of which was a previous custodian of the object, and from whom the object's custody was transferred
transferred_custody_to array Optional An array of json objects, each of which is a reference to a Person or Group, each of which was a previous custodian of the object, and from whom the object's custody was transferred

Properties of Part: Encounter

Parts which are Encounters have the following additional properties.

Property Name Datatype Requirement Description
type string Required The class for the part, which MUST be the value "Encounter"
encountered array Required An array of json objects, each of which is a reference to the Object which was encountered

Properties of Part: Right Acquisition

Parts which are Right Acquisitions have the following additional properties.

Property Name Datatype Requirement Description
type string Required The class for the part, which MUST be the value "RightAcquisition"
establishes array Required An array of json objects, each of which is a Right structure, described below
invalidates array Optional An array of json objects, each of which is a Right structure, described below

Properties of Part: Move

Parts which are Moves have the following additional properties.

Property Name Datatype Requirement Description
type string Required The class for the part, which MUST be the value "Move"
moved array Required An array of json objects, each of which is a reference to an Object that was moved by this activity
moved_from json object Optional An reference to a Place where all of the objects were moved from
moved_to json object Optional An reference to a Place where all of the objects where moved to

Properties of Part: Promise

Parts which are Promises have the following additional properties.

Property Name Datatype Requirement Description
type string Required The class for the part, which MUST be the value "Activity"
classified_as array Required An array of json objects, each of which is a further classification of the creation or publication and MUST follow the requirements for Type, and one entry in the array MUST have have an id with the value "http://vocab.getty.edu/aat/300435599", in order to distinguish this activity as a promise

Properties of Rights

Property Name Datatype Requirement Description
id string Optional If present, the value MUST be a URI identifying the right
type string Required The class for the right, which MUST be the value "Right"
_label string Recommended A human readable label for the right, intended for developers
identified_by array Recommended An array of json objects, each of which is a name for the right and MUST follow the requirements for Name, or an identifier for the right and MUST follow the requirements for Identifier
classified_as array Recommended An array of json objects, each of which is a further classification of the right and MUST follow the requirements for Type
referred_to_by array Optional An array of json objects, each of which is an embedded statement about the right
dimension array Optional An array of json objects, each of which is Dimension structure
possessed_by array Optional An array of json objects, each of which is a reference to a Person or Group that possessed the right
applies_to array Optional An array of json objects, each of which is a reference to an Object that the right pertains to
part array Optional An array of json objects, each of which is a right, and MUST follow the requirements of this definition of rights

Property Diagram

diagram

JSON Schema

See the schema documentation and the schema itself

Incoming Properties

Provenance Activities do not have any incoming references in the current set of APIs, instead they link out to many different entities.

Example

The JSON for a Provenance Activity describing an the purchase of an object in 1820 at auction could be as below.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/provenance/1",
  "type": "Activity",
  "_label": "St George from Simpson to Adams",
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300055863",
      "type": "Type",
      "_label": "Provenance Activity"
    }
  ],
  "identified_by": [
    {
      "type": "Name",
      "content": "Purchase of Lot 0055a, Durer's St George and the Dragon"
    },
    {
      "type": "Identifier",
      "content": "0055a"
    }
  ],
  "timespan": {
    "type": "TimeSpan",
    "_label": "1820 Mar 09",
    "begin_of_the_begin": "1820-03-09T00:00:00Z",
    "end_of_the_end": "1820-03-09T23:59:59Z"
  },
  "took_place_at": [
    {
      "id": "http://vocab.getty.edu/tgn/7011781",
      "type": "Place",
      "_label": "London"
    }
  ],
  "carried_out_by": [
    {
      "id": "http://vocab.getty.edu/ulan/500451765",
      "type": "Group",
      "_label": "Edward Foster & Son"
    }
  ],
  "used_specific_object": [
    {
      "id": "http://example.org/set/Br1908/0055",
      "type": "Set",
      "_label": "Set of Objects for Lot 0055"
    }
  ],
  "caused_by": [
    {
      "id": "http://example.org/auction/Br1908/0055",
      "type": "Activity",
      "_label": "Auction of Lot 0055"
    }
  ],
  "part": [
    {
      "type": "Acquisition",
      "transferred_title_of": [
        {
          "id": "http://example.museum/object/1",
          "type": "HumanMadeObject",
          "_label": "St George and the Dragon"
        }
      ],
      "transferred_title_from": [
        {
          "id": "http://example.museum/person/2",
          "type": "Person",
          "_label": "Simpson"
        }
      ],
      "transferred_title_to": [
        {
          "id": "http://example.museum/person/1",
          "type": "Person",
          "_label": "Adams"
        }
      ]
    },
    {
      "type": "Payment",
      "paid_amount": {
        "type": "MonetaryAmount",
        "_label": "8.8 pounds",
        "value": 8.8,
        "currency": {
          "id": "http://vocab.getty.edu/aat/300411998",
          "type": "Currency",
          "_label": "British Pounds"
        }
      },
      "paid_from": [
        {
          "id": "http://example.museum/person/1",
          "type": "Person",
          "_label": "Adams"
        }
      ],
      "paid_to": [
        {
          "id": "http://example.museum/person/2",
          "type": "Person",
          "_label": "Simpson"
        }
      ]
    }
  ]
}

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(provenance/1) class O1 event; O1-- type -->O1_0[Activity] class O1_0 classstyle; O1-- _label -->O1_4("''St George from Simpson to Adams''") class O1_4 literal; O2(aat:300055863) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Provenance Activity''") class O2_3 literal; O1-- classified_as -->O2 O3( _ ) class O3 name; O3-- type -->O3_0[Name] class O3_0 classstyle; O3-- content -->O3_2("''Purchase of Lot 0055a, Durer's St George and the Dragon''") class O3_2 literal; O1-- identified_by -->O3 O4( _ ) class O4 name; O4-- type -->O4_0[Identifier] class O4_0 classstyle; O4-- content -->O4_2("''0055a''") class O4_2 literal; O1-- identified_by -->O4 O5( _ ) class O5 timespan; O5-- type -->O5_0[TimeSpan] class O5_0 classstyle; O5-- _label -->O5_2("''1820 Mar 09''") class O5_2 literal; O5-- begin_of_the_begin -->O5_3("''1820-03-09T00:00:00Z''") class O5_3 literal; O5-- end_of_the_end -->O5_4("''1820-03-09T23:59:59Z''") class O5_4 literal; O1-- timespan -->O5 O6(tgn:7011781) class O6 place; O6-- type -->O6_0[Place] class O6_0 classstyle; O6-- _label -->O6_3("''London''") class O6_3 literal; O1-- took_place_at -->O6 O7(ulan:500451765) class O7 actor; O7-- type -->O7_0[Group] class O7_0 classstyle; O7-- _label -->O7_3("''Edward Foster & Son''") class O7_3 literal; O1-- carried_out_by -->O7 O8(http://example.org/set/Br1908/0055) class O8 infoobj; O8-- type -->O8_0[Set] class O8_0 classstyle; O8-- _label -->O8_3("''Set of Objects for Lot 0055''") class O8_3 literal; O1-- used_specific_object -->O8 O9(http://example.org/auction/Br1908/0055) class O9 event; O9-- type -->O9_0[Activity] class O9_0 classstyle; O9-- _label -->O9_3("''Auction of Lot 0055''") class O9_3 literal; O1-- caused_by -->O9 O10( _ ) class O10 event; O10-- type -->O10_0[Acquisition] class O10_0 classstyle; O11(http://example.museum/object/1) class O11 object; O11-- type -->O11_0[HumanMadeObject] class O11_0 classstyle; O11-- _label -->O11_3("''St George and the Dragon''") class O11_3 literal; O10-- transferred_title_of -->O11 O12(http://example.museum/person/2) class O12 actor; O12-- type -->O12_0[Person] class O12_0 classstyle; O12-- _label -->O12_3("''Simpson''") class O12_3 literal; O10-- transferred_title_from -->O12 O13(http://example.museum/person/1) class O13 actor; O13-- type -->O13_0[Person] class O13_0 classstyle; O13-- _label -->O13_3("''Adams''") class O13_3 literal; O10-- transferred_title_to -->O13 O1-- part -->O10 O14( _ ) class O14 event; O14-- type -->O14_0[Payment] class O14_0 classstyle; O15( _ ) class O15 dims; O15-- type -->O15_0[MonetaryAmount] class O15_0 classstyle; O15-- _label -->O15_2("''8.8 pounds''") class O15_2 literal; O15-- value -->O15_3(8.8) class O15_3 literal; O16(aat:300411998) class O16 type; O16-- type -->O16_0[Currency] class O16_0 classstyle; O16-- _label -->O16_3("''British Pounds''") class O16_3 literal; O15-- currency -->O16 O14-- paid_amount -->O15 O14-- paid_from -->O13 O14-- paid_to -->O12 O1-- part -->O14
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)