com.t0ronto.commons.defs
Schema Diff
+1 -52
Compatibility Analysis
Breaking Changes Detected
12 breaking changes, 1 non-breaking change.
Breaking Changes (12)
- RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment" }
- RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment.note" }
- RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment.predicate" }
- RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment.target" }
- RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#broadMatch" }
- RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#closeMatch" }
- RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#exactMatch" }
- RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#narrowMatch" }
- RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#sameAs" }
- RemovedEdge RemovedEdge { src: "com.t0ronto.commons.defs#alignment", tgt: "com.t0ronto.commons.defs#alignment.note", kind: "prop", name: Some("note") }
- RemovedEdge RemovedEdge { src: "com.t0ronto.commons.defs#alignment", tgt: "com.t0ronto.commons.defs#alignment.predicate", kind: "prop", name: Some("predicate") }
- RemovedEdge RemovedEdge { src: "com.t0ronto.commons.defs#alignment", tgt: "com.t0ronto.commons.defs#alignment.target", kind: "prop", name: Some("target") }
Non-Breaking Changes (1)
- ConstraintRemoved ConstraintRemoved { vertex_id: "com.t0ronto.commons.defs#alignment.note", sort: "maxGraphemes" }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment" }RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment.note" }RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment.predicate" }RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment.target" }RemovedVertex { vertex_id: "com.t0ronto.commons.defs#broadMatch" }RemovedVertex { vertex_id: "com.t0ronto.commons.defs#closeMatch" }RemovedVertex { vertex_id: "com.t0ronto.commons.defs#exactMatch" }RemovedVertex { vertex_id: "com.t0ronto.commons.defs#narrowMatch" }RemovedVertex { vertex_id: "com.t0ronto.commons.defs#sameAs" }
Constraint Changes
- ConstraintRemoved ConstraintRemoved { vertex_id: "com.t0ronto.commons.defs#alignment.note", sort: "maxGraphemes" }
Additional Notes
- Breaking: RemovedEdge { src: "com.t0ronto.commons.defs#alignment", tgt: "com.t0ronto.commons.defs#alignment.note", kind: "prop", name: Some("note") }
- Breaking: RemovedEdge { src: "com.t0ronto.commons.defs#alignment", tgt: "com.t0ronto.commons.defs#alignment.predicate", kind: "prop", name: Some("predicate") }
- Breaking: RemovedEdge { src: "com.t0ronto.commons.defs#alignment", tgt: "com.t0ronto.commons.defs#alignment.target", kind: "prop", name: Some("target") }
1
1
{
2
2
"id": "com.t0ronto.commons.defs",
3
3
"defs": {
4
-
"sameAs": {
5
-
"type": "token",
6
-
"description": "owl:sameAs — strong identity claim that this record and the target URI denote the same thing."
7
-
},
8
4
"social": {
9
5
"type": "object",
10
6
"required": [
11
7
"platform",
12
8
"value"
13
9
],
14
10
"properties": {
15
11
"value": {
16
12
"type": "string",
17
13
"description": "Value shape depends on `platform` (see the def-level description for the contract)."
18
14
},
19
15
"platform": {
20
16
"type": "string",
21
17
"description": "Platform identifier. Open set — see knownValues for the curated list; new platforms can be added by clients.",
22
18
"knownValues": [
23
19
"bluesky",
24
20
"instagram",
25
21
"facebook",
26
22
"twitter",
27
23
"x",
28
24
"linkedin",
29
25
"youtube",
30
26
"tiktok",
31
27
"mastodon",
32
28
"github",
33
29
"meetup",
34
30
"telegram",
35
31
"luma",
36
32
"discord",
37
33
"eventbrite",
38
34
"email",
39
35
"website"
40
36
]
41
37
}
42
38
},
43
-
"description": "A social-platform presence for an entity. The platform list is open — clients should fall back gracefully on unknown values. Per-platform value semantics differ: `bluesky` carries a DID (did:plc:* or did:web:*) so resolution flows through the AT Proto directory; `email` carries an email address; `website` carries a URL; other platforms carry either a URL or a platform-native handle."
44
-
},
45
-
"alignment": {
46
-
"type": "object",
47
-
"required": [
48
-
"predicate",
49
-
"target"
50
-
],
51
-
"properties": {
52
-
"note": {
53
-
"type": "string",
54
-
"description": "Optional editorial note about why this alignment was chosen.",
55
-
"maxGraphemes": 280
56
-
},
57
-
"target": {
58
-
"type": "string",
59
-
"format": "uri",
60
-
"description": "External URI being aligned to (e.g. an LCSH subject heading, a Wikidata QID, a Getty AAT term)."
61
-
},
62
-
"predicate": {
63
-
"type": "string",
64
-
"description": "Which alignment kind. One of the tokens defined in this file.",
65
-
"knownValues": [
66
-
"com.t0ronto.commons.defs#exactMatch",
67
-
"com.t0ronto.commons.defs#closeMatch",
68
-
"com.t0ronto.commons.defs#broadMatch",
69
-
"com.t0ronto.commons.defs#narrowMatch",
70
-
"com.t0ronto.commons.defs#sameAs"
71
-
]
72
-
}
73
-
},
74
-
"description": "A cross-vocabulary mapping from this record to an external URI. Uses SKOS match predicates for concept-to-concept links and owl:sameAs for strong identity claims (e.g. an entity's Wikidata QID)."
75
-
},
76
-
"broadMatch": {
77
-
"type": "token",
78
-
"description": "skos:broadMatch — this concept is *narrower* than the target."
79
-
},
80
-
"closeMatch": {
81
-
"type": "token",
82
-
"description": "skos:closeMatch — the two concepts are similar enough to be used interchangeably for most purposes."
83
-
},
84
-
"exactMatch": {
85
-
"type": "token",
86
-
"description": "skos:exactMatch — the two concepts are interchangeable in any context."
87
-
},
88
-
"narrowMatch": {
89
-
"type": "token",
90
-
"description": "skos:narrowMatch — this concept is *broader* than the target."
39
+
"description": "A social-platform presence, used as a com.t0ronto.commons.statement objectStruct (predicate `social`). The platform list is open — clients should fall back gracefully on unknown values. Per-platform value semantics differ: `bluesky` carries a DID (did:plc:* or did:web:*) so resolution flows through the AT Proto directory; `email` carries an email address; `website` carries a URL; other platforms carry either a URL or a platform-native handle."
91
40
}
92
41
},
93
42
"$type": "com.atproto.lexicon.schema",
94
43
"lexicon": 1
95
44
}