2019独角兽企业重金招聘Python工程师标准>>>

neo4j入门开发,以及在sns关系中的应用 博客分类: neo4j

一些非常好的资料:

  • 基于java api的开发

http://www.infoq.com/cn/articles/graph-nosql-neo4j

  • java开发入门教程:

http://www.neo4j.org.cn/basic-tutorials/

  • cypher语言学习

http://neo4j.com/developer/cypher/

Neo4j是一个java开发的图数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。相对于关系数据库来说,图数据库善于处理大 量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。 Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。Neo4j还提供了非常快的图算法、推荐系统和OLAP风格的分析,而这 一切在目前的RDBMS系统中都是无法实现的。它提供了广泛使用的REST接口,能够方便地集成到基于JAVA、PHP、.NET和JavaScript 的环境里。

Neo4j 使用cypher语言进行查询

创建节点
CREATE (ee:员工 { 姓名: "张勇", 来自: "中国" , 年龄 : 99 })

• 通过CREATE创建一个节点
• () 代表一个节点
• ee:员工 变量'ee',标签label是 '员工'
• {} 包含了属性

自己动手写个Demo试试:

CREATE (p1:Person {name:'胡兴炯', born:1991, interest:'mac,ios,旅游', goodat:'java,swift,objectiveC'})
CREATE (p2:Person {name:'张勇', born:1990,  interest:'android', goodat:'java,android'})
CREATE (p3:Person {name:'成文龙', born:1990, interest:'linux,hadoop', goodat:'linux,java,android'})
CREATE (p4:Person {name:'王昕', born:1978, interest:'wpf,noSQL,旅游', goodat:'java,c#'})
CREATE (p5:Person {name:'周开琪', born:1977 , interest:'管理', goodat:'管理,'})
CREATE (p6:Person {name:'徐锦亮', born:1985,  interest:'前端', goodat:'前端,html5'})
CREATE (p8:Person {name:'徐辉霞', born:1990,  interest:'管理,旅游', goodat:'管理,采购'})
CREATE (p9:Person {name:'黄廷鹏', born:1992,  interest:'OA', goodat:'java'})
CREATE (p10:Person {name:'史乐乐', born:1991,  interest:'OA,旅游', goodat:'管理'})CREATE (p1)-[:认识]->(p2)
CREATE (p1)-[:认识]->(p3)
CREATE (p1)-[:认识]->(p4)
CREATE (p1)-[:认识]->(p5)
CREATE (p1)-[:认识]->(p9)CREATE (p2)-[:认识]->(p1)
CREATE (p2)-[:认识]->(p3)
CREATE (p2)-[:认识]->(p4)
CREATE (p2)-[:认识]->(p5)
CREATE (p2)-[:认识]->(p9)CREATE (p3)-[:认识]->(p1)
CREATE (p3)-[:认识]->(p2)
CREATE (p3)-[:认识]->(p4)
CREATE (p3)-[:认识]->(p5)
CREATE (p3)-[:认识]->(p9)CREATE (p4)-[:认识]->(p1)
CREATE (p4)-[:认识]->(p2)
CREATE (p4)-[:认识]->(p3)
CREATE (p4)-[:认识]->(p5)
CREATE (p4)-[:认识]->(p9)CREATE (p5)-[:认识]->(p1)
CREATE (p5)-[:认识]->(p2)
CREATE (p5)-[:认识]->(p3)
CREATE (p5)-[:认识]->(p4)
CREATE (p5)-[:认识]->(p6)
CREATE (p5)-[:认识]->(p8)
CREATE (p5)-[:管理]->(p1)
CREATE (p5)-[:管理]->(p2)
CREATE (p5)-[:管理]->(p3)
CREATE (p5)-[:管理]->(p4)
CREATE (p5)-[:管理]->(p6)CREATE (p6)-[:认识]->(p5)
CREATE (p6)-[:认识]->(p4)
CREATE (p6)-[:夫妻]->(p8)CREATE (p9)-[:认识]->(p1)
CREATE (p9)-[:认识]->(p2)
CREATE (p9)-[:认识]->(p3)
CREATE (p9)-[:认识]->(p10)
CREATE (p9)-[:单相思]->(p10)CREATE (p10)-[:认识]->(p9)

运行完上面脚本的效果

查找所有擅长goodat“管理”的人
MATCH (n:Person ) WHERE n.goodat =~ '.*管理.*' return n;

查找成文龙“认识“的人
MATCH (n:Person { name: '成文龙' })-[:认识]-(neighbors) RETURN n,neighbors

查找所有“单相思”的人
MATCH (n:Person)-[:单相思]-(neighbors) RETURN n,neighbors

查找周开琪“管理”的人
MATCH (n:Person { name: '周开琪' })-[:管理]-(neighbors) RETURN n,neighbors

查找徐辉霞“认识“的人 (2层关系网络)
MATCH (n:Person { name: '徐辉霞' })-[:认识*1..2]-(neighbors) RETURN n, collect(DISTINCT neighbors)
查找徐辉霞“认识“的人 (3层关系网络)
MATCH (n:Person { name: '徐辉霞' })-[:认识*1..3]-(neighbors) RETURN n, collect(DISTINCT neighbors)

