Datomicを使用して、リスト内のリストをどのように入れ子にすることができるか考えていますか?Datomicでネスト構造
例Clojureのデータ構造は何かになります(fig.1を参照)。私はDatomicが参照の概念を持っていることを知っています(例:図2)。しかし、それらはちょうどオブジェクト(それ自体)ではなくスカラー型のように見えます。
[{:id 0,
:symbol DDD,
:company 3D Systems Corporation,
:price-difference 1.3100000000000023,
:event-list [{high 35.11,
tickerId 0,
WAP 34.491,
open 35.07,
date 20130426,
count 3403,
low 33.8,
hasGaps false,
close 34.53,
field historicalData,
volume 8667,
type historicalData}]}]
図1
{:db/id #db/id[:db.part/db]
:db/ident :district/region
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/one
:db/doc "A district region enum value"
:db.install/_attribute :db.part/db}
;; district/region enum values
[:db/add #db/id[:db.part/user] :db/ident :region/n]
[:db/add #db/id[:db.part/user] :db/ident :region/ne]
[:db/add #db/id[:db.part/user] :db/ident :region/e]
[:db/add #db/id[:db.part/user] :db/ident :region/se]
[:db/add #db/id[:db.part/user] :db/ident :region/s]
[:db/add #db/id[:db.part/user] :db/ident :region/sw]
[:db/add #db/id[:db.part/user] :db/ident :region/w]
[:db/add #db/id[:db.part/user] :db/ident :region/nw]
図2
[EDIT]
は実は、私は答えを見つけたかもしれないと思うhere。私はDay-Of-Datomicコードベースを調べていて、以下の例が見つかりました。コメント/ボディ(または:コメント/著者)名前空間(S)へのコメント名前空間:しかし、私はまだ明示的を結びつけるかについては明らかではありませんよ。 Datomicはリンクに慣例を使用していますか:コメント〜:コメント?あなたが直接、多次元リスト/ベクトルを持続することはできませんが、あなたは似た何かを達成するために、連結エンティティを使用することができます
;; comments
[{:db/id #db/id[:db.part/db]
:db/ident :comments
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/many
:db/isComponent true
:db.install/_attribute :db.part/db}
{:db/id #db/id[:db.part/db]
:db/ident :comment/body
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
:db.install/_attribute :db.part/db}
{:db/id #db/id[:db.part/db]
:db/ident :comment/author
:db/valueType :db.type/ref
:db/cardinality :db.cardinality/one
:db.install/_attribute :db.part/db}]
図1
を参照してください。コメントとコメント/本文。それは単なる命名規則です。リストのリストを永続化する方法の例については、以下の私の答えを見てください。私はClojureの[["" a "" b "" c "[" d "" e "" f "]]に相当するものを保持するために2つのランダムな属性定義を使用しました。 – a2ndrade