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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.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,我在neo4j中有一个搜索项图模型 因此,我有以下数据类型节点: 项目, 键, 和类别 每个项都有几个连接的键 每个类别都有几个连接的键 我想在图表上做一个统计检查。我想知道我是否从每个类别中取出一个键——每组键有多少个连接的项 因此,如果我有来自类别A的键A(12)和来自类别B的键B(34),我可以做: START key1 = node(12), key2 = node(34) MATCH key1 <--(item), key2<--(item) RETURN count(

我在neo4j中有一个搜索项图模型

因此,我有以下数据类型节点:
项目
, 和
类别

  • 每个
    都有几个连接的
  • 每个
    类别
    都有几个连接的
我想在图表上做一个统计检查。我想知道我是否从每个
类别
中取出一个
——每组键有多少个连接的

因此,如果我有来自
类别A
键A
(12)和来自
类别B
键B
(34),我可以做:

START key1 = node(12), key2 = node(34)
MATCH key1 <--(item), key2<--(item)
RETURN count(item)
START key1=节点(12),key2=节点(34)
匹配键1找到了答案

start cat1=node:node_auto_index(name="Category1"),cat2=node:node_auto_index(name="Category2")
MATCH (item) --> (key1)<--(cat1),
      (item)--> (key2)<--(cat2)
where (item.type="item")
with key1, key2 , collect(distinct item.name) as items    
return key1.name,key2.name, items, length(items)
start cat1=节点:节点自动索引(name=“Category1”),cat2=节点:节点自动索引(name=“Category2”)
匹配(项)-->(键1)(键2)你能试试这个吗

start cat=node:node_auto_index("name:(Category1 Category2 Category3")
MATCH (item)-->(key)<--(cat)
where (item.type="item")
with key.name as key_name, collect(distinct item.name) as items
order by key.name
with collect(key_name) as keys, reduce(a=[],i in collect(items) : a + i) as items2
return keys, items2, length(items2)
start cat=node:node\u auto\u index(“name:(Category1 Category2 Category3”)

MATCH(item)-->(key)很高兴您找到了答案!您还可以尝试通过在一个公共术语上连接两个表达式来简化您的模式:
MATCH(cat1)-->(key1)(key2)谢谢。这确实可以简化它。不过,在我的例子中,我实际上有两个以上的类别和键,有没有办法将
匹配
行简化为3个类别?我在上分享了我的示例,其中的类别是:“身高、体重、年龄”。我尝试对其运行查询,但无法计算“reduce”表达式。(第一行缺少一个“)”。)