com.t0ronto.commons.attestation

t0ronto.com

Schema Diff

+4 -24

From

CID
bafyreignct2p5ev...
Indexed At
2026-05-25 01:18 UTC
View this version

To

CID
bafyreificdhi7jl...
Indexed At
2026-05-28 02:18 UTC
View this version

Compatibility Analysis

Backward Compatible

No changes detected.

1 1
{
2 2
  "id": "com.t0ronto.commons.attestation",
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
          "subject",
11 11
          "predicate",
12 12
          "createdAt"
13 13
        ],
14 14
        "properties": {
15 15
          "graph": {
16 16
            "type": "string",
17 17
            "description": "Optional sub-grouping token for batch-authored attestations (e.g. \"geocode-sync\", \"lcsh-import\"). Provenance proper — author and time — comes from the record's repo and commit, not from this field.",
18 18
            "maxGraphemes": 128
19 19
          },
20 20
          "subject": {
21 21
            "type": "string",
22 22
            "format": "at-uri",
23 23
            "description": "The anchor this claim is about — a com.t0ronto.commons.entity at-uri. May also be another attestation's at-uri, which lets you attest about an attestation (reification / edge-metadata) without leaving the model."
24 24
          },
25 25
          "createdAt": {
26 26
            "type": "string",
27 27
            "format": "datetime",
28 28
            "description": "Client-declared timestamp when the attestation was authored."
29 29
          },
30 30
          "objectLit": {
31 31
            "ref": "#literal",
32 32
            "type": "ref",
33 33
            "description": "Object as a scalar literal — a property value. External-world URIs (an LCSH or Wikidata alignment target, a canonical link) are literals with datatype xsd:anyURI, never objectRef — objectRef is reserved for edges inside our own graph. Exactly one of objectRef / objectLit / objectStruct must be present."
34 34
          },
35 35
          "objectRef": {
36 36
            "type": "string",
37 37
            "format": "at-uri",
38 -
            "description": "Object as an internal reference — an edge to another anchor (or, for `retracts`, to the attestation being retracted). Use for graph relations: instanceOf, mainSubject, locatedIn, broader, audience, cadence. Exactly one of objectRef / objectLit / objectStruct must be present (enforced by the index, not the lexicon)."
38 +
            "description": "Object as an at-uri reference — an edge to another entity (or, for the retracts predicate, to the attestation being retracted). Used for graph relations: instanceOf, mainSubject, locatedIn, broader, audience, cadence, inScheme. Exactly one of objectRef / objectLit / objectStruct must be present (enforced by the index, not the lexicon)."
39 39
          },
40 40
          "predicate": {
41 41
            "type": "string",
42 -
            "description": "The relation asserted. Open vocabulary so the commons can grow; knownValues are the curated core. Edge-style predicates (instanceOf, mainSubject, audience, cadence, locatedIn, broader, inScheme, retracts) take an objectRef; property-style predicates (label, description, link, and the alignment predicates) take an objectLit; compound predicates (address, geo, social) take an objectStruct. `instanceOf` may take an objectRef (an internal type concept) OR an objectLit with datatype xsd:anyURI (an external class such as skos:Concept — this is how an anchor is attested to be a vocabulary concept).",
43 -
            "knownValues": [
44 -
              "label",
45 -
              "description",
46 -
              "link",
47 -
              "instanceOf",
48 -
              "mainSubject",
49 -
              "audience",
50 -
              "cadence",
51 -
              "locatedIn",
52 -
              "broader",
53 -
              "inScheme",
54 -
              "address",
55 -
              "geo",
56 -
              "social",
57 -
              "exactMatch",
58 -
              "closeMatch",
59 -
              "broadMatch",
60 -
              "narrowMatch",
61 -
              "sameAs",
62 -
              "retracts"
63 -
            ]
42 +
            "format": "at-uri",
43 +
            "description": "The relation asserted, as an at-uri to a project predicate entity (com.t0ronto.commons.entity, instanceOf the project's Property class). Project predicate entities are minted on t0ronto.com's repo (the commons authority); their canonical at-uris are listed in scripts/predicate_seed.json. External vocabularies (rdfs:label, skos:broader, wd:P276) are not used directly as predicate strings — they enter the model as sameAs attestations on the project predicate entity, with objectLit datatype xsd:anyURI. This keeps every identity in the system substrate-native (at-uri) so backlink discovery, retraction, alignment, and curation all work uniformly. Phase 8."
64 44
          },
65 45
          "objectStruct": {
66 46
            "refs": [
67 47
              "community.lexicon.location.address",
68 48
              "community.lexicon.location.geo",
69 49
              "community.lexicon.location.fsq",
70 50
              "community.lexicon.location.hthree",
71 51
              "com.t0ronto.commons.defs#social"
72 52
            ],
73 53
            "type": "union",
74 54
            "description": "Object as a compound value: a postal address, geo point, Foursquare POI, H3 cell, or social-platform presence. Reuses the community.lexicon.location.* vocabulary deliberately rather than redefining it. Exactly one of objectRef / objectLit / objectStruct must be present."
75 55
          }
76 56
        }
