创建Cypher查询:混合默认和动态属性

时间:2014-04-14 16:39:29

标签: neo4j

我想知道这是否可行

query: CREATE_NODE = 'CREATE (n:{label} {nodeId: {nodeId}, name:{name}, {props} }) RETURN n',
params:{
  'label': 'thing-label',
  'nodeId': 'thing-id',
  'name': 'thing-name',
  'props':{
    'addProps1':'addProp1',
    'addProps2:'addProp2'
  }
}

1 个答案:

答案 0 :(得分:1)

不,您不能将标签用作参数,因为它们可能会导致不同的内部查询计划。因此,要获得不同的标签,您需要在客户端动态构建密码字符串。

可以将地图作为所有属性的参数传递,请参阅http://docs.neo4j.org/chunked/stable/cypher-parameters.html#_setting_all_properties_on_node。将其与特定属性混合很可能不起作用(没有检查过我自己)。