类型不匹配:connectedcompany已定义为具有冲突类型Any(预期节点)

时间:2018-08-27 19:48:41

标签: neo4j cypher

我将Neo4j Community 3.4与APOC 3.4.0.1一起使用,并运行以下查询:

MATCH (a:COMPANY)
WITH apoc.coll.randomItems(collect(a), count(a)/100) as companies
UNWIND companies as company
MATCH (b:COMPANY)
WITH collect(b) as companies, company
WITH company, apoc.coll.randomItem(companies) as connectedcompany
CREATE (connectedcompany)-[:IS_SHAREHOLDER_OF]->(company);

该查询旨在创建我数据库中1%的公司,并通过IS_SHAREHOLDER_OF关系将它们随机链接到另一家公司。

查询将显示以下消息

  

Neo.ClientError.Statement.SyntaxError:类型不匹配:connectedcompany   已经定义为具有冲突类型Any(预期节点)(第7行,   第9栏(偏移量:250))“创建   (connectedcompany)-[:IS_SHAREHOLDER_OF]->(company);“

我在做什么错了?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

一旦您可以退出3.4.0并使用最新的3.4.x补丁程序版本,就应该能够避免该错误。

对于查询本身,您正在对(b:COMPANY)进行不必要的匹配。您之前与所有公司匹配,因此可以重复使用该列表:

FontAwesome

我考虑改用allCompanies作为替代方法,但是您的randomItems()方法同样适用。