77 57
      },
78 -
      "description": "A single attestation in the t0ronto data commons: one quad asserting that `subject` stands in relation `predicate` to an object. The object is exactly one of `objectRef` (a reference to another anchor — an edge in the graph), `objectLit` (a scalar literal — a property value), or `objectStruct` (a compound value such as an address or social handle). Provenance is intrinsic and is NOT carried as fields: the record is signed by the repo's DID and stamped by the commit, so who-attested-it and when fall out of the substrate. Append-only by convention — corrections are new attestations (see the `retracts` predicate), not edits. rkey is a TID."
58 +
      "description": "A single attestation in the t0ronto data commons: one quad asserting that `subject` stands in relation `predicate` to an object. Subject is an at-uri (a project entity, or another attestation in the retracts case). Predicate is an at-uri to a project predicate entity (see scripts/predicate_seed.json). Object is exactly one of `objectRef` (an at-uri reference to another entity — an edge in the graph), `objectLit` (a scalar literal — a property value; external IRIs live here as xsd:anyURI), or `objectStruct` (a compound value such as an address or social handle). Provenance is intrinsic and is NOT carried as fields: the record is signed by the repo's DID and stamped by the commit, so who-attested-it and when fall out of the substrate. Append-only by convention — corrections are new attestations (see the retracts predicate), not edits. rkey is a TID. Phase 8: every identity in the model — subject, predicate, objectRef — is an at-uri; the only strings are literals."
79 59
    },
80 60
    "literal": {
81 61
      "type": "object",
82 62
      "required": [
83 63
        "value"
84 64
      ],
85 65
      "properties": {
86 66
        "lang": {
87 67
          "type": "string",
88 68
          "description": "BCP-47 language tag, used when datatype is rdf:langString. Lets the same subject carry labels/descriptions in multiple languages as separate attestations (e.g. an `en` label and a `fr` label)."
89 69
        },
90 70
        "value": {
91 71
          "type": "string",
92 72
          "description": "The literal value, lexically encoded per its datatype (e.g. \"43.6532\" for an xsd:decimal, an ISO-8601 string for an xsd:dateTime, the full URI for an xsd:anyURI).",
93 73
          "maxGraphemes": 2000
94 74
        },
95 75
        "datatype": {
96 76
          "type": "string",
97 77
          "default": "xsd:string",
98 78
          "description": "XSD/RDF datatype as a CURIE or URI. Common values: xsd:string, xsd:anyURI (external-vocab targets and links), xsd:dateTime, xsd:decimal, xsd:boolean, rdf:langString."
99 79
        }
100 80
      },
101 81
      "description": "A scalar literal value with an XSD datatype. Numbers, dates, and URIs are carried in their lexical (string) form, tagged by `datatype`."
102 82
    }
103 83
  },
104 84
  "$type": "com.atproto.lexicon.schema",
105 85
  "lexicon": 1
106 86
}

Compare Other Versions

Lexicon Garden

@