eu.leksis.entry

lexicons.leksis.eu

Documentation

A dictionary entry of the Leksis dictionary. Records prove authorship, not ownership: any user may publish an entry record, and a record carrying a `subject` reference is a proposed new version of the entry that record belongs to — the AppView treats the latest version as current and archives previous ones. The record is the source of truth for its content; the AppView indexes only what search needs.

main record

A dictionary entry of the Leksis dictionary. Records prove authorship, not ownership: any user may publish an entry record, and a record carrying a `subject` reference is a proposed new version of the entry that record belongs to — the AppView treats the latest version as current and archives previous ones. The record is the source of truth for its content; the AppView indexes only what search needs.

Record Key tid Timestamp-based ID

Properties

botSource string Optional

Identifier of the external source this record was derived from (a URL or a source-internal ID), set by ingestion bots so a record can be traced back to its origin for maintenance. Not indexed by the AppView — it lives on the record only.

maxLength: 2048 bytes
categories array of ref #annotation Required

Ordered grammatical categories of the entry (e.g. "n."/"noun", "f."/"feminine"). Freeform, not an enforced vocabulary.

createdAt string datetime Required

Client-declared creation time of this record version.

definitions array of ref #definition Required

The entry's definitions as a flat list, each carrying its coordinate (`place`) in a hierarchy of up to three dimensions. The array is sorted by `place` (lexicographic reading order). Coordinates are meaningful: future fields reference a definition by its place.

minLength: 1 items
deleted boolean Optional

Marks this version as a deletion: the entry is withdrawn from search under this record, but stays reachable at its entryKey for legacy links and to contest the deletion. Requires `deletionReason`. `orthography`/`categories`/`definitions` still carry the version's last known content (or may repeat the prior version's), since the lexicon requires them, but the AppView excludes a deleted version's orthography from the search index.

deletionReason string Optional

Required when `deleted` is true: why this entry was withdrawn (e.g. "duplicate of br-gwerzenn-1b76", "not an attested word").

maxLength: 2048 bytesmaxGraphemes: 1024 graphemes
languageID string Required

Well-formed IETF BCP 47 tag of the entry's language, normalized to lowercase (e.g. "br", "br-gw").

maxLength: 64 bytes
orthography array of string Required

Valid spellings of the word: variants, archaic forms, regional spellings. The first item is the canonical form.

minLength: 1 items
redirectTo string Optional

When `deleted` is true and the reason is a duplicate, the entryKey of the correct entry to redirect readers to.

maxLength: 254 bytes
subject string at-uri Optional

AT URI of the entry record version this record modifies. Absent for a brand-new entry; present on a proposed modification, so the AppView can attach this version to the existing entry.

todo array of string Optional

Pending-work notes: each item is one task this version still needs (e.g. an ingestion bot flagging one unverified aspect), so several bots or editors can each track their own item. Empty or absent means nothing is pending. The AppView indexes only whether any item exists, as a boolean flag.

