gpt4 book ai didi

clojure - 可以通过 Datomic pull 语法获取枚举值吗?

转载 作者:行者123 更新时间:2023-12-04 06:00:33 25 4
gpt4 key购买 nike

mbrainz样本数据, :artist/type 是一个枚举。是否可以从 :db/ident 中提取枚举值并使用拉语法将其关联为 :artist/type 键的值?

这是我能得到的最接近的:

[:find (pull ?e [:artist/name {:artist/type [:db/ident]}])
:where
[?e :artist/name "Ray Charles"]
]

;;=> [[{:artist/name "Ray Charles", :artist/type {:db/ident :artist.type/person}}]]

是否可以使用拉语法将结果 reshape 成这样的东西?
;;=> [[{:artist/name "Ray Charles", :artist/type :artist.type/person}]]

最佳答案

使用 postwalk 很容易做到
对于任何拉出的 :db/ident,您都可以使用此函数进行转换

(defn flatten-ident [coll]
(clojure.walk/postwalk
(fn [item] (get item :db/ident item)) coll))

关于clojure - 可以通过 Datomic pull 语法获取枚举值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com