ファクト
ファクトは1つの関係を表します。
{
"subject": "user:maya",
"predicate": "works_at",
"object": "company:acme"
}
これは user:maya — works_at → company:acme を意味します。
エンティティ:type:id
コロンで型とIDをつなぎます。
user:mayacompany:acmeproject:dashboardtopic: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で抽出したことを保存します。機密情報は保存前に確認してください。