neo4j入门开发,以及在sns关系中的应用
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试试:
![](https://static.oschina.net/uploads/img/201712/30013505_jw4n.gif)
![](https://static.oschina.net/uploads/img/201712/30013505_IqQB.gif)
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)
![](https://static.oschina.net/uploads/img/201712/30013505_IqQB.gif)
运行完上面脚本的效果
查找所有擅长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关系中的应用相关推荐
- Neo4j入门:手动构建节点关系
目录 一.基本cypher语句建立节点和关系 建立节点 带属性的节点 一次建立多个节点 建立两个节点之间的关系 二.用CSV文件导入方法对Neo4j Desktop批量创建节点和关系 批量创建节点 创 ...
- Neo4j入门实战,以三国英雄关系为例入门Neo4j知识图谱
Neo4j入门实战,以三国英雄关系为例入门Neo4j知识图谱 前言 一.Neo4J简介 对比关系型数据库: 对比其他NoSQL数据库 二.Neo4J下载安装 方法1:安装Neo4j Community ...
- 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明
以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明 为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3.对象.底层实 ...
- eBPF 入门开发实践指南三:在 eBPF 中使用 fentry 监测捕获 unlink 系统调用
eBPF (Extended Berkeley Packet Filter) 是 Linux 内核上的一个强大的网络和性能分析工具.它允许开发者在内核运行时动态加载.更新和运行用户定义的代码. 本文是 ...
- vscode中安装webpack_leaflet-webpack 入门开发系列一初探篇(附源码下载)
前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载 webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址w ...
- 知识图谱系列之neo4j入门
neo4j入门 最近需要搭一个小型的图数据库,neo4j自然是首选了,目前做知识图谱方面研究的自然都知道neo4j,但是neo4j目前的资料还比较少,这种数据库目前用户也不算多,好在neo4j比较简单 ...
- Block.one的EOS区块链入门开发教程Elemental Battles
最新版本使任何可以使用JavaScript和C++的人都能轻松学习EOSIO. 10月18日,Block.one推出了Elemental Battles,这是一个激动人心的新工具包,它将通过简化EOS ...
- latex大括号 多行公式_如何快速入门 LaTeX,在 XMind 2020 中轻松输入方程。
数学方程输入对于很多理工科朋友来说是一件让人头疼的事情.不仅是数学方程本身就纷繁复杂花样百出,各种输入语法更是劝退无数人. 然而很多看似复杂的东西其实并非如想象中的难,抓住本质即可快速入门.今天和大家 ...
- Neo4j ① <图论>图,节点,关系,属性<知识图谱和图库>图谱,图库,优势<基础>模块,应用场景,环境搭建,浏览器
目录 第一部分 图 和 Neo4j 1.1 图论 1.1.1 图论起源 --- 柯尼斯堡(Konigsberg)七桥问题 1.1.2 图 和 节点 1.1.3 节点关系表达 1.1.4 属性图模型规则 ...
最新文章
- python networkx模块,python复杂网络处理模块networkx
- hdu 6185 Covering 矩阵快速幂
- Nvidia的CUDA库现在恢复使用了
- json key 命名规范_jsonapi
- python 爬虫系统_实战干货:从零快速搭建自己的爬虫系统
- C语言结构体里的成员数组和指针
- 使用Prometheus发现在Kubernetes上运行的应用程序
- 最佳实践 | 腾讯HTAP数据库TBase助力某省核心IT架构升级
- php登录api,PHP登录REST API
- xp下创建DOMDocument对象失败的解决方法
- 推荐系统实例-基于矩阵分解
- 如何将Win7、Win10笔记本,台式机系统C盘软件搬家? 只需3个步骤!!!
- linux 小度 驱动_小度WiFi怎么安装 小度WiFi驱动安装
- 详解ASIC设计流程
- ECU安全访问系列_2(代码篇)
- 宏基因组分箱CheckM评估结果的提取
- FPGA学习之数模转换(TLC5620)(通过4个按键输入,输出数模转换需要的数据和数码管显示需要的数据)
- 嵌入式系统的软件看门狗和硬件看门狗
- 搞不定Serverless?让你秒懂掌握Profiling让一份程序优雅自适应
- BSCI验厂审核知识点
热门文章
- Mac 音频转换器推荐 DRmare Audio Converter、Audi Free Auditor
- Retrofit源码解析
- 驻极体话筒的正常工作电压是多少?
- 【零基础学STM32】CubeMX+HAL玩转电机控制
- 操作系统——存储器管理(连续分配存储管理方式)
- 无代码实现——BPM、BPA、BPO与RPA
- 计算机制图用什么图纸,制图用什么笔记本好
- 绘图板程序设计及其具体实现 第三篇
- dcdc模块降额设计_DCDC模块的选择
- 5分钟了解代理IP(静态/动态, 单拨/混拨,短效/长效,匿名性,https/s5)