데이터 속성에 대해 2 개의 쿼리가 있습니다. 1. 속성 이름 (String)을 알고있는 경우 속성이 이미 스키마에 정의되어 있는지 확인하려면 어떻게해야합니까? 2. datomic을 실험하면서, 콜론 접두어와 콜론 접두어가없는 속성을 datomic이 처리하는 것을 봅니다. 즉 "foo"및 ": foo"라는 속성을 만들면 그것들은 동일하고 동일합니다. 사실입니까? 이것이 한계입니까?콜론 접두사가있는 datomic 속성
나는 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')
}
나는 속성 이름으로 "foo는"과 "attributeFor"방법 "createAttribute"호출하면 이다 "foo는"속성 이름으로, 나는 결과를 얻는다. 즉 "foo"및 ": foo"는 동일하게 취급됩니다. 콜론 접두어가 포함 된 이름의 속성을 만들고 쿼리하려면 어떻게합니까?