pub.chive.actor.profile
Schema Diff
+4 -3
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 0 non-breaking changes.
Breaking Changes (2)
- ConstraintAdded ConstraintAdded { vertex_id: "pub.chive.actor.profile:body.orcid", sort: "minLength", value: "19" }
- ConstraintAdded ConstraintAdded { vertex_id: "pub.chive.actor.profile:body.orcid", sort: "maxLength", value: "19" }
Migration Guidance
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "pub.chive.actor.profile:body.orcid", sort: "minLength", value: "19" }
- ConstraintAdded ConstraintAdded { vertex_id: "pub.chive.actor.profile:body.orcid", sort: "maxLength", value: "19" }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"keyword": {
5
5
"description": "Research keyword referencing a topic node",
6
6
"properties": {
7
7
"fastId": {
8
8
"description": "FAST subject heading ID for legacy/external data",
9
9
"maxLength": 20,
10
10
"type": "string"
11
11
},
12
12
"label": {
13
13
"description": "Keyword label (display fallback if no topicUri)",
14
14
"maxLength": 100,
15
15
"type": "string"
16
16
},
17
17
"topicUri": {
18
18
"description": "AT-URI of topic node (subkind=topic)",
19
19
"format": "at-uri",
20
20
"type": "string"
21
21
},
22
22
"wikidataId": {
23
23
"description": "Wikidata entity ID (e.g., Q12345) for legacy/external data",
24
24
"maxLength": 20,
25
25
"type": "string"
26
26
}
27
27
},
28
28
"required": [
29
29
"label"
30
30
],
31
31
"type": "object"
32
32
},
33
33
"main": {
34
34
"description": "Chive-specific author profile",
35
-
"key": "self",
35
+
"key": "literal:self",
36
36
"record": {
37
37
"properties": {
38
38
"affiliations": {
39
39
"description": "Current institutional affiliations with optional ROR IDs",
40
40
"items": {
41
41
"ref": "pub.chive.defs#affiliation",
42
42
"type": "ref"
43
43
},
44
44
"maxLength": 10,
45
45
"type": "array"
46
46
},
47
47
"arxivAuthorId": {
48
48
"description": "arXiv author identifier",
49
49
"maxLength": 100,
50
50
"type": "string"
51
51
},
52
52
"avatar": {
53
53
"accept": [
54
54
"image/png",
55
55
"image/jpeg"
56
56
],
57
57
"maxSize": 1048576,
58
58
"type": "blob"
59
59
},
60
60
"bio": {
61
61
"maxLength": 2000,
62
62
"type": "string"
63
63
},
64
64
"dblpId": {
65
65
"description": "DBLP author identifier (e.g., homepages/s/JohnSmith)",
66
66
"maxLength": 200,
67
67
"type": "string"
68
68
},
69
69
"displayName": {
70
70
"maxLength": 200,
71
71
"type": "string"
72
72
},
73
73
"fieldUris": {
74
74
"description": "AT-URIs of field nodes (subkind=field)",
75
75
"items": {
76
76
"format": "at-uri",
77
77
"type": "string"
78
78
},
79
79
"maxLength": 20,
80
80
"type": "array"
81
81
},
82
82
"googleScholarId": {
83
83
"description": "Google Scholar profile ID",
84
84
"maxLength": 50,
85
85
"type": "string"
86
86
},
87
87
"nameVariants": {
88
88
"description": "Alternative name forms for paper matching (e.g., maiden name, transliterations, initials like 'J. Smith')",
89
89
"items": {
90
90
"maxLength": 200,
91
91
"type": "string"
92
92
},
93
93
"maxLength": 20,
94
94
"type": "array"
95
95
},
96
96
"openAlexId": {
97
97
"description": "OpenAlex author ID (e.g., A5023888391)",
98
98
"maxLength": 50,
99
99
"type": "string"
100
100
},
101
101
"openReviewId": {
102
102
"description": "OpenReview profile ID",
103
103
"maxLength": 100,
104
104
"type": "string"
105
105
},
106
106
"orcid": {
107
-
"description": "ORCID identifier",
108
-
"pattern": "^\\d{4}-\\d{4}-\\d{4}-\\d{3}[0-9X]$",
107
+
"description": "ORCID identifier in the form 0000-0000-0000-000X. The Lexicon spec defines no `pattern` constraint for strings, so the regular expression that used to sit here was ignored by every validator and this field accepted any string. Length is the strongest constraint the spec can express; the digit and checksum shape is enforced in application code.",
108
+
"maxLength": 19,
109
+
"minLength": 19,
109
110
"type": "string"
110
111
},
111
112
"previousAffiliations": {
112
113
"description": "Past institutional affiliations that may appear on older papers",
113
114
"items": {
114
115
"ref": "pub.chive.defs#affiliation",
115
116
"type": "ref"
116
117
},
117
118
"maxLength": 20,
118
119
"type": "array"
119
120
},
120
121
"researchKeywords": {
121
122
"description": "Research topics and keywords with optional authority IDs",
122
123
"items": {
123
124
"ref": "#keyword",
124
125
"type": "ref"
125
126
},
126
127
"maxLength": 50,
127
128
"type": "array"
128
129
},
129
130
"schemaRevision": {
130
131
"description": "Schema revision this record was created with. Absent means revision 1.",
131
132
"minimum": 1,
132
133
"type": "integer"
133
134
},
134
135
"scopusAuthorId": {
135
136
"description": "Scopus author ID",
136
137
"maxLength": 50,
137
138
"type": "string"
138
139
},
139
140
"semanticScholarId": {
140
141
"description": "Semantic Scholar author ID",
141
142
"maxLength": 50,
142
143
"type": "string"
143
144
}
144
145
},
145
146
"type": "object"
146
147
},
147
148
"type": "record"
148
149
}
149
150
},
150
151
"id": "pub.chive.actor.profile",
151
152
"lexicon": 1,
152
153
"revision": 2
153
154
}