Neo4j 基本语法

这篇具有很好参考价值的文章主要介绍了Neo4j 基本语法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基本语法

1、新建节点

(1)基本语法: 

() 代表节点

示例:

CREATE (u:User {uid:970939424 })       // 节点类型为User,属性值为uid=970939424


CREATE (u:Round {rid:7194842697444819113 })   // 节点类型为Round对局,属性值为rid:7194842697444819113

2、新建关联边

基本语法:

()-[]->() 代表关联边【需先建立节点,再建立关联边】

示例:

match (n:User {uid:970939424 }),(m:User{uid:658505284}),(r:RoundId {rid:7194842697444819113 })

 CREATE (n)-[user_game1:user_game_roundid]-> (r)<-[user_game:user_game_roundid]-(m)

 CREATE (u)-[user_game:user_game_roundid}]->(r)

 sed -i 's/"//g' 000000_0

删除边:

MATCH (u:User {uid: 1042526861} )-[r : user_game_mpuid ]->(i:Mpuid {mp_uid: "501045_936304347_1042526861" } )   delete r 

边更新:

MATCH (u:User {uid: 1042526861} )-[r : user_game_mpuid ]->(i:Mpuid {mp_uid: "501045_342594656_1042526861" } )    SET r={  same_round_cnt: 3 ,win_round_cnt: 3 ,lost_round_cnt: 0 ,coin_change_amt: 403 ,feed_cnt: 0 } 

 3、创建唯一约束:

基于语法:

()-[]->() 代表关联边【需先建约束,再导入节点数据】

示例:

CREATE CONSTRAINT ON (c:User) ASSERT c.uid IS UNIQUE

CREATE CONSTRAINT ON (r:Round) ASSERT r.rid IS UNIQUE

CREATE CONSTRAINT ON (m:Mac) ASSERT m.mac IS UNIQUE

CREATE CONSTRAINT ON (m:IP) ASSERT m.ip IS UNIQUE

CREATE CONSTRAINT ON (c:IDCard) ASSERT c.idcard IS UNIQUE

CREATE CONSTRAINT ON (m:Mpuid) ASSERT m.mp_uid IS UNIQUE

 4、创建索引:

基于语法:

 CREATE INDEX FOR (m:Movie) ON (m.released)

 示例:CREATE INDEX ON :User(uid)

 CREATE INDEX ON :Round(rid)

 5、查询:

 (1)

MATCH (nineties:Movie) WHERE nineties.released >= 1990 AND nineties.released < 2000 RETURN nineties.title

(2)

用户两度关联用户查询,如果节点多 不加limit 不会展示关联

MATCH p = (u:User)-[*2]-(u2:User) WHERE u.uid=171751482  RETURN p limit 10

 6、使用可变长度模式找到电影和演员最多4“跳”远离凯文培根

MATCH (bacon:Person {name:"Kevin Bacon"})-[*1..4]-(hollywood)

RETURN DISTINCT hollywood

7、最短路径查询:

Use the built-in shortestPath() algorithm to find the "Bacon Path" to Meg Ryan.

MATCH p=shortestPath(

(bacon:Person {name:"Kevin Bacon"})-[*]-(meg:Person {name:"Meg Ryan"})

)

RETURN p

8、删除点边 

MATCH (n) DETACH DELETE n

MATCH (u:User {uid:toInt(line[0]) } )-[r:user_game_mpuid]-(i:Mpuid {mp_uid: line[1]} )
DELETE r

9、查看历史命令:

:history

10、先导入点,再导入边;

11、节点属性更新

:auto USING periodic commit 3000
LOAD CSV FROM "file:///risk_export_20230613/node/attr_usr.csv" AS line fieldterminator ","
MERGE (u:User {uid:toInt(line[0])})
ON MATCH  SET u={
                    uid:toInt(line[0]),
                    recharge_amt_td:toInt(line[1]),
                    is_login_mps_anjian_15d:toInt(line[2]),
                    is_login_mps_emulator1_30d:toInt(line[3])
                }

二、边属性标签更新

1、属性标签存在则更新,不存在则创建

