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 给出属性列表,找出节点属性中提到的属性_Neo4j_Cypher - Fatal编程技术网

Neo4j 给出属性列表,找出节点属性中提到的属性

Neo4j 给出属性列表,找出节点属性中提到的属性,neo4j,cypher,Neo4j,Cypher,如果我有一个字符串列表。例如,[“test1”、“test2”、“test3”、“test4”],并且有一个包含两个节点的Neo4j数据库,其属性myProperty分别设置为“test1”和“test3” 我想创建一个使用列表并标识列表中哪些元素不在node.myProperty上的密码表达式,以便在上面的示例中返回[“test2”,“test4”]。这有可能吗?如果有,cypher表达式会是什么样子 作为替代方案,可以返回实际存在的属性列表-[“test1”、“test3”] 我可以为每个列

如果我有一个字符串列表。例如,
[“test1”、“test2”、“test3”、“test4”]
,并且有一个包含两个节点的Neo4j数据库,其属性myProperty分别设置为
“test1”
“test3”

我想创建一个使用列表并标识列表中哪些元素不在node.myProperty上的密码表达式,以便在上面的示例中返回
[“test2”,“test4”]
。这有可能吗?如果有,cypher表达式会是什么样子

作为替代方案,可以返回实际存在的属性列表-
[“test1”、“test3”]

我可以为每个列表元素做一个语句,但是由于列表可能会变得很长,我希望在一个语句中实现它

MATCH (n) where has(n.myProperty) 
WITH collect(n.myProperty) as set1
return FILTER(t in set1 WHERE NOT t in ["test1","test2","test3","test4"]) as set2
返回的set2将是所有在图中不作为myProperty存在的集合


返回的set2将是所有在图中不作为myProperty存在的集合

Sumeet将我设置为正确的方向(+1)。但是,它返回数据库中不在集合中的所有n.myProperty。我想返回我收藏中的所有单词,而不是任何n.myProperty中的单词。这是这样做的:

MATCH (n:Node) where has(n.myProperty) 
WITH collect(n.myProperty) as set1
return FILTER(t in ["test1","test2","test3","test4"] WHERE NOT t in set1 ) as set2

Sumeet为我指明了正确的方向(+1)。但是,它返回数据库中不在集合中的所有n.myProperty。我想返回我收藏中的所有单词,而不是任何n.myProperty中的单词。这是这样做的:

MATCH (n:Node) where has(n.myProperty) 
WITH collect(n.myProperty) as set1
return FILTER(t in ["test1","test2","test3","test4"] WHERE NOT t in set1 ) as set2

显然,这将返回集合中不存在的所有node.myPropery。不仅是我无意中传递的属性,它还返回集合中不存在的所有node.myproperty。不仅仅是我传入的属性