Datomic QueriesandRulesドキュメントの「Embedded」セクションには次のように書かれています。
SQLのようなクエリ言語は、クライアントサーバーモデルを中心に据えられており、1回の会話で、次の両方を行う必要があります。
- 今月靴下を購入した人など、基本的な質問に答えてください。
- 名前や電子メールアドレスなど、レポートと処理に必要な追加情報を回復します。
後者は実際にはクエリではなく、関連情報への単なる機械的なナビゲーションです。
言及された2つの異なる側面の直交性がどのように尊重されるかは理解できますが、属性が何であれ、エンティティ全体を取得する必要があることがよくあると思います。
私の知る限り、クエリは通常次の形式になっています。
(datomic.api/q '[:find ?name ?age ?email
:where
[?e :myapp/name ?name]
[?e :myapp/age ?age]
[?e :myapp/email ?email]]
(db conn))
N個の属性を持つエンティティを取得したい場合は、各クエリでそれらすべてを一覧表示する必要があります。これは、面倒でエラーが発生しやすいようです。
明示的に指定することなく、永続化されたすべてのフィールドを持つエンティティを取得するようにDatomicに指示するにはどうすればよいですか?