neo4j - 如何在不提供节点 ID 的情况下在 neo4j 中快速创建节点?
问题描述
Neo4j 不支持节点 id 同名,如
CREATE (p:Person { id:100001, firstname: 'John', surname: 'Wood', age: 25 })
CREATE (p:Person { id:100002, firstname: 'Jack', surname: 'Wood', age: 35 })
CREATE (p:Person { id:100003, firstname: 'John', surname: 'Wood', age: 45 })
CREATE (p:Person { id:100004, firstname: 'Jack', surname: 'Wood', age: 55 })
必须提供不同的 id,例如:
CREATE (p100001:Person { id:100001, firstname: 'John', surname: 'Wood', age: 25 })
CREATE (p100002:Person { id:100002, firstname: 'Jack', surname: 'Wood', age: 35 })
CREATE (p100003:Person { id:100003, firstname: 'John', surname: 'Wood', age: 45 })
CREATE (p100004:Person { id:100004, firstname: 'Jack', surname: 'Wood', age: 55 })
如何在不提供 ID 的情况下快速创建节点?
非常感谢。
解决方案
节点在 Neo4J 中使用内部生成的 id 属性自动初始化,在创建后通过调用 id(node) 可用。
虽然在技术上您可以像上面那样设置自己的 ID,但我的经验是,最好将您的属性重命名为其他名称,例如 personId。
对于您的问题,您可以使用 foreach 遍历源数据并创建节点,而无需声明唯一变量(为简洁起见,本示例中仅创建了两个节点):
foreach (person in [{firstName:'John', surname:'Wood', age:25}, {firstName:'Jack', surname:'Wood', age:35}] |
create (p:Person{name:person.name, age:person.age})
)
推荐阅读
- java - gson.JsonObject 到 Json.JSONObject 的转换
- php - 如何使用php获取提交表单中的key部分
- reactjs - ReactNative resizeMode:在android中重复不起作用
- jquery - 如果多个文件字段为空,则 JQuery 禁用按钮
- c - 在 C mongoose os 中的特定时间打开 2 个 LED
- javascript - 如何总结从多选下拉框中选择的值?
- javascript - 材料设计中的easyautocomplete
- c# - 将 JsonObject 映射到类 json
- php - 使用 vue-js 和 Laravel 制作表格
- reactjs - ReactJs、Express 和 Axios,向服务器发送请求,然后响应客户端