id.sifa.profile.publication
Schema Diff
+51 -8
Compatibility Analysis
Backward Compatible
Backward compatible. 7 non-breaking changes.
Non-Breaking Changes (7)
- AddedVertex AddedVertex { vertex_id: "id.sifa.defs#externalRecordRef" }
- AddedVertex AddedVertex { vertex_id: "id.sifa.profile.publication:body.sameAs" }
- AddedVertex AddedVertex { vertex_id: "id.sifa.profile.publication:body.subtitle" }
- AddedEdge AddedEdge { src: "id.sifa.profile.publication:body", tgt: "id.sifa.profile.publication:body.sameAs", kind: "prop", name: Some("sameAs") }
- AddedEdge AddedEdge { src: "id.sifa.profile.publication:body", tgt: "id.sifa.profile.publication:body.subtitle", kind: "prop", name: Some("subtitle") }
- AddedEdge AddedEdge { src: "id.sifa.profile.publication:body.sameAs", tgt: "id.sifa.defs#externalRecordRef", kind: "ref", name: None }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.publication:body.publishedAt", sort: "format" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "id.sifa.defs#externalRecordRef" }AddedVertex { vertex_id: "id.sifa.profile.publication:body.sameAs" }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.sameAs", kind: "prop", name: Some("sameAs") }
- Non-breaking: AddedEdge { src: "id.sifa.profile.publication:body", tgt: "id.sifa.profile.publication:body.subtitle", kind: "prop", name: Some("subtitle") }
- Non-breaking: AddedEdge { src: "id.sifa.profile.publication:body.sameAs", tgt: "id.sifa.defs#externalRecordRef", kind: "ref", name: None }
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
-
"description": "URL to the publication."
17
+
"description": "URL to the publication.",
18
+
"x-skos:exactMatch": [
19
+
"bibo:uri",
20
+
"schema:url"
21
+
]
18
22
},
19
23
"title": {
20
24
"type": "string",
21
25
"maxLength": 2000,
22
26
"minLength": 1,
23
27
"description": "Publication title.",
24
-
"maxGraphemes": 200
28
+
"maxGraphemes": 200,
29
+
"x-skos:exactMatch": [
30
+
"dcterms:title",
31
+
"schema:name"
32
+
]
33
+
},
34
+
"sameAs": {
35
+
"ref": "id.sifa.defs#externalRecordRef",
36
+
"type": "ref",
37
+
"description": "The same publication as recorded on another person's profile. Set when you keep your own entry for work someone else has also recorded, so consumers can tell the two describe one thing rather than showing it twice. Each side stays its own record: the other person cannot edit yours, and yours does not change theirs. Resolve by AT-URI, since they will keep editing their copy."
25
38
},
26
39
"authors": {
27
40
"type": "array",
28
41
"items": {
29
42
"ref": "#author",
30
43
"type": "ref"
31
44
},
32
45
"maxLength": 50,
33
-
"description": "Co-authors. The record owner is always an implicit author."
46
+
"description": "Co-authors. The record owner is always an implicit author.",
47
+
"x-skos:note": "bibo:authorList is an ordered rdf:List and preserves author order, which schema:author does not guarantee.",
48
+
"x-skos:exactMatch": [
49
+
"bibo:authorList",
50
+
"schema:author"
51
+
]
34
52
},
53
+
"subtitle": {
54
+
"type": "string",
55
+
"maxLength": 2000,
56
+
"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.",
57
+
"maxGraphemes": 200,
58
+
"x-skos:closeMatch": [
59
+
"schema:alternativeHeadline"
60
+
]
61
+
},
35
62
"createdAt": {
36
63
"type": "string",
37
64
"format": "datetime",
38
65
"description": "Client-declared timestamp when this record was originally created."
39
66
},
40
67
"publisher": {
41
68
"type": "string",
42
69
"maxLength": 2560,
43
70
"description": "Publisher, journal, or venue name.",
44
-
"maxGraphemes": 256
71
+
"maxGraphemes": 256,
72
+
"x-skos:exactMatch": [
73
+
"dcterms:publisher",
74
+
"schema:publisher"
75
+
]
45
76
},
46
77
"description": {
47
78
"type": "string",
48
79
"maxLength": 50000,
49
80
"description": "Description or abstract.",
50
-
"maxGraphemes": 5000
81
+
"maxGraphemes": 5000,
82
+
"x-skos:exactMatch": [
83
+
"bibo:abstract",
84
+
"schema:abstract"
85
+
]
51
86
},
52
87
"publishedAt": {
53
88
"type": "string",
54
-
"format": "datetime",
55
-
"description": "Publication date."
89
+
"description": "Publication date in YYYY-MM or YYYY-MM-DD format.",
90
+
"x-skos:exactMatch": [
91
+
"dcterms:issued",
92
+
"schema:datePublished"
93
+
]
56
94
}
57
95
}
58
96
},
59
-
"description": "Record representing a single publication."
97
+
"description": "Record representing a single publication.",
98
+
"x-skos:note": "Refine to bibo:AcademicArticle, bibo:Book, bibo:Report or bibo:Thesis when a resource type is known. COAR is the value anchor.",
99
+
"x-skos:broadMatch": [
100
+
"bibo:Document",
101
+
"schema:CreativeWork"
102
+
]
60
103
},
61
104
"author": {
62
105
"type": "object",
63
106
"required": [
64
107
"name"
65
108
],
66
109
"properties": {
67
110
"did": {
68
111
"type": "string",
69
112
"format": "did",
70
113
"description": "Author's ATproto DID, if they have an account."
71
114
},
72
115
"name": {
73
116
"type": "string",
74
117
"maxLength": 1000,
75
118
"minLength": 1,
76
119
"description": "Author's display name.",
77
120
"maxGraphemes": 100
78
121
}
79
122
},
80
123
"description": "A co-author of the publication."
81
124
}
82
125
},
83
126
"$type": "com.atproto.lexicon.schema",
84
127
"lexicon": 1,
85
128
"description": "A publication authored or co-authored by the user."
86
129
}