美文网首页
Neo4j只读查询结构

Neo4j只读查询结构

作者: 松爱家的小秦 | 来源:发表于2017-12-12 20:43 被阅读0次

    1.MATCH WHERE RETURN返回一个完整的图数据

    MATCH p=()-[r:LOVES]->() RETURN p LIMIT 25

    MATCH (a)-[:KNOWS]->(b) RETURN b

    a知道b

    MATCH (a)-[:KNOWS]->(b) RETURN b.name

    b.name

    "Jim"

    "Anna"

    "Sally"

    "Sally"

    "Bob"

    "Mike"

    "Mike"

    "Billy"

    "b"

    2.WHERE实现条件过滤

    MATCH p=(n:Person)-[:LOVES]->() WHERE n.name <> "a" RETURN p

    查询节点n的属性name不等于a的所有节点

    3.联合查询UNION

    MATCH (a)-[:KNOWS]->(b) RETURN b.name UNION MATCH (a)-[:LOVES]->(b) return b.name

    使用关键字UNION可以将两个查询的结果联合起来

    MATCH (a)-[:KNOWS]->(b) RETURN b UNION MATCH (a)-[:LOVES]->(b) return b

    4.使用WITH

    with可以将上一条查询语句的结果连接起来,用于下一个查询语句中。

    MATCH (a)-[:KNOWS]->(b) WITH a,count(b) AS knows WHERE knows > 0 RETURN a

    5.使用Return语句

    MATCH (n:Person) RETURN DISTINCT n as test ORDER BY test.name DESC

    "test" │

    ╞═════════════════════════════════════════════╡

    │{"name":"d"}                                │

    ├─────────────────────────────────────────────┤

    │{"name":"c"}                                │

    ├─────────────────────────────────────────────┤

    │{"name":"c"}                                │

    ├─────────────────────────────────────────────┤

    │{"name":"b"}                                │

    ├─────────────────────────────────────────────┤

    │{"name":"a"}                                │

    ├─────────────────────────────────────────────┤

    │{"name":"Zach Grenier","born":1954}          │

    ├─────────────────────────────────────────────┤

    │{"name":"Wil Wheaton","born":1972}          │

    ├─────────────────────────────────────────────┤

    │{"name":"Werner Herzog","born":1942}        │

    ├─────────────────────────────────────────────┤

    │{"name":"Vincent Ward","born":1956}          │

    ├─────────────────────────────────────────────┤

    │{"name":"Victor Garber","born":1949}        │

    ├─────────────────────────────────────────────┤

    │{"name":"Val Kilmer","born":1959}            │

    ├─────────────────────────────────────────────┤

    │{"name":"Tony Scott","born":1944}            │

    MATCH (n:Person) RETURN n as Person SKIP 2 LIMIT 2

    SKIP和LIMIT对查询结果进行分页

    6.使用case子句

    MATCH (n:Person)RETURN

    CASE n.name

    WHEN "Hugo Weaving" THEN 1

    WHEN "Wil Wheaton" THEN 2

    ELSE 3

    END as test

    这个语句是表示对图里的数据进行遍历,名字叫Hugo Weaving打印1 名字叫Wil Wheaton打印2

    否则打印3

    输出

    ╒══════╕

    │"test"│

    ╞══════╡

    │3    │

    ├──────┤

    │3    │

    ├──────┤

    │3    │

    ├──────┤

    │1    │

    ├──────┤

    │3    │

    ├──────┤

    │3    │

    ├──────┤

    │3    │

    ├──────┤

    │3    │

    ├──────┤

    │3    │

    ├──────┤

    │3    │

    ├──────┤.....

    相关文章

      网友评论

          本文标题:Neo4j只读查询结构

          本文链接:https://www.haomeiwen.com/subject/sitoixtx.html