Objects: Physical Characteristics

Table of Contents

Up: Objects

Introduction

There are several important physical features of artworks that it is important to capture, including the size, shapes, colors, and the materials that it is made of. The model allows for both being explicit in the data for these, as well as simply including a textual description. The explicit form is preferred, however it is recognized that not all systems will be able to provide it.

Beyond dimensions and materials, the model allows for the description of parts of objects, and parts of parts, using the base pattern. These parts can be thought of as objects in their own right, and thus have titles ("Left Panel" of a triptych), descriptions, rights, images, dimensions, materials, and so forth.

Dimensions

The physical dimensions of an object, such as height, width, diameter or weight, are included in the dimension property, and consist of three primary pieces of information:

Example:

A painting that measures 16 inches wide by 20 inches tall.

{
  "@context": "https://linked.art/ns/v1/linked-art.json", 
  "id": "https://linked.art/example/object/56", 
  "type": "HumanMadeObject", 
  "_label": "Example 16x20 Painting", 
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300033618", 
      "type": "Type", 
      "_label": "Painting", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435443", 
          "type": "Type", 
          "_label": "Type of Work"
        }
      ]
    }, 
    {
      "id": "http://vocab.getty.edu/aat/300133025", 
      "type": "Type", 
      "_label": "Artwork"
    }
  ], 
  "dimension": [
    {
      "id": "https://linked.art/example/value/9", 
      "type": "Dimension", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300055647", 
          "type": "Type", 
          "_label": "Width"
        }
      ], 
      "value": 16, 
      "unit": {
        "id": "http://vocab.getty.edu/aat/300379100", 
        "type": "MeasurementUnit", 
        "_label": "inches"
      }
    }, 
    {
      "id": "https://linked.art/example/value/10", 
      "type": "Dimension", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300055644", 
          "type": "Type", 
          "_label": "Height"
        }
      ], 
      "value": 20, 
      "unit": {
        "id": "http://vocab.getty.edu/aat/300379100", 
        "type": "MeasurementUnit", 
        "_label": "inches"
      }
    }
  ]
}
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:blue,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(object56) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Example 16x20 Painting''") 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; O3(aat:300435443) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Type of Work''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2 O4(aat:300133025) class O4 type; O4-- type -->O4_0[Type] class O4_0 classstyle; O4-- _label -->O4_3("''Artwork''") class O4_3 literal; O1-- classified_as -->O4 O5(value9) class O5 dims; O5-- type -->O5_0[Dimension] class O5_0 classstyle; O6(aat:300055647) class O6 type; O6-- type -->O6_0[Type] class O6_0 classstyle; O6-- _label -->O6_3("''Width''") class O6_3 literal; O5-- classified_as -->O6 O5-- value -->O5_4(16) class O5_4 literal; O7(aat:300379100) class O7 type; O7-- type -->O7_0[MeasurementUnit] class O7_0 classstyle; O7-- _label -->O7_3("''inches''") class O7_3 literal; O5-- unit -->O7 O1-- dimension -->O5 O8(value10) class O8 dims; O8-- type -->O8_0[Dimension] class O8_0 classstyle; O9(aat:300055644) class O9 type; O9-- type -->O9_0[Type] class O9_0 classstyle; O9-- _label -->O9_3("''Height''") class O9_3 literal; O8-- classified_as -->O9 O8-- value -->O8_4(20) class O8_4 literal; O8-- unit -->O7 O1-- dimension -->O8
Other Representations: JSON-LD (Raw) | JSON-LD (Playground) | Turtle (Raw) | Turtle (Styled)

Dimension Statement

If the dimension text is not recorded in a way that is condusive to generating the full set, then it can be given as a LinguisticObject, classifed as dimensions by reference to aat:300435430, and the text provided in content. This is an example of the Statements base pattern.

Example:

The same 16 by 20 inch painting, described only in a human-readable text.

