id.sifa.profile.publication
Schema Diff
+7 -2
Compatibility Analysis
Backward Compatible
Backward compatible. 3 non-breaking changes.
Non-Breaking Changes (3)
- AddedVertex AddedVertex { vertex_id: "id.sifa.profile.publication:body.subtitle" }
- AddedEdge AddedEdge { src: "id.sifa.profile.publication:body", tgt: "id.sifa.profile.publication:body.subtitle", kind: "prop", name: Some("subtitle") }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.publication:body.publishedAt", sort: "format" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "id.sifa.profile.publication:body.subtitle" }
Constraint Changes
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.publication:body.publishedAt", sort: "format" }
Additional Notes
- Non-breaking: AddedEdge { src: "id.sifa.profile.publication:body", tgt: "id.sifa.profile.publication:body.subtitle", kind: "prop", name: Some("subtitle") }
1
1
{
2
2
"id": "id.sifa.profile.publication",
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
10
"title",
11
11
"createdAt"
12
12
],
13
13
"properties": {
14
14
"url": {
15
15
"type": "string",
16
16
"format": "uri",
17
17
"description": "URL to the publication."
18
18
},
19
19
"title": {
20
20
"type": "string",
21
21
"maxLength": 2000,
22
22
"minLength": 1,
23
23
"description": "Publication title.",
24
24
"maxGraphemes": 200
25
25
},
26
26
"authors": {
27
27
"type": "array",
28
28
"items": {
29
29
"ref": "#author",
30
30
"type": "ref"
31
31
},
32
32
"maxLength": 50,
33
33
"description": "Co-authors. The record owner is always an implicit author."
34
34
},
35
+
"subtitle": {
36
+
"type": "string",
37
+
"maxLength": 2000,
38
+
"description": "Publication subtitle. Carries the distinguishing part of a title that sources such as Crossref and ORCID store separately from the main title -- for example the volume/part designation and descriptive clause of a multi-part paper series (\"III. Using cluster masses to create a cleaned catalogue\"). Absent for publications with no subtitle.",
39
+
"maxGraphemes": 200
40
+
},
35
41
"createdAt": {
36
42
"type": "string",
37
43
"format": "datetime",
38
44
"description": "Client-declared timestamp when this record was originally created."
39
45
},
40
46
"publisher": {
41
47
"type": "string",
42
48
"maxLength": 2560,
43
49
"description": "Publisher, journal, or venue name.",
44
50
"maxGraphemes": 256
45
51
},
46
52
"description": {
47
53
"type": "string",
48
54
"maxLength": 50000,
49
55
"description": "Description or abstract.",
50
56
"maxGraphemes": 5000
51
57
},
52
58
"publishedAt": {
53
59
"type": "string",
54
-
"format": "datetime",
55
-
"description": "Publication date."
60
+
"description": "Publication date in YYYY-MM or YYYY-MM-DD format."
56
61
}
57
62
}
58
63
},
59
64
"description": "Record representing a single publication."
60
65
},
61
66
"author": {
62
67
"type": "object",
63
68
"required": [
64
69
"name"
65
70
],
66
71
"properties": {
67
72
"did": {
68
73
"type": "string",
69
74
"format": "did",
70
75
"description": "Author's ATproto DID, if they have an account."
71
76
},
72
77
"name": {
73
78
"type": "string",
74
79
"maxLength": 1000,
75
80
"minLength": 1,
76
81
"description": "Author's display name.",
77
82
"maxGraphemes": 100
78
83
}
79
84
},
80
85
"description": "A co-author of the publication."
81
86
}
82
87
},
83
88
"$type": "com.atproto.lexicon.schema",
84
89
"lexicon": 1,
85
90
"description": "A publication authored or co-authored by the user."
86
91
}