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
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"author": {
5
5
"description": "A co-author of the publication.",
6
6
"properties": {
7
7
"did": {
8
8
"description": "Author's ATproto DID, if they have an account.",
9
9
"format": "did",
10
10
"type": "string"
11
11
},
12
12
"name": {
13
13
"description": "Author's display name.",
14
14
"maxGraphemes": 100,
15
15
"maxLength": 1000,
16
16
"minLength": 1,
17
17
"type": "string"
18
18
}
19
19
},
20
20
"required": [
21
21
"name"
22
22
],
23
23
"type": "object"
24
24
},
25
25
"main": {
26
26
"description": "Record representing a single publication.",
27
27
"key": "tid",
28
28
"record": {
29
29
"properties": {
30
30
"authors": {
31
31
"description": "Co-authors. The record owner is always an implicit author.",
32
32
"items": {
33
33
"ref": "#author",
34
34
"type": "ref"
35
35
},
36
36
"maxLength": 50,
37
37
"type": "array"
38
38
},
39
39
"createdAt": {
40
40
"description": "Client-declared timestamp when this record was originally created.",
41
41
"format": "datetime",
42
42
"type": "string"
43
43
},
44
44
"description": {
45
45
"description": "Description or abstract.",
46
46
"maxGraphemes": 5000,
47
47
"maxLength": 50000,
48
48
"type": "string"
49
49
},
50
50
"publishedAt": {
51
-
"description": "Publication date.",
52
-
"format": "datetime",
51
+
"description": "Publication date in YYYY-MM or YYYY-MM-DD format.",
53
52
"type": "string"
54
53
},
55
54
"publisher": {
56
55
"description": "Publisher, journal, or venue name.",
57
56
"maxGraphemes": 256,
58
57
"maxLength": 2560,
59
58
"type": "string"
60
59
},
60
+
"subtitle": {
61
+
"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.",
62
+
"maxGraphemes": 200,
63
+
"maxLength": 2000,
64
+
"type": "string"
65
+
},
61
66
"title": {
62
67
"description": "Publication title.",
63
68
"maxGraphemes": 200,
64
69
"maxLength": 2000,
65
70
"minLength": 1,
66
71
"type": "string"
67
72
},
68
73
"url": {
69
74
"description": "URL to the publication.",
70
75
"format": "uri",
71
76
"type": "string"
72
77
}
73
78
},
74
79
"required": [
75
80
"title",
76
81
"createdAt"
77
82
],
78
83
"type": "object"
79
84
},
80
85
"type": "record"
81
86
}
82
87
},
83
88
"description": "A publication authored or co-authored by the user.",
84
89
"id": "id.sifa.profile.publication",
85
90
"lexicon": 1
86
91
}