Vocabulary Terms in Linked Art

Introduction

As the Linked Art model is very broad in terms of its classes and properties, we rely heavily on the use of vocabulary terms to be more specific about individual entities. There isn't a difference at the ontology level between a book or a painting or a bridge, they're all instances of the class HumanMadeObject. This makes it easy to be interoperable at the ontological level, however in order to compare data across institutions or datasets, there must also be interoperability at the vocabulary level to avoid thinking that the bridge should be counted in the same way as the painting.

Any entity in the model can have one or more classifications associated with it using the classified_as property, as discussed in the Types and Classifications section. Consistency in the use of URIs for those classifications will make the data easier to use for everyone. The vocabulary has been divided into three different sets, based on how important it is to reuse the terms.

Terms by Requirement Class

Usage

The reference to the vocabulary entry can be either directly in the id of the reference, or as an embedded equivalent to an intermediary. For the purposes of conformance and utility, the following are both equally acceptable.

Vocabulary in id:

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/object/spring/30",
  "type": "HumanMadeObject",
  "_label": "Jeanne (Spring) by Manet",
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300033618",
      "type": "Type",
      "_label": "Painting"
    }
  ]
}

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/spring/30) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Jeanne (Spring) by Manet''") class O1_4 literal; O2(aat:300033618) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Painting''") class O2_3 literal; O1-- classified_as -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Vocabulary in equivalent:

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/object/spring/31",
  "type": "HumanMadeObject",
  "_label": "Jeanne (Spring) by Manet",
  "classified_as": [
    {
      "id": "https://linked.art/vocab/terms/painting",
      "type": "Type",
      "_label": "Painting",
      "equivalent": [
        {
          "id": "http://vocab.getty.edu/aat/300033618",
          "type": "Type",
          "_label": "Painting"
        }
      ]
    }
  ]
}

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/spring/31) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Jeanne (Spring) by Manet''") class O1_4 literal; O2(https://linked.art/vocab/terms/painting) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Painting''") class O2_3 literal; O3(aat:300033618) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Painting''") class O3_3 literal; O2-- equivalent -->O3 O1-- classified_as -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Updates to the Vocabulary Lists

Entries in the required list will only be changed or removed with a new major version of Linked Art, but new requirements might be added with a minor version. While this is a weak interpretation of the semantic versioning requirements, it is intended to facilitate interoperability at the semantic layer as best practices and consistency emerge within the community without waiting for a major version.

The recommended list can also be updated with a new minor version, as not following the list does not break compatability with previous minor versions. This includes adding, removing and changing the URIs for entries in the list.

The optional list, as merely informational, is not semantically versioned and thus can be updated at any time.

The community should propose additions to the lists via github issues.