- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 neo4j使用嵌入方式示例
操作系统:windows 7开发环境:IntelliJ IDEA 2016.1JAVA:1.81 打开 IDEA,新建一个Maven的空工程2 找到pom.xml加入所需的neo4j的maven库依赖,maven在编译时会自动去下载相关文件<dependencies> <dependency> <groupId>org.n...
2018-05-30 18:27:59 4961
原创 neo4j图查询语言cypher中无处不在的笛卡尔积
一 什么是笛卡尔积笛卡尔积可以说是关系型数据的一个重要理论基础,它的意思是将两个集合中的元素两两组合形成一个新的集合,数据库中的多种连接方式(什么自然连接、内连接、外连接)都是在笛卡尔积的基础上加上一些条件形成的。以前学数据库理论的时候碰到笛卡尔积真的是不明白怎么会有这么奇怪的东西,为什么突然冒出一个要把两个集合里面的元素两两组合这么个怪东西呢,看起来简单又笨又没用。后来在工作中写sql时遇到很多...
2018-05-29 17:47:11 1288
原创 neo4j中图的存储结构
一直以为neo4j是使用十字链表(Orthogonal List)来存储图数据的,后面跟踪源代码发现并不是,因为十字链表是:结点中单独存放“入边”、“出边”两个指针分别指向结点的第一个入边出边(注意这里的“第一个”指有顺序可以按结点的物理id来排列,因为这会影响到后续边上的“同弧头”的指向)边上两个指针域名,一个指向现该边同终点的下一条边,一个指向与该边同起点的下一条边而neo4j中的结构更像是邻...
2018-05-28 17:21:06 3761
原创 neo4j中的分组查询
cypher语言中的分组与sql略有不同,在cypher中不用显式的写group by分组字段,由解释器自动决定:即未加聚合函数的字段自动决定为分组字段,如:with [ {name:'a',sex:'F',country:'CN',age:10}, {name:'b',sex:'F',country:'CN',age:10}, {name:'c',sex:'M...
2018-05-28 15:15:38 7462 1
原创 深入理解sql分组查询(group by)
理解group by语义个人认为sql中的group by和join是两大难点,因为它们转换了原来的表结构,group把表按某些字段统计缩小,join则使用笛卡尔积将多个表连接展开。咱们回到group by,顾名思义group即为分组,即将原来的一整块数据分成几小块。分组是聚合的前提,聚合是在每个分组内进行一些统计,如在分组内的最大值,最小值,平均值,个数等。未分组时查询返回的行直接与数据库表中的...
2018-05-28 11:24:00 27119
翻译 《Cypher官方编程指南》
Cypher风格指南译者:wry2008wry@163.com原文:https://github.com/opencypher/openCypher/blob/master/docs/style-guide.adoc内容列表1. 为什么风格很重要2. 规则 2.1. 缩进和换行 2.2. 元字符 2.3. 大小写 2.4. 模式 2.5. 空格3. 建议 3.1. 图建模这是Cyphe...
2018-05-17 15:12:06 2284
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人