JSON Schema: Abstract_agent

URI Template

Properties

- (string) uri

- (string) title

- (boolean) is_linked_to_published_record

- (string) agent_type

- (array (JSONModel(:agent_contact) object)) agent_contacts

- (array (JSONModel(:agent_record_control) object)) agent_record_controls

- (array (JSONModel(:agent_alternate_set) object)) agent_alternate_sets

- (array (JSONModel(:agent_conventions_declaration) object)) agent_conventions_declarations

- (array (JSONModel(:agent_other_agency_codes) object)) agent_other_agency_codes

- (array (JSONModel(:agent_maintenance_history) object)) agent_maintenance_histories

- (array (JSONModel(:agent_record_identifier) object)) agent_record_identifiers

- (array (JSONModel(:agent_identifier) object)) agent_identifiers

- (array (JSONModel(:agent_sources) object)) agent_sources

- (array (JSONModel(:agent_place) object)) agent_places

- (array (JSONModel(:agent_occupation) object)) agent_occupations

- (array (JSONModel(:agent_function) object)) agent_functions

- (array (JSONModel(:agent_topic) object)) agent_topics

- (array (JSONModel(:agent_resource) object)) agent_resources

- (array (string)) linked_agent_roles

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

- (boolean) system_generated

- (array ([{"type"=>"JSONModel(:note_bioghist) object"}, {"type"=>"JSONModel(:note_mandate) object"}, {"type"=>"JSONModel(:note_legal_status) object"}, {"type"=>"JSONModel(:note_structure_or_genealogy) object"}, {"type"=>"JSONModel(:note_general_context) object"}])) notes

- (array (JSONModel(:repository) uri)) used_within_repositories

- (array (JSONModel(:repository) uri)) used_within_published_repositories

- (array (JSONModel(:structured_date_label) object)) dates_of_existence

- (array (JSONModel(:used_language) object)) used_languages

- (boolean) publish

- (string) is_user

- (array (JSONModel(:metadata_rights_declaration) object)) metadata_rights_declarations

View Source


1
2
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'common/schemas/abstract_agent.rb', line 1

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

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

      "is_linked_to_published_record" => {"type" => "boolean", "readonly" => true},

      "agent_type" => {
        "type" => "string",
        "required" => false,
        "enum" => ["agent_person", "agent_corporate_entity", "agent_software", "agent_family", "user"]
      },

      "agent_contacts" => {
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_contact) object"}
      },

      "agent_record_controls" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_record_control) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_alternate_sets" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_alternate_set) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_conventions_declarations" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_conventions_declaration) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_other_agency_codes" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_other_agency_codes) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_maintenance_histories" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_maintenance_history) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_record_identifiers" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_record_identifier) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_identifiers" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_identifier) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_sources" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_sources) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_places" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_place) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_occupations" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_occupation) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_functions" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_function) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_topics" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_topic) object"},
        "tags" => ["agent_subrecord"]
      },

      "agent_resources" => {
        "required" => false,
        "type" => "array",
        "items" => {"type" => "JSONModel(:agent_resource) object"},
        "tags" => ["agent_subrecord"]
      },

      "linked_agent_roles" => {
        "type" => "array",
        "items" => {"type" => "string"},
        "readonly" => true
      },

      "external_documents" => {"type" => "array", "items" => {"type" => "JSONModel(:external_document) object"}},

      "system_generated" => {
        "readonly" => true,
        "type" => "boolean"
      },

      "notes" => {
        "type" => "array",
        "items" => {"type" => [{"type" => "JSONModel(:note_bioghist) object"},
                               {"type" => "JSONModel(:note_mandate) object"},
                               {"type" => "JSONModel(:note_legal_status) object"},
                               {"type" => "JSONModel(:note_structure_or_genealogy) object"},
                               {"type" => "JSONModel(:note_general_context) object"}]},
      },

      "used_within_repositories" => {"type" => "array", "items" => {"type" => "JSONModel(:repository) uri"}, "readonly" => true},
      "used_within_published_repositories" => {"type" => "array", "items" => {"type" => "JSONModel(:repository) uri"}, "readonly" => true},

      "dates_of_existence" => {
        "type" => "array",
        "items" => {"type" => "JSONModel(:structured_date_label) object"}
      },

      "used_languages" => {
        "type" => "array",
        "items" => {"type" => "JSONModel(:used_language) object"},
        "tags" => ["agent_subrecord"]
      },

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

      "is_user" => {"readonly" => true, "type" => "string"},

      "metadata_rights_declarations" => {"type" => "array", "items" => {"type" => "JSONModel(:metadata_rights_declaration) object"}},
    },
  },
}

Plain Text Version