爬取内容网站:https://movie.douban.com/top250?start=0&filter=
第一步:明确节点nodes和关系relations。
针对本文,有4个节点,4个关系。一个节点就相当于一个实体。
【注明:因为一部电影可以属于很多种类型,比如《肖申克的救赎》可以属于犯罪,也可以属于剧情,因此把type(类型)也作为一个节点。】
因此,一共需要生成八个文件,包括四个节点文件和四个关系文件。
文件类型规定:本文使用csv文件。
节点文件(以director.csv为例):第一列为index:ID,最后一列为:LABEL(实体的标签),中间列为实体属性。注意实体属性最好用英文表示。
关系文件(以directed.csv为例):第一列为:START_ID(相当于关系的实施者的index:ID),此处为director的index:ID;第二列为:END_ID(相当于关系的实施对象的index:ID),此处为film的index:ID;第三列为relation(关系),此处为directed;第四列为:TYPE(关系类型),此处为directed。一般来说,关系和关系类型区别不是很大,可以一致。
第二步,将八个csv文件导入neo4j。
节点路径和关系路径可以根据自己需要指定。文件路径的根目录默认为neo4j/bin。
另外,在执行此语句前要确保没有movie.db这个数据库,并且conf文件中注释这句dbms.active_database=movie.db(如果存在的话),不然会报数据库存在的错误。
导入成功后,再在conf文件中添加语句dbms.active_database=movie.db或取消注释。
第三步,打开neo4j数据库,进行查看。(以下为关系acted_in的其中一小部分截图)
第四步,用cypher语句对此数据库进行查询、增加节点或关系等操作。
知识存储-cypher查询语句基础:https://blog.csdn.net/amao1998/article/details/80999423