{
  "@context": "https://linked.art/ns/v1/linked-art.json", 
  "id": "https://linked.art/example/object/57", 
  "type": "HumanMadeObject", 
  "_label": "Example Painting", 
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300033618", 
      "type": "Type", 
      "_label": "Painting", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435443", 
          "type": "Type", 
          "_label": "Type of Work"
        }
      ]
    }, 
    {
      "id": "http://vocab.getty.edu/aat/300133025", 
      "type": "Type", 
      "_label": "Artwork"
    }
  ], 
  "referred_to_by": [
    {
      "id": "https://linked.art/example/text/30", 
      "type": "LinguisticObject", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435430", 
          "type": "Type", 
          "_label": "Dimension Statement", 
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300418049", 
              "type": "Type", 
              "_label": "Brief Text"
            }
          ]
        }
      ], 
      "content": "The painting is approximately 16 inches wide, by 20 inches high"
    }
  ]
}
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:blue,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(object57) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Example Painting''") 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; O3(aat:300435443) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Type of Work''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2 O4(aat:300133025) class O4 type; O4-- type -->O4_0[Type] class O4_0 classstyle; O4-- _label -->O4_3("''Artwork''") class O4_3 literal; O1-- classified_as -->O4 O5(text30) class O5 infoobj; O5-- type -->O5_0[LinguisticObject] class O5_0 classstyle; O6(aat:300435430) class O6 type; O6-- type -->O6_0[Type] class O6_0 classstyle; O6-- _label -->O6_3("''Dimension Statement''") class O6_3 literal; O7(aat:300418049) class O7 type; O7-- type -->O7_0[Type] class O7_0 classstyle; O7-- _label -->O7_3("''Brief Text''") class O7_3 literal; O6-- classified_as -->O7 O5-- classified_as -->O6 O5-- content -->O5_4("''The painting is approximately 16 inches wide, by 20 inches high''") class O5_4 literal; O1-- referred_to_by -->O5
Other Representations: JSON-LD (Raw) | JSON-LD (Playground) | Turtle (Raw) | Turtle (Styled)

Measurements of Dimensions

In some contexts, it is also important to have more information about how the dimensions were measured. This could be useful, for example, to distinguish the time and method by which the measurement was taken, or to know who used which instrument in a conservation research setting to promote accuracy and reusability of results.

In order to build upon the dimension model described above, the model adds an AttributeAssignment activity to the Dimension which is the measuring activity, following the Assertion pattern. The Dimension is assigned_by the AttributeAssignment, to the object which has the dimension. In this particular case, as dimensions are specific to the object, and the dimension property is explicit in the model already, there is no need to link from the AttributeAssignment back to the object, or to give the property that is being assigned. It is permitted, but no new information is being added and hence it is not recommended.

Example:

A particular curator measured the painting to be 20 inches high.

{
  "@context": "https://linked.art/ns/v1/linked-art.json", 
  "id": "https://linked.art/example/object/58", 
  "type": "HumanMadeObject", 
  "_label": "Example Painting", 
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300033618", 
      "type": "Type", 
      "_label": "Painting", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435443", 
          "type": "Type", 
          "_label": "Type of Work"
        }
      ]
    }
  ], 
  "dimension": [
    {
      "id": "https://linked.art/example/value/11", 
      "type": "Dimension", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300055644", 
          "type": "Type", 
          "_label": "Height"
        }
      ], 
      "value": 20, 
      "unit": {
        "id": "http://vocab.getty.edu/aat/300379100", 
        "type": "MeasurementUnit", 
        "_label": "inches"
      }, 
      "assigned_by": [
        {
          "id": "https://linked.art/example/activity/36", 
          "type": "AttributeAssignment", 
          "_label": "Measurement of Painting", 
          "carried_out_by": [
            {
              "id": "https://linked.art/example/person/26", 
              "type": "Person", 
              "_label": "Curator"
            }
          ]
        }
      ]
    }
  ]
}
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:blue,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(object58) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Example Painting''") 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; O3(aat:300435443) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Type of Work''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2 O4(value11) class O4 dims; O4-- type -->O4_0[Dimension] class O4_0 classstyle; O5(aat:300055644) class O5 type; O5-- type -->O5_0[Type] class O5_0 classstyle; O5-- _label -->O5_3("''Height''") class O5_3 literal; O4-- classified_as -->O5 O4-- value -->O4_4(20) class O4_4 literal; O6(aat:300379100) class O6 type; O6-- type -->O6_0[MeasurementUnit] class O6_0 classstyle; O6-- _label -->O6_3("''inches''") class O6_3 literal; O4-- unit -->O6 O7(activity36) class O7 event; O7-- type -->O7_0[AttributeAssignment] class O7_0 classstyle; O7-- _label -->O7_3("''Measurement of Painting''") class O7_3 literal; O8(person26) class O8 actor; O8-- type -->O8_0[Person] class O8_0 classstyle; O8-- _label -->O8_3("''Curator''") class O8_3 literal; O7-- carried_out_by -->O8 O4-- assigned_by -->O7 O1-- dimension -->O4
Other Representations: JSON-LD (Raw) | JSON-LD (Playground) | Turtle (Raw) | Turtle (Styled)

