JSON Schema: Abstract_archival_object

URI Template

Properties

- (string) uri

- (array (JSONModel(:external_id) object)) external_ids

- (string (max length: 16384)) title

- (boolean) publish

- (array (Object (ref, _resolved))) subjects

- (array (Object (ref, _resolved))) linked_events

- (array (JSONModel(:extent) object)) extents

- (array (JSONModel(:lang_material) object)) lang_materials

- (array (JSONModel(:date) object)) dates

- (array (JSONModel(:external_document) object)) external_documents

- (array (JSONModel(:rights_statement) object)) rights_statements

- (array (Object (role, terms, relator, title, ref, _resolved))) linked_agents

- (boolean) suppressed

- (JSONModel(:file_version) object) representative_file_version

View Source


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'common/schemas/abstract_archival_object.rb', line 3

{
  :schema => {
    "$schema" => "http://www.archivesspace.org/archivesspace.json",
    "version" => 1,
    "type" => "object",
    "properties" => {
      "uri" => {"type" => "string", "required" => false},

      "external_ids" => {"type" => "array", "items" => {"type" => "JSONModel(:external_id) object"}},

      "title" => {"type" => "string", "minLength" => 1, "maxLength" => 16384, "ifmissing" => "error"},

      "publish" => {"type" => "boolean"},

      "subjects" => {
        "type" => "array",
        "items" => {
          "type" => "object",
          "subtype" => "ref",
          "properties" => {
            "ref" => {
              "type" => "JSONModel(:subject) uri",
              "ifmissing" => "error"
            },
            "_resolved" => {
              "type" => "object",
              "readonly" => "true"
            }
          }
        }
      },

      "linked_events" => {
        "type" => "array",
        "readonly" => "true",
        "items" => {
          "type" => "object",
          "subtype" => "ref",
          "properties" => {
            "ref" => {
              "type" => "JSONModel(:event) uri",
              "ifmissing" => "error"
            },
            "_resolved" => {
              "type" => "object",
              "readonly" => "true"
            }
          }
        }
      },


      "extents" => {"type" => "array", "items" => {"type" => "JSONModel(:extent) object"}},
      "lang_materials" => {"type" => "array", "items" => {"type" => "JSONModel(:lang_material) object"}},
      "dates" => {"type" => "array", "items" => {"type" => "JSONModel(:date) object"}},
      "external_documents" => {"type" => "array", "items" => {"type" => "JSONModel(:external_document) object"}},
      "rights_statements" => {"type" => "array", "items" => {"type" => "JSONModel(:rights_statement) object"}},
      "linked_agents" => {
        "type" => "array",
        "items" => {
          "type" => "object",
          "subtype" => "ref",
          "properties" => {
            "role" => {
              "type" => "string",
              "dynamic_enum" => "linked_agent_role",
              "ifmissing" => "error",
            },

            "terms" => {"type" => "array", "items" => {"type" => "JSONModel(:term) uri_or_object"}},

            "relator" => {
              "type" => "string",
              "dynamic_enum" => "linked_agent_archival_record_relators",
            },

            "title" => {"type" => "string"},

            "ref" => {"type" => [{"type" => "JSONModel(:agent_corporate_entity) uri"},
                                 {"type" => "JSONModel(:agent_family) uri"},
                                 {"type" => "JSONModel(:agent_person) uri"},
                                 {"type" => "JSONModel(:agent_software) uri"}],
              "ifmissing" => "error"},
            "_resolved" => {
              "type" => "object",
              "readonly" => "true"
            }
          }
        }
      },
      "suppressed" => {"type" => "boolean", "readonly" => "true"},
      "representative_file_version" => {
        "type" => "JSONModel(:file_version) object",
        "readonly" => true
      },
    },
  },
}

Plain Text Version