暑期项目实训记录(第一周—2)2021年7月2日

本文介绍了Neo4j图形数据库的基础知识,包括节点、关系和属性等概念,并详细讲解了在Windows 10环境下安装Java JDK和Neo4j的步骤。同时,文章提供了Cypher语言的基本操作,如创建、更新、删除节点和关系,以及查询语句,包括最短路径查询和关系查询。
摘要由CSDN通过智能技术生成

学习有关neo4j的知识并安装配置

一、Neo4j和图数据库简介
neo4j是基于Java语言编写图形数据库。图是一组节点和连接这些节点的关系。图形数据库也被称为图形数据库管理系统或GDBMS。
Neo4j的是一种流行的图形数据库。 其他的图形数据库是Oracle NoSQL数据库,OrientDB,HypherGraphDB,GraphBase,InfiniteGraph,AllegroGraph。

Neo4j图形数据库的主要构建块是:

节点:是图表的基本单位。 它包含具有键值对的属性
关系:连接两个节点,具有方向:单向和双向。每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”。关系也可以包含属性作为键值对。
属性:是用于描述图节点和关系的键值对。Key =值,其中Key是一个字符串,值可以通过使用任何Neo4j数据类型来表示
标签:将节点分组为集合。将一个公共名称与一组节点或关系相关联。 节点或关系可以包含一个或多个标签。 我们可以为现有节点或关系创建新标签。 我们可以从现有节点或关系中删除现有标签。
数据浏览器:用于执行CQL命令并查看输出输出。
二、Neo4j安装
本人的环境是win10。因此下文介绍在win10上的安装。

2.1 安装Java JDK
neo4j是用Java语言编写的图形数据库,运行时需要启动JVM进程,因此,需安装JAVA SE的JDK。JAVA SE JDK下载
安装好后cmd输入java -version检查是否安装好。

2.2 下载安装Neo4j
从官网下载最新版 Neo4j 社区版(Community)。需要注册后才能下载
下载好后解压到自己想放的盘里,例如:E:\Program Files (x86)\neo4j-community-3.4.0

Neo4j应用程序有如下主要的目录结构:

bin目录:用于存储Neo4j的可执行程序;
conf目录:用于控制Neo4j启动的配置文件;
data目录:用于存储核心数据库文件;
plugins目录:用于存储Neo4j的插件;
2.3 创建系统环境变量
在计算机-属性中创建系统环境变量NEO4J_HOME,并把主目录(E:\Program Files (x86)\neo4j-community-3.4.0)设置为变量值。

NEO4J_HOME=E:\Program Files (x86)\neo4j-community-3.4.0
再在path中添加%NEO4J_HOME%\bin。

(以上内容为学习https://blog.csdn.net/vivian_ll

由于是第一次接触neo4j,所以记录一些基本语句方便日后查阅使用;

Cypher是Neo4j的数据库语言,入门的话起码得知道增删改查吧。

  • 插入节点。插入一个Person类别的节点,且这个节点有一个属性name,属性值为Andres
CREATE (n:Person { name : 'Andres'});
  • 插入边。插入一条a到b的有向边,且边的类别为Follow
MATCH (a:Person),(b:Person)
WHERE a.name = 'Node A' AND b.name = 'Node B'
CREATE (a)-[r:Follow]->(b);
  • 更新节点。更新一个Person类别的节点,设置新的name。
MATCH (n:Person { name: 'Andres' })
SET n.name = 'Taylor';
  • 删除节点和与其相连的边。Neo4j中如果一个节点有边相连,是不能单单删除这个节点的。
MATCH (n:Person { name:'Andres' })
DETACH DELETE n;
  • 删除边。
MATCH (a:Person)-[r:Follow]->(b:Person)
WHERE a.name = 'Andres' AND b.name = 'Taylor'
DELETE r;

接着就是查询语句了,作为图形数据库,肯定要来点与众不同的查询对吧。

  • 最短路径。
MATCH (ms:Person { name:'Andres' }),(cs:Person { name:'Taylor' }), p = shortestPath((ms)-[r:Follow]-(cs)) RETURN p;
  • 查询两个节点之间的关系。
MATCH (a:Person { name:'Andres' })-[r]->(b:Person { name:'Taylor' })
RETURN type(r);
  • 查询一个节点的所有Follower。
MATCH (:Person { name:'Taylor' })-[r:Follow]->(Person)
RETURN Person.name;

(以上语句转自https://www.cnblogs.com/rubinorth/p/5853204.html) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值