MATCH (u:User {uid: 2025880357} )-[r : user_game_mpuid ]-(i:Mpuid {mp_uid: "501690_2025469353_2025880357" } )  SET r.lost_cnt1=99000文章来源地址https://www.toymoban.com/news/detail-705513.html

到了这里,关于Neo4j 基本语法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NEO4J的基本使用以及桌面版NEO4J Desktop导入CSV文件

    因为我也刚接触知识图谱,就是小白,本篇博客相当于一些入门级的Cypher语句的举例,然后具体说明一下NEO4J Desktop导入CSV文件是怎么实现的,以及他的一些基本操作,适合刚接触的小伙伴。如果大家对于NEO4J的配置有疑问的话可以参考文章NEO4J桌面版的配置和连接Pycharm_neo4

    2024年01月23日
    浏览(44)
  • Neo4j 的数据模型与查询语法

    Neo4j 是一个开源的图数据库管理系统,它使用图形数据模型来存储、管理和查询数据。图形数据模型是一种特殊的数据模型,它使用节点(nodes)、边(edges)和属性(properties)来表示数据。节点表示数据实体,边表示实体之间的关系,属性表示实体或关系的特征。 Neo4j 的核心优势在

    2024年02月20日
    浏览(35)
  • Neo4j的基本介绍

    1、简介 NoSQL数据库四大家族 列存储 Hbase,键值(Key-Value)存储 Redis,图像存储 Neo4j,文档存储 MongoDB。 Neo4j是以原生图形数据库为核心,以更自然的连接状态存储和管理数据。 是用 Java 和 Scala 编写的, 图数据库采用属性图方式,对遍历性能和操作运行时间都有好处。 应用场景 1

    2024年02月04日
    浏览(41)
  • Neo4j图数据基本操作

    Neo4j 命令行窗口 neo4j.bat console 导入rdf格式的文件 清空所有数据 这里要注意的是,因为不存在孤立的关系,所以若要删除一个带关系的节点,需要同时删除该节点所有的关系。 即,若要删除路径 (a)-[d]-(b)-[e]-(c) 中的 a,b 节点,则需要同时删除关系 d,e。 因此,若要清空数据

    2024年02月15日
    浏览(39)
  • neo4j查询语言Cypher详解(一)--语法和子句

    neo4j 的图查询语言叫 Cypher 。Cypher的独特之处在于它提供了一种匹配模式和关系的可视化方式。 (nodes)-[:ARE_CONNECTED_TO]-(otherNodes) 使用圆角括号表示节点(nodes), -[:ARROWS]- 表示关系。 Cypher解析器接受任意输入字符串。 unicode 通常可以使用转义 uxxx 。 支持的空白符 描述 Unicode 字

    2024年02月14日
    浏览(55)
  • 关于Neo4j的使用及其基本命令

    进入bin目录: 先创建了两个节点: 这个关系创建完成! n代表节点,可以替换。 必须先删除关系才能删除节点:

    2024年02月07日
    浏览(61)
  • Neo4j Cypher语法教程 实体、关系增删改、高级查询

    安装完neo4j ,访问对应的web页面端口,输入以下命令进行学习 创建节点 创建一个标签为stu的节点 (标签:将数据进行分类,方便管理) 创建一个标签为stu 且带有属性值的节点 查询节点 按照标签查询 运行结果如下图 neo4j默认是将name属性用于展示 按照id进行查询 按照属性进

    2024年02月06日
    浏览(39)
  • 图数据库 之 Neo4j - Cypher语法基础(5)

    节点(Nodes) Cypher使用()来表示一个节点。 属性可以用来存储信息或者来条件匹配(查找) 创建节点 创建如下节点

    2024年02月19日
    浏览(42)
  • 【Neo4j教程之CQL命令基本使用】

    🚀 Neo4j 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验

    2024年02月11日
    浏览(52)
  • Neo4j图数据库基本操作

    Neo4j 命令行窗口 neo4j.bat console 导入rdf格式的文件 清空所有数据 这里要注意的是,因为不存在孤立的关系,所以若要删除一个带关系的节点,需要同时删除该节点所有的关系。 即,若要删除路径 (a)-[d]-(b)-[e]-(c) 中的 a,b 节点,则需要同时删除关系 d,e。 因此,若要清空数据

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包