datomic - 将任意键/值条目与数据实体一起存储

假设我有要存储在 datomic 中的实体。如果所有属性都是事先已知的,我只需将它们添加到我的数据模式一次,然后就可以使用它们。

如果除了已知属性之外,实体还可以拥有任意数量的任意键,映射到任意值,会怎样呢?当然,我可以将该列表存储在我也添加到架构中的某个“blob”属性中,但这样我就无法轻松查询这些属性。

我想出的解决方案是在 datomic 中定义一个 key 和一个 value 属性,每个都是 string 类型,并使用上述属性将这些附加键/值条目中的每一个都视为独立的实体。然后我可以使用 ref 类型通过 1:n 关系将所有这些键/值实体连接到实际实体。

这让我可以查询。这是要走的路还是有更好的方法?

最佳答案

我不愿意失去属性定义的力量。 Datomic 属性可以随时添加,并且限制相当高 (2^20),因此在动态键和值出现时对其进行建模可能是合理的,为每个创建一个新属性。

https://stackoverflow.com/questions/23282374/

相关文章:

maven - java.lang.IllegalStateException : Could no

google-maps - 嵌入式谷歌地图与 API V3

ruby-on-rails - 无法使用 CanCan 从 rails_admin 管理模型

angularjs - ng-grid cellTemplate 问题与单元格的背景颜色

types - InnoSetup : custom setup type - display me

dart - 如何在 Dart 中产生一个新的隔离?

build - 不安全代码需要指定 `unsafe` 命令行选项 Monodevelop 4.0.1

scala - 对重载定义的不明确引用,来自 Java 库

shell - 将所有第二层 mp3 递归转换为第三层并更新 ID3

clojure - 是否可以检索定义变量的条件图?