1.Cypher概述

cypher是一种声明式的图数据库查询语言,能高效的查询和更新图数据库,是依赖于模式的。所谓模式(Patterns)是就是众多节点和关系的任意复杂想法。

(1)节点语法

cypher使用()来表示一个节点,以下几种常见的 节点表示方法。

() 匿名节点

(n) 变量为n的节点

(:Movie)匿名属于Movie标签的节点

(n:Movie)变量为n ,属于Movie的节点

(n:Movie{name:"zhangsan"})  变量为n,属于Movie节点,且还有name属性,属性值为zhangsan.

  (2)   关系 语法

     Cypher中使用一对短横线(--)表示一个无方向关系,有方向关系使用-->和<--来表示。方括号[....]可用于添加详情。里面包含变量、属性或者类型信息。常见 的表达式如下:

--> 有方向关系

-[role]-> 变量名为role的有向关系

-[:ACTED_IN]->  名称为ACTED_IN的关系.

-[role:ACTED_IN]-> 名称为ACTED_IN关系,且变量名为role

-[role:ACTED_IN{roles:["NEO"]}]->   关系名ACTED_IN,变量为role,属性为名称为roles,属性值为:NEO。

关系的类型类似于节点的标签,关系的属性等同于节点的属性。属性的值可以为数值。

实例说明;创建一个用户名节点名为zhangsan,还有name属性,属性职位‘zhangsan’, age属性值为100,属于Person标签的人。

创建一个用户节点名为lisi,name属性为lisi,age属性为50的 人,他们之间关系是FRIEND_OF,且还有关系属性oldfrend 。

具体的实现如下:

create (zhangsan:Person{name:"zhangsan",age:100})  return zhangsan   #创建节点test1。

create (lisi:Persion{name:"lisi",age:"50"}) return lisi   #创建节点test2。

create(zhangsan)-[:FRIEND_OF{reli:["oldfrend "]}]->(lisi) #创建张三和李四关系。

(六)图数据neo4j之cypher(一)的更多相关文章

  1. (二)图数据neo4j基本认识

    1.neo4j介绍 Neo4j是由Java和Scala实现的开源NoSQL图数据库.自2003年开始研发,直到2007年正式发布第一版.Neo4j的源代码托管在GitHub上,技术支持托管在Stack ...

  2. (四)图数据neo4j用户管理

    1.用户管理 neo4j可通过内置函数,进行用户的创建.查看.删除. (1)用户创建; CALL dbms.security.createUser(name,password,requridchang ...

  3. Neo4j使用Cypher查询图形数据

    Neo4j使用Cypher查询图形数据,Cypher是描述性的图形查询语言,语法简单,功能强大,由于Neo4j在图形数据库家族中处于绝对领先的地位,拥有众多的用户基数,使得Cypher成为图形查询语言 ...

  4. 开源软件:NoSql数据库 - 图数据库 Neo4j

    转载自原文地址:http://www.cnblogs.com/loveis715/p/5277051.html 最近我在用图形数据库来完成对一个初创项目的支持.在使用过程中觉得这种图形数据库实际上挺有 ...

  5. 图数据库Neo4j简介

    图数据库Neo4j简介 转自: 图形数据库Neo4J简介 - loveis715 - 博客园https://www.cnblogs.com/loveis715/p/5277051.html 最近我在用 ...

  6. 主流图数据库Neo4J、ArangoDB、OrientDB综合对比:架构分析

    主流图数据库Neo4J.ArangoDB.OrientDB综合对比:架构分析 YOTOY 关注 0.4 2017.06.15 15:11* 字数 3733 阅读 16430评论 2喜欢 18 1: 本 ...

  7. 图数据库neo4j和关系数据库的区别

    相信您和我一样,在使用关系型数据库时常常会遇到一系列非常复杂的设计问题.例如一部电影中的各个演员常常有主角配角之分,还要有导演,特效等人员的参与.通常情况下这些人员常常都被抽象为Person类型,对应 ...

  8. Hello World 之Spring Boot 调用图数据库Neo4j

    明日歌 [清]钱鹤滩 明日复明日,明日何其多! 我生待明日,万事成蹉跎 1. 图数据库Neo4j之爱的初体验 ----与君初相识,犹似故人归 在如今大数据(big data)横行的时代,传统的关系型数 ...

  9. WCF技术剖析之十六:数据契约的等效性和版本控制

    原文:WCF技术剖析之十六:数据契约的等效性和版本控制 数据契约是对用于交换的数据结构的描述,是数据序列化和反序列化的依据.在一个WCF应用中,客户端和服务端必须通过等效的数据契约方能进行有效的数据交 ...

随机推荐

  1. 简介Python中用于处理字符串的center()方法

    简介Python中用于处理字符串的center()方法 这篇文章主要介绍了简介Python中用于处理字符串的center()方法,是Python入门中的基础知识,需要的朋友可以参考下 center() ...

  2. 使用PHP实现命令模式(转)

    <?php /** * 命令模式 2010-08-21 sz * @author phppan.p#gmail.com http://www.phppan.com * 哥学社成员(http:// ...

  3. query解决touchmove时屏蔽touchend

    var dragging = false; $("li").on("touchmove",function(){ dragging = true; }); $( ...

  4. js 如何让两个等长的数组产生键值对关系

    问题的准确描述:js 将两个长度一样的一维数组 合成一个一维数组,A为键值,B为key值 js 将两个长度一样的一维数组 合成一个一维数组,A为键值,B为key值 如 var arr1=['a','b ...

  5. AndroidStudio奇怪的报错

    Android Studio升级到3.5之后,经常无故报错a problem occurred configuring project ' app'. java.lang.nullpointerexc ...

  6. 解决 yolov3: Demo needs OpenCV for webcam images

    默认情况下yolo的Makefile文件有个配置OPENCV=0,你需要将它改成 0 ,然后重新make 编译make 编译就会启用 opencv,此时你需要在你的电脑上安装opencv 才可以 修改 ...

  7. CSS内联--与块级元素区别

    内联元素:1.内联元素(inline)不会独占一行,相邻的内联元素会排在同一行.其宽度随内容的变化而变化. 2.内联元素不可以设置宽高 3.内联元素可以设置margin,padding,但只在水平方向 ...

  8. TypeScript 迭代器(iterator)和生成器(generator)

    ⒈迭代器(iterator) 1.可迭代性 当一个对象实现了Symbol.iterator属性时,我们认为它是可迭代的. 一些内置的类型如 Array,Map,Set,String,Int32Arra ...

  9. Python_OpenCV视频截取并保存

    在图像处理之前,我们需要对拿到手的数据进行筛选,对于视频,我们需要从中截取我们需要的一段或几段 整体思路比较简单,通过设定截取视频的起止时间(帧数),可以将该时间段内的图像保存为新的视频 直接上代码: ...

  10. 单例模式中volatile关键字的作用

    背景&问题 在早期的JVM中,synchronized存在巨大的性能开销.因此,有人想出了一个"聪明"的技巧:双重检查锁定(Double-Checked Locking). ...