maxLength: 64 items
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "languageID",
      "orthography",
      "categories",
      "definitions",
      "createdAt"
    ],
    "properties": {
      "todo": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 2048,
          "maxGraphemes": 1024
        },
        "maxLength": 64,
        "description": "Pending-work notes: each item is one task this version still needs (e.g. an ingestion bot flagging one unverified aspect), so several bots or editors can each track their own item. Empty or absent means nothing is pending. The AppView indexes only whether any item exists, as a boolean flag."
      },
      "deleted": {
        "type": "boolean",
        "description": "Marks this version as a deletion: the entry is withdrawn from search under this record, but stays reachable at its entryKey for legacy links and to contest the deletion. Requires `deletionReason`. `orthography`/`categories`/`definitions` still carry the version's last known content (or may repeat the prior version's), since the lexicon requires them, but the AppView excludes a deleted version's orthography from the search index."
      },
      "subject": {
        "type": "string",
        "format": "at-uri",
        "description": "AT URI of the entry record version this record modifies. Absent for a brand-new entry; present on a proposed modification, so the AppView can attach this version to the existing entry."
      },
      "botSource": {
        "type": "string",
        "maxLength": 2048,
        "description": "Identifier of the external source this record was derived from (a URL or a source-internal ID), set by ingestion bots so a record can be traced back to its origin for maintenance. Not indexed by the AppView — it lives on the record only."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Client-declared creation time of this record version."
      },
      "categories": {
        "type": "array",
        "items": {
          "ref": "#annotation",
          "type": "ref"
        },
        "description": "Ordered grammatical categories of the entry (e.g. \"n.\"/\"noun\", \"f.\"/\"feminine\"). Freeform, not an enforced vocabulary."
      },
      "languageID": {
        "type": "string",
        "maxLength": 64,
        "description": "Well-formed IETF BCP 47 tag of the entry's language, normalized to lowercase (e.g. \"br\", \"br-gw\")."
      },
      "redirectTo": {
        "type": "string",
        "maxLength": 254,
        "description": "When `deleted` is true and the reason is a duplicate, the entryKey of the correct entry to redirect readers to."
      },
      "definitions": {
        "type": "array",
        "items": {
          "ref": "#definition",
          "type": "ref"
        },
        "minLength": 1,
        "description": "The entry's definitions as a flat list, each carrying its coordinate (`place`) in a hierarchy of up to three dimensions. The array is sorted by `place` (lexicographic reading order). Coordinates are meaningful: future fields reference a definition by its place."
      },
      "orthography": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 256,
          "maxGraphemes": 128
        },
        "minLength": 1,
        "description": "Valid spellings of the word: variants, archaic forms, regional spellings. The first item is the canonical form."
      },
      "deletionReason": {
        "type": "string",
        "maxLength": 2048,
        "description": "Required when `deleted` is true: why this entry was withdrawn (e.g. \"duplicate of br-gwerzenn-1b76\", \"not an attested word\").",
        "maxGraphemes": 1024
      }
    }
  },
  "description": "A dictionary entry of the Leksis dictionary. Records prove authorship, not ownership: any user may publish an entry record, and a record carrying a `subject` reference is a proposed new version of the entry that record belongs to — the AppView treats the latest version as current and archives previous ones. The record is the source of truth for its content; the AppView indexes only what search needs."
}
annotation object

No description available.

Properties

long string Required

Full form (e.g. "noun", "botany") — the only required half: a lone form is always the full one, displayed directly with nothing revealed on hover.

maxLength: 256 bytesmaxGraphemes: 128 graphemes
short string Optional

Optional abbreviated display form (e.g. "n.", "bot."); when present it is shown instead of the full form, which appears on hover.

maxLength: 64 bytesmaxGraphemes: 32 graphemes
View raw schema
{
  "type": "object",
  "required": [
    "long"
  ],
  "properties": {
    "long": {
      "type": "string",
      "maxLength": 256,
      "description": "Full form (e.g. \"noun\", \"botany\") — the only required half: a lone form is always the full one, displayed directly with nothing revealed on hover.",
      "maxGraphemes": 128
    },
    "short": {
      "type": "string",
      "maxLength": 64,
      "description": "Optional abbreviated display form (e.g. \"n.\", \"bot.\"); when present it is shown instead of the full form, which appears on hover.",
      "maxGraphemes": 32
    }
  }
}
definition object

No description available.

Properties

notes array of ref#annotation Required

Ordered lexicographic notes shown before the definition text (e.g. "by ext."/"by extension", "arch."/"archaic"). May be empty.

place array of integer Required

Coordinate of the definition in the entry's hierarchy: one 0-based index per dimension, deepest last, so the length is the definition's own depth (e.g. [0] = first top-level definition; [1, 0] = first sub-definition of the second). Across the entry, places must be sorted, sibling indices contiguous from 0, and no place a prefix of another (a definition cannot also be a group). Display numbering follows the deepest place length used: 1 → arabic; 2 → roman, arabic; 3 → letters, roman, arabic.

maxLength: 3 itemsminLength: 1 items
text string Required

The definition text.

maxLength: 4096 bytesmaxGraphemes: 2048 graphemes
View raw schema
{
  "type": "object",
  "required": [
    "place",
    "notes",
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 4096,
      "description": "The definition text.",
      "maxGraphemes": 2048
    },
    "notes": {
      "type": "array",
      "items": {
        "ref": "#annotation",
        "type": "ref"
      },
      "description": "Ordered lexicographic notes shown before the definition text (e.g. \"by ext.\"/\"by extension\", \"arch.\"/\"archaic\"). May be empty."
    },
    "place": {
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0
      },
      "maxLength": 3,
      "minLength": 1,
      "description": "Coordinate of the definition in the entry's hierarchy: one 0-based index per dimension, deepest last, so the length is the definition's own depth (e.g. [0] = first top-level definition; [1, 0] = first sub-definition of the second). Across the entry, places must be sorted, sibling indices contiguous from 0, and no place a prefix of another (a definition cannot also be a group). Display numbering follows the deepest place length used: 1 → arabic; 2 → roman, arabic; 3 → letters, roman, arabic."
    }
  }
}

Lexicon Garden

@