在 STRUCTR.org 中的两个现有节点之间创建关系
Create relationship between two existing nodes in STRUCTR.org
我在 "SCHEMA-Editor" 从 structr.org 创建了我的数据库。我有两个节点 "Project" 和 "ProjectManager",它们之间的关系是 "MEMBER"。
我做了一个密码查询来创建这样的图:
MATCH (a:Project),(b:ProjectManager)
WHERE a.name = 'X' AND b.name = 'Y'
CREATE (a)-[r:MEMBER]->(b)
RETURN r,a,b;
我希望显示图表,但我收到了这条消息:"MEMBER.id must_not_be_empty"
用 Cypher 创建的节点和关系不能立即在 Structr 中使用,因为 Cypher 绕过了 Structr 层并直接作用于数据库级别。要使对象为 Structr 所知,还需要执行一些额外的步骤:它需要一个包含随机 UUID(通用唯一标识符)的 id
属性。
请参阅架构编辑器中的 "Tools" -> "Admin" -> "Relationships" -> "Add UUIDs"。
额外提示:在 Cypher 中,您应该使用 MERGE 而不是 CREATE 以避免在两个节点之间创建重复关系(取决于您的用例)。
我在 "SCHEMA-Editor" 从 structr.org 创建了我的数据库。我有两个节点 "Project" 和 "ProjectManager",它们之间的关系是 "MEMBER"。 我做了一个密码查询来创建这样的图:
MATCH (a:Project),(b:ProjectManager)
WHERE a.name = 'X' AND b.name = 'Y'
CREATE (a)-[r:MEMBER]->(b)
RETURN r,a,b;
我希望显示图表,但我收到了这条消息:"MEMBER.id must_not_be_empty"
用 Cypher 创建的节点和关系不能立即在 Structr 中使用,因为 Cypher 绕过了 Structr 层并直接作用于数据库级别。要使对象为 Structr 所知,还需要执行一些额外的步骤:它需要一个包含随机 UUID(通用唯一标识符)的 id
属性。
请参阅架构编辑器中的 "Tools" -> "Admin" -> "Relationships" -> "Add UUIDs"。
额外提示:在 Cypher 中,您应该使用 MERGE 而不是 CREATE 以避免在两个节点之间创建重复关系(取决于您的用例)。