neo4j首次登录
首次登录需要先用ie浏览器登录,用ie修改密码后,可以用chrome登录
入门操作
● 单行编辑,用于简短查询或命令
● 多行编辑,shift-enter
● 运行查询,Ctrl-enter
● 清除流,即清除结果框,:clear
创建数据库
更改neo4j安装目录中,conf文件夹下的neo4j.conf文件,找到dbms.default_database = neo4j
neo4j是默认数据库,将neo4j更改为自己想要创建的数据库名字practice
重启neo4j服务,新数据库即被添加到neo4j中
重新打开neo4j网页,发现新数据库被添加进neo4j中
如果要更改配置文件neo4j时,neo4j服务正在运行,则按Ctrl+c,停止该服务
再重新开启服务,刷新网页即可
清空数据库
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