Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 在STRUCTR.org中的两个现有节点之间创建关系_Neo4j_Structr - Fatal编程技术网

Neo4j 在STRUCTR.org中的两个现有节点之间创建关系

Neo4j 在STRUCTR.org中的两个现有节点之间创建关系,neo4j,structr,Neo4j,Structr,我在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必须不为空

我在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必须不为空”

使用Cypher创建的节点和关系在Structr中不能立即使用,因为Cypher绕过Structr层,直接在数据库级别上运行。要使Structr知道对象,还需要执行一些额外的步骤:它需要一个包含随机UUID(通用唯一标识符)的
id
属性

请参阅模式编辑器中的“工具”->“管理”->“关系”->“添加UUID”


附加提示:在Cypher中,您应该使用MERGE而不是CREATE来避免在两个节点之间创建重复的关系(取决于您的用例)。

使用Cypher创建的节点和关系不能立即在Structr中使用,因为Cypher绕过Structr层并直接在数据库级别上运行。要使Structr知道对象,还需要执行一些额外的步骤:它需要一个包含随机UUID(通用唯一标识符)的
id
属性

请参阅模式编辑器中的“工具”->“管理”->“关系”->“添加UUID”


附加提示:在Cypher中,您应该使用MERGE而不是CREATE来避免在两个节点之间创建重复关系(取决于您的用例)。

谢谢。我还有一个误解:例如,一个ProjectManager有很多项目,我想显示包含在“数据字段”中创建的所有信息以及节点之间的关系的图形,为此我编写了以下命令:Match(n)return(n)。如果我要编写一个单独的密码来创建项目和管理器之间的关系,这还不够模式匹配(m:Project{title:'Proj'})所有这些都可以在Structr中很容易地完成,不需要使用密码进行简单的查询。请看一下repeater元素()、structurscript(),特别是find()函数()。要回答您的密码问题,返回项目经理的查询应该是:MATCH(p:project{title:'Proj'}),感谢前面的回答。谢谢。我还有一个误解:例如,一个ProjectManager有很多项目,我想显示包含在“数据字段”中创建的所有信息以及节点之间的关系的图形,为此我编写了以下命令:Match(n)return(n)。如果我要编写一个单独的密码来创建项目和管理器之间的关系,这还不够模式匹配(m:Project{title:'Proj'})所有这些都可以在Structr中很容易地完成,不需要使用密码进行简单的查询。请看一下repeater元素()、structurscript(),特别是find()函数()。要回答您的密码问题,返回项目经理的查询应该是:MATCH(p:project{title:'Proj'}),感谢前面的回答。