Facts

Um fact representa uma relação.

{
  "subject": "user:maya",
  "predicate": "works_at",
  "object": "company:acme"
}

Isso significa user:maya — works_at → company:acme.

Entidades: type:id

Use um tipo e um identificador separados por dois-pontos:

  • user:maya
  • company:acme
  • project:dashboard
  • topic:typescript

O GoMind identifica o tipo pelo prefixo. user:123 e question:123 são entidades diferentes. A operação forget_entity exclui todos os facts ligados à entidade informada.

Também é possível usar textos sem namespace, mas eles são mais difíceis de relacionar depois. Prefira type:id desde o início.

Objeto: entidade ou valor literal

Quando o objeto parece o nome de uma entidade, o GoMind o trata como um nó do grafo. Se for um valor como vegetarian, Portland ou senior engineer, ele é guardado como literal. Na resposta, aparece em value em vez de object.

Predicados

Mantenha os predicados estáveis e em snake_case: works_at, has_skill, display_name. Renomeá-los depois divide o histórico.

O campo opcional context acrescenta uma nota ao fact, mas não faz parte da tripla.

O que não guardar

Não invente fatos. Registre o que uma pessoa informou, o que um sistema já sabe ou o que feed extraiu. Confirme antes de guardar dados sensíveis.