2017-01-28 13 views
2

我是Datomic超级新手。我正在尝试为我的数据库添加一个分类,但遇到了一个我无法遵循的错误。错误是:尝试处理Datomic模式时出现“无法解析实体”错误我是Datomic超级新手。

{:datomic.client-spi/request-id "c587b3e8-8f19-45f5-a563-bdba13e3a0d8", 
:cognitect.anomalies/category :cognitect.anomalies/not-found, 
:cognitect.anomalies/message 
":db.error/not-an-entity Unable to resolve entity: {:idx -1000000, :part :db.part/db} in datom [{:idx -1000000, :part :db.part/db} :db/ident :arb/title]", 
:dbs 
[{:database-id "datomic:dev://localhost:4334/datemo", 
    :t 1004, 
    :next-t 1009, 
    :history false}]} 

下面是我使用的分类:

​​

这里是我发出的呼吁:

(def arb-tx (-> (io/resource "schemas/arb.edn") ;; the schema above 
       (read-all) 
       (first))) 

(pprint (<!! (client/transact conn {:tx-data arb-tx}))) 

这是我很难理解从错误消息什么是不可解析的。我认为我对发动机罩下面发生的事情的理解太模糊,无法理解这里出了什么问题。任何人都可以启发我吗?

回答

2

Datomic Client库不支持显式分区或:模式定义中的db.install/_attribute。在Datomic 0.9.5430之前使用Peers时需要这些元素。

尝试用更换您的架构定义:

[{:db/ident   :arb/title 
    :db/unique  :db.unique/identity 
    :db/valueType  :db.type/string 
    :db/cardinality :db.cardinality/one 
    :db/fulltext  true 
    :db/index   true} 

{:db/ident   :arb/description 
    :db/unique  :db.unique/identity 
    :db/valueType  :db.type/string 
    :db/cardinality :db.cardinality/one} 

{:db/ident   :arb/content 
    :db/unique  :db.unique/identity 
    :db/valueType  :db.type/ref 
    :db/isComponent true 
    :db/cardinality :db.cardinality/many}] 

-Marshall