加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用Groovy完成Neo4j基本操作

发布时间:2020-12-14 17:06:43 所属栏目:大数据 来源:网络整理
导读:使用Groovy完成Neo4j基本操作:启停数据库及事务,创建和修改节点,数据库遍历。 代码如下: import org.neo4j.kernel.* import org.neo4j.graphdb.* ExpandoMetaClass.enableGlobally() PropertyContainer.metaClass.getProperty = {name - ????????????????

使用Groovy完成Neo4j基本操作:启停数据库及事务,创建和修改节点,数据库遍历。

代码如下:

import org.neo4j.kernel.*
import org.neo4j.graphdb.*

ExpandoMetaClass.enableGlobally()
PropertyContainer.metaClass.getProperty = {name ->
??????????????????????? delegate.getProperty(name)}
PropertyContainer.metaClass.setProperty = {name,val ->
??????????????????????? delegate.setProperty(name,val)}
PropertyContainer.metaClass.getAt = {idx ->
??????????????????????? delegate.getProperty(name)}

db = new EmbeddedGraphDatabase("/sdb3/cur/data/neo1")
tx = db.beginTx()
createNode()
tx.success()
tx.finish()
db.shutdown()
def createNode() {
??? def node1 = db.createNode()
??? node1.message = 'Hello'
??? def node2 = db.createNode()
??? node2.message = 'world!'
??? def knows = DynamicRelationshipType.withName("KNOWS")
??? def rel = node1.createRelationshipTo(node2,knows)
??? rel.message = 'brave Neo4j'
??? println "${node1.message} ${rel.message} ${node2.message}"
}

db = new EmbeddedGraphDatabase("/sdb3/cur/data/neo1")
tx = db.beginTx()
findAllNodes()
tx.success()
tx.finish()
db.shutdown()
def findAllNodes() {
??? db.allNodes.each {node ->
??? ??? println "${node}:"
??? ??? node.getPropertyKeys().each {key ->
??? ??? ??? println "? ${key} = ${node[key]}"
??? ??? }
??? ??? node.getRelationships().each {rel ->
??? ??? ??? println "? has rel ${rel.getType().name()}"
??? ??? }
??? }
}
更多内容参见原文

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读