我在neo4j中有一个搜索项目图表模型。
所以我有以下数据类型节点:
Item
,
Key
,
和category
Item
都有几个连接的key
s Category
都有几个连接的key
s 我想对图表进行统计检查。我想知道我是否从每个key
中取出一个category
- 每组密钥有多少连接Item
。
所以,如果我来自key_A
的{{1}}(12)和来自category_A
的{{1}}(34),我可以这样做:
key_B
非常简单......但我需要为每组键运行相同的操作。 (每个类别中的一个键)
如何为每个键的排列运行相同的问题?
答案 0 :(得分: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)
答案 1 :(得分: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)会很棒。