Places

Introduction

Places are one of the foundational classes in the model. Events and activities occur at both a time and a place, objects of all sizes have locations, and people and organizations have associated locations where they reside or are otherwise associated with. Places are extents in space, independent of time or what may or may not be present in that space. For built works such as architecture and works that are fixed in location due to their media (a cave drawing for example), Place is a defining characteristic.

Places also form a core integration point with Geographical Information Systems (GIS) and map based user interfaces. By aligning with these other systems, we enable better usability and interactivity with our data.

Core Information

All of the core information for resources is available for Place, including identifiers, classifications, labels, names, statements and so forth.

It is recommended that external gazeteer systems be used for recording the spatial hierarchy of Places, however it is still useful to be able to position historical locations within their larger geospatial context. This uses the same partitioning pattern as all other classes in the model.

Example:

There is a city called Los Angeles, in California.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/place/2",
  "type": "Place",
  "_label": "Los Angeles, CA",
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300008389",
      "type": "Type",
      "_label": "City"
    }
  ],
  "identified_by": [
    {
      "type": "Name",
      "content": "Los Angeles"
    }
  ],
  "referred_to_by": [
    {
      "type": "LinguisticObject",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300435416",
          "type": "Type",
          "_label": "Description",
          "classified_as": [
            {
              "id": "http://vocab.getty.edu/aat/300418049",
              "type": "Type",
              "_label": "Brief Text"
            }
          ]
        }
      ],
      "content": "Los Angeles is a city in California, USA."
    }
  ],
  "part_of": [
    {
      "type": "Place",
      "_label": "California",
      "classified_as": [
        {
          "id": "http://vocab.getty.edu/aat/300000774",
          "type": "Type",
          "_label": "Province"
        }
      ]
    }
  ]
}

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(place2) class O1 place; O1-- type -->O1_0[Place] class O1_0 classstyle; O1-- _label -->O1_4("''Los Angeles, CA''") class O1_4 literal; O2(aat:300008389) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''City''") 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("''Los Angeles''") class O3_2 literal; O1-- identified_by -->O3 O4( _ ) class O4 infoobj; O4-- type -->O4_0[LinguisticObject] class O4_0 classstyle; O5(aat:300435416) class O5 type; O5-- type -->O5_0[Type] class O5_0 classstyle; O5-- _label -->O5_3("''Description''") 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("''Los Angeles is a city in California, USA.''") class O4_3 literal; O1-- referred_to_by -->O4 O7( _ ) class O7 place; O7-- type -->O7_0[Place] class O7_0 classstyle; O7-- _label -->O7_2("''California''") class O7_2 literal; O8(aat:300000774) class O8 type; O8-- type -->O8_0[Type] class O8_0 classstyle; O8-- _label -->O8_3("''Province''") class O8_3 literal; O7-- classified_as -->O8 O1-- part_of -->O7
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Geospatial Location

One of the expected user interface requirements for places is the ability to plot them on a map. In order to do this, or to calculate the geospatial overlap of places, it is useful to have a geometry that describes the place's boundaries in the real world. This could be very detailed, a simple bounding box within which the place fits, or a point close to the center of the area.

This is handled simply by associating a WKT string with the place using the defined_by property. A simple user interface for generating WKT representations is available from the Wicket Project.

Example:

A polygon that (approximately) defines the country New Zealand.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/place/3",
  "type": "Place",
  "_label": "New Zealand",
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300128207",
      "type": "Type",
      "_label": "Nation"
    }
  ],
  "defined_by": "POLYGON((165.74 -33.55, -179.96 -33.55, -179.96 -47.8, 165.74 -47.8, 165.74 -33.55))"
}

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(place3) class O1 place; O1-- type -->O1_0[Place] class O1_0 classstyle; O1-- _label -->O1_4("''New Zealand''") class O1_4 literal; O2(aat:300128207) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Nation''") class O2_3 literal; O1-- classified_as -->O2 O1-- defined_by -->O1_6("''POLYGON((165.74 -33.55, -179.96 -33.55, -179.96 -47.8, 165.74 -47.8, 165.74 -33.55))''") class O1_6 literal;
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Geospatial Approximation

All recorded locations are approximate to some degree. It may be desirable to capture this approximation separately from the actual place, especially when that approximation is very uncertain. Especially if the place is the exact location of several events, and perhaps an address or other information is known, but not the exact geospatial coordinates.

Secondly, as a place is defined by exactly one definition, but there might be multiple approximations such as a polygon as well as the central point, the real place that an activity occured at can be related to multiple approximate places to capture these different approximations.

Example:

Many art sales take place in auction houses over time, and while the city might be known, the exact address within the city might not be and it would be wrong to collect all of the art sales within the entire city together.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/place/4",
  "type": "Place",
  "_label": "True Auction House Location",
  "approximated_by": [
    {
      "type": "Place",
      "_label": "Auction House Location Approximation",
      "defined_by": "POINT(-0.0032937526703165 51.515107154846)"
    }
  ]
}

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(place4) class O1 place; O1-- type -->O1_0[Place] class O1_0 classstyle; O1-- _label -->O1_4("''True Auction House Location''") class O1_4 literal; O2( _ ) class O2 place; O2-- type -->O2_0[Place] class O2_0 classstyle; O2-- _label -->O2_2("''Auction House Location Approximation''") class O2_2 literal; O2-- defined_by -->O2_3("''POINT(-0.0032937526703165 51.515107154846)''") class O2_3 literal; O1-- approximated_by -->O2
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)

Buildings and "Immovable" Objects

It is easy to confuse places with the constructions that exist at the place. While rare, there are situations when buildings are moved between locations. The building, just like a painting, is thus modeled as an object that has a current location in space. Activities take place in the place, rather than in the object. The granularity of the place compared to the building may be different due to underlying data management.

This applies to any other "immovable" object as well, such as large stellae through pyramids, ruins, or any other constructed object that might otherwise be "permanently" at a particular location.

Example:

The Frank Lloyd Wright House was originally built in New Jersey, and subsequently moved to its current location in Arkansas.

{
  "@context": "https://linked.art/ns/v1/linked-art.json",
  "id": "https://linked.art/example/object/69",
  "type": "HumanMadeObject",
  "_label": "Frank Lloyd Wright House",
  "classified_as": [
    {
      "id": "http://vocab.getty.edu/aat/300004792",
      "type": "Type",
      "_label": "Building"
    }
  ],
  "current_location": {
    "type": "Place",
    "_label": "Current Location in Arkansas at Crystal Bridges"
  }
}

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(object69) class O1 object; O1-- type -->O1_0[HumanMadeObject] class O1_0 classstyle; O1-- _label -->O1_4("''Frank Lloyd Wright House''") class O1_4 literal; O2(aat:300004792) class O2 type; O2-- type -->O2_0[Type] class O2_0 classstyle; O2-- _label -->O2_3("''Building''") class O2_3 literal; O1-- classified_as -->O2 O3( _ ) class O3 place; O3-- type -->O3_0[Place] class O3_0 classstyle; O3-- _label -->O3_2("''Current Location in Arkansas at Crystal Bridges''") class O3_2 literal; O1-- current_location -->O3
Other Representations: JSON-LD (raw) | JSON-LD (playground) | Turtle (raw) | Turtle (styled)