0
對數據組屬性有2個查詢。 1.如果我知道屬性名稱(字符串),我該如何檢查該屬性是否已經定義或不在模式中? 2.基於我對datomic的實驗,我看到datomic使用冒號前綴處理屬性,並且沒有冒號前綴。即如果我們創建名爲「foo」和「:foo」的屬性,它們是一樣的。這是真的?這是一個限制嗎?帶冒號前綴的數據組屬性
我正在使用groovy.Below與datomic用於創建屬性的代碼。除名稱外,還輸入其他參數。
static def createAttribute(String name, String type, String description, Connection connection) {
List schema = [[
':db/id': Peer.tempid(':db.part/db'),
':db/ident' : name,
':db/valueType': type,
':db/cardinality': ':db.cardinality/one',
':db/doc': description,
':db.install/_attribute': ':db.part/db'
]]
connection.transact(schema).get()
,我用它來驗證屬性存在的查詢是
def attributeFor(String attributeName, Database db) {
db.entity(attributeName).get(':db.install/_attribute')
}
如果我稱之爲「createAttribute」與「富」的屬性名稱和「attributeFor」方法「:富」作爲屬性名,我得到了一個結果。即「foo」和「:foo」的處理方式相同。 如何創建和查詢名稱包含冒號前綴的屬性?