简单了解neo4j图形数据库

Neo4j的设计动机是为了更好地,更高效地描述实体之间的关系。在现实生活中,每一个实体都于周围的其他实体有着千丝万缕的关系,这些关系里面所存储的信息甚至要大于身体本身的属性。然后传统的关系型数据库更注重刻画实体内部的属性,实体与实体之间的关系通常都是利用外键来实现。所以在求解关系的时候通常需要join操作,而join操作通常又是耗时的。图数据库为重点描述数据之间关系的数据库应运而生,成为了NoSQL中非常重要的一部分。而Neo4j正是图数据库中最为优秀的之一。

特点:

Neo4j支持索引,其内部实际上通过Lucene实现。

Neo4j完整支持事务,即满足ACID性质。

免索引邻接,用来保证关系查询的速度。

图算法。Neo4j实现的三种图算法:最短路径(最少数目的关系)、Dijkstra算法(解决有向图中任意两个顶点之间的最短路径问题)以及A*算法(是解决静态路网中求解最短路最有效的方法)。

多个Neo4J结点可以组成neo4j的Master-Slave集群

两个基本元素,节点和关系。节点有标签和任意多个属性。关系,又叫图论里面的边,有类型和属性。Neo4j关系被分为两种主要类型,单向关系和双向关系。


Neo4j使用

一.基本的增删改查

创建一个节点:CREATE (n:Person{name:'Andres'});

创建一个边:CREATE(a)-[r:Follow]->(b);

查询最短路径:MATCH(ms:Person{name:'Node A'}),(cs:Person{name:'Node B'}),p=shortestPath((ms)-[r:Follow]-(cs))RETURNp;

查询两个节点之间的关系:MATCH (a:Person{name:'Node A'})-[r]->(b:Person{name:'Node B'})     RETURNtype(r);

创建索引的语法:create index on : customer (name)

二.常用的Neo4j CQL命令如下:

S.No.CQL命令/条用法

1.CREATE 创建创建节点,关系和属性

2.MATCH 匹配检索有关节点,关系和属性数据

3.RETURN 返回返回查询结果

4.WHERE 哪里提供条件过滤检索数据

5.DELETE 删除删除节点和关系

6.REMOVE 移除删除节点和关系的属性

7.ORDER BY以…排序排序检索数据

8.SET 组添加或更新标签


三.以下是常用的Neo4j CQL函数:

S.No.定制列表功能用法

1.String 字符串它们用于使用String字面量。

2.Aggregation 聚合它们用于对CQL查询结果执行一些聚合操作。

3.Relationship 关系他们用于获取关系的细节,如startnode,endnode等。


参考链接,侵删:

https://blog.csdn.net/weixin_34314962/article/details/89655551

https://blog.csdn.net/qq_41977838/article/details/123563005

https://blog.csdn.net/Dream_bin/article/details/104470275/

https://zhuanlan.zhihu.com/p/88745411?utm_source=wechat_session

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容