由于Datomic模式本身存储在Datomic中,因此如何查询Datomic以获取当前安装的模式?我只想获得用户级架构,不包括像分区一样的系统级架构。如何获取当前的Datomic模式?
4
A
回答
3
根据Datomic docs,用户级架构应安装到:db.part/db
分区。给定一个Datomic连接,以下函数获取该分区中的所有模式属性。
(defn get-user-schema [conn]
(d/q '[:find ?id
:where [?e :db/ident ?id]
[_ :db.install/attribute ?e]
[?e :db.install/partition :db.part/db]]
(d/db conn)))
相关:is there a canonical way to grab all idents from a particular datomic partition?
+0
where子句的这部分似乎不工作'''[?e:db.install/partition:db.part/db]''',所以答案只是部分正确,a2ndrade在评论中的回答最初的问题就像一种魅力。 – 2016-02-19 13:34:43
1
我才开始学习Datomic和数据记录相当最近,所以我不知道事情已经在三年间,它一直因为以前的答案只是换了,或者这是
[:find ?attr ?type ?card
:where
[_ :db.install/attribute ?a]
[?a :db/valueType ?t]
[?a :db/cardinality ?c]
[?a :db/ident ?attr]
[?t :db/ident ?type]
[?c :db/ident ?card]]
它会给你的东西,看起来像这样:
只是在做同样的事情用不同的方式
取自http://www.learndatalogtoday.org/chapter/4(解决方案挑战2底部)。
相关问题
- 1. 如何获取当前的UAC模式
- 2. 如何以编程方式获取当前数据库模式
- 3. 如何从当前模块获取kobject
- 4. 获取当前显示模式
- 5. 从根模式获取当前用户?
- 6. 如何获取当前TimeStamp?
- 7. 如何获取当前点
- 8. 如何获取当前LayoutAwarePage?
- 9. 如何获取当前帧?
- 10. 如何获取当前NetworkInterfaceInfo
- 11. 如何获取当前URL
- 12. 如何获取Jinja2模板中当前模板的文件名?
- 13. 如何获取(当前模板的)父模板实例
- 14. 如何获取DB2上的当前模式(如果我有JDBC连接)?
- 15. 如何显示IdeaVIM的当前模式?
- 16. Durandal,获取当前模块的路径
- 17. 如何获取当前的dev_appserver版本?
- 18. 如何获取Wave的当前状态?
- 19. 如何获取当前suitelet的url
- 20. 如何获取当前页面的ID
- 21. 如何获取当前的TAI时间?
- 22. 如何获取UISlider的当前值
- 23. 如何获取当前的iScroll位置?
- 24. 如何获取当前页面的html?
- 25. 如何获取当前登录的access_token?
- 26. 如何获取当前的Python DLL?
- 27. 如何获取当前项目的ID?
- 28. 如何获取当前连接的sysprocesses.program_name
- 29. 如何获取当前线程的ProcessThread.TotalProcessorTime
- 30. 如何获取当前html的路径?
我在这里回答了一个非常类似的问题:http://stackoverflow.com/questions/18281499/how-can-i-list-all-user-created-attributes。我认为这就是你想要的。希望能帮助到你。 – a2ndrade 2014-10-26 19:56:56