neo4j
qq_duhai
好记性不如烂笔头...
展开
-
Neo4j 第一篇:在Windows环境中安装Neo4j
图形数据库(Graph Database)是NoSQL数据库家族中特殊的存在,用于存储丰富的关系数据,Neo4j 是目前最流行的图形数据库,支持完整的事务,在属性图中,图是由顶点(Vertex),边(Edge)和属性(Property)组成的,顶点和边都可以设置属性,顶点也称作节点,边也称作关系,每个节点和关系都可以由一个或多个属性。Neo4j创建的图是用顶点和边构建一个有向图,其查询语言cyph转载 2017-11-07 10:46:34 · 836 阅读 · 0 评论 -
Neo4j中的SQL(6)
排序(Order by)输出结果排序可以使用order by 子句。注意,不能使用节点或者关系排序,仅仅只针对其属性有效。 图: 通过节点属性排序节点查询: START n=node(3,1,2)RETURN nORDER BY n.name 结果: 通过多节点属性排序节点在order转载 2017-12-07 16:00:31 · 297 阅读 · 0 评论 -
Neo4j中的SQL(5)
聚合(Aggregation)为集合计算数据,Cypher提供聚类功能,与SQL的group by类似。在return语句中发现的任何聚类函数,所有没有聚类函数的列将作为聚合key使用。 图: 计数计数(count)使用来计算行数。Count有两种使用方法。Count(*)计算匹配的行的行数,count()计算标识符中非空值数。计算节点数计算链接到一个节点的节点数,转载 2017-12-07 15:59:39 · 266 阅读 · 0 评论 -
Neo4j中的SQL(4)
查询中的返回部分,返回途中定义的感兴趣的部分。可以为节点、关系或其上的属性。 图 返回节点返回一个节点,在返回语句中列出即可。查询: START n=node(2)RETURN n 结果: 返回关系查询: START n=node(1)MATCH (n)-[r:KNOWS]->(c)RETURN r 结果:转载 2017-12-07 15:58:52 · 214 阅读 · 0 评论 -
Neo4j中的SQL(3)
Where如果需要从查找的数据的图中过滤,可以在查询语句中添加where子句。图: Boolean 操作类型可以使用boolean操作符and 和 or 或者也可以使用not()函数。查询: START n=node(3, 1)WHERE (n.age RETURN n 返回节点。 结果: 节点属性上的过滤查询: STAR转载 2017-12-07 15:57:36 · 213 阅读 · 0 评论 -
Neo4j中的SQL(2)
Match在一个查询的匹配(match)部分申明图形(模式)。模式的申明导致一个或多个以逗号隔开的路径(path)。 节点标识符可以使用或者不是用圆括号。使用圆括号与不使用圆括号完全对等,如:MATCH(a)-->(b) 与 MATCH a-->b 匹配模式完全相同。 模式的所有部分都直接或者间接地绑定到开始点上。可选关系是一个可选描述模式的方转载 2017-12-07 15:57:01 · 259 阅读 · 0 评论 -
Neo4j中的SQL(1)
“Cypher”是一个描述性的图形查询语言,允许不必编写图形结构的遍历代码对图形存储有表现力和效率的查询。Cypher还在继续发展和成熟,这也就意味着有可能会出现语法的变化。同时也意味着作为组件没有经历严格的性能测试。 Cypher设计的目的是一个人类查询语言,适合于开发者和在数据库上做点对点模式(ad-hoc)查询的专业操作人员(我认为这个很重要)。它的构念是基于英语单词和灵转载 2017-12-07 15:54:11 · 1161 阅读 · 0 评论 -
通过Spring Data Neo4J操作您的图形数据库
在前面的一篇文章《图形数据库Neo4J简介》中,我们已经对其内部所使用的各种机制进行了简单地介绍。而在我们尝试对Neo4J进行大版本升级时,我发现网络上并没有任何成型的样例代码以及简介,而其自身的文档也对如何使用Spring Data Neo4J介绍得语焉不详。因此在本文中,我们就将简单地介绍如何使用Spring Data Neo4J。 本文中所使用的所有的代码都是基于Spring Data转载 2017-11-14 09:49:44 · 797 阅读 · 0 评论 -
图形数据库Neo4J简介
图形数据库Neo4J简介最近我在用图形数据库来完成对一个初创项目的支持。在使用过程中觉得这种图形数据库实际上挺有意思的。因此在这里给大家做一个简单的介绍。NoSQL数据库相信大家都听说过。它们常常可以用来处理传统的关系型数据库所难以解决的一系列问题。通常情况下,这些NoSQL数据库分为Graph,Document,Column Family以及Key-Value Store等四种。这四转载 2017-11-14 09:49:12 · 350 阅读 · 0 评论 -
Neo4j 第五篇:批量更新数据
相比图形数据的查询,Neo4j更新图形数据的速度较慢,通常情况下,Neo4j更新数据的工作流程是:每次数据更新都会执行一次数据库连接,打开一个事务,在事务中更新数据。当数据量非常大时,这种做法非常耗时,大多数时间耗费在连接数据库和打开事务上,高效的做法是利用Neo4j提供的参数(Parameter)机制和UNWIND子句:在一次数据更新中,进行一次连接,打开一次事务,批量更新数据;参数用于提供列表转载 2017-11-07 10:49:34 · 1455 阅读 · 0 评论 -
Neo4j 第四篇:使用C#更新和查询Neo4j
本文使用的IDE是Visual Studio 2015 ,驱动程序是Neo4j官方的最新版本:Neo4j Driver 1.3.0 ,创建的类库工程(Project)要求安装 .NET Framework 4.6版本,Neo4j官方提供的驱动程序使用起来非常简单,非常依赖于Cypher语言,但是,官方驱动程序仅支持标量类型的参数(Parameters),由于Neo4j的批量更新,例如,Cypher转载 2017-11-07 10:49:04 · 4211 阅读 · 0 评论 -
Neo4j 第三篇:Cypher查询入门
Neo4j使用Cypher查询图形数据,Cypher是描述性的图形查询语言,语法简单,功能强大,由于Neo4j在图形数据库家族中处于绝对领先的地位,拥有众多的用户基数,使得Cypher成为图形查询语言的事实上的标准。本文作为入门级的教程,我不会试图分析Cypher语言的全部内容,本文的目标是循序渐进地使用Cypher语言执行简单的CRUD操作,为了便于演示,本文在Neo4j Browser中执行C转载 2017-11-07 10:48:25 · 1837 阅读 · 0 评论 -
Neo4j 第二篇:图形数据库
在深入学习图形数据库之前,首先理解属性图的基本概念。一个属性图是由顶点(Vertex),边(Edge),标签(Lable),关系类型和属性(Property)组成的有向图。顶点也称作节点(Node),边也称作关系(Relationship);在图形中,节点和关系是最重要的实体,所有的节点是独立存在的,为节点设置标签,那么拥有相同标签的节点属于一个分组,一个集合;关系通过关系类型来分组,类型相同的关转载 2017-11-07 10:47:57 · 460 阅读 · 0 评论 -
Spring Data Neo4j个人笔记
由于机缘巧合,原来要接手做一个和图数据库相关的外包项目。但是由于临近毕业,各种压力大,遂放弃。但是自己还是各种翻墙了解了一番Neo4j,我自己理解的Neo4j就是一个图数据库,它存在的目的就是类似一个引擎,使得一些嵌套级别高的,可以以更快的速度来获取结果。仅仅是个人见解,不知道对不对。发现度娘很难找到自己需要的材料。就各种看官网网站,最后在这文章里找到了一点材料,自己总结一下,有不对的地方,请指出转载 2018-01-15 18:58:11 · 1262 阅读 · 0 评论