Neo4j 密码计数节点之间连接的不同排列
我在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(
项目
,
键
,
和类别
- 每个
都有几个连接的项
键
- 每个
都有几个连接的类别
键
类别
中取出一个键
——每组键有多少个连接的项
因此,如果我有来自类别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”表达式。(第一行缺少一个“)”。)