自学内容网 自学内容网

neo4j所有关系只显示RELATION,而不显示具体的关系

 当看r时,真正的关系在properties中的type里,而type为“RELATION”


造成这个的原因是:

在创建关系时,需要指定关系的类型,这是固定的,不能像属性那样从CSV文件的一个字段动态赋值。标准的Cypher查询语言不支持直接从变量创建动态关系类型。 

LOAD CSV WITH HEADERS FROM "file:///relation1.csv" AS line
MATCH (entity1:BDItem {title: line.Entity}), (entity2:NewItem {title: line.Attribute})
CREATE (entity1)-[:RELATION {type: line.AttributeName}]->(entity2);

 这样写的结果是固定的“RELATION”,如果想要动态的关系类型,需要下载APOC库

APOC(Awesome Procedures on Cypher)是Neo4j图数据库的一个插件,它提供了一组强大的过程和函数,扩展了Cypher查询语言的功能。
可以参考这篇文章下载APOC库
http://t.csdnimg.cn/6iViE

下载成功后

 修改代码为这样就可以显示动态的关系

LOAD CSV WITH HEADERS FROM "file:///relation1.csv" AS line
MATCH (entity1:BDItem {title: line.Entity}), (entity2:NewItem {title: line.Attribute})
CALL apoc.create.relationship(entity1, line.AttributeName, {}, entity2) YIELD rel
RETURN rel


原文地址:https://blog.csdn.net/qq_49169475/article/details/136991360

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!