id.sifa.profile.presentationDelivery

sifa.id

Schema Diff

+4 -0

From

CID
bafyreicgy5ztjad...
Indexed At
2026-08-06 14:52 UTC
View this version

To

CID
bafyreifkwjejv2i...
Indexed At
2026-08-07 11:35 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "id": "id.sifa.profile.presentationDelivery",
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
          "createdAt"
11 11
        ],
12 12
        "properties": {
13 13
          "date": {
14 14
            "type": "string",
15 15
            "maxLength": 10,
16 16
            "description": "Calendar date of this delivery as YYYY-MM-DD (day only, no time). Future dates are allowed for upcoming deliveries. The day-only shape is enforced at the app layer. On the linked branch, derived from the event's startsAt in the event's own offset.",
17 17
            "x-skos:exactMatch": [
18 18
              "schema:startDate",
19 19
              "event:time"
20 20
            ]
21 21
          },
22 22
          "mode": {
23 23
            "type": "string",
24 24
            "description": "Whether this delivery was in person, virtual, or hybrid. Stores the full community.lexicon.calendar.event mode token; absent means in person.",
25 25
            "knownValues": [
26 26
              "community.lexicon.calendar.event#inperson",
27 27
              "community.lexicon.calendar.event#virtual",
28 28
              "community.lexicon.calendar.event#hybrid"
29 29
            ],
30 +
            "x-skos:note": "The community.lexicon.calendar.event known values are already one-to-one with the schema.org enumeration.",
30 31
            "x-skos:exactMatch": [
31 32
              "schema:eventAttendanceMode"
32 33
            ]
33 34
          },
34 35
          "role": {
35 36
            "type": "string",
36 37
            "maxLength": 640,
37 38
            "description": "The presenter's role in this delivery. Open set; see id.sifa.defs#presentationRole.",
38 39
            "knownValues": [
39 40
              "id.sifa.defs#presenter",
40 41
              "id.sifa.defs#panelist",
41 42
              "id.sifa.defs#keynote",
42 43
              "id.sifa.defs#workshop",
43 44
              "id.sifa.defs#host"
44 45
            ],
46 +
            "x-skos:note": "No external vocabulary distinguishes presenter, panelist, keynote, workshop and host at this granularity.",
45 47
            "maxGraphemes": 64,
46 48
            "x-skos:closeMatch": [
47 49
              "bibo:performer",
48 50
              "schema:performer"
49 51
            ]
50 52
          },
51 53
          "links": {
52 54
            "type": "array",
53 55
            "items": {
54 56
              "ref": "id.sifa.defs#presentationLink",
55 57
              "type": "ref"
56 58
            },
57 59
            "maxLength": 20,
58 60
            "description": "Links specific to this delivery, such as the recording of this occasion."
59 61
          },
60 62
          "title": {
61 63
            "type": "string",
62 64
            "maxLength": 3000,
63 65
            "description": "Fallback title for this delivery, used when no presentationRef is set.",
64 66
            "maxGraphemes": 300,
65 67
            "x-skos:exactMatch": [
66 68
              "dcterms:title",
67 69
              "schema:name"
68 70
            ]
69 71
          },
70 72
          "sameAs": {
71 73
            "ref": "id.sifa.defs#externalRecordRef",
72 74
            "type": "ref",
73 75
            "description": "The same session 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."
74 76
          },
75 77
          "status": {
76 78
            "type": "string",
77 79
            "description": "Scheduling status of this delivery, typically hydrated from a linked calendar event. Stores the full community.lexicon.calendar.event status token. Consumers should surface cancelled and postponed states.",
78 80
            "knownValues": [
79 81
              "community.lexicon.calendar.event#scheduled",
80 82
              "community.lexicon.calendar.event#cancelled",
81 83
              "community.lexicon.calendar.event#postponed",
82 84
              "community.lexicon.calendar.event#rescheduled",
83 85
              "community.lexicon.calendar.event#planned"
84 86
            ],
87 +
            "x-skos:note": "As with mode, already one-to-one with the schema.org enumeration.",
85 88
            "x-skos:exactMatch": [
86 89
              "schema:eventStatus"
87 90
            ]
88 91
          },
89 92
          "address": {
90 93
            "ref": "community.lexicon.location.address",
91 94
            "type": "ref",
92 95
            "description": "Structured delivery location. Sifa enforces ISO 3166-1 alpha-2 country codes at the app layer and surfaces country (for a flag) and locality (city); region, postalCode, and street are unused for deliveries. Takes precedence over the legacy location string when present.",
93 96
            "x-skos:exactMatch": [
94 97
              "schema:location",
95 98
              "event:place"
96 99
            ]
97 100
          },
98 101
          "eventRef": {
99 102
            "ref": "id.sifa.defs#externalRecordRef",
100 103
            "type": "ref",
101 104
            "description": "Optional reference to a community.lexicon.calendar.event for this occasion. Display fields are hydrated live from the target by AT-URI, with the stored fields as a fallback when the target is unavailable."
102 105
          },
103 106
          "location": {
104 107
            "type": "string",
105 108
            "maxLength": 2560,
106 109
            "description": "Legacy free-text display location (city, country, or venue), retained for dual-read. Prefer the structured address field. On the linked branch, composed from the calendar event's structured locations.",
107 110
            "maxGraphemes": 256
108 111
          },
109 112
          "createdAt": {
110 113
            "type": "string",
111 114
            "format": "datetime",
112 115
            "description": "Client-declared timestamp when this record was originally created."
113 116
          },
114 117
          "eventName": {
115 118
            "type": "string",
116 119
            "maxLength": 3000,
117 120
            "description": "Name of the event or venue. On the linked branch, hydrated from the calendar event's name.",
118 121
            "maxGraphemes": 300,
119 122
            "x-skos:closeMatch": [
120 123
              "schema:superEvent",
121 124
              "bibo:Conference"
122 125
            ]
123 126
          },
124 127
          "coSpeakers": {
125 128
            "type": "array",
126 129
            "items": {
127 130
              "type": "string",
128 131
              "format": "did"
129 132
            },
130 133
            "maxLength": 20,
131 134
            "description": "DIDs of co-speakers who presented alongside the author at this occasion. Any atproto account is allowed; hydrated to profile cards on read and linked to the co-speaker's Sifa profile.",
132 135
            "x-skos:exactMatch": [
133 136
              "schema:performer"
134 137
            ]
135 138
          },
136 139
          "presentationRef": {
137 140
            "ref": "id.sifa.defs#externalRecordRef",
138 141
            "type": "ref",
139 142
            "description": "Optional reference to the id.sifa.profile.presentation (the content) delivered here. When set, title, duration, and audiences are taken from it.",
140 143
            "x-skos:closeMatch": [
141 144
              "bibo:presentedAt",
142 145
              "schema:workPerformed"
143 146
            ]
144 147
          }
145 148
        }
146 149
      },
147 150
      "description": "Record representing a single occasion on which a presentation was delivered. This is the entry shown on a profile's activity timeline. At least one of presentationRef, title, or eventName is expected, enforced at the app layer.",
151 +
      "x-skos:note": "BIBO models this relation as bibo:Slideshow bibo:presentedAt event:Event.",
148 152
      "x-skos:closeMatch": [
149 153
        "schema:Event",
150 154
        "event:Event"
151 155
      ]
152 156
    }
153 157
  },
154 158
  "$type": "com.atproto.lexicon.schema",
155 159
  "lexicon": 1,
156 160
  "description": "An occasion on which a person delivered a presentation: a specific talk, panel, workshop, or demo at an event. References the reusable id.sifa.profile.presentation content and, optionally, the calendar event."
157 161
}

Compare Other Versions

Lexicon Garden

@