1. 下载与启动
Neo4j官网可以免费下载社区版Neo4j以及Neo4j Desktop。以macOS为例,Desktop为常规客户端程序下载安装直接用,社区版下载下来以后需要解压,通过终端进入解压位置启动Neo4j,为了方便可以设置一下访问路径。
进入终端,输入vim ~/.bash_profile,按一下i进入编辑模式,加一行代码
export PATH="your_path/bin:$PATH"
其中your_path为解压后Neo4j的路径,按esc输入:wq,退出编辑后输入
source ~/.bash_profile
然后在终端直接输入 neo4j start 就可以启动啦,启动后在浏览器访问 http://localhost:7474/browser/ 就可以使用啦,初始账户以及密码都是neo4j。
2. 快速上手
图数据库的查询逻辑和自然语言已经相当接近,通过官方的案例就能快速上手,以下为官方提供的基本样例。
简单查询
Find movies released in the 1990s…
查找90年代电影
MATCH (nineties:Movie) WHERE nineties.released >= 1990 AND nineties.released < 2000
RETURN nineties.title
List all Tom Hanks movies…
查找Tom Hanks出演的电影
MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(tomHanksMovies)
RETURN tom,tomHanksMovies
How people are related to “Cloud Atlas”…
查找与Cloud Atlas相关的人与相关关系
MATCH (people:Person)-[relatedTo]-(:Movie {title: "Cloud Atlas"})
RETURN people.name, Type(relatedTo), relatedTo
关系路径
Movies and actors up to 4 “hops” away from Kevin Bacon
查找和Kevin Bacon有关的所有四度关系(包括小于四)
MATCH (bacon:Person {name:"Kevin Bacon"})-[*1..4]-(hollywood)
RETURN DISTINCT hollywood
Bacon path, the shortest path of any relationships to Meg Ryan
查找Kevin Bacon至Meg Ryan最近的关系路径
MATCH p=shortestPath(
(bacon:Person {name:"Kevin Bacon"})-[*]-(meg:Person {name:"Meg Ryan"})
)
RETURN p
复杂查询
Extend Tom Hanks co-actors, to find co-co-actors who haven’t worked with Tom Hanks…
查找未与Tom Hanks合作过的演员(但是与其合作演员有过合作)
MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),
(coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cocoActors)
WHERE NOT (tom)-[:ACTED_IN]->()<-[:ACTED_IN]-(cocoActors)
AND tom <> cocoActors
RETURN cocoActors.name AS Recommended,
count(*) AS Strength
ORDER BY Strength DESC
Find someone to introduce Tom Hanks to Tom Cruise
查找Tom Cruise与Tom Hanks共同合作过的演员以及合作电影
MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),
(coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cruise:Person {name:"Tom Cruise"})
RETURN tom, m, coActors, m2, cruise