Colors

The main colors of an object can be determined and record in two very different ways - by capturing a very specific value for the wavelength of the light or composition of the color (in a Red/Green/Blue colorspace, for example), or categorizing the object into more broader, subjective color types ("pale green", "ochre"). The first approach might be done with instruments measuring the reflected light off the original, or via digital photography and computing the color from the resulting digital image. The second approach is likely carried out by a curator in describing the object in a collection management system, hopefully using a controlled set of terms. As it is desirable to have only a single place to look for information, the model for color tries to capture both of these possibilities at once in as simple a way as possible, allowing either or both to happen for any given color.

Measurements record a Dimension, and thus we create an instance of the class to record the color, even if the measurement is a categorization. The dimension has a value and unit, just like the more obvious physical dimensions described above. For an RGB colorspace, the value must be converted into an integer from the more traditional three-part hexadecimal value, as values are always decimalized. This allows the true value to be recorded. The dimension can also be classified_as a particular color family -- the object has a color which is a green color, for example. Either or both of these patterns can be used, and multiple dimensions using this pattern can be recorded without having to match up which categories map to which values.

Example:

A green painting has a vivid (00FF00) green color, and is also categorized as being green (aat:300128438)

{
  "@context": "https://linked.art/ns/v1/linked-art.json", 
  "id": "https://linked.art/example/object/59", 
  "type": "HumanMadeObject", 
  "_label": "Example Green Painting", 
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300033618", 
      "type": "Type", 
      "_label": "Painting", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435443", 
          "type": "Type", 
          "_label": "Type of Work"
        }
      ]
    }, 
    {
      "id": "http://vocab.getty.edu/aat/300133025", 
      "type": "Type", 
      "_label": "Artwork"
    }
  ], 
  "dimension": [
    {
      "id": "https://linked.art/example/value/12", 
      "type": "Dimension", 
      "_label": "green", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300080438", 
          "type": "Type", 
          "_label": "Color"
        }, 
        {
          "id": "http://vocab.getty.edu/aat/300128438", 
          "type": "Type", 
          "_label": "Green"
        }
      ], 
      "value": 65280, 
      "unit": {
        "id": "http://vocab.getty.edu/aat/300266239", 
        "type": "MeasurementUnit", 
        "_label": "rgb"
      }
    }
  ]
}
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:blue,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(object59) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Example Green Painting''") 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; O3(aat:300435443) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Type of Work''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2 O4(aat:300133025) class O4 type; O4-- type -->O4_0[Type] class O4_0 classstyle; O4-- _label -->O4_3("''Artwork''") class O4_3 literal; O1-- classified_as -->O4 O5(value12) class O5 dims; O5-- type -->O5_0[Dimension] class O5_0 classstyle; O5-- _label -->O5_3("''green''") class O5_3 literal; O6(aat:300080438) class O6 type; O6-- type -->O6_0[Type] class O6_0 classstyle; O6-- _label -->O6_3("''Color''") class O6_3 literal; O5-- classified_as -->O6 O7(aat:300128438) class O7 type; O7-- type -->O7_0[Type] class O7_0 classstyle; O7-- _label -->O7_3("''Green''") class O7_3 literal; O5-- classified_as -->O7 O5-- value -->O5_5(65280) class O5_5 literal; O8(aat:300266239) class O8 type; O8-- type -->O8_0[MeasurementUnit] class O8_0 classstyle; O8-- _label -->O8_3("''rgb''") class O8_3 literal; O5-- unit -->O8 O1-- dimension -->O5
Other Representations: JSON-LD (Raw) | JSON-LD (Playground) | Turtle (Raw) | Turtle (Styled)

