ファクト

ファクトは1つの関係を表します。

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

これは user:maya — works_at → company:acme を意味します。

エンティティ:type:id

コロンで型とIDをつなぎます。

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

GoMindは接頭辞から型を判定します。user:123 と question:123 は別のエンティティです。forget_entity で削除すると、そのエンティティに関するすべてのファクトが消えます。

型のない文字列も保存できますが、後で情報を結び付けにくくなります。最初から type:id を使うことを推奨します。

目的語:エンティティまたは値

目的語がエンティティ名の形式なら、グラフのノードとして扱います。vegetarian、Portland、senior engineer のような値はリテラルとして保存され、応答では object ではなく value として表示されます。

述語

works_at、has_skill、display_name のように、安定した snake_case を使ってください。後から名前を変えると、履歴が分かれてしまいます。

任意の context はファクトに付ける注記で、三つ組そのものには含まれません。

保存すべきでないもの

事実を作り出さないでください。ユーザーが述べたこと、既存のシステムで確認されたこと、またはfeedで抽出したことを保存します。機密情報は保存前に確認してください。