org.hypercerts.vocab.tag

hypercerts.org

Documentation

A reusable vocabulary term for classifying any Hypercerts record — for example a land-cover class, a zone role, or a methodology. The vocabulary is domain-general; geospatial categories are simply its first entries. The schema carries portable term data; named vocabulary profiles decide which published terms and attachment points they recognize. Recommended record key: the deterministic form <category>.<key> (for example zone-role.site), as defined by the governing vocabulary profile; Lexicon validation cannot bind a record key to body fields, so writers and indexers enforce that agreement. A tag reference pins the specific version (CID) of the term that the referencing record classified against; consumers resolve the term's current status and supersession by its URI.

main record

A reusable vocabulary term for classifying any Hypercerts record — for example a land-cover class, a zone role, or a methodology. The vocabulary is domain-general; geospatial categories are simply its first entries. The schema carries portable term data; named vocabulary profiles decide which published terms and attachment points they recognize. Recommended record key: the deterministic form <category>.<key> (for example zone-role.site), as defined by the governing vocabulary profile; Lexicon validation cannot bind a record key to body fields, so writers and indexers enforce that agreement. A tag reference pins the specific version (CID) of the term that the referencing record classified against; consumers resolve the term's current status and supersession by its URI.

Record Key any Any valid record key

Properties

aliases array of string Optional

Alternative human-readable labels and abbreviations for search and display. Aliases carry no identity: references always point at the record, not at a label.

maxLength: 50 items
broader array of ref com.atproto.repo.strongRef Optional

Optional references to directly broader terms, forming a polyhierarchy (a term may have several broader terms). Each referenced record must conform with org.hypercerts.vocab.tag.

maxLength: 20 items
category string record-key Required

The classification axis this term belongs to, for example land-cover or zone-role. One term belongs to one category; a subject may carry tags from many categories at once. Values beyond the known set are permitted. Must not contain dots, so that the recommended <category>.<key> record key remains unambiguous.

maxLength: 50 bytes
Known values: zone-role, land-cover, ecosystem-type, stratum-class, tenure, methodology, outcome-class, evidence-type
createdAt string datetime Required

Client-declared timestamp when this record was originally created.

description string Optional

Definition and scope notes for the term, written so a reader outside the publishing organization can apply it consistently.

maxLength: 10000 bytesmaxGraphemes: 1000 graphemes
key string record-key Required

Stable lowercase machine identifier for this term within its publisher and category, for example boundary or mangrove. Must not contain dots, so that the recommended <category>.<key> record key remains unambiguous.

maxLength: 120 bytes
name string Required

Human-readable display name of the term.

maxLength: 200 bytes
sameAs array of string uri Optional

URIs of exactly equivalent concepts in external vocabularies, for example ENVO, IUCN GET, OSM tag conventions, or registry methodology identifiers. Exact matches only; typed broader/narrower/close mappings are a named future field.

maxLength: 20 items
status string Required

Lifecycle status of the term: proposed (submitted, not yet governed), accepted (in active governed use), or deprecated (retired; see supersededBy). Values beyond the known set are permitted.

maxLength: 20 bytes
Known values: proposed, accepted, deprecated
supersededBy ref com.atproto.repo.strongRef Optional

The replacement term for a deprecated term, letting consumers roll classifications forward without rewriting published records. The referenced record must conform with org.hypercerts.vocab.tag.

View raw schema
{
  "key": "any",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "key",
      "name",
      "category",
      "status",
      "createdAt"
    ],
    "properties": {
      "key": {
        "type": "string",
        "format": "record-key",
        "maxLength": 120,
        "description": "Stable lowercase machine identifier for this term within its publisher and category, for example boundary or mangrove. Must not contain dots, so that the recommended <category>.<key> record key remains unambiguous."
      },
      "name": {
        "type": "string",
        "maxLength": 200,
        "description": "Human-readable display name of the term."
      },
      "sameAs": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uri"
        },
        "maxLength": 20,
        "description": "URIs of exactly equivalent concepts in external vocabularies, for example ENVO, IUCN GET, OSM tag conventions, or registry methodology identifiers. Exact matches only; typed broader/narrower/close mappings are a named future field."
      },
      "status": {
        "type": "string",
        "maxLength": 20,
        "description": "Lifecycle status of the term: proposed (submitted, not yet governed), accepted (in active governed use), or deprecated (retired; see supersededBy). Values beyond the known set are permitted.",
        "knownValues": [
          "proposed",
          "accepted",
          "deprecated"
        ]
      },
      "aliases": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 200
        },
        "maxLength": 50,
        "description": "Alternative human-readable labels and abbreviations for search and display. Aliases carry no identity: references always point at the record, not at a label."
      },
      "broader": {
        "type": "array",
        "items": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref"
        },
        "maxLength": 20,
        "description": "Optional references to directly broader terms, forming a polyhierarchy (a term may have several broader terms). Each referenced record must conform with org.hypercerts.vocab.tag."
      },
      "category": {
        "type": "string",
        "format": "record-key",
        "maxLength": 50,
        "description": "The classification axis this term belongs to, for example land-cover or zone-role. One term belongs to one category; a subject may carry tags from many categories at once. Values beyond the known set are permitted. Must not contain dots, so that the recommended <category>.<key> record key remains unambiguous.",
        "knownValues": [
          "zone-role",
          "land-cover",
          "ecosystem-type",
          "stratum-class",
          "tenure",
          "methodology",
          "outcome-class",
          "evidence-type"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Client-declared timestamp when this record was originally created."
      },
      "signatures": {
        "ref": "app.certified.signature.defs#list",
        "type": "ref",
        "description": "Optional cryptographic signatures attesting to this record's content."
      },
      "description": {
        "type": "string",
        "maxLength": 10000,
        "description": "Definition and scope notes for the term, written so a reader outside the publishing organization can apply it consistently.",
        "maxGraphemes": 1000
      },
      "supersededBy": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "The replacement term for a deprecated term, letting consumers roll classifications forward without rewriting published records. The referenced record must conform with org.hypercerts.vocab.tag."
      },
      "referenceDocument": {
        "refs": [
          "org.hypercerts.defs#uri",
          "org.hypercerts.defs#smallBlob"
        ],
        "type": "union",
        "description": "A document defining or motivating this term, as a URI or an attached small blob."
      }
    }
  },
  "description": "A reusable vocabulary term for classifying any Hypercerts record — for example a land-cover class, a zone role, or a methodology. The vocabulary is domain-general; geospatial categories are simply its first entries. The schema carries portable term data; named vocabulary profiles decide which published terms and attachment points they recognize. Recommended record key: the deterministic form <category>.<key> (for example zone-role.site), as defined by the governing vocabulary profile; Lexicon validation cannot bind a record key to body fields, so writers and indexers enforce that agreement. A tag reference pins the specific version (CID) of the term that the referencing record classified against; consumers resolve the term's current status and supersession by its URI."
}

Lexicon Garden

@