Implementation Note

In order to generate an integer value from a hexadecimal value is typically very easy in most programming languages. In Python, for example, it is simply int(hex_value, 16). The reverse is also true, with the equivalent being hex(int_value). As such, the unobvious value of 65280 is not wonderful from a data-readability perspective, but the implementation is very straightforward and thus the consistency is deemed to provide more usability than having a special case of value that takes a string instead of an integer.

Shapes

While some combinations of dimensions can give a sense of the shape of the object, it is also often useful to be more explicit. For example, a shield-shaped painting (perhaps due to being painted on an actual shield) would likely still only have height and width given. Without the additional information of the shape, it might be concluded that the painting is rectangular. Similarly, a circular object could be mistaken as a square, as the height and width would be the same in either case.

Shapes are given as classifications on the object via the classified_as property. The classification is then further classified as being a shape, with the term aat:300056273, in the same way that being a painting is further classified as being the type of work.

Example:

An oval-shaped painting.

{
  "@context": "https://linked.art/ns/v1/linked-art.json", 
  "id": "https://linked.art/example/object/60", 
  "type": "HumanMadeObject", 
  "_label": "Example Oval Painting", 
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300033618", 
      "type": "Type", 
      "_label": "Painting", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435443", 
          "type": "Type", 
          "_label": "Type of Work"
        }
      ]
    }, 
    {
      "id": "http://vocab.getty.edu/aat/300133025", 
      "type": "Type", 
      "_label": "Artwork"
    }, 
    {
      "id": "http://vocab.getty.edu/aat/300263817", 
      "type": "Type", 
      "_label": "Oval", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300056273", 
          "type": "Type", 
          "_label": "Shape"
        }
      ]
    }
  ]
}
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:blue,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(object60) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Example Oval Painting''") 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; O3(aat:300435443) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Type of Work''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2 O4(aat:300133025) class O4 type; O4-- type -->O4_0[Type] class O4_0 classstyle; O4-- _label -->O4_3("''Artwork''") class O4_3 literal; O1-- classified_as -->O4 O5(aat:300263817) class O5 type; O5-- type -->O5_0[Type] class O5_0 classstyle; O5-- _label -->O5_3("''Oval''") class O5_3 literal; O6(aat:300056273) class O6 type; O6-- type -->O6_0[Type] class O6_0 classstyle; O6-- _label -->O6_3("''Shape''") class O6_3 literal; O5-- classified_as -->O6 O1-- classified_as -->O5
Other Representations: JSON-LD (Raw) | JSON-LD (Playground) | Turtle (Raw) | Turtle (Styled)

Materials

Objects are created using different materials, such as canvas or marble. These are recorded using the made_of property on the object directly. The materials are the type of material, rather than the specific bits of matter and therefore refer to entries in external vocabularies. When possible, it is good to use this model, and combined with the parts model described in the next section, allows for a comprehensive set of information about which parts are which sizes, shapes, colors, and made of which materials.

Note that the type-of-type pattern is not needed for materials, like it is for shape, as they have their own Material class that is used to distinguish them.

Example:

A statue made of marble.

{
  "@context": "https://linked.art/ns/v1/linked-art.json", 
  "id": "https://linked.art/example/object/61", 
  "type": "HumanMadeObject", 
  "_label": "Example Marble Sculpture", 
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300047090", 
      "type": "Type", 
      "_label": "Sculpture", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435443", 
          "type": "Type", 
          "_label": "Type of Work"
        }
      ]
    }, 
    {
      "id": "http://vocab.getty.edu/aat/300133025", 
      "type": "Type", 
      "_label": "Artwork"
    }
  ], 
  "made_of": [
    {
      "id": "http://vocab.getty.edu/aat/300011443", 
      "type": "Material", 
      "_label": "marble"
    }
  ]
}
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:blue,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(object61) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Example Marble Sculpture''") class O1_4 literal; O2(aat:300047090) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Sculpture''") class O2_3 literal; O3(aat:300435443) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Type of Work''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2 O4(aat:300133025) class O4 type; O4-- type -->O4_0[Type] class O4_0 classstyle; O4-- _label -->O4_3("''Artwork''") class O4_3 literal; O1-- classified_as -->O4 O5(aat:300011443) class O5 type; O5-- type -->O5_0[Material] class O5_0 classstyle; O5-- _label -->O5_3("''marble''") class O5_3 literal; O1-- made_of -->O5
Other Representations: JSON-LD (Raw) | JSON-LD (Playground) | Turtle (Raw) | Turtle (Styled)

