id.sifa.profile.publication

sifa.id

Schema Diff

+5 -0

From

CID
bafyreiaj5vpyvfq...
Indexed At
2026-07-26 20:04 UTC
View this version

To

CID
bafyreih7lrum7zq...
Indexed At
2026-08-01 20:27 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 4 non-breaking changes.

Non-Breaking Changes (4)
  • AddedVertex AddedVertex { vertex_id: "id.sifa.defs#externalRecordRef" }
  • AddedVertex AddedVertex { vertex_id: "id.sifa.profile.publication:body.sameAs" }
  • 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.sameAs", tgt: "id.sifa.defs#externalRecordRef", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "id.sifa.defs#externalRecordRef" }
  • AddedVertex { vertex_id: "id.sifa.profile.publication:body.sameAs" }

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

Compare Other Versions

Lexicon Garden

@