id.sifa.profile.publication

sifa.id

Schema Diff

+12 -0

From

CID
bafyreigrdworg4k...
Indexed At
2026-09-05 16:00 UTC
View this version

To

CID
bafyreigjppx3brc...
Indexed At
2026-09-25 18:15 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "id.sifa.defs#relatedIdentifier" }
  • AddedVertex AddedVertex { vertex_id: "id.sifa.profile.publication:body.relatedIdentifiers" }
  • AddedVertex AddedVertex { vertex_id: "id.sifa.profile.publication:body.relatedIdentifiers:items" }
  • AddedEdge AddedEdge { src: "id.sifa.profile.publication:body", tgt: "id.sifa.profile.publication:body.relatedIdentifiers", kind: "prop", name: Some("relatedIdentifiers") }
  • AddedEdge AddedEdge { src: "id.sifa.profile.publication:body.relatedIdentifiers", tgt: "id.sifa.profile.publication:body.relatedIdentifiers:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "id.sifa.profile.publication:body.relatedIdentifiers:items", tgt: "id.sifa.defs#relatedIdentifier", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "id.sifa.defs#relatedIdentifier" }
  • AddedVertex { vertex_id: "id.sifa.profile.publication:body.relatedIdentifiers" }
  • AddedVertex { vertex_id: "id.sifa.profile.publication:body.relatedIdentifiers:items" }

Additional Notes

  • Non-breaking: AddedEdge { src: "id.sifa.profile.publication:body", tgt: "id.sifa.profile.publication:body.relatedIdentifiers", kind: "prop", name: Some("relatedIdentifiers") }
  • Non-breaking: AddedEdge { src: "id.sifa.profile.publication:body.relatedIdentifiers", tgt: "id.sifa.profile.publication:body.relatedIdentifiers:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "id.sifa.profile.publication:body.relatedIdentifiers:items", tgt: "id.sifa.defs#relatedIdentifier", kind: "ref", name: None }
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
            "x-skos:exactMatch": [
39 39
              "bibo:authorList",
40 40
              "schema:author"
41 41
            ],
42 42
            "x-skos:note": "bibo:authorList is an ordered rdf:List and preserves author order, which schema:author does not guarantee."
43 43
          },
44 44
          "createdAt": {
45 45
            "description": "Client-declared timestamp when this record was originally created.",
46 46
            "format": "datetime",
47 47
            "type": "string"
48 48
          },
49 49
          "description": {
50 50
            "description": "Description or abstract.",
51 51
            "maxGraphemes": 5000,
52 52
            "maxLength": 50000,
53 53
            "type": "string",
54 54
            "x-skos:exactMatch": [
55 55
              "bibo:abstract",
56 56
              "schema:abstract"
57 57
            ]
58 58
          },
59 59
          "doi": {
60 60
            "description": "Digital Object Identifier, bare rather than as a URL: \"10.1234/example\", not \"https://doi.org/10.1234/example\". A DOI identifies the work itself, so it is what two records describing one publication can be matched on. Carrying it inside `url` makes it a link and stops it being an identifier.",
61 61
            "maxGraphemes": 256,
62 62
            "maxLength": 2560,
63 63
            "type": "string",
64 64
            "x-skos:exactMatch": [
65 65
              "bibo:doi",
66 66
              "prism:doi"
67 67
            ],
68 68
            "x-skos:note": "schema:identifier with a PropertyValue of propertyID 'doi' is the JSON-LD serialization; bibo:doi is the direct term."
69 69
          },
70 70
          "isPrimary": {
71 71
            "description": "Whether this is the user's primary publication, surfaced in profile Highlights. Any entry may be primary.",
72 72
            "type": "boolean"
73 73
          },
74 74
          "publishedAt": {
75 75
            "description": "Publication date in YYYY-MM or YYYY-MM-DD format.",
76 76
            "type": "string",
77 77
            "x-skos:exactMatch": [
78 78
              "dcterms:issued",
79 79
              "schema:datePublished"
80 80
            ]
81 81
          },
82 82
          "publisher": {
83 83
            "description": "Publisher, journal, or venue name.",
84 84
            "maxGraphemes": 256,
85 85
            "maxLength": 2560,
86 86
            "type": "string",
87 87
            "x-skos:exactMatch": [
88 88
              "dcterms:publisher",
89 89
              "schema:publisher"
90 90
            ]
91 91
          },
92 +
          "relatedIdentifiers": {
93 +
            "description": "Other versions or forms of this work, such as the published version of a preprint. A consumer can show linked versions as one publication.",
94 +
            "items": {
95 +
              "ref": "id.sifa.defs#relatedIdentifier",
96 +
              "type": "ref"
97 +
            },
98 +
            "maxLength": 20,
99 +
            "type": "array",
100 +
            "x-skos:closeMatch": [
101 +
              "dcterms:relation"
102 +
            ]
103 +
          },
92 104
          "sameAs": {
93 105
            "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.",
94 106
            "ref": "id.sifa.defs#externalRecordRef",
95 107
            "type": "ref"
96 108
          },
97 109
          "subtitle": {
98 110
            "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.",
99 111
            "maxGraphemes": 200,
100 112
            "maxLength": 2000,
101 113
            "type": "string",
102 114
            "x-skos:closeMatch": [
103 115
              "schema:alternativeHeadline"
104 116
            ]
105 117
          },
106 118
          "title": {
107 119
            "description": "Publication title.",
108 120
            "maxGraphemes": 200,
109 121
            "maxLength": 2000,
110 122
            "minLength": 1,
111 123
            "type": "string",
112 124
            "x-skos:exactMatch": [
113 125
              "dcterms:title",
114 126
              "schema:name"
115 127
            ]
116 128
          },
117 129
          "type": {
118 130
            "description": "Resource type. Open set: the known values are ORCID's work-type vocabulary, which is what Sifa already ingests and stores unmapped, so a synced work round-trips without a translation table. A value outside the set is kept as written rather than rejected, because a publication that reached Sifa from somewhere other than ORCID need not fit ORCID's list.",
119 131
            "knownValues": [
120 132
              "journal-article",
121 133
              "conference-paper",
122 134
              "conference-abstract",
123 135
              "conference-poster",
124 136
              "book",
125 137
              "book-chapter",
126 138
              "book-review",
127 139
              "edited-book",
128 140
              "dissertation",
129 141
              "preprint",
130 142
              "dataset",
131 143
              "report",
132 144
              "review",
133 145
              "patent",
134 146
              "software",
135 147
              "working-paper",
136 148
              "artistic-performance",
137 149
              "lecture-speech",
138 150
              "online-resource",
139 151
              "newspaper-article",
140 152
              "research-technique",
141 153
              "standards-and-policy",
142 154
              "technical-standard",
143 155
              "registered-copyright",
144 156
              "translation",
145 157
              "dictionary-entry",
146 158
              "encyclopedia-entry",
147 159
              "supervised-student-publication",
148 160
              "annotation",
149 161
              "test",
150 162
              "spin-off-company",
151 163
              "disclosure",
152 164
              "license",
153 165
              "trademark",
154 166
              "design",
155 167
              "other"
156 168
            ],
157 169
            "maxGraphemes": 64,
158 170
            "maxLength": 640,
159 171
            "type": "string",
160 172
            "x-skos:closeMatch": [
161 173
              "dcterms:type",
162 174
              "schema:additionalType"
163 175
            ],
164 176
            "x-skos:note": "COAR Resource Types is the anchor a consumer should map to. The values here are ORCID's because that is the vocabulary the data arrives in; deviating from the id.sifa.defs token convention is deliberate, since the vocabulary is ORCID's rather than Sifa's."
165 177
          },
166 178
          "url": {
167 179
            "description": "URL to the publication.",
168 180
            "format": "uri",
169 181
            "type": "string",
170 182
            "x-skos:exactMatch": [
171 183
              "bibo:uri",
172 184
              "schema:url"
173 185
            ]
174 186
          }
175 187
        },
176 188
        "required": [
177 189
          "title",
178 190
          "createdAt"
179 191
        ],
180 192
        "type": "object"
181 193
      },
182 194
      "type": "record",
183 195
      "x-skos:broadMatch": [
184 196
        "bibo:Document",
185 197
        "schema:CreativeWork"
186 198
      ],
187 199
      "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."
188 200
    }
189 201
  },
190 202
  "description": "A publication authored or co-authored by the user.",
191 203
  "id": "id.sifa.profile.publication",
192 204
  "lexicon": 1
193 205
}

Compare Other Versions

Lexicon Garden

@