Materials Statement

Similarly to dimensions statements, it is possible to describe the materials using a LinguisticObject classified as being about the materials of the object via aat:300435429.

Example:

A multi-media painting, with a description of the materials in human-readable text only.

{
  "@context": "https://linked.art/ns/v1/linked-art.json", 
  "id": "https://linked.art/example/object/62", 
  "type": "HumanMadeObject", 
  "_label": "Example Multi-Media Painting", 
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300033618", 
      "type": "Type", 
      "_label": "Painting", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435443", 
          "type": "Type", 
          "_label": "Type of Work"
        }
      ]
    }, 
    {
      "id": "http://vocab.getty.edu/aat/300133025", 
      "type": "Type", 
      "_label": "Artwork"
    }
  ], 
  "referred_to_by": [
    {
      "id": "https://linked.art/example/text/31", 
      "type": "LinguisticObject", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435429", 
          "type": "Type", 
          "_label": "Material Statement", 
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300418049", 
              "type": "Type", 
              "_label": "Brief Text"
            }
          ]
        }
      ], 
      "content": "Oil, French Watercolors on Paper, Graphite and Ink on Canvas, with an Oak frame"
    }
  ]
}
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:blue,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(object62) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Example Multi-Media Painting''") 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; O3(aat:300435443) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Type of Work''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2 O4(aat:300133025) class O4 type; O4-- type -->O4_0[Type] class O4_0 classstyle; O4-- _label -->O4_3("''Artwork''") class O4_3 literal; O1-- classified_as -->O4 O5(text31) class O5 infoobj; O5-- type -->O5_0[LinguisticObject] class O5_0 classstyle; O6(aat:300435429) class O6 type; O6-- type -->O6_0[Type] class O6_0 classstyle; O6-- _label -->O6_3("''Material Statement''") class O6_3 literal; O7(aat:300418049) class O7 type; O7-- type -->O7_0[Type] class O7_0 classstyle; O7-- _label -->O7_3("''Brief Text''") class O7_3 literal; O6-- classified_as -->O7 O5-- classified_as -->O6 O5-- content -->O5_4("''Oil, French Watercolors on Paper, Graphite and Ink on Canvas, with an Oak frame''") class O5_4 literal; O1-- referred_to_by -->O5
Other Representations: JSON-LD (Raw) | JSON-LD (Playground) | Turtle (Raw) | Turtle (Styled)

Parts

As described in the baseline patterns, one of the main modeling paradigms used is to separate parts of resources from the whole. Physical objects are particularly amenable to this, and allows reuse of the rest of the model as needed. The parts do not need to be physically separable without destroying the object, but do need to be objectively definable in terms of the matter that makes it up. For example, the arm of a sculpture could have dimensions and materials, but while an arch-shaped space in a rock formation might have dimensions, it could not be removed, nor is it made of anything, and thus it is not a part.

Physical parts are given using the part property, and use the same HumanMadeObject class, as per the full object. The classified_as property can be used to be more specific as to the sort of part, in this case the support for the painting, which is in turn made of canvas. The type of part is then further classified as aat:300241583 to ensure that it can be distinguished as a part-type, rather than an object-type.

The model does not have a separate parts statement to describe this in a human-readable way, as this is traditionally done using the materials statement as demonstrated above.

Example:

A watercolor painting, that has a part which is the support and is made of canvas.

