[英]Issues with Creating Vertex and Edges in Titan Graph Database
我正在嘗試在Titan圖形數據庫(Titan1.0.0)中創建頂點和邊緣。
gremlin> graph = TitanFactory.open('titan-1.0.0-hadoop1/conf/titan-cassandra-es.properties')
gremlin> t1 = graph.addVertex(label, "Testbed", "Name", "testbed1","Status","A","TId",101)
==>v[1228816568]
gremlin> r2= graph.addVertex(label, "Router", "RStatus","F","RId",1002, "TId", 101)
==>v[3686424680]
gremlin> t1.addEdge("tbConRtr", r2)
==>e[kblqtz-kblsxk-d6vp-1oysvhk][1228816568-tbConRtr->3686424680]
問題:
1)為什么這里返回的頂點數不是序列,而是一些隨機數? 對於addEdge
步驟,它還會創建具有一些隨機值的邊緣( kblqtz-kblsxk-d6vp-1oysvhk
)
e[kblqtz-kblsxk-d6vp-1oysvhk][1228816568-tbConRtr->3686424680]
2)我希望我的TId
值應該唯一,我嘗試了以下操作並獲得了錯誤消息:
gremlin> mgmt.buildIndex("TId",Vertex.class).addKey(TId).unique().buildCompositeIndex();
No such property: TId for class: groovysh_evaluate
如何在Titan數據庫中創建唯一的屬性值?
請幫助我解決這個問題。
錯誤No such property: TId
表示您正在嘗試使用尚未初始化的變量TId
。 您應先定義頂點屬性,然后再嘗試為其建立索引
gremlin> graph = TitanFactory.open('conf/titan-cassandra-es.properties') ==>standardtitangraph[cassandrathrift:[127.0.0.1]] gremlin> mgmt = graph.openManagement() ==>com.thinkaurelius.titan.graphdb.database.management.ManagementSystem@4b97b3d2 gremlin> TId = mgmt.makePropertyKey("TId").dataType(Integer.class).cardinality(Cardinality.SINGLE).make() ==>TId gremlin> mgmt.buildIndex("TId",Vertex.class).addKey(TId).unique().buildCompositeIndex() ==>TId gremlin> mgmt.commit() ==>null gremlin> t1 = graph.addVertex(label, "Testbed", "Name", "testbed1","Status","A","TId",101) ==>v[4200] gremlin> r2= graph.addVertex(label, "Router", "RStatus","F","RId",1002, "TId", 101) Adding this property for key [TId] and value [101] violates a uniqueness constraint [TId]
請參閱有關架構和數據建模的Titan文檔, 並請參閱索引以獲得更好的性能 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.