学习
实践
活动
专区
工具
TVP
写文章

基础知识三:利用java取得neo4j中的节点信息

利用java取得neo4j中的节点信息

neo4j中的某节点信息如下:

控制台打印的数据如下:

效果如上图所示:可知,我从neo4j中取了一个节点的全部信息,这些信息包括:节点类型、名称、编号、内容。其中后三点是节点的属性,下面详细讨论怎样得到这些信息

注意:这里得到信息的过程可能有点复杂,需要仔细了解每一步的返回信息,对于新手,光靠记忆可能有点困难,所以可以使用Ctrl+鼠标,查看相应类的源代码,以便了解具体返回的信息是什么

1、得到driver(这一步是操作neo4j最基础的一步)

代码段

static Driver driver = null;

public static void getDriver(){

String uri = "Bolt://localhost:7687";

String user = "";//写你自己的neo4j的用户名

String password = "";//写你自己的neo4j的密码

driver = GraphDatabase.driver(uri, AuthTokens.basic(user,password));

}

代码说明:这一步官网文档中给出了详细的代码,如果不会,请看官方文档,(文档地址:https://neo4j.com/docs/api/java-driver/current/)

2、关闭driver

代码段

public static void close(){

if(driver!=null){

driver.close();

}

}

代码说明:注意,并不是得到driver都马上关闭driver,这里之所以先写“关闭driver”,是因为我在写代码的时候,将这段代码写在了前面,后面调用方法即可

3、得到节点信息

代码段

//node

public static void getNodesInfo(String cypher){

getDriver();

try(Session session = driver.session()){

StatementResult result = session.run(cypher);

while(result.hasNext()){

Record record = result.next();

List value = record.values();

for(Value i:value){

Node node = i.asNode();

Iterator keys = node.keys().iterator();

Iterator nodeTypes = node.labels().iterator();

String nodeType = nodeTypes.next().toString();

System.out.println("节点类型:"+nodeType);

System.out.println("节点属性如下:");

while(keys.hasNext()){

String attrKey = (String)keys.next();

String attrValue = node.get(attrKey).asString();

System.out.println(attrKey+"-------"+attrValue);

}

System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");

}

}

}

close();

}

代码说明:

利用Session,(官方文档的代码,复制粘贴即可)

得到StatementResult,这里可以看到和关系数据库有点相似,来得到查询结果

每条查询结果都是以一个Record返回,而Record中可能包含两种类型——Node,和Path

最后注意调用close()方法

4、在main函数中调用上面方法

代码段

public static void main(String... args){

String cypher = "match (n:数据库章节) return n";

getNodesInfo(cypher);

}

最后,控制台打印的结果如下:

结果说明:前提是你的neo4j中有该类型的节点,并有这些属性(其实这些都不重要,上述代码是针对所有情况的,包括返回多节点情况,你大可自己随便创建节点,只需要更改cypher语句即可)

利用java取得neo4j中的节点信息源码浏览地址:

https://github.com/mp2930696631/visualization-neo4j-using-java/blob/master/preparations/GetNodes.java

基础知识三:利用java取得neo4j中的节点信息

标题

坚持努力,因为最后你会发现

努力了这么久

我怎么舍得放弃

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180725G0FFLF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券