NEO4J文档阅读小结

Pattern(图案?)是neo4j的核心,数据的查询就是通过Pattern的匹配进行的。

  • 节点定义(Node)

(hxy:Person{name:'huxiaoyu',age:25})

节点通过小括号“()”来定义,其中‘hxy’是节点名称(唯一);‘Person’是类别;大括号“{}”内代表该节点的属性。

  • 关系定义(Relationship)

-[r:empolyed {title: ["Analyst"]}]->

关系通过中括号“[]”来定义,其中“-->”代表关系指向(单向图),还有“--”代表无向图;r代表关系名称???(只在创建时唯一?)empolyed代表关系的类别;大括号内表示关于这个关系的细节。

  • 路径定义(Path)

路径就是节点和关系交替出现的序列,比如:()-[]->()<-[]-()。这里仅用小括号和中括号简单表示,其中的内容同之前的节点和关系定义一样。

Syntax

Property types 属性类型

Structural types 结构类型

Composite types 复合类型


查询返回值 作为参数(Parameter) 作为属性储存  constructed with Cypher literals?
属性 True True
True
True
结构 True
False False
False
复合 True
True
False
True

(一)表达式

CASE表达式(Simple/Generic)

——————————————————————

Clause

  • Reading clauses :match/optional match
  • Projecting clauses :return/with/unwind (as)
  • Reading sub-clauses :where/order[asc/desc]/skip/limit
  • Reading hints :using index/scan/join ??
  • Writing clauses :create/delete/detach delete/set/remove/foreach
  • Reading/Writing clauses :merge/call [..yield]/create unique
  • Set operations :union/union all
  • Importing data :load csv
  • Schema clauses :什么是Schema

MATCH

MATCH语句用于匹配Pattern(点和边组成的结构):

MATCH (a)--(b)

在匹配时,对相应的点或边进行变量声明,以返回所要访问变量的属性或其它函数值:

MATCH (:Person { name: 'Oliver Stone' })--(movie:Movie) 
RETURN movie.title

多种关系匹配用“|”进行连接:

MATCH (wallstreet { title: 'Wall Street' })<-[:ACTED_IN|:DIRECTED]-(person) 
RETURN person.name

深层关系匹配:

[:ACTED_IN*1..3]表示关系长度,最小步为1,最大步为3。例:()--()为1步

MATCH (martin { name: 'Charlie Sheen' })-[:ACTED_IN*1..3]-(movie:Movie) 
RETURN movie.title

零长度路径

命名路径

跳跃关系匹配

OPTIONAL MATCH

如果目标存在则匹配内容与MATCH相同,若不存在返回NULL

RETURN

WITH??

with可以在结果传出之前,经常用于限制进入下一个MATCH查询的数据内容(order by、limit之类)

UNWIND

UNWIND的作用相当于转置,可以将列表转置成多个行

你可能感兴趣的:(技术)