Janusgraph常用操作

//建立索引

 mgmt = graph.openManagement()
name = mgmt.getPropertyKey("name")
 //Composite Index
mgmt.buildIndex(index_name,Vertex.Class).addKey(name).buildCompositeIndex();
 //Mixed Index,需要指定索引后端(与composite index的差别)
mgmt.buildIndex(index_name,Vertex.Class).addKey(name).buildMixedIndex(index_backend_name)
 mgmt.commit

索引状态:

   SchemaAction.REGISTER_INDEX
    SchemaAction.REINDEX
    SchemaAction.ENABLE_INDEX
    SchemaAction.DISABLE_INDEX
    SchemaAction.REMOVE_INDEX

//Reindex

mgmt = graph.openManagement()
mgmt.updateIndex(mgmt.getGraphIndex(index_name),SchemaAction.REINDEX).get()
mgmt.commit()

//模式(schema)构建

mgmt=graph.openManagement()
//创建顶点label
mgmt.makeVertexLabel(vertex_label_name)[.partition()].make()
//创建边label,边关系类型:Mutlplicity.MULT,Mutlplicity.SIMPLE,Mutlplicity.MANY2ONE
mgmt.makeEdgeLabel(edge_label_name).mutiplicity(Mutlplicity.MULT).make
//添加属性property
mgmt.commit

//检查所有索引状态

mgmt=graph.openManagement()
mgmt.getGraphIndex("typev").getIndexStatus(mgmt.getPropertyKey("索引属性"))
mgmt.getGraphIndex("typee").getIndexStatus(mgmt.getPropertyKey("索引属性"))
mgmt.commit()

//更新索引状态

mgmt=graph.openManagement()
mgmt.updateIndex(mgmt.getGraphIndex("typev"),SchemaAction.REGISTER_INDEX).get()
mgmt.updateIndex(mgmt.getGraphIndex("typee"),SchemaAction.REGISTER_INDEX).get()
mgmt.commit()

//添加label

graph.openManagement()
mgmt.makeVertexLabel("IM").make()
mgmt.commit()

重建索引:

mgmt=graph.openManagement()
mr = new MapReduceIndexManagement(graph)
--REINDEX ON MR
mr.updateIndex(mgmt.getGraphIndex("typev"),SchemaAction.REINDEX).get()
mr.updateIndex(mgmt.getGraphIndex("typee"),SchemaAction.REINDEX).get()
--REINDEX 
mgmt.updateIndex(mgmt.getGraphIndex("typev"),SchemaAction.REINDEX).get()
mgmt.updateIndex(mgmt.getGraphIndex("typee"),SchemaAction.REINDEX).get()
mgmt.commit()

删除索引

//disable
mgmt=graph.openManagement()
mgmt.updateIndex(mgmt.getGraphIndex("typev"),SchemaAction.DISABLE_INDEX).get()
mgmt.updateIndex(mgmt.getGraphIndex("typee"),SchemaAction.DISABLE_INDEX).get()
mgmt.commit()

ManagementSystem.awaitGraphIndexStatus(graph, 'name').status(SchemaStatus.DISABLED).call()
//remove

mgmt=graph.openManagement()
mgmt.updateIndex(mgmt.getGraphIndex("typev"),SchemaAction.REMOVE_INDEX).get()
mgmt.updateIndex(mgmt.getGraphIndex("typee"),SchemaAction.REMOVE_INDEX).get()

mgmt.commit()

其他

   //停止已经打开的会话(否则无法操作Index)
   graph.getOpenTransactions().iterator().next().rollback() 
   //停止所有图实例 mgmt.forceCloseInstance( mgmt.getOpenInstances().toSet()[1])
    //等待生效 mgmt.awaitGraphIndexStatus(graph,index_name).call() 
    v2=graph.indexQuery("typev", "索引KEY:value ").vertexStream().findFirst() 
    v2.get().getElement().properties()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值