Neo4j 简单入门
Neo4j 是一个图数据库,主要包括节点和关系。节点和关系都可以包含属性。
安装
下载Neo4j:https://neo4j.com/artifact.php?name=neo4j-community-3.3.5-windows.zip
解压后运行:
D:\Tools\neo4j-community-3.3.5\bin>neo4j.bat console
2018-04-13 06:03:08.826+0000 INFO ======== Neo4j 3.3.5 ========
2018-04-13 06:03:08.853+0000 INFO Starting...
2018-04-13 06:03:09.879+0000 INFO Bolt enabled on 127.0.0.1:7687.
2018-04-13 06:03:14.553+0000 INFO Started.
2018-04-13 06:03:15.612+0000 INFO Remote interface available at http://localhost:7474/
访问Neoj Browser: http://127.0.0.1:7474/browser/,第一次访问会提示修改密码。
点击左边栏的Database,
Node Labels 表示存在的节点
Relationship Types表示存在的关系
Property Keys 表示节点或者关系的属性
在中间部分的上面可以输入要执行的命令。
接下来通过命令创建一个节点,节点的名字是Message,有两个属性title和text。
CREATE (:Message { title:'Welcome',text:'Hello world!' });
可以看到左边栏的Node Labels下面出现了 Message 节点。
现在可以通过下面的命令查询刚才创建的节点:
MATCH (n:Message) RETURN n LIMIT 25;
再创建一个Language节点:
CREATE (:Language { name:'Java',version:'1.8' });
有了Message节点和Language节点后,可以添加两个节点之间的关系了。
MATCH (m:Message),(c:Language)
WHERE m.title = 'Welcome' AND c.name = 'Java'
CREATE (m)-[:ACCESSED_FROM]->(c);
现在在左边栏Relationship Types下面可以看到刚才创建的关系,名字是ACCESSED_FROM。点击ACCESSED_FROM,可以图形化查看两个节点之间的关系。
下面查询刚才创建的关系:
MATCH (m:Message)-[:ACCESSED_FROM]->(l:Language)
RETURN m.title,l.name;
下面通过Java API来访问neo4j。
新建项目添加maven依赖:
<dependency><groupId>org.neo4j.driver</groupId><artifactId>neo4j-java-driver</artifactId><version>1.2.1</version>
</dependency>
下面是Java测试代码:
import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.v1.Record;
import org.neo4j.driver.v1.Session;
import org.neo4j.driver.v1.StatementResult;
import org.neo4j.driver.v1.Values;public class Neo4jTest {public static void main(String[] args) {Driver driver = GraphDatabase.driver("bolt://127.0.0.1:7687", AuthTokens.basic("neo4j", "000000"));Session session = driver.session();session.run("CREATE (:Message {title: 'Hello', text: 'hello world'})");session.run("CREATE (:Language {name: 'Java8', version: '1.8'})");String createRelationship = "MATCH (m:Message),(l:Language) WHERE m.title = 'Hello' AND l.name='Java8'"+ " CREATE (m)-[:HelloJava8]->(l);";session.run(createRelationship);String queryRelationship = "MATCH (m:Message)-[:HelloJava8]->" + "(l:Language {name:{language}}) "+ "RETURN m.title,l.name;";StatementResult resultSet = session.run(queryRelationship, Values.parameters("language", "Java8"));while (resultSet.hasNext()) {Record result = resultSet.next();System.out.println(result.get("m.title") + " from " + result.get("l.name"));}session.close();}}
运行结果:
“Hello” from “Java8”
现在可以在neo4j browser 看到通过Java API创建的节点和关系:
Neo4j 简单入门相关推荐
- Neo4j 快速入门
Neo4j 快速入门 neo4j 官方文档 https://neo4j.com/docs/ neo4j 中文社区 http://neo4j.com.cn/ neo4j 开发者页面 https://ne ...
- BizTalk 2006 简单入门示例程序(附源项目文件下载)
BizTalk 2006 简单入门示例程序(附源项目文件下载) 为初学BizTalk Server 2006的开发人员,提供一个简单入门的示例程序,包括一个Receive Port.Send Port ...
- python如何读取mat文件可视化_python Matplotlib数据可视化(1):简单入门
1 matplot入门指南 matplotlib是Python科学计算中使用最多的一个可视化库,功能丰富,提供了非常多的可视化方案,基本能够满足各种场景下的数据可视化需求.但功能丰富从另一方面来说也意 ...
- ARM NEON 编程简单入门1
原文:http://blog.csdn.net/silentob/article/details/72954618 ARM NEON 编程简单入门1 NEON简介 NEON是适用于ARM Corte ...
- Python 简单入门指北(二)
Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...
- EChart.js 简单入门
EChart.js 简单入门 最近有一个统计的项目要做,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库. MSChart 这个是Visual Studio里的自带控件,使用比 ...
- 【我的区块链之路】- Hyperledger fabric的简单入门(四)链码的编写及调试
[我的区块链之路]- Hyperledger fabric的简单入门(四)链码的编写及调试 之前的文章中我们有讲过了fabric的一些核心的配置文件的选项说明,讲过fabric 的网络启动 ...
- 基于vue-cli、elementUI的Vue超简单入门小例子
基于vue-cli.elementUI的Vue超简单入门小例子 这个例子还是比较简单的,独立完成后,能大概知道vue是干嘛的,可以写个todoList的小例子. 开始写例子之前,先对环境的部署做点简单 ...
- 【java开发系列】—— spring简单入门示例
回顾 1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控 ...
最新文章
- icon制作无白色背景_科研立项答辩ppt制作公司
- Hive自定义UDF和聚合函数UDAF
- C++开发中的预处理器
- 去除img之间的空白
- 计算机学习的基本形式,电脑基础知识学习方法
- (6)JavaScript之console控制台
- 注意力机制可视化_最强NLP模型BERT可视化学习
- Java中instanceof与getClass的区别
- 系统学习NLP(二十八)--GPT
- redis数据类型之List入门练习
- 1-关于单片机通信数据传输(中断发送,大小端,IEEE754浮点型格式,共用体,空闲中断,环形队列)...
- EasyRecovery14免费并且超好用的数据恢复工具
- 苹果最强芯片M1 Ultra亮相!两个M1 Max胶水拼接,性能爆表
- 路由器刷openwrt后不能上网 修改brlan的ip地址失败
- 查看欧拉系统服务器ip,EulerOS 系统配置
- 十进制转换为三进制数_python3实现
- ag-Grid 超丰富的表格插件(1)——简易使用
- 创意图形的绘制 会转的风车
- 组播IGMP-原理介绍+报文分析+配置示例
- 蓝牙模块基础知识介绍