neo4j创建数据库入门,Cypher语句入门

neo4j首次登录

首次登录需要先用ie浏览器登录,用ie修改密码后,可以用chrome登录

入门操作

●    单行编辑,用于简短查询或命令

●    多行编辑,shift-enter

●    运行查询,Ctrl-enter

●    清除流,即清除结果框,:clear

创建数据库

更改neo4j安装目录中,conf文件夹下的neo4j.conf文件,找到dbms.default_database  = neo4j

默认数据库neo4j

neo4j是默认数据库,将neo4j更改为自己想要创建的数据库名字practice

更改默认数据库为practice

重启neo4j服务,新数据库即被添加到neo4j中

开启neo4j服务

重新打开neo4j网页,发现新数据库被添加进neo4j中

网页中已添加practice数据库

如果要更改配置文件neo4j时,neo4j服务正在运行,则按Ctrl+c,停止该服务

终止正在运行的neo4j

再重新开启服务,刷新网页即可

清空数据库

快速清空数据库

Cypher语句入门

创建一个节点

例,CREATE (ee:Person { name: "Emil", from: "Sweden", klout: 99})

●    CREATE,创建数据库的子句

●    (),括号表示节点

●    ee:Person,新节点的变量“ee”和标签“Person”

●    {},将属性加到节点的括号

查询节点

例,MATCH (ee:Person) WHERE ee.name = "Emil" RETURN ee;

●    MATCH,子句以指定节点和关系的模式

●    (ee:Person),具有标签“Person”的单节点模式,该模式将匹配项分配给变量“ee”

●    WHERE,约束结果的子句

●    ee.name="Emil",将name属性与值“Emil”进行比较

●    RETURN,用于请求特定结果的子句

创建多个节点和关系

CREATE子句可以一次创建许多节点和关系

MATCH (ee:Person) WHERE ee.name = "Emil"

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: "Allision", from:"California", hobby: "surfing" }), 

( ee )-[:KNOWS {since: 2001}]->(js), 

( ee )-[:KNOWS]->(rvb), 

( js )-[:KNOWS]->(js),

( ir )-[:KNOWS]->(ally),

( rvb )-[:KNOWS]->(ally)

模式匹配,描述在图中找到的内容

MATCH (ee.Person)-[:KNOWS]-(friends) WHERE ee.name = "Emil"

RETURN ee,friends

    MATCH,子句描述从已知节点到找到的节点的模式

    (ee),从一个节点开始模式(由WHERE限定)

    -[:KNOWS]-,匹配“已知关系”(任意方向)

    (friends),将绑定到Emil的朋友

推荐,使用模式

MATCH ( js:Person )-[:KNOWS]-()-[:KNOWS]-(surfer)

WHERE js.name = "Johan" AND surfer.hobby = "surfing"

RETURN DISTINCT surfer

    ()空括号以忽略这些节点

    DISTINCT,因为不止一条路径与模式相匹配

    surfer,将包含Allison,一个冲浪的朋友

分析,使用视觉查询计划

通过前缀EXPLAIN,或者PROFILE,来了解查询的工作方式

PROFILE MATCH ( js:Person )-[:KNOWS]-()-[:KNOWS]-( surfer )

WHERE js.name = "Johan" AND surfer.hobby = "surfing"

RETURN DISTINCT surfer

你可能感兴趣的:(neo4j创建数据库入门,Cypher语句入门)