Skip to main content

Vocabulary Model

Status Note​

Current recommendation and first implementation for #90.

Purpose​

VRDex needs flexible scene language without forcing everyone into one rigid taxonomy. The vocabulary model normalizes and stores terms that appear in profiles, worlds, events, and discovery facets.

Scopes​

Initial scopes:

  • profile_tag
  • person_role
  • community_category
  • community_subtype
  • event_participant_role
  • event_tag
  • world_tag
  • world_creator_role
  • discovery_facet

Normalization​

Terms keep a user-facing label and a normalized key.

Examples:

  • Melodic House -> melodic_house
  • club night -> club_night
  • World Author -> world_author

The model deduplicates obvious case and whitespace variants. It does not try to infer arbitrary semantic equivalence in deterministic code.

Sources​

Term source values:

  • seeded: built-in starter vocabulary
  • user_created: learned from submitted or authored records
  • reviewed: promoted or curated by maintainers/moderators
  • imported: created from reviewed import flows

Ranking Use​

Vocabulary terms feed:

  • search facets
  • weighted search document fields
  • browse chips on discovery surfaces
  • future typeahead suggestions
  • moderation and merge workflows outside the first slice

Non-Goals​

  • fully automated taxonomy inference
  • forcing all communities into one fixed role list
  • broad ad hoc language-to-intent mappings in code
  • moderation dashboard for vocabulary abuse in the first slice

Out of Scope​

  • reviewed aliases and merges
  • admin curation UI
  • usage analytics for term quality
  • personalized recommendation facets