在Neo4j中,你可以很容易地返回一个伪节点(例如:返回一个带有属性Name的节点)。return {Name:'dummy node'}
返回一个带有属性Name的节点)。我广泛的使用这个来检查用 Load CSV
.
如何返回一个伪关系?我想知道我的合并查询将创建多少关系,而不实际改变底层数据。
我尝试了多种方法,但都失败了。
return {Name:'dummy node'}-->{Name:'dummy node2'}`;
Neo.ClientError.Statement.SyntaxError
Invalid input '>': expected 0..9, '.', UnsignedHexInteger, UnsignedOctalInteger or UnsignedDecimalInteger (line 1, column 29 (offset: 28))
"return {Name:'dummy node'}-->{Name:'dummy node2'}"
return ({Name:'dummy node'}-->{Name:'dummy node2'});
Neo.ClientError.Statement.SyntaxError
Invalid input '>': expected 0..9, '.', UnsignedHexInteger, UnsignedOctalInteger or UnsignedDecimalInteger (line 1, column 30 (offset: 29))
"return ({Name:'dummy node'}-->{Name:'dummy node2'})"
return {{Name:'dummy node'}-->{Name:'dummy node2'}};
Neo.ClientError.Statement.SyntaxError
Invalid input '{': expected whitespace, an identifier, UnsignedDecimalInteger, a property key name or '}' (line 1, column 9 (offset: 8))
"return {{Name:'dummy node'}-->{Name:'dummy node2'}}"
使用APOC插件,你可以创建 虚拟节点和关系 在DB中实际上并不存在。
比如说。
CALL apoc.create.vNode(['Node1'], {name: 'dummy node 1'}) YIELD node AS a
CALL apoc.create.vNode(['Node2'], {name: 'dummy node 2'}) YIELD node AS b
CALL apoc.create.vRelationship(a, 'FOO', {}, b) YIELD rel
RETURN a, b, rel
顺便说一下 {Name:'dummy node'}
只是一个属性图 -- 不是一个节点。