full diff

com.t0ronto.commons.entity

t0ronto.com +3 −91
From
bafyreievpq63abuzxun65bavocjh5evsgw3ymwdk42g54c5xm5nurl6qsy indexed 2026-05-24 15:22 UTC View this version
To
bafyreicpbwbviblh2wiiwpwu3rmaszii5izh7k3tn7yglzhwx7e56e7ohi indexed 2026-05-24 21:52 UTC View this version

Compatibility

breaking 58 breaking changes, 0 non-breaking changes.

Breaking changes (58)
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "com.t0ronto.commons.entity:body", src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.name", kind: "prop", name: Some("name") }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.defs#social" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items:variant0" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items:variant1" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items:variant2" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items:variant3" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.alignments" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.alignments:items" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.audience" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.audience:items" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.cadence" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.description" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.link" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.locatedIn" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.locatedIn:items" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.name" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.social" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.social:items" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.topics" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.topics:items" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.types" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.types:items" }
  • RemovedVertex RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.updatedAt" }
  • RemovedVertex RemovedVertex { vertex_id: "community.lexicon.location.address" }
  • RemovedVertex RemovedVertex { vertex_id: "community.lexicon.location.fsq" }
  • RemovedVertex RemovedVertex { vertex_id: "community.lexicon.location.geo" }
  • RemovedVertex RemovedVertex { vertex_id: "community.lexicon.location.hthree" }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.addresses", kind: "prop", name: Some("addresses") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.alignments", kind: "prop", name: Some("alignments") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.audience", kind: "prop", name: Some("audience") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.cadence", kind: "prop", name: Some("cadence") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.description", kind: "prop", name: Some("description") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.link", kind: "prop", name: Some("link") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.locatedIn", kind: "prop", name: Some("locatedIn") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.social", kind: "prop", name: Some("social") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.topics", kind: "prop", name: Some("topics") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.types", kind: "prop", name: Some("types") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.updatedAt", kind: "prop", name: Some("updatedAt") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses", tgt: "com.t0ronto.commons.entity:body.addresses:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items", tgt: "com.t0ronto.commons.entity:body.addresses:items:variant0", kind: "variant", name: Some("community.lexicon.location.address") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items", tgt: "com.t0ronto.commons.entity:body.addresses:items:variant1", kind: "variant", name: Some("community.lexicon.location.geo") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items", tgt: "com.t0ronto.commons.entity:body.addresses:items:variant2", kind: "variant", name: Some("community.lexicon.location.fsq") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items", tgt: "com.t0ronto.commons.entity:body.addresses:items:variant3", kind: "variant", name: Some("community.lexicon.location.hthree") }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items:variant0", tgt: "community.lexicon.location.address", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items:variant1", tgt: "community.lexicon.location.geo", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items:variant2", tgt: "community.lexicon.location.fsq", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items:variant3", tgt: "community.lexicon.location.hthree", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.alignments", tgt: "com.t0ronto.commons.entity:body.alignments:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.alignments:items", tgt: "com.t0ronto.commons.defs#alignment", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.audience", tgt: "com.t0ronto.commons.entity:body.audience:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.locatedIn", tgt: "com.t0ronto.commons.entity:body.locatedIn:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.social", tgt: "com.t0ronto.commons.entity:body.social:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.social:items", tgt: "com.t0ronto.commons.defs#social", kind: "ref", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.topics", tgt: "com.t0ronto.commons.entity:body.topics:items", kind: "items", name: None }
  • RemovedEdge RemovedEdge { src: "com.t0ronto.commons.entity:body.types", tgt: "com.t0ronto.commons.entity:body.types:items", kind: "items", name: None }

Migration guidance