{
  "@context": "https://linked.art/ns/v1/linked-art.json", 
  "id": "https://linked.art/example/object/63", 
  "type": "HumanMadeObject", 
  "_label": "Example Painting", 
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300033618", 
      "type": "Type", 
      "_label": "Painting", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435443", 
          "type": "Type", 
          "_label": "Type of Work"
        }
      ]
    }, 
    {
      "id": "http://vocab.getty.edu/aat/300133025", 
      "type": "Type", 
      "_label": "Artwork"
    }
  ], 
  "made_of": [
    {
      "id": "http://vocab.getty.edu/aat/300015045", 
      "type": "Material", 
      "_label": "watercolors"
    }
  ], 
  "part": [
    {
      "id": "https://linked.art/example/object/63/part/1", 
      "type": "HumanMadeObject", 
      "_label": "Canvas Support", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300014844", 
          "type": "Type", 
          "_label": "Support", 
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300241583", 
              "type": "Type", 
              "_label": "Part Type"
            }
          ]
        }
      ], 
      "made_of": [
        {
          "id": "http://vocab.getty.edu/aat/300014078", 
          "type": "Material", 
          "_label": "canvas"
        }
      ]
    }
  ]
}
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:blue,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(object63) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Example Painting''") 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; O3(aat:300435443) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Type of Work''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2 O4(aat:300133025) class O4 type; O4-- type -->O4_0[Type] class O4_0 classstyle; O4-- _label -->O4_3("''Artwork''") class O4_3 literal; O1-- classified_as -->O4 O5(aat:300015045) class O5 type; O5-- type -->O5_0[Material] class O5_0 classstyle; O5-- _label -->O5_3("''watercolors''") class O5_3 literal; O1-- made_of -->O5 O6(object63part1) class O6 object; O6-- type -->O6_0[HumanMadeObject] class O6_0 classstyle; O6-- _label -->O6_3("''Canvas Support''") class O6_3 literal; O7(aat:300014844) class O7 type; O7-- type -->O7_0[Type] class O7_0 classstyle; O7-- _label -->O7_3("''Support''") class O7_3 literal; O8(aat:300241583) class O8 type; O8-- type -->O8_0[Type] class O8_0 classstyle; O8-- _label -->O8_3("''Part Type''") class O8_3 literal; O7-- classified_as -->O8 O6-- classified_as -->O7 O9(aat:300014078) class O9 type; O9-- type -->O9_0[Material] class O9_0 classstyle; O9-- _label -->O9_3("''canvas''") class O9_3 literal; O6-- made_of -->O9 O1-- part -->O6
Other Representations: JSON-LD (Raw) | JSON-LD (Playground) | Turtle (Raw) | Turtle (Styled)

Sides of an Object

While some artworks can be treated as two dimensional, as the only part of interest is the front of a flat surface such as a painting, drawing or photograph, there are many other objects where it is desirable to record information separately about the front and back, or any number of other sides.

This pattern allows separate identities for the recto and verso of a page, the obverse and reverse of a coin, in the same manner as the frame or canvas of a painting. The use of the classification aat:300133025 (artwork) is important to distinguish between objects that should be treated as the complete artwork, and objects that are either parts of it, or those that it is part of.

Example:

A photograph that depicts the Example Painting, where the image is on the front part, and there is an inscription on the back that reads "Photograph of Example Painting, taken 1932". The use of the classification of being an artwork applies only to the front of the photograph, and not the back.

