Neo4j实战 P3 使用Cypher语句创建关系
前面课程中,我们一起学习了节点的创建方法,接下来,继续学习给节点创建关系。这节课的目标,就是创建出下图所示的这样一个电影图谱。
代码示例
1、按属性查询节点
在创建关系之前,我们需要先明确关系两端的节点,是否已经存在,所以,需要先给大家补充一个查询的方法。
内容不可见,请联系管理员开通权限。
查询还有很多玩法,我们放到下节课再给大家系统介绍,这里先点到为止。
2、给已存在的节点创建关系
节点已存在时,需要先把节点查询出来,再给他们创建关系。
内容不可见,请联系管理员开通权限。
也可以一次创建多个关系,用逗号隔开即可
内容不可见,请联系管理员开通权限。
3、节点和关系一起创建
内容不可见,请联系管理员开通权限。
4、MERGE加CREATE
节点存在则查询,不存在则创建。
内容不可见,请联系管理员开通权限。
5、批量创建关系
批量创建关系,一种比较简单的方法,就是用csv文件导入。但是在第一个知识图谱项目中,我还是想带大家用代码,去拼接CQL的方式,实现节点和关系的导入,所以,这里还是给大家介绍一种用CQL的方式,批量创建关系的方法。
CQL实现批量创建,需要用到 UNWIND 关键字,它用于将列表中的元素解包,并将其作为单独的行返回。
内容不可见,请联系管理员开通权限。
现在,电影和人物的关系就创建好了,形成了一个图谱结构,如果如果大家想看到开头的关系图,可以使用如下命令:
内容不可见,请联系管理员开通权限。
到目前为止,构建知识图谱最重要的环节,添加节点和关系的方法,就讲完了。大家课后,可以想一个场景,自己动手构建一个简单的知识图谱。
本文链接:http://edu.ichenhua.cn/edu/note/583
版权声明:本文为「陈华编程」原创课程讲义,请给与知识创作者起码的尊重,未经许可不得传播或转售!