neo4j使用
来源:互联网 发布:强子纹身器材淘宝 编辑:程序博客网 时间:2024/05/21 17:04
一、创建关系,并且关系有属性
MATCH (a:Person{id:"/user/vpe.cripac/new2/20131223141032-20131223141628/d3fba52d-c1a5-4aa0-8c95-6be46892688f/4"}),(b:Person{id:"/user/vpe.cripac/new2/20131223141032-20131223141628/d3fba52d-c1a5-4aa0-8c95-6be46892688f/2"}) CREATE (a)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(b) RETURN r
其中a,b,r这样的标签名称,貌似只在当前的语句中生效,而DO_SHOPPING_WITH这种关系的名称也是可以重复的
而且关系虽然在创建时有方向,但是在查询时,可以直接把双向关系都查询出来
MATCH (a:Person)-[:DO_SHOPPING_WITH]-(b:Person)return a,bMATCH (b:Hour{hour:2013122011})-[:HAS_MIN]- (c:Minute)-[:INCLUDE_PERSON]- (d:Person) RETURN b,c,d order by c.start
http://blog.csdn.net/hwz2311245/article/details/54602706
同时,在创建关系时,如果没有箭头MERGE (a)-[r:Similarity]-(b)
,则在MERGE 的情况下,第二次就不会重复插入一条边,表面上看确实没有,但实际中,好像是存在第二条边的关系的,这是个问题
二、添加属性
MATCH (dc:Person{id:"/user/vpe.cripac/new2/20131223141032-20131223141628/d3fba52d-c1a5-4aa0-8c95-6be46892688f/2"})SET dc.atm_pin = 3456RETURN dc
创建边,再次不需要创建,向边添加属性
MATCH (a:Person {trackletID: {id1}}), (b:Person {trackletID: {id2}}) MERGE (a)-[r:Similarity]->(b) set r.Minute={Minute},r.Hour=1;
三、在neo4j中,每一个节点,会自动有一个唯一Id。
查找id为1的节点,有两种方式:
Start n = node(1) return nMatch (n:people) where ID(n)=1 return n Match (a:Person {trackletID: "CAM01-20140226110701-20140226111249_tarid117"}) where id(a) in[96999,96997,96989,97003,97005,96987] delete a
MERGE (a:Person {trackletID: "CAM01-20140226110701-20140226111249_tarid113"})-[r:Similarity]->(b:Person {trackletID: "CAM01-20140226110701-20140226111249_tarid111"}) set r.Minute=5
这样不是查找到节点后创建边,而是创建了新的节点,只有trackletID属性,同时创建了边
四、neo4j sql语法
http://blog.csdn.net/free8666/article/details/52909523
五、limit 的限制针对的是范围小的节点,比如
MATCH (a:Hour)-[:HAS_MIN]- (b:Minute) RETURN b,a limit 5
查出来的是b是5个
MATCH (a:Hour)-[r1:HAS_MIN]- (b:Minute) -[r2:INCLUDES_PERSON]-(c:Person)RETURN a,b,c limit 5
两条边必须都要有标记才行
六、索引
CREATE INDEX ON :Person (trackletID)DROP INDEX ON :Person (dataTypetrackletID)
七、IN
MATCH (a:Person {trackletID: "CAM01-20140226113013-20140226113601_tarid55"}),(b:Person) where b.trackletID in["CAM01-20140226113013-20140226113601_tarid54","CAM01-20140226113601-20140226114149_tarid48","CAM01-20140226114741-20140226115336_tarid81"] MERGE (a)-[r:Similarity]->(b) set r.Minute in[1,2,3] return a,b
八、null
where r.Minute<>'null'r.Minute is not nullr.Minute is null
九、删除重复数据
MATCH (n:Employee {name: “Govind Singh”})WITH nSKIP 1DELETE n
十、remove
删除节点或关系的标签
删除节点或关系的属性
https://www.w3cschool.cn/neo4j/neo4j_cql_remove.html
阅读全文
0 0
- neo4j使用
- 使用Neo4j Java Driver操作Neo4j
- 使用Neo4j Java Driver操作Neo4j
- neo4j的使用一
- neo4j的使用二
- Neo4j介绍与使用
- Neo4j介绍与使用
- Neo4j介绍与使用
- Neo4j介绍与使用
- Neo4j安装及使用
- Neo4j介绍与使用
- 图数据库Neo4j使用
- Neo4j介绍与使用
- Neo4j介绍与使用
- Neo4j介绍与使用
- Neo4j介绍与使用
- neo4j的使用感悟
- neo4j的使用
- Android Studio在创建/导入项目的时候,一直处于building “XXX”gradle project info的解决办法
- PHP常用的输出:echo,print,printf,print_r,var_dump,var_export
- CodeForces
- 最短路uva10917——虽然能ac,但是为什么用bfs就是错的???(已找到原因)
- imx6 适配DLP(864*480)输出
- neo4j使用
- spring boot定时任务的使用
- POJ-3087 Shuffle'm Up(DFS)
- poj3126 Prime Path
- CSU-ACM2017暑期训练6-bfsH
- HDU6058-Kanade's sum
- list变String[],js sleep
- UVA
- [51NOD]1244 莫比乌斯函数之和