Neo4j cypher中的可能错误

时间:2014-06-09 21:17:18

标签: neo4j cypher

我正在运行Neo4j 2.0.0社区版。

我在运行查询时遇到了麻烦。我相信发现了一个关于标签的缺陷。

这是一个有3个不同的sintax的查询,都返回错误。 我试图创建一个包含2个标签的元素:

Invalid input ':': expected an identifier character, whitespace, '|', a length specification, a property map or ']' (line 1, column 87)
"MATCH ( from {uuid:'set'}),( to {uuid:'model element'})   CREATE from-[r :HasAttribute:ModelElement { Name : 'model element' , cardinality : '0::*' , Type : 'model element' }]->to Return r;"


Invalid input ':': expected an identifier character, whitespace, '|', a length specification, a property map or ']' (line 1, column 86)
"MATCH ( from {uuid:'set'}),( to {uuid:'model element'})   CREATE from-[r:HasAttribute:ModelElement { Name : 'model element' , cardinality : '0::*' , Type : 'model element' }]->to Return r;"


Invalid input ':': expected '`', whitespace, '|', a length specification, a property map or ']' (line 1, column 89)
"MATCH ( from {uuid:'set'}),( to {uuid:'model element'})   CREATE from-[r:`Has_Attribute`:`Model_Element` { Name : 'model element' , cardinality : '0::*' , Type : 'model element' }]->to Return r;"

运行以下查询,但结果显然不正确,因为我需要2个标签而不是带冒号的标签(:)

MATCH ( from {uuid:'set'}),( to {uuid:'model element'})   CREATE from-[r:`Has_Attribute:Model_Element` { Name : 'model element' , cardinality : '0::*' , Type : 'model element' }]->to Return r;

希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:4)

您正在混淆标签(用于节点)和类型(用于关系)。 一个节点可以有0到n个标签。

关系只有一种类型。

节点标签和关系类型都以':'。

为前缀

根据经验,建议以大写形式将标签写为大写和关系类型,从而实现更好的可读性。

来源: