2017-01-28 11 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