app.gainforest.ac.multimedia
Schema Diff
+1 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 0 non-breaking changes.
Breaking Changes (1)
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "app.gainforest.ac.multimedia:body", src: "app.gainforest.ac.multimedia:body", tgt: "app.gainforest.ac.multimedia:body.subjectPart", kind: "prop", name: Some("subjectPart") }
Migration Guidance
Additional Notes
- Breaking: RequiredEdgeRemoved { vertex_id: "app.gainforest.ac.multimedia:body", src: "app.gainforest.ac.multimedia:body", tgt: "app.gainforest.ac.multimedia:body.subjectPart", kind: "prop", name: Some("subjectPart") }
1
1
{
2
2
"id": "app.gainforest.ac.multimedia",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
-
"subjectPart",
11
10
"file",
12
11
"createdAt"
13
12
],
14
13
"properties": {
15
14
"file": {
16
15
"type": "blob",
17
16
"accept": [
18
17
"image/jpeg",
19
18
"image/jpg",
20
19
"image/png",
21
20
"image/webp",
22
21
"image/heic",
23
22
"image/heif",
24
23
"image/tiff",
25
24
"image/tif",
26
25
"image/gif",
27
26
"image/bmp",
28
27
"image/svg+xml",
29
28
"audio/wav",
30
29
"audio/x-wav",
31
30
"audio/mpeg",
32
31
"audio/mp3",
33
32
"audio/mp4",
34
33
"audio/x-m4a",
35
34
"audio/aac",
36
35
"audio/flac",
37
36
"audio/x-flac",
38
37
"audio/ogg",
39
38
"audio/opus",
40
39
"audio/webm",
41
40
"video/mp4",
42
41
"video/quicktime",
43
42
"video/webm",
44
43
"video/x-matroska"
45
44
],
46
45
"maxSize": 104857600,
47
46
"description": "The media file blob. Images up to 100MB, audio up to 100MB, video up to 100MB. For PDS-stored compressed versions; original full-res referenced via accessUri."
48
47
},
49
48
"format": {
50
49
"type": "string",
51
50
"description": "MIME type of the media file (e.g. image/webp, audio/flac). Should match the blob's actual content type.",
52
51
"maxGraphemes": 128
53
52
},
54
53
"caption": {
55
54
"type": "string",
56
55
"description": "Human-readable description of the media content.",
57
56
"maxGraphemes": 1024
58
57
},
59
58
"creator": {
60
59
"type": "string",
61
60
"description": "Name of the person or agent who created the media resource.",
62
61
"maxGraphemes": 256
63
62
},
64
63
"siteRef": {
65
64
"type": "string",
66
65
"format": "at-uri",
67
66
"description": "AT-URI of the organization site record where this media was captured."
68
67
},
69
68
"accessUri": {
70
69
"type": "string",
71
70
"format": "uri",
72
71
"description": "URI to the original full-resolution media resource (e.g. S3 URL). The PDS blob is a compressed variant; this points to the archival original.",
73
72
"maxGraphemes": 2048
74
73
},
75
74
"createdAt": {
76
75
"type": "string",
77
76
"format": "datetime",
78
77
"description": "Timestamp of record creation in the ATProto PDS."
79
78
},
80
79
"createDate": {
81
80
"type": "string",
82
81
"format": "datetime",
83
82
"description": "Date and time the media resource was originally created (e.g. when the photo was taken)."
84
83
},
85
84
"subjectPart": {
86
85
"type": "string",
87
-
"description": "The part of the organism depicted, using TDWG Audubon Core subjectPart controlled values (http://rs.tdwg.org/acpart/values/). Examples: entireOrganism, leaf, bark, flower, fruit, seed, stem, twig, bud, root.",
86
+
"description": "The part of the organism depicted, using TDWG Audubon Core subjectPart controlled values (http://rs.tdwg.org/acpart/values/). Examples: entireOrganism, leaf, bark, flower, fruit, seed, stem, twig, bud, root. Only meaningful for media depicting an organism; omit for soundscapes and other media without a single depicted subject.",
88
87
"knownValues": [
89
88
"entireOrganism",
90
89
"leaf",
91
90
"bark",
92
91
"flower",
93
92
"fruit",
94
93
"seed",
95
94
"stem",
96
95
"twig",
97
96
"bud",
98
97
"root",
99
98
"head",
100
99
"wing",
101
100
"shell",
102
101
"unspecifiedPart"
103
102
],
104
103
"maxGraphemes": 128
105
104
},
106
105
"occurrenceRef": {
107
106
"type": "string",
108
107
"format": "at-uri",
109
108
"description": "AT-URI of the dwc.occurrence record this media is evidence for."
110
109
},
111
110
"subjectPartUri": {
112
111
"type": "string",
113
112
"format": "uri",
114
113
"description": "Full IRI of the subjectPart term from the TDWG controlled vocabulary. Example: http://rs.tdwg.org/acpart/values/p0002 for bark."
115
114
},
116
115
"variantLiteral": {
117
116
"type": "string",
118
117
"description": "AC variant describing the quality/size of this service access point. Values: Thumbnail, Lower Quality, Medium Quality, Good Quality, Best Quality, Offline.",
119
118
"knownValues": [
120
119
"Thumbnail",
121
120
"Lower Quality",
122
121
"Medium Quality",
123
122
"Good Quality",
124
123
"Best Quality",
125
124
"Offline"
126
125
],
127
126
"maxGraphemes": 64
128
127
},
129
128
"subjectOrientation": {
130
129
"type": "string",
131
130
"description": "Viewing orientation relative to the subject, using TDWG Audubon Core subjectOrientation controlled values. Examples: dorsal, ventral, lateral, anterior, posterior.",
132
131
"maxGraphemes": 128
133
132
}
134
133
}
135
134
},
136
135
"description": "A multimedia evidence record associated with a biodiversity occurrence."
137
136
}
138
137
},
139
138
"$type": "com.atproto.lexicon.schema",
140
139
"lexicon": 1,
141
140
"description": "Audubon Core multimedia resource record. Represents a single media item (image, audio, video, spectrogram) associated with a biodiversity occurrence. Based on the TDWG Audiovisual Core standard (http://www.tdwg.org/standards/638). Each media item is a separate record linked to a dwc.occurrence via occurrenceRef."
142
141
}