-
Neo4j-22-neo4j shell 查看库中的索引
查看索引
在 Neo4j 中,你可以使用 Cypher 查询来查看已创建的索引。
以下是用于查看所有生产中的索引的脚本:
CALL db.indexes()
这个查询将列出所有的索引和约束,包括它们的类型、创建的节点标签、属性以及索引的状态(是否已经完成)。
示例输出信息:
name: 索引的名称。
type: 索引的类型(如:BTREE、FULLTEXT)。
e...
2018-01-08 06:18:33 |
SQL
-
Neo4j-21-neo4j shell 删除指定的实体+关系
删除实体
match(n:Peson) delete n;
删除实体+关系
如果实体包含关系,直接删除时无法删除的,可以用级联删除。
match(n:Peson) detach delete n;
match(n:实体) detach delete n; 会把对应的索引也删除吗?
MATCH (n:实体) DETACH DELETE n; 这条 Cypher 查询的作用是删除...
2018-01-08 06:18:33 |
SQL
-
Neo4j-20-neo4j shell 查看所有的 labels
chat
neo4j 查看所有实体的名称
在 Neo4j 中,要查看所有实体(节点类型)名称,你可以通过 Cypher 查询语言来查找数据库中所有节点的标签(Label)。
以下是一个简单的查询,可以帮助你列出所有的节点标签:
CALL db.labels()
这个查询将返回数据库中所有的节点标签,类似于“实体名称”或“类型”。
如果你还想查看节点标签的数量,可以执行:
CA...
2018-01-08 06:18:33 |
SQL
-
Neo4j-19-neo4j shell 命令行登录
场景
一开始使用的是 windows 跳板机,可以直接页面访问比较方便。
后来过期了,就想着怎么使用命令登录?
shell 登录
bin/cypher-shell 命令行登录时如何指定 neo4j 的端口号?
bin/cypher-shell -u <username> -p <password> -a <hostname>:<port&g...
2018-01-08 06:18:33 |
SQL
-
Neo4j-17-neo4j merge 满足条件后才执行
场景
需要实现如下的场景:
传入的变量值通过对应的值拼接。
正确的写法
写法
WITH 'Hello, ' AS firstName, 'world!' AS lastName
CREATE (p:Person {
firstName: firstName,
lastName: lastName,
fullName: firstName + '-' + lastName...
2018-01-08 06:18:33 |
SQL
-
Neo4j-17-neo4j merge 满足条件后才执行
场景
需要实现如下的场景:
传入用户的 id, user_status, username。
如果传入的 user_status 不在 1,2,3 中,则不做任何执行;
如果状态在 1,2,3中,根据 id 匹配,找到就更新,找不到就创建。
neo4j 版本:v5.12.0,不同版本可能不同。需要实际验证。
正确的写法
方式1
满足条件的
1)第一次执行
WITH 1 A...
2018-01-08 06:18:33 |
SQL
-
Neo4j-16-neo4j merge 合并操作 不存在时插入,存在时更新 neo4j 节点 merge + 边 merge?
节点存在时更新,不存在时创建
MERGE (p:merge_role { id: 1 }) SET p.id = 1, p.rolename = 'r1';
通过 id 指定唯一约束的字段,然后通过后续的信息 SET 实现 merge。
执行 1 次
╒════════════════════════════════════╕
│n ...
2018-01-08 06:18:33 |
SQL
-
Neo4j-15-neo4j 如何实现真正的批量保存?
需求
希望通过批量操作,提升 neo4j 的性能。
虚假的批量
OGM session.save 入参可以是 list,开始以为这里可以直接批量保存。
实际测试发现逐条保存和单个保存耗时差不多,看了下源码,应该是一个循环。
基于 UNWIND,待验证
在Neo4j中,实现批量插入数据可以通过使用Cypher查询语言的UNWIND和CREATE语句来实现。
UNWIND用于展开...
2018-01-08 06:18:33 |
SQL