(图略)

徐锦亮找到史乐乐的所有最短路径 (不超过4层)

MATCH p=allShortestPaths(
(a:Person { name: '徐锦亮' })-[:认识*..4]-(b:Person { name: '史乐乐'})
)
RETURN p

删除所有节点和关系

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

http://www.cnblogs.com/starcrm/p/5033117.html

转载于:https://my.oschina.net/xiaominmin/blog/1599400

neo4j入门开发,以及在sns关系中的应用相关推荐

  1. Neo4j入门:手动构建节点关系

    目录 一.基本cypher语句建立节点和关系 建立节点 带属性的节点 一次建立多个节点 建立两个节点之间的关系 二.用CSV文件导入方法对Neo4j Desktop批量创建节点和关系 批量创建节点 创 ...

  2. Neo4j入门实战,以三国英雄关系为例入门Neo4j知识图谱

    Neo4j入门实战,以三国英雄关系为例入门Neo4j知识图谱 前言 一.Neo4J简介 对比关系型数据库: 对比其他NoSQL数据库 二.Neo4J下载安装 方法1:安装Neo4j Community ...

  3. 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明

    以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明 为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3.对象.底层实 ...

  4. eBPF 入门开发实践指南三:在 eBPF 中使用 fentry 监测捕获 unlink 系统调用

    eBPF (Extended Berkeley Packet Filter) 是 Linux 内核上的一个强大的网络和性能分析工具.它允许开发者在内核运行时动态加载.更新和运行用户定义的代码. 本文是 ...

  5. vscode中安装webpack_leaflet-webpack 入门开发系列一初探篇(附源码下载)

    前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载 webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址w ...

  6. 知识图谱系列之neo4j入门

    neo4j入门 最近需要搭一个小型的图数据库,neo4j自然是首选了,目前做知识图谱方面研究的自然都知道neo4j,但是neo4j目前的资料还比较少,这种数据库目前用户也不算多,好在neo4j比较简单 ...

  7. Block.one的EOS区块链入门开发教程Elemental Battles

    最新版本使任何可以使用JavaScript和C++的人都能轻松学习EOSIO. 10月18日,Block.one推出了Elemental Battles,这是一个激动人心的新工具包,它将通过简化EOS ...

  8. latex大括号 多行公式_如何快速入门 LaTeX,在 XMind 2020 中轻松输入方程。

    数学方程输入对于很多理工科朋友来说是一件让人头疼的事情.不仅是数学方程本身就纷繁复杂花样百出,各种输入语法更是劝退无数人. 然而很多看似复杂的东西其实并非如想象中的难,抓住本质即可快速入门.今天和大家 ...

  9. Neo4j ① <图论>图,节点,关系,属性<知识图谱和图库>图谱,图库,优势<基础>模块,应用场景,环境搭建,浏览器

    目录 第一部分 图 和 Neo4j 1.1 图论 1.1.1 图论起源 --- 柯尼斯堡(Konigsberg)七桥问题 1.1.2 图 和 节点 1.1.3 节点关系表达 1.1.4 属性图模型规则 ...

最新文章

  1. python networkx模块,python复杂网络处理模块networkx
  2. hdu 6185 Covering 矩阵快速幂
  3. Nvidia的CUDA库现在恢复使用了
  4. json key 命名规范_jsonapi
  5. python 爬虫系统_实战干货:从零快速搭建自己的爬虫系统
  6. C语言结构体里的成员数组和指针
  7. 使用Prometheus发现在Kubernetes上运行的应用程序
  8. 最佳实践 | 腾讯HTAP数据库TBase助力某省核心IT架构升级
  9. php登录api,PHP登录REST API
  10. xp下创建DOMDocument对象失败的解决方法
  11. 推荐系统实例-基于矩阵分解
  12. 如何将Win7、Win10笔记本,台式机系统C盘软件搬家? 只需3个步骤!!!
  13. linux 小度 驱动_小度WiFi怎么安装 小度WiFi驱动安装
  14. 详解ASIC设计流程
  15. ECU安全访问系列_2(代码篇)
  16. 宏基因组分箱CheckM评估结果的提取
  17. FPGA学习之数模转换(TLC5620)(通过4个按键输入,输出数模转换需要的数据和数码管显示需要的数据)
  18. 嵌入式系统的软件看门狗和硬件看门狗
  19. 搞不定Serverless?让你秒懂掌握Profiling让一份程序优雅自适应
  20. BSCI验厂审核知识点

热门文章

  1. Mac 音频转换器推荐 DRmare Audio Converter、Audi Free Auditor
  2. Retrofit源码解析
  3. 驻极体话筒的正常工作电压是多少?
  4. 【零基础学STM32】CubeMX+HAL玩转电机控制
  5. 操作系统——存储器管理(连续分配存储管理方式)
  6. 无代码实现——BPM、BPA、BPO与RPA
  7. 计算机制图用什么图纸,制图用什么笔记本好
  8. 绘图板程序设计及其具体实现 第三篇
  9. dcdc模块降额设计_DCDC模块的选择
  10. 5分钟了解代理IP(静态/动态, 单拨/混拨,短效/长效,匿名性,https/s5)