Removed

  • RemovedVertex { vertex_id: "com.t0ronto.commons.defs#alignment" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.defs#social" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items:variant0" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items:variant1" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items:variant2" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.addresses:items:variant3" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.alignments" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.alignments:items" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.audience" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.audience:items" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.cadence" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.description" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.link" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.locatedIn" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.locatedIn:items" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.name" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.social" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.social:items" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.topics" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.topics:items" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.types" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.types:items" }
  • RemovedVertex { vertex_id: "com.t0ronto.commons.entity:body.updatedAt" }
  • RemovedVertex { vertex_id: "community.lexicon.location.address" }
  • RemovedVertex { vertex_id: "community.lexicon.location.fsq" }
  • RemovedVertex { vertex_id: "community.lexicon.location.geo" }
  • RemovedVertex { vertex_id: "community.lexicon.location.hthree" }

Notes

  • Breaking: RequiredEdgeRemoved { vertex_id: "com.t0ronto.commons.entity:body", src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.name", kind: "prop", name: Some("name") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.addresses", kind: "prop", name: Some("addresses") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.alignments", kind: "prop", name: Some("alignments") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.audience", kind: "prop", name: Some("audience") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.cadence", kind: "prop", name: Some("cadence") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.description", kind: "prop", name: Some("description") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.link", kind: "prop", name: Some("link") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.locatedIn", kind: "prop", name: Some("locatedIn") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.social", kind: "prop", name: Some("social") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.topics", kind: "prop", name: Some("topics") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.types", kind: "prop", name: Some("types") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body", tgt: "com.t0ronto.commons.entity:body.updatedAt", kind: "prop", name: Some("updatedAt") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses", tgt: "com.t0ronto.commons.entity:body.addresses:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items", tgt: "com.t0ronto.commons.entity:body.addresses:items:variant0", kind: "variant", name: Some("community.lexicon.location.address") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items", tgt: "com.t0ronto.commons.entity:body.addresses:items:variant1", kind: "variant", name: Some("community.lexicon.location.geo") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items", tgt: "com.t0ronto.commons.entity:body.addresses:items:variant2", kind: "variant", name: Some("community.lexicon.location.fsq") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items", tgt: "com.t0ronto.commons.entity:body.addresses:items:variant3", kind: "variant", name: Some("community.lexicon.location.hthree") }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items:variant0", tgt: "community.lexicon.location.address", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items:variant1", tgt: "community.lexicon.location.geo", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items:variant2", tgt: "community.lexicon.location.fsq", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.addresses:items:variant3", tgt: "community.lexicon.location.hthree", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.alignments", tgt: "com.t0ronto.commons.entity:body.alignments:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.alignments:items", tgt: "com.t0ronto.commons.defs#alignment", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.audience", tgt: "com.t0ronto.commons.entity:body.audience:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.locatedIn", tgt: "com.t0ronto.commons.entity:body.locatedIn:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.social", tgt: "com.t0ronto.commons.entity:body.social:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.social:items", tgt: "com.t0ronto.commons.defs#social", kind: "ref", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.topics", tgt: "com.t0ronto.commons.entity:body.topics:items", kind: "items", name: None }
  • Breaking: RemovedEdge { src: "com.t0ronto.commons.entity:body.types", tgt: "com.t0ronto.commons.entity:body.types:items", kind: "items", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
5 "description": "An entry in the t0ronto data commons: an organization, programme, venue, neighbourhood, or other community-relevant thing. Polymorphic — what kind of thing an entity is is declared via `types[]` (P31-style references to com.t0ronto.commons.concept records), not by which collection it lives in. An entity can declare multiple types and surface in multiple buckets simultaneously: CONTACT, for example, declares itself both an organization and a festival.",
6 "key": "tid",
5 "description": "An anchor in the t0ronto data commons: a bare, claim-free identity for a thing — an organization, programme, venue, neighbourhood, or a vocabulary concept. The anchor holds NO properties of its own. Everything true of it — name, type, topics, location, prefLabel, broader, alignments — is asserted by separate com.t0ronto.commons.statement records, which may be authored by many different DIDs. The anchor exists only to mint a stable, resolvable identity that statements point at. Whether an anchor denotes a real-world thing or a vocabulary concept is itself an attestation (an `instanceOf` statement, e.g. instanceOf skos:Concept), not a property of this record or of which collection it lives in. The rkey IS the entity's stable identifier: a UUIDv7 for real-world things (mapping 1:1 to the public URL t0ronto.ca/e/<uuid>) or a curated slug for vocabulary concepts (e.g. at://<did>/com.t0ronto.commons.entity/music).",
6 "key": "any",
77 "record": {
88 "properties": {
9 "addresses": {
10 "description": "Physical location(s). Multiple shapes are allowed and can coexist — a postal address plus coordinates plus a Foursquare POI ID, for example. All shapes are defined by the community.lexicon.location.* vocabulary, deliberately reused rather than redefined.",
11 "items": {
12 "refs": [
13 "community.lexicon.location.address",
14 "community.lexicon.location.geo",
15 "community.lexicon.location.fsq",
16 "community.lexicon.location.hthree"
17 ],
18 "type": "union"
19 },
20 "type": "array"
21 },
22 "alignments": {
23 "description": "Cross-vocabulary alignments to external authorities (LCNAF, Wikidata, GeoNames, etc.).",
24 "items": {
25 "ref": "com.t0ronto.commons.defs#alignment",
26 "type": "ref"
27 },
28 "type": "array"
29 },
30 "audience": {
31 "description": "References to com.t0ronto.commons.concept records with sub='audience'. Communities this entity is about, serves, or attracts.",
32 "items": {
33 "format": "at-uri",
34 "type": "string"
35 },
36 "type": "array"
37 },
38 "cadence": {
39 "description": "Frequency of operation (P2257-style). Single-valued reference to a com.t0ronto.commons.concept record with sub='cadence'.",
40 "format": "at-uri",
41 "type": "string"
42 },
439 "createdAt": {
44 "description": "Client-declared timestamp when the record was first authored.",
45 "format": "datetime",
46 "type": "string"
47 },
48 "description": {
49 "description": "One- to several-sentence description in the local language. Plain text, no markup.",
50 "maxGraphemes": 2000,
51 "type": "string"
52 },
53 "link": {
54 "description": "Primary canonical URL for the entity (its official site).",
55 "format": "uri",
56 "type": "string"
57 },
58 "locatedIn": {
59 "description": "P131-style references to other com.t0ronto.commons.entity records this one is geographically located in — typically neighbourhoods, boroughs, cities, or container venues. Multi-valued: a gallery can be located in a community centre AND a neighbourhood at the same time.",
60 "items": {
61 "format": "at-uri",
62 "type": "string"
63 },
64 "type": "array"
65 },
66 "name": {
67 "description": "Display name of the entity.",
68 "maxGraphemes": 256,
69 "minGraphemes": 1,
70 "type": "string"
71 },
72 "social": {
73 "description": "Social-platform presences. See com.t0ronto.commons.defs#social for per-platform value contract — note that bluesky values are DIDs, not URLs.",
74 "items": {
75 "ref": "com.t0ronto.commons.defs#social",
76 "type": "ref"
77 },
78 "type": "array"
79 },
80 "topics": {
81 "description": "P921-style 'main subject' references to com.t0ronto.commons.concept records with sub='topic'. What this entity is about.",
82 "items": {
83 "format": "at-uri",
84 "type": "string"
85 },
86 "type": "array"
87 },
88 "types": {
89 "description": "P31-style 'instance of' references to com.t0ronto.commons.concept records with sub='type'. Multi-valued — an entity can declare itself multiple kinds simultaneously.",
90 "items": {
91 "format": "at-uri",
92 "type": "string"
93 },
94 "type": "array"
95 },
96 "updatedAt": {
97 "description": "Client-declared timestamp when the record was last updated.",
10 "description": "Client-declared timestamp when this identity was minted. The only field on an anchor — by design it carries no claims; claims live in statement records that reference this anchor's at-uri.",
9811 "format": "datetime",
9912 "type": "string"
10013 }
10114 },
10215 "required": [
103 "name",
10416 "createdAt"
10517 ],
10618 "type": "object"
10719 },
10820 "type": "record"
10921 }
11022 },
11123 "id": "com.t0ronto.commons.entity",
11224 "lexicon": 1
11325}

Compare other versions