0

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

所以我有以下数据类型节点: ItemKeycategory

  • 每个Item都有几个连接key的 s
  • 每个Category都有几个连接key的 s

我想对图表进行统计检查。我想知道我是否key从每个中取出一个 - 每组键有category多少个 connected Item

所以,如果我有key_A(12) fromcategory_Akey_B(34) from Category_B,我可以这样做:

START key1 = node(12), key2 = node(34)
MATCH key1 <--(item), key2<--(item)
RETURN count(item)

很简单......但我需要为每组键运行相同的操作。(每个类别一个键)

如何为键的每个排列运行相同的问题?

4

2 回答 2

2

找到了答案!

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)
于 2013-10-07T06:43:17.657 回答
0

你能试试这个吗?

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)

可能将示例数据集发布到http://console.neo4j.org

或将其描述为图形要点(http://gist.neo4j.org)会很棒。

于 2013-10-10T11:19:23.927 回答