Neo4j简介和功能说明
- 格式:docx
- 大小:49.64 KB
- 文档页数:4
史上超全⾯的Neo4j使⽤指南**********************************我的博客:https:///yueshutong123W3Cschool⽂档:https:///neo4j/neo4j_features_advantages.htmlneo4j-examples:https:///neo4j-examples/第⼀章:介绍Neo4j是什么Neo4j是⼀个⾼性能的,NOSQL图形数据库,它将结构化数据存储在⽹络上⽽不是表中。
它是⼀个嵌⼊式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在⽹络(从数学⾓度叫做图)上Neo4j的特点SQL就像简单的查询语⾔Neo4j CQL它遵循属性图数据模型它通过使⽤Apache Lucence⽀持索引它⽀持UNIQUE约束它它包含⼀个⽤于执⾏CQL命令的UI:Neo4j数据浏览器它⽀持完整的ACID(原⼦性,⼀致性,隔离性和持久性)规则它采⽤原⽣图形库与本地GPE(图形处理引擎)它⽀持查询的数据导出到JSON和XLS格式它提供了REST API,可以被任何编程语⾔(如Java,Spring,Scala等)访问它提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本它⽀持两种Java API:Cypher API和Native Java API来开发Java应⽤程序Neo4j的优点它很容易表⽰连接的数据检索/遍历/导航更多的连接数据是⾮常容易和快速的它⾮常容易地表⽰半结构化数据Neo4j CQL查询语⾔命令是⼈性化的可读格式,⾮常容易学习它使⽤简单⽽强⼤的数据模型它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引第⼆章:安装1.环境Centos 7.4neo4j-community-3.4.1.tar.gz2.下载下载wget https:///artifact.php?name=neo4j-community-3.4.1-unix.tar.gz解压tar -zxvf neo4j-community-3.4.1.tar.gz3.开启远程访问⼀、对于3.0以前的版本当然,你的操作系统的防⽕墙也要确保开放了7474端⼝才⾏,防⽕墙怎样开放请⾃⾏针对⾃⼰的操作系统查找⽂档⼆、对于3.1及以后的版本在安装⽬录的 $NEO4J_HOME/conf/neo4j.conf ⽂件内,找到下⾯⼀⾏,将注释#号去掉就可以了dbms.connectors.default_listen_address=0.0.0.04.测试在bin⽬录下,执⾏命令:./neo4j start启动,其他命令 { console | start | stop | restart | status }第三章:CQL1.CQL简介CQL代表Cypher查询语⾔。
Neo4j详解Neo4j⼊门详解项⽬中某种特殊的场景,使⽤图形数据库⽐较有独特的优势。
所以经过⼀个多⽉的奋战终于把项⽬上线了。
本次使⽤上了图形数据库是neo4j社区版,因为数据量不到⼀个亿,只是关系⽐较复杂所以社区版基本上“够⽤”。
后续货陆续分享,我对neo4j 社区版⾼可⽤相关⽅⾯的总结(探活,监控告警,热备,控制台等)本次将⼀些neo4j 的⼀些⼊门基础知识,做⼀次项⽬后的整理总结(ps : 有些知识点从其他帖⼦cp ⽽来)。
Neo4j简介Neo4j是⼀个⾼性能的NOSQL图形数据库,它将结构化数据存储在⽹络上⽽不是表中。
它是⼀个嵌⼊式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在⽹络(从数学⾓度叫做图)上⽽不是表中。
Neo4j也可以被看作是⼀个⾼性能的图引擎,该引擎具有成熟数据库的所有特性。
程序员⼯作在⼀个⾯向对象的、灵活的⽹络结构下,⽽不是严格、静态的表中。
但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
Neo4j因其嵌⼊式、⾼性能、轻量级等优势,越来越受到关注。
现实中很多数据都是⽤图来表达的,⽐如社交⽹络中⼈与⼈的关系、地图数据、或是基因信息等等。
RDBMS并不适合表达这类数据,⽽且由于海量数据的存在,让其显得捉襟见肘。
NoSQL数据库的兴起,很好地解决了海量数据的存放问题,图数据库也是NoSQL的⼀个分⽀,相⽐于NoSQL中的其他分⽀,它很适合⽤来原⽣表达图结构的数据。
通常来说,⼀个图数据库存储的结构就如同数据结构中的图,由顶点和边组成。
Neo4j是图数据库中⼀个主要代表,其开源,且⽤Java实现(需安装JDK)。
经过⼏年的发展,已经可以⽤于⽣产环境。
其有两种运⾏⽅式,⼀种是服务的⽅式,对外提供REST接⼝;另外⼀种是嵌⼊式模式,数据以⽂件的形式存放在本地,可以直接对本地⽂件进⾏操作。
Neo4j分三个版本:社区版(community)、⾼级版(advanced)和企业版(enterprise)。
一、概述在现代社会中,人们离不开各种各样的网络和系统。
然而,由于网络的复杂性和规模,我们常常需要找到两点之间的最短路径。
为了解决这个问题,我们需要一种高效的算法来查找两点之间的最短路径。
在这方面,neo4j数据库为我们提供了一种非常有用的解决方案。
二、neo4j数据库简介neo4j是一种高性能的图形数据库,它可以用来存储和查询图形数据。
与传统的关系型数据库不同,neo4j数据库是以节点和关系来构建数据模型的。
这种数据模型更适合于描述现实生活中的复杂关系。
在neo4j数据库中,我们可以轻松地表达各种复杂的关系和网络结构,这使得它成为了查找最短路径的理想工具。
三、最短路径算法在图形理论中,查找两点之间的最短路径是一个经典问题。
对于一个带权重的图形,最短路径算法可以帮助我们找到两点之间的最短路径,并计算出路径上的总权重。
在neo4j数据库中,最常用的最短路径算法是Dijkstra算法和A*算法。
这两种算法都可以帮助我们快速找到两点之间的最短路径。
四、Dijkstra算法实现原理Dijkstra算法通过贪心策略逐步扩展到越来越远的节点,直到找到目标节点。
在neo4j数据库中,Dijkstra算法的实现原理如下:1. 从起始节点开始,将其距离设置为0,将其它节点的距离设置为无穷大。
2. 从起始节点开始,遍历所有相邻的节点,更新它们的距离。
3. 选择距离最小的节点作为下一个起始节点,重复步骤2,直到找到目标节点。
五、A*算法实现原理A*算法是一种启发式搜索算法,它结合了贪心策略和启发式函数来寻找最短路径。
在neo4j数据库中,A*算法的实现原理如下:1. 将所有节点按照启发式函数的值进行排序,选择第一个节点作为当前节点。
2. 从当前节点开始,遍历所有相邻的节点,更新它们的距离和启发式函数的值。
3. 选择启发式函数值最小的节点作为下一个起始节点,重复步骤2,直到找到目标节点。
六、应用举例我们可以通过一个简单的例子来演示如何在neo4j数据库中使用Dijkstra算法或A*算法来查找两点之间的最短路径。
Neo4j 简介数据存储一般是应用开发中不可或缺的组成部分。
应用运行中产生的和所需要的数据被以特定的格式持久化下来。
应用开发中很常见的一项任务是在应用本身的领域对象模型与数据存储格式之间进行相互转换。
如果数据存储格式与领域对象模型之间比较相似,那么进行转换所需的映射关系更加自然,实现起来也更加容易。
对于一个特定的应用来说,其领域对象模型由应用本身的特征来决定,一般采用最自然和最直观的方式来进行建模。
所以恰当的选择数据存储格式就显得很重要。
目前最常见的数据存储格式是关系数据库。
关系数据库通过实体- 关系模型(E-R 模型)来进行建模,即以表和表之间的关系来建模。
在实际开发中可以使用的关系数据库的实现非常多,包括开源的和商用的。
关系数据库适合用来存储数据条目的类型同构的表格型数据。
如果领域对象模型中不同对象之间的关系比较复杂,则需要使用繁琐的对象关系映射技术(Object-Relationship Mapping,ORM)来进行转换。
对于很多应用来说,其领域对象模型并不适合于转换成关系数据库形式来存储。
这也是非关系型数据库(NoSQL)得以流行的原因。
NoSQL 数据库的种类很多,包括键值对数据库、面向文档数据库和图形数据库等。
本文中介绍的Neo4j 是最重要的图形数据库。
Neo4j 使用数据结构中图(graph)的概念来进行建模。
Neo4j 中两个最基本的概念是节点和边。
节点表示实体,边则表示实体之间的关系。
节点和边都可以有自己的属性。
不同实体通过各种不同的关系关联起来,形成复杂的对象图。
Neo4j 同时提供了在对象图上进行查找和遍历的功能。
对于很多应用来说,其中的领域对象模型本身就是一个图结构。
对于这样的应用,使用Neo4j 这样的图形数据库进行存储是最适合的,因为在进行模型转换时的代价最小。
以基于社交网络的应用为例,用户作为应用中的实体,通过不同的关系关联在一起,如亲人关系、朋友关系和同事关系等。
neo4j where if else 语句的用法摘要:1.Neo4j 简介2.Cypher 查询语言3.WHERE 条件语句4.IF-ELSE 语句用法5.示例与实践正文:1.Neo4j 简介eo4j 是一款高性能的图数据库,它将数据以图的形式存储,并提供了一种称为Cypher 的查询语言。
Cypher 具有强大的查询能力,可以满足各种复杂的数据检索需求。
2.Cypher 查询语言Cypher 查询语言具有简洁、易读的特点,它的基本语法包括节点、关系、属性、标签等元素。
Cypher 支持多种查询方式,如匹配、过滤、投影、排序等。
3.WHERE 条件语句在Cypher 查询中,WHERE 条件语句用于过滤匹配的节点或关系。
WHERE 语句的基本语法如下:```MATCH (n:Label) WHERE condition RETURN n```其中,`Label`表示节点的标签,`condition`表示过滤条件。
例如,查询所有标签为`Person`的节点:```MATCH (n:Person) WHERE n.age > 18 RETURN n```4.IF-ELSE 语句用法在Cypher 查询中,IF-ELSE 语句用于根据条件执行不同的操作。
IF-ELSE 语句的基本语法如下:```MATCH (n:Label) WHERE condition THEN action1 ELSE action2```其中,`Label`表示节点的标签,`condition`表示判断条件,`action1`和`action2`分别表示满足条件和不满足条件时执行的操作。
例如,查询所有标签为`Person`的节点,并根据年龄判断是否成年:```MATCH (n:Person) WHERE n.age > 18 THEN RETURN AS adult_name ELSE RETURN AS non_adult_name```5.示例与实践假设有一个Neo4j 数据库,其中存储了如下数据:```CREATE (p:Person {name: "张三", age: 25})CREATE (p2:Person {name: "李四", age: 17})CREATE (r:Relation {from: p, to: p2})```我们可以使用WHERE 和IF-ELSE 语句查询年龄大于18 的节点,并返回其姓名:```MATCH (n:Person) WHERE n.age > 18 THEN RETURN AS adult_name```运行上述查询,将返回如下结果:```{"adult_name": "张三"}```通过以上示例和实践,我们可以看到WHERE 条件语句和IF-ELSE 语句在Neo4j Cypher 查询中的应用。
Neo4j 简介数据存储一般是应用开发中不可或缺的组成部分。
应用运行中产生的和所需要的数据被以特定的格式持久化下来。
应用开发中很常见的一项任务是在应用本身的领域对象模型与数据存储格式之间进行相互转换。
如果数据存储格式与领域对象模型之间比较相似,那么进行转换所需的映射关系更加自然,实现起来也更加容易。
对于一个特定的应用来说,其领域对象模型由应用本身的特征来决定,一般采用最自然和最直观的方式来进行建模。
所以恰当的选择数据存储格式就显得很重要。
目前最常见的数据存储格式是关系数据库。
关系数据库通过实体- 关系模型(E-R 模型)来进行建模,即以表和表之间的关系来建模。
在实际开发中可以使用的关系数据库的实现非常多,包括开源的和商用的。
关系数据库适合用来存储数据条目的类型同构的表格型数据。
如果领域对象模型中不同对象之间的关系比较复杂,则需要使用繁琐的对象关系映射技术(Object-Relationship Mapping,ORM)来进行转换。
对于很多应用来说,其领域对象模型并不适合于转换成关系数据库形式来存储。
这也是非关系型数据库(NoSQL)得以流行的原因。
NoSQL 数据库的种类很多,包括键值对数据库、面向文档数据库和图形数据库等。
本文中介绍的Neo4j 是最重要的图形数据库。
Neo4j 使用数据结构中图(graph)的概念来进行建模。
Neo4j 中两个最基本的概念是节点和边。
节点表示实体,边则表示实体之间的关系。
节点和边都可以有自己的属性。
不同实体通过各种不同的关系关联起来,形成复杂的对象图。
Neo4j 同时提供了在对象图上进行查找和遍历的功能。
对于很多应用来说,其中的领域对象模型本身就是一个图结构。
对于这样的应用,使用Neo4j 这样的图形数据库进行存储是最适合的,因为在进行模型转换时的代价最小。
以基于社交网络的应用为例,用户作为应用中的实体,通过不同的关系关联在一起,如亲人关系、朋友关系和同事关系等。
Neo4j数据库介绍和基本应用数据库是现代软件开发的重要组成部分,用于存储和管理数据。
其中,关系型数据库一直以来都是主流,但近年来,图数据库也逐渐崭露头角。
Neo4j数据库就是一种领先的图数据库,它以其强大的图数据库特性和卓越的性能,受到了广泛的关注和应用。
一、Neo4j数据库简介Neo4j是一种高性能的图数据库,具有结构化的图形数据模型。
相比传统的关系型数据库,Neo4j数据库能够以更自然的方式存储、查询和处理数据之间的关系。
其核心是基于图论的理论和算法,通过节点和关系连接构建数据模型,实现复杂数据的高效处理。
1.1 数据模型在Neo4j中,数据以节点和关系的形式进行描述。
节点表示实体,关系表示实体之间的关联。
每个节点都可以拥有属性,而关系则可以带有属性和方向。
通过这种方式,Neo4j数据库可以轻松地建立和查询实体之间的复杂关系。
1.2 特点和优势相比传统的关系型数据库,Neo4j数据库具有以下特点和优势:1) 灵活性和扩展性:Neo4j数据库天生适应复杂数据结构,能够轻松处理具有多层次关系的数据。
同时,它也支持动态模式和半结构化数据,具有良好的扩展性。
2) 高性能:Neo4j数据库采用基于图的存储和查询方式,能够快速访问和处理大规模数据。
与传统的关系型数据库相比,在某些场景下,Neo4j数据库查询速度可以提升几个数量级。
3) 可视化和可解释性:Neo4j数据库提供了强大的图形可视化工具,使得数据的关系更加直观和易于理解。
通过可视化界面,用户可以更方便地探索和分析数据。
4) 高度可靠性:Neo4j数据库基于ACID事务模型,保证了数据的一致性和可靠性。
它能够处理复杂的数据变更和恢复场景,确保数据的安全性和可靠性。
二、Neo4j基本应用Neo4j数据库在许多领域中都有广泛的应用。
以下是一些典型的应用场景:2.1 社交网络分析在社交网络分析中,人与人之间的关系是非常复杂的。
Neo4j数据库能够以图形的方式存储和处理这些关系,提供高效的社交网络分析功能。
neo4j数据库特点及应用场景
Neo4j是一种图解决方案,它是一个高性能的、嵌入式的、基
于磁盘的、ACID事务的NoSQL图数据库。
它的特点及应用
场景如下:
特点:
1. 图表示:Neo4j使用图的表示方法,以节点和关系来存储和
查询数据。
图数据模型非常适用于表示实体之间的关系,如社交网络、知识图谱等。
2. 高性能:Neo4j具有高效的图遍历和查询引擎,可以在大规
模图数据中快速查询出有关节点和关系的信息。
3. ACID事务:Neo4j支持原子性、一致性、隔离性和持久性(ACID)的事务,保证数据的完整性和一致性。
4. 嵌入式的:Neo4j可以嵌入到Java应用程序中,使得应用程
序能够直接操作和查询图数据。
5. 灵活的数据模型:Neo4j不仅可以表示节点和关系,还可以
利用属性对节点和关系进行描述和扩展,提供更丰富的数据模型。
应用场景:
1. 社交网络分析:Neo4j可以存储和查询社交网络中的用户和
关系,用于推荐系统、好友推荐等应用。
2. 知识图谱:Neo4j可以存储和查询知识图谱中的概念、关系
和属性,用于智能问答系统、信息检索等应用。
3. 推荐系统:Neo4j可以存储和查询用户的兴趣、喜好等信息,并使用图算法来进行个性化推荐。
4. 面向对象数据库:Neo4j可以用于存储和查询复杂的面向对
象数据结构,如组织结构、产品线等。
5. 欺诈检测:Neo4j可以存储和查询大量的交易数据,并通过
图算法来分析和检测潜在的欺诈行为。
总之,Neo4j适用于需要存储和查询实体之间关系的应用场景,特别是那些对性能和事务支持要求较高的场景。
neo4j 知识库构建方案标题:构建知识库的neo4j方案在构建知识库方面,neo4j是一款非常强大的图数据库,它提供了灵活的数据模型和高效的查询能力。
本文将介绍如何使用neo4j构建知识库,并展示其优势和应用场景。
一、neo4j简介neo4j是一款开源的图数据库,它以图的方式存储和处理数据。
图由节点和关系组成,节点表示实体,关系表示实体之间的连接。
neo4j提供了简单的查询语言Cypher,可以方便地对节点和关系进行查询和分析。
二、构建知识库的方案1. 数据模型设计在构建知识库前,需要进行数据模型设计。
首先,确定知识库的主题和范围,然后根据主题和范围确定节点和关系的类型。
例如,如果构建一个医学知识库,可以定义节点类型为疾病、药物、症状等,关系类型为治疗、导致等。
2. 数据导入neo4j支持多种数据导入方式,可以根据具体需求选择适合的方式。
常见的导入方式包括使用Cypher语言进行数据插入和使用ETL工具进行数据导入。
无论使用哪种方式,都需要保证数据的完整性和准3. 查询和分析neo4j提供了强大的查询语言Cypher,可以方便地对节点和关系进行查询和分析。
通过编写Cypher查询语句,可以实现各种复杂的查询操作。
例如,可以查询某个疾病的症状、某个药物的副作用等。
4. 可视化展示neo4j提供了可视化工具,可以将图数据以可视化的方式展示出来。
通过可视化展示,可以更直观地理解知识库的结构和关系。
同时,也可以通过可视化工具进行节点和关系的编辑和操作。
三、应用场景1. 知识图谱通过构建知识库,可以构建一个知识图谱。
知识图谱可以帮助人们更好地理解知识之间的关系,提供更精确的查询和推荐服务。
2. 专家系统利用neo4j的强大查询能力,可以构建一个专家系统。
专家系统可以通过查询知识库中的数据,提供专业的建议和解决方案。
3. 社交网络分析利用neo4j的图分析能力,可以对社交网络进行分析。
通过分析社交网络中的节点和关系,可以发现社交网络中的重要人物和社群。
neo4jdesktop用法mac一、Neo4jDesktop简介Neo4jDesktop是Neo4j数据库的桌面端应用程序,用于创建、管理和查询Neo4j图数据库。
它提供了图形用户界面,使非专业人士能够轻松上手,同时也为专业用户提供了高级功能。
二、安装与配置1.下载并安装Neo4jDesktop。
请访问Neo4j官方网站,根据您的操作系统选择合适的版本进行下载。
2.安装完成后,打开Neo4jDesktop应用程序。
3.配置数据库连接。
您需要提供Neo4j服务器的主机名、端口号和用户名/密码(如果有)来连接到数据库。
三、创建图数据库1.启动Neo4jDesktop并连接到数据库。
2.在左侧的“图数据库”面板中,点击“创建图数据库”。
3.输入图数据库的名称,并选择合适的存储方案。
4.点击“创建”按钮创建图数据库。
四、图形建模与节点属性1.在Neo4jDesktop中,您可以使用图形界面创建节点和关系。
您可以通过拖放节点和关系图标来创建模型。
2.为节点添加属性。
在节点上点击右键,选择“属性”选项,添加所需的属性。
五、查询与操作数据1.使用图形界面或编写Cypher查询语句来查询和操作数据。
您可以在查询编辑器中输入Cypher查询语句,并执行它们。
2.可以通过“历史查询”面板查看已执行的查询。
3.您还可以使用导出功能将数据导出为CSV或JSON格式,以便在其他应用程序中使用。
六、管理图数据库1.备份和恢复图数据库:使用“备份”和“恢复”功能,您可以轻松地备份和还原图数据库。
2.权限管理:使用Neo4jDesktop,您可以为图数据库用户分配权限,以确保数据的安全性。
3.监控和诊断:Neo4jDesktop提供了监控工具,可以帮助您监视数据库的性能和活动,诊断潜在问题。
七、常见问题与解决1.连接问题:检查您的网络连接,确保Neo4j服务器正在运行,并已正确配置主机名、端口号和用户名/密码。
2.查询错误:如果您遇到Cypher查询错误,可以查看查询编辑器中的错误消息,了解问题的原因并尝试修复。
Neo4j 简介
数据存储一般是应用开发中不可或缺的组成部分。
应用运行中产生的和所需要的数据被以特定的格式持久化下来。
应用开发中很常见的一项任务是在应用本身的领域对象模型与数据存储格式之间进行相互转换。
如果数据存储格式与领域对象模型之间比较相似,那么进行转换所需的映射关系更加自然,实现起来也更加容易。
对于一个特定的应用来说,其领域对象模型由应用本身的特征来决定,一般采用最自然和最直观的方式来进行建模。
所以恰当的选择数据存储格式就显得很重要。
目前最常见的数据存储格式是关系数据库。
关系数据库通过实体- 关系模型(E-R 模型)来进行建模,即以表和表之间的关系来建模。
在实际开发中可以使用的关系数据库的实现非常多,包括开源的和商用的。
关系数据库适合用来存储数据条目的类型同构的表格型数据。
如果领域对象模型中不同对象之间的关系比较复杂,则需要使用繁琐的对象关系映射技术(Object-Relationship Mapping,ORM)来进行转换。
对于很多应用来说,其领域对象模型并不适合于转换成关系数据库形式来存储。
这也是非关系型数据库(NoSQL)得以流行的原因。
NoSQL 数据库的种类很多,包括键值对数据库、面向文档数据库和图形数据库等。
本文中介绍的Neo4j 是最重要的图形数据库。
Neo4j 使用数据结构中图(graph)的概念来进行建模。
Neo4j 中两个最基本的概念是节点和边。
节点表示实体,边则表示实体之间的关系。
节点和边都可以有自己的属性。
不同实体通过各种不同的关系关联起来,形成复杂的对象图。
Neo4j 同时提供了在对象图上进行查找和遍历的功能。
对于很多应用来说,其中的领域对象模型本身就是一个图结构。
对于这样的应用,使用Neo4j 这样的图形数据库进行存储是最适合的,因为在进行模型转换时的代价最小。
以基于社交网络的应用为例,用户作为应用中的实体,通过不同的关系关联在一起,如亲人关系、朋友关系和同事关系等。
不同的关系有不同的属性。
比如同事关系所包含的属性包括所在公司的名称、开始的时间和结束的时间等。
对于这样的应用,使用Neo4j 来进行数据存储的话,不仅实现起来简单,后期的维护成本也比较低。
Neo4j 使用“图”这种最通用的数据结构来对数据进行建模使得Neo4j 的数据模型在表达能力上非常强。
链表、树和散列表等数据结构都可以抽象成用图来表示。
Neo4j 同时具有一般数据库的基本特性,包括事务支持、高可用性和高性能等。
Neo4j 已经在很多生产环境中得到了应用。
流行的云应用开发平台Heroku 也提供了Neo4j 作为可选的扩展。
为什么选择Neo4j
1.社区活力大在官网声称3,000,000次以上的下载,每个月增加50,000次下载
2.高性能读写和可扩展性,支持ACID规范
3.简单易学,容易入门
4.使用方便,提供强大的图查询语言Cypher,并且对java支持很好提供专有
API接口
5.服务较稳定可靠,在兼顾性能的同事还支持事物
6.本身提供图可视化功能,缩短业务和IT之间的差距,业务人员可以参考快速
建模
Neo4j 功能介绍
1.
Cypher 语句查询结合可视化使用非常方便,如下图查询一一个公事件和投资关系 MATCH p=(a:GroupCompany{name:'和润领航投资管理(北京)有限公司'})-
[r:Event*]->() RETURN p limit
100
2.
支持用户自定义函数功能 3.
自带很多图操作算法如:最短路算法、优化图遍历算法、中心性算法、社区检测算法 4.
本支持REST API 接口可以直接,可以通过程序 5. 最新版本3.3更是在性能方面做大提升,支持从HDFS 导入导出、大查询结果返回效率更高、提供ETL 工具支持关系形式数据库导入
6. 在企业版方面
a) Bolt 驱动程序的新连接最少的负载平衡取代了循环选择,以在高需求条件下保持高集群吞吐量
b) 服务器内部的加密保证了所有服务器到服务器的传输安全
Neo4j 和其他图数据库产品优缺点
2.1 可通过内存提速,CPU 占用率低
2.2 可以基于JavaScript 构建应用在扩展性方面不错
2.3 提供AQL 查询在远程配置上比较灵活
2.4 缺点是插入性能低
3.Neo4j优缺点
3.1 可集群,使用读/写负载平衡器将请求直接到一个集群;
3.2 支持事物、锁、页面缓存;
3.3 图形关系的最佳存储模式,嵌入式、高性能、轻量级
3.4 Cypher语法友好
3.5 图遍历、查找效率高
3.6 Neo4j没法存储巨大的一张关系图,因为他不支持分片
4.OrientDB优缺点
4.1 安装简单,功能丰富
4.2 OrientDB是兼具文挡数据库的灵活性和图形数据库管理链接能力的可
深层次扩展的文档-图形数据库管理系统(NoSQL数据库)。
4.3 可选无模式、全模式或混合模式下。
支持许多高级特性,诸如ACID事
务、快速索引,原生和SQL查询功能。
4.4 可以JSON格式导入、导出文档。
4.5 和Neo4j相比还不是很成熟稳定
4.6 性能和扩展性也一般。