码迷,mamicode.com
首页 > 其他好文 > 详细

Neo4j学习笔记

时间:2015-09-01 09:13:29      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:

---- 安装Neo4j ----
安装Oracle JDK 7,下载neo4j-community,输入bin/neo4j start,打开http://localhost:7474,即可进入Neo4j Browser。
 
---- 初识Neo4j ----
  • Neo4j Browser是一个web-based shell environment,可以应用Cypher与Graph Database交互。
  • Neo4j Browser由Editor、Stream和Sidebar三部分组成,Editor为输入,换行为shift&enter,执行为ctrl&enter,Stream为输出,由一个个result frame组成,Sidebar为functional panels(功能面板),提供配置、模版和帮助等。
  • 有三个有用的Cypher指令,:help提供帮助,:history查看历史列表,:clear清空stream。
  • Graph Database包含Node(节点)、Relationship(关系)和Property(属性)三个概念,除此之外还有一个Label(标签)的概念。
  • Cypher是Neo4j的graph query language,提供SQL-like clause(字句),下面是关于friends的一个示例:
    --1-- 注释:()为Node,ee为变量,Person为Label,{}为Property列表。
    CREATE (ee:Person{name:”Emil”,from:”Sweden”,kclout:99})
    --2-- 注释:MATCH为匹配,WHERE为条件,RETURN为返回。
    MATCH (ee:Person)
    WHERE ee.name=“Emil” 
    RETURN ee;
    --3-- 注释:-[:]->为Relationship的方向,KNOWS为Relationship的名字,{}为Property列表。
    CREATE (js:Person { name: "Johan", from: "Sweden", learn: "surfing" }),
    (ir:Person { name: "Ian", from: "England", title: "author" }),
    (rvb:Person { name: "Rik", from: "Belgium", pet: "Orval" }),
    (ally:Person { name: "Allison", from: "California", hobby: "surfing" }),
    (ee)-[:KNOWS {since: 2001}]->(js),(ee)-[:KNOWS {rating: 5}]->(ir),        
    (js)-[:KNOWS]->(ir),(js)-[:KNOWS]->(rvb),
    (ir)-[:KNOWS]->(js),(ir)-[:KNOWS]->(ally),
    (rvb)-[:KNOWS]->(ally)
    --4-- 注释:-[:]-为Relationship双向。
    MATCH (ee:Person)-[:KNOWS]-(friends) 
    WHERE ee.name="Emil" 
    RETURN ee,friends
    --5-- 注释:()为忽略Node,DISTINCT防止more than one path matching。
    MATCH (js:Person)-[:KNOWS]-()-[:KNOWS]-(surfer) 
    WHERE js.name = "Johan" AND surfer.hobby = "surfing" 
    RETURN DISTINCT surfer
 
---- Neo4j手册 ----
 
 

 

Neo4j学习笔记

标签:

原文地址:http://www.cnblogs.com/qushan/p/4774814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!