当前位置: 首页 > news >正文

Neo4j 基本语法

一、基本语法

1、新建节点

(1)基本语法: 

() 代表节点

示例:

CREATE (u:User {uid:970939424 })       // 节点类型为User,属性值为uid=970939424CREATE (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

http://www.lryc.cn/news/158700.html

相关文章:

  • docker常见面试题
  • 静态路由:配置和使用详解
  • 玩转Mysql系列 - 第15篇:详解视图
  • 0065__git fetch, git pull, git merge, git rebase
  • AJAX学习笔记4解决乱码问题
  • 【23种设计模式】享元模式【⭐】
  • 语音信号的仿真原理
  • VLDB 2023 | CDSBen: 字节跳动 veDB 数据库存储系统性能测试模型
  • crontab的配置参数和基础使用教程
  • 基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
  • K8S之使用yaml格式定义pod
  • SSH命令详解
  • Windows SQLYog连接不上VMbox Ubuntu2204 的Mysql解决方法
  • Python中的日期和时间(一)datetime模块
  • qt触控板手势检测
  • 数据库 Redis
  • Linux之权限
  • 【产线故障】线上接口请求过慢如何排查?
  • Increment Selection 插件
  • LeetCode刷题笔记【26】:贪心算法专题-4(柠檬水找零、根据身高重建队列、用最少数量的箭引爆气球)
  • LeetCode:移除元素
  • Spring中的JdbcTemplate的使用
  • 机器学习——boosting之GBDT
  • 如何选择报修管理系统?报修工单管理系统有哪些功能和优势?
  • Matlab图像处理-
  • 数据接口工程对接BI可视化大屏(二)创建BI空间
  • Struts.xml 配置文件说明
  • 阿里巴巴API接口解析,实现获得商品详情
  • 9.(Python数模)(分类模型一)K-means聚类
  • MinIO集群模式信息泄露漏洞(CVE-2023-28432)