{
  "@context": "https://linked.art/ns/v1/linked-art.json", 
  "id": "https://linked.art/example/object/64", 
  "type": "HumanMadeObject", 
  "_label": "Photograph of Example Artwork", 
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300128347", 
      "type": "Type", 
      "_label": "Color Photograph", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435443", 
          "type": "Type", 
          "_label": "Type of Work"
        }
      ]
    }
  ], 
  "part": [
    {
      "id": "https://linked.art/example/object/65", 
      "type": "HumanMadeObject", 
      "_label": "Front of Photograph", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300190703", 
          "type": "Type", 
          "_label": "Front Part", 
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300241583", 
              "type": "Type", 
              "_label": "Part Type"
            }
          ]
        }, 
        {
          "id": "http://vocab.getty.edu/aat/300133025", 
          "type": "Type", 
          "_label": "Artwork"
        }
      ], 
      "shows": [
        {
          "id": "https://linked.art/example/VisualItem/6", 
          "type": "VisualItem", 
          "represents": [
            {
              "id": "https://linked.art/example/object/67", 
              "type": "HumanMadeObject", 
              "_label": "Example Painting", 
              "classified_as": [
                {
                  "id": "http://vocab.getty.edu/aat/300033618", 
                  "type": "Type", 
                  "_label": "Painting", 
                  "classified_as": [
                    {
                      "id": "http://vocab.getty.edu/aat/300435443", 
                      "type": "Type", 
                      "_label": "Type of Work"
                    }
                  ]
                }, 
                {
                  "id": "http://vocab.getty.edu/aat/300133025", 
                  "type": "Type", 
                  "_label": "Artwork"
                }
              ]
            }
          ]
        }
      ]
    }, 
    {
      "id": "https://linked.art/example/object/66", 
      "type": "HumanMadeObject", 
      "_label": "Back of Photograph", 
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300190692", 
          "type": "Type", 
          "_label": "Back Part", 
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300241583", 
              "type": "Type", 
              "_label": "Part Type"
            }
          ]
        }
      ], 
      "carries": [
        {
          "id": "https://linked.art/example/text/32", 
          "type": "LinguisticObject", 
          "content": "Photograph of Example Painting, taken 1932"
        }
      ]
    }
  ]
}
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:blue,fill:#96e0f6,rx:20px,ry:20px classDef literal stroke:black,fill:#f0f0e0; classDef classstyle stroke:black,fill:white; O1(object64) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Photograph of Example Artwork''") class O1_4 literal; O2(aat:300128347) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Color Photograph''") class O2_3 literal; O3(aat:300435443) class O3 type; O3-- type -->O3_0[Type] class O3_0 classstyle; O3-- _label -->O3_3("''Type of Work''") class O3_3 literal; O2-- classified_as -->O3 O1-- classified_as -->O2 O4(object65) class O4 object; O4-- type -->O4_0[HumanMadeObject] class O4_0 classstyle; O4-- _label -->O4_3("''Front of Photograph''") class O4_3 literal; O5(aat:300190703) class O5 type; O5-- type -->O5_0[Type] class O5_0 classstyle; O5-- _label -->O5_3("''Front Part''") class O5_3 literal; O6(aat:300241583) class O6 type; O6-- type -->O6_0[Type] class O6_0 classstyle; O6-- _label -->O6_3("''Part Type''") class O6_3 literal; O5-- classified_as -->O6 O4-- classified_as -->O5 O7(aat:300133025) class O7 type; O7-- type -->O7_0[Type] class O7_0 classstyle; O7-- _label -->O7_3("''Artwork''") class O7_3 literal; O4-- classified_as -->O7 O8(VisualItem6) class O8 infoobj; O8-- type -->O8_0[VisualItem] class O8_0 classstyle; O9(object67) class O9 object; O9-- type -->O9_0[HumanMadeObject] class O9_0 classstyle; O9-- _label -->O9_3("''Example Painting''") class O9_3 literal; O10(aat:300033618) class O10 type; O10-- type -->O10_0[Type] class O10_0 classstyle; O10-- _label -->O10_3("''Painting''") class O10_3 literal; O10-- classified_as -->O3 O9-- classified_as -->O10 O9-- classified_as -->O7 O8-- represents -->O9 O4-- shows -->O8 O1-- part -->O4 O11(object66) class O11 object; O11-- type -->O11_0[HumanMadeObject] class O11_0 classstyle; O11-- _label -->O11_3("''Back of Photograph''") class O11_3 literal; O12(aat:300190692) class O12 type; O12-- type -->O12_0[Type] class O12_0 classstyle; O12-- _label -->O12_3("''Back Part''") class O12_3 literal; O12-- classified_as -->O6 O11-- classified_as -->O12 O13(text32) class O13 infoobj; O13-- type -->O13_0[LinguisticObject] class O13_0 classstyle; O13-- content -->O13_3("''Photograph of Example Painting, taken 1932''") class O13_3 literal; O11-- carries -->O13 O1-- part -->O11
Other Representations: JSON-LD (Raw) | JSON-LD (Playground) | Turtle (Raw) | Turtle (Styled)