问题标签 [datomic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1340 浏览

schema - Datomic - db/isComponent 相当于强制执行外键依赖?

Datomic Sc​​hema doco中,他们提到了一个名为db/isComponent. 这似乎是指由 定义的关系:db.type/ref

西雅图db/isComponent示例中未使用 。公平地说,:db.type/refDatomic 中的关系不是“强制”的(使用关系数据库外键依赖概念)-除非您将它们设置为db/isComponent?

0 投票
1 回答
260 浏览

schema - Datomic 插入块

Datomic Seattle 示例在执行插入时使用显式 ID 号:

对于单个模式的普通插入 - 动态生成 ID 要简单得多:

这将在插入时生成 ID。

假设我有一个更复杂的模式,我想在其中表示一个 Renter、Car 和 RentEvent。

我可以:

=> 获取 ID 号并将其粘贴在 A 中

=> 获取 ID 号并将其粘贴在 B 中

但这涉及到大量的身份证号码。我想将它插入一个大块中,例如:

这可能吗?语法是什么?

假设:

  • 这是一个可审计的环境,其中一个可重复的脚本数据库发布由处于控制分离的一方对生产数据库进行。即 - 这需要是一个文本文件,审核员可以在对数据库进行更改之前和之后查看。
0 投票
2 回答
695 浏览

clojure - 在 datomic 中,如何找出可用于反向查找的键?

以下使用简化的 datomic 设置:

如果我有包含帐户信息的实体,很容易知道它有电子邮件信息

但另一方面,如果我查看电子邮件实体的密钥,我不知道它有关联的帐户信息。

:account/_email如果没有反复试验,如何发现这是一个有效的密钥?

0 投票
1 回答
617 浏览

clojure - 如何编写一个将整个集合考虑在内的原子查询

是否可以用 datomic 编写这类查询?

  • 找到最年长的孩子的名字
  • 找到体重指数(体重/身高)最低的人
0 投票
1 回答
2723 浏览

database - 使用 Datomic 嵌套结构

使用 Datomic,我试图考虑如何在列表中嵌套列表?

一个示例 Clojure 数据结构将是某种东西(见图1)。我知道 Datomic 有引用的概念(例如在图 2 中。但那些看起来像标量类型,而不是对象(本身)。

图。1

图2

[编辑]

其实,我想我可能在这里找到了答案。我正在浏览Day-Of-Datomic代码库,并找到了下面的示例。但是我仍然不清楚:comments命名空间与:comment/body(或:comment/author)命名空间的明确联系。Datomic 是否仅使用约定将:comments链接到:comment

图。1

0 投票
2 回答
1199 浏览

regex - datomic query - 过滤和绑定的函数

我希望能够做这样的事情:

这给了我我的期望,但它称之为“匹配?” 每个实体两次:

0 投票
1 回答
685 浏览

datomic - 在datomic中找到重复项的好方法是什么?

我有一堆包含公司名称的记录,我希望进行查询以查找所有重复项。如何才能做到这一点?

0 投票
1 回答
169 浏览

clojure - 有没有办法将数据库重置到特定的时间点(主要用于调试)

我希望将这种类型的测试与 datomic 一起使用

-> 创建数据库

-> 加载大量数据(A 点)

-> 做测试/允许用户交互(添加一堆数据)

-> 恢复到 A 点

-> 再次开始测试

我知道有备份和恢复命令。可以通过 datomic api 访问它们吗?

0 投票
4 回答
2921 浏览

clojure - 在datomic中获取插入实体的ID?

在 datomic 中运行事务以插入值后,如何使用事务的返回值来获取已创建的任何实体的 id?

这是插入后得到的返回值示例:

我可以看到基础数据...如何提取它们的值?

0 投票
1 回答
599 浏览

datomic - 如何登录 Datomic 的 H2 存储?

我想看看 Datomic Free 用于存储的 H2 数据库中的数据。当您使用默认的“样本”设置启动事务处理程序时,数据文件将进入data您展开 datomic.xml 的目录。如果您使用 Datomic 的默认端口 4334,则 H2 Web 控制台从 4336 开始。(好奇的 H2 TCP 服务器位于 4335。)知道了所有这些,我可以转到 Web 控制台http://localhost:4336并输入一个的 JDBC URL jdbc:h2:<path-to-datomic>/data/db/datomic,当我尝试连接时,我收到“错误的用户名或密码”错误。那么正确的用户名和密码是什么?