图形数据库也称为图形数据库管理系统或GDBMS。

Neo4j的官方网站:http://www.neo4j.org

Neo4j的优点

  • 它很容易表示连接的数据

  • 检索/遍历/导航更多的连接数据是非常容易和快速的

  • 它非常容易地表示半结构化数据

  • Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习

  • 它使用简单而强大的数据模型

  • 它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

关系应该是定向的

访问Neo4j通过使用http:// localhost:7474 /

CREATE命令语法

CREATE (<node-name>:<label-name>) 节点名称。节点标签名称
CREATE (
<node-name>:<label-name>
{
<Property1-name>:<Property1-Value> 定义将分配给创建节点的属性的名称、值
........
<Propertyn-name>:<Propertyn-Value>
}
)
总结: 节点 标签 属性

MATCH命令语法:

  • 从数据库获取有关节点,关系和属性的数据
MATCH
(
<node-name>:<label-name>
)

RETURN命令语法:

  • 检索节点的某些属性、所有属性
  • 检索节点和关联关系的某些属性、所有属性
RETURN
<node-name>.<property1-name>,
........
<node-name>.<propertyn-name> 不能单独使用MATCH或RETURN命令,因此我们应该合并这两个命令
MATCH (dept: Dept)
RETURN dept.deptno,dept.dname

dept是节点名称

这里Dept是一个节点标签名

deptno是dept节点的属性名称

dname是dept节点的属性名

CQL - CREATE+MATCH+RETURN命令

CREATE (e:Customer{id:"1001",name:"Abc",dob:"01/10/1982"})
CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})
MATCH (e:Customer)
RETURN e.id,e.name,e.dob
MATCH (cc:CreditCard)
RETURN cc.id,cc.number,cc.cvv,cc.expiredate

关系基础

Neo4j关系被分为单向关系、双向关系

CREATE创建标签

Neo4j仅支持两个节点之间的单个关系类型。

CREATE (google1:GooglePlusProfile)
CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)多个标签到节点
例如CREATE (m:Movie:Cinema:Film:Picture)
 单个标签到关系
CREATE (<node1-name>:<label1-name>)-
[(<relationship-name>:<relationship-label-name>)]
->(<node2-name>:<label2-name>)
举例
CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)

这里p1和profile1是节点名称和节点标签名称“From Node”

p2和Profile2是“To Node”的节点名称和节点标签名称、r1是关系名称、LIKES是一个关系标签名称

WHERE子句

过滤MATCH查询的结果。

WHERE <condition>
WHERE <condition> <boolean-operator> <condition>

<condition>语法:

<property-name> <comparison-operator> <value>

布尔运算符

and or not xor

比较运算符

=             >           <           >=         <=             <>

MATCH (emp:Employee)
WHERE emp.name = 'Abc' OR emp.name = 'Xyz'
RETURN emp

使用WHERE子句创建关系

MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
WHERE <condition>
CREATE (<node1-label-name>)-[<relationship-label-name>:<relationship-name>
{<relationship-properties>}]->(<node2-label-name>)
例子
MATCH (cust:Customer),(cc:CreditCard)
WHERE cust.id = "1001" AND cc.id= "5001"
CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc)
RETURN r

最新文章

  1. 开源物联网框架ServerSuperIO 3.0正式发布(C#),跨平台:Win&amp;Win10 Iot&amp;Ubuntu&amp;Ubuntu Mate,一套设备驱动跨平台挂载,附:开发套件和教程。
  2. 初识Docker和Windows Server容器
  3. 关于WCF服务在高并发情况下报目标积极拒绝的异常处理
  4. 两个与spring事务相关的问题
  5. ios oc 和 swfit 用dispatch_once 创建单例
  6. C 和指针 学习随便
  7. Nginx使用Expires增加浏览器缓存加速(转)
  8. ORACLE DG之参数详解
  9. 如何开启Centos6.4系统的SSH服务
  10. 线程——QQ邮件发送
  11. P90、面试题11:数值的整数次方
  12. SGU 222.Little Rooks
  13. C# GC 垃圾回收
  14. 第001篇——C#学习计划开启
  15. lightoj 1079 Just another Robbery
  16. [Android]使用RecyclerView替代ListView(四:SeizeRecyclerView)
  17. asp.net中配置使用Sqlite轻型数据库
  18. linux svn up 中文显示乱码解决办法
  19. 日推20单词 Day03
  20. centos7和centos6通过yum安装JDK1.8

热门文章

  1. Django入门8--Templates过滤器
  2. UVa 10603 Fill [暴力枚举、路径搜索]
  3. 【37.48%】【hdu 2587】How far away ?(3篇文章,3种做法,LCA之树上倍增)
  4. javascript 闭包的理解(一)
  5. mysql主丛之基于binlog的不停业务配置主从
  6. c++简单实现循环队列
  7. 【一起学源码-微服务】Nexflix Eureka 源码五:EurekaClient启动要经历哪些艰难险阻?
  8. Mysql唯一索引线上故障记录
  9. 开箱即用!使用Rancher 2.3 启用Istio初体验
  10. 微信公众号 唤醒手机导航APP 一看就懂 复制即用