我不能让neo更新批处理的操作中的现有节点属性。
我想创建一个在索引中插入/更新节点的批处理操作。它应该处理三个用例:
我正在使用批处理操作api,我写了一个测试,我发出了两个请求: 短 1.第一个插入节点并索引它的属性 2.第二个只是更新节点的一些属性
这是第一个请求:
[ { “方法”:“POST”, “to”:“/ index / node / events?uniqueness = get_or_create”, “id”:1, “身体”: { “key”:“id”, “价值”:“222222222”, “properties”:{ “id”:“222222222”, “type”:“event-type” } } }, { “方法”:“POST”, “to”:“/ index / node / events”, “身体”: { “uri”:“{1}”, “key”:“id”, “价值”:“222222222” } }, { “方法”:“POST”, “to”:“/ index / node / events”, “身体”: { “uri”:“{1}”, “关键”:“类型”, “价值”:“事件类型” } }]
现在是第二个。
[ { 方法:'POST', to:'/ index / node / events?uniqueness = get_or_create', id:1, 身体: { key:'id', 价值:'222222222', properties:{id:'222222222',type:'event-type',title:'SUPEREVENT'} } }, { 方法:'POST', to:'/ index / node / events', 身体: { uri:'{1}', key:'id', 价值:'222222222' } }, { 方法:'POST', to:'/ index / node / events', 身体: { uri:'{1}', key:'type', 价值:'事件类型' } }, { 方法:'POST', to:'/ index / node / events', 身体: { uri:'{ 1 }”, 关键:'标题', 价值:'SUPEREVENT' } } ]
请注意!我在第二个请求中添加了值为title
的事件SUPEREVENT
属性。这不会持久存在也不会被编入索引。为什么?我该如何解决?
谢谢你, 亚历克斯
答案 0 :(得分:0)
来自doc:
URL参数uniqueness = get_or_create:创建新节点/关系 如果找不到现有的索引则对其进行索引。如果存在 找到节点/关系,丢弃发送的数据并返回 现有节点/关系。
因此您的第二个请求的数据将被丢弃。您需要将每个请求分成两个请求,并分两批进行。这两个批次中的每一个都有两个指令:第一个创建节点(如果不存在),第二个更新属性。