at.isnot.review

isnot.at

Documentation

A person's review of one thing: which adjectives it is, and is not. One record per subject and locale per repo; update it rather than creating another. If a repo ever holds more than one review of the same subject in the same locale, merge them into the earliest-created one (tag conflicts: latest updatedAt wins, then direction nearer 0, then positive) and delete the rest.

main record

A person's review of one thing: which adjectives it is, and is not. One record per subject and locale per repo; update it rather than creating another. If a repo ever holds more than one review of the same subject in the same locale, merge them into the earliest-created one (tag conflicts: latest updatedAt wins, then direction nearer 0, then positive) and delete the rest.

Record Key tid Timestamp-based ID

Properties

createdAt string datetime Required

An RFC 3339 formatted timestamp.

locale string language Optional

The language the whole review is meant to be read in (BCP 47), not the language of any one adjective. Readers may render the sentence in this locale.

subject ref #subject Required

The thing being tagged, described well enough to display without fetching the referenced record. Readers can decide whether the cid must match for their purposes, or whether the at-uri alone is enough.

tags array of ref #tag Required

The adjectives this review applies to the subject. An adjective should appear at most once; readers keep the last entry when it repeats.

maxLength: 32 itemsminLength: 1 items
updatedAt string datetime Required

An RFC 3339 formatted timestamp.

View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "subject",
      "tags",
      "createdAt",
      "updatedAt"
    ],
    "properties": {
      "tags": {
        "type": "array",
        "items": {
          "ref": "#tag",
          "type": "ref"
        },
        "maxLength": 32,
        "minLength": 1,
        "description": "The adjectives this review applies to the subject. An adjective should appear at most once; readers keep the last entry when it repeats."
      },
      "locale": {
        "type": "string",
        "format": "language",
        "description": "The language the whole review is meant to be read in (BCP 47), not the language of any one adjective. Readers may render the sentence in this locale."
      },
      "subject": {
        "ref": "#subject",
        "type": "ref",
        "description": "The thing being tagged, described well enough to display without fetching the referenced record. Readers can decide whether the cid must match for their purposes, or whether the at-uri alone is enough."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime"
      },
      "updatedAt": {
        "type": "string",
        "format": "datetime"
      }
    }
  },
  "description": "A person's review of one thing: which adjectives it is, and is not. One record per subject and locale per repo; update it rather than creating another. If a repo ever holds more than one review of the same subject in the same locale, merge them into the earliest-created one (tag conflicts: latest updatedAt wins, then direction nearer 0, then positive) and delete the rest."
}
identifier object

No description available.

Properties

key string Required

No description available.

maxLength: 64 bytes
value string Required

No description available.

maxLength: 512 bytes
View raw schema
{
  "type": "object",
  "required": [
    "key",
    "value"
  ],
  "properties": {
    "key": {
      "type": "string",
      "maxLength": 64
    },
    "value": {
      "type": "string",
      "maxLength": 512
    }
  }
}
subject object

No description available.

Properties

cid string cid Required

The uri's cid when this tag was last updated.

identifiers array of ref#identifier Optional

External identifiers for the subject, such as imdbId or isbn13.

maxLength: 32 items
title string Required

The name of the thing being tagged, usually copied from a field on the subject record.

maxLength: 2560 bytesmaxGraphemes: 256 graphemesminGraphemes: 1 graphemes
type string Required

The kind of thing the subject is. Open set; add values as lenses support them.

maxLength: 64 bytes
Known values: movie, tv-show, tv-season, tv-episode, book, book-series, album, music-track, music-artist, video-game, post, publication, app, web-page, web-stream, code-repo
uri string at-uri Required

The atproto record that represents the thing being tagged.

View raw schema
{
  "type": "object",
  "required": [
    "uri",
    "cid",
    "title",
    "type"
  ],
  "properties": {
    "cid": {
      "type": "string",
      "format": "cid",
      "description": "The uri's cid when this tag was last updated."
    },
    "uri": {
      "type": "string",
      "format": "at-uri",
      "description": "The atproto record that represents the thing being tagged."
    },
    "type": {
      "type": "string",
      "maxLength": 64,
      "description": "The kind of thing the subject is. Open set; add values as lenses support them.",
      "knownValues": [
        "movie",
        "tv-show",
        "tv-season",
        "tv-episode",
        "book",
        "book-series",
        "album",
        "music-track",
        "music-artist",
        "video-game",
        "post",
        "publication",
        "app",
        "web-page",
        "web-stream",
        "code-repo"
      ]
    },
    "title": {
      "type": "string",
      "maxLength": 2560,
      "description": "The name of the thing being tagged, usually copied from a field on the subject record.",
      "maxGraphemes": 256,
      "minGraphemes": 1
    },
    "identifiers": {
      "type": "array",
      "items": {
        "ref": "#identifier",
        "type": "ref"
      },
      "maxLength": 32,
      "description": "External identifiers for the subject, such as imdbId or isbn13."
    }
  }
}
tag object

No description available.

Properties

adjective string Required

An adjective, in any language, that the subject either is, or is not.

maxLength: 160 bytesmaxGraphemes: 16 graphemesminGraphemes: 1 graphemes
direction integer Required

Whether the subject *is* the adjective (1), *is not* the adjective (-1) or, less commonly, *really* is (2), or *really* isn't (-2). A value of zero is an explicit 'no comment', uncertainty, or lack of opinion.

View raw schema
{
  "type": "object",
  "required": [
    "direction",
    "adjective"
  ],
  "properties": {
    "adjective": {
      "type": "string",
      "maxLength": 160,
      "description": "An adjective, in any language, that the subject either is, or is not.",
      "maxGraphemes": 16,
      "minGraphemes": 1
    },
    "direction": {
      "enum": [
        -2,
        -1,
        0,
        1,
        2
      ],
      "type": "integer",
      "description": "Whether the subject *is* the adjective (1), *is not* the adjective (-1) or, less commonly, *really* is (2), or *really* isn't (-2). A value of zero is an explicit 'no comment', uncertainty, or lack of opinion."
    }
  }
}

Lexicon Garden

@