我正在运行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;
希望有人可以提供帮助。
答案 0 :(得分:4)
您正在混淆标签(用于节点)和类型(用于关系)。 一个节点可以有0到n个标签。
关系只有一种类型。
节点标签和关系类型都以':'。
为前缀根据经验,建议以大写形式将标签写为大写和关系类型,从而实现更好的可读性。
来源: