neo4j使用
2017-08-02 08:48
337 查看
一、创建关系,并且关系有属性
其中a,b,r这样的标签名称,貌似只在当前的语句中生效,而DO_SHOPPING_WITH这种关系的名称也是可以重复的
而且关系虽然在创建时有方向,但是在查询时,可以直接把双向关系都查询出来
http://blog.csdn.net/hwz2311245/article/details/54602706
同时,在创建关系时,如果没有箭头
二、添加属性
创建边,再次不需要创建,向边添加属性
三、在neo4j中,每一个节点,会自动有一个唯一Id。
查找id为1的节点,有两种方式:
这样不是查找到节点后创建边,而是创建了新的节点,只有trackletID属性,同时创建了边
四、neo4j sql语法
http://blog.csdn.net/free8666/article/details/52909523
五、limit 的限制针对的是范围小的节点,比如
查出来的是b是5个
两条边必须都要有标记才行
六、索引
七、IN
八、null
九、删除重复数据
十、remove
删除节点或关系的标签
删除节点或关系的属性
https://www.w3cschool.cn/neo4j/neo4j_cql_remove.html
十一:模糊查询
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,b MATCH (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 = 3456 RETURN 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 n Match (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 null r.Minute is null
九、删除重复数据
MATCH (n:Employee {name: “Govind Singh”}) WITH n SKIP 1 DELETE n
十、remove
删除节点或关系的标签
删除节点或关系的属性
https://www.w3cschool.cn/neo4j/neo4j_cql_remove.html
十一:模糊查询
MATCH (n:Person) where n.videoURL =~'CAM01.*' RETURN count(n) MATCH (n:Person) where n.name=~'.*Tom.*' RETURN n LIMIT 25
相关文章推荐
- Neo4j介绍与使用
- neo4j的使用感悟
- 在Python中使用Neo4j数据库的教程
- Neo4j实战-使用python语言操作neo4j数据库
- Neo4j的Rest接口使用
- Neo4j介绍与使用
- Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
- Neo4j REST API使用实例---ttlsa教程系列之neo4j(二)
- Neo4j介绍与使用(更新)
- neo4j使用指南
- 第13周 面向图的数据库Neo4J部署与使用
- neo4j 的使用说明(二)
- neo4j使用指南
- Neo4j的安装和简单使用
- Neo4j介绍与使用
- Neo4j安装及使用shell脚本执行命令
- neo4j使用问题总结
- 安装 neo4j 在 .../bin 目录下使用 ./neo4j 没反应 和 从csv 导入数据到neo4j
- 图数据库-Neo4j使用
- 在 Python 中使用 Neo4j