Neo4j - 从一个cypher中返回一个伪关系。

问题描述 投票:0回答:1

在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'}}"
neo4j cypher neo4j-browser
1个回答
1
投票

使用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'} 只是一个属性图 -- 不是一个节点。

© www.soinside.com 2019 - 2024. All rights reserved.