刚从neo4j开始,我想我会用一个真实的模型来教自己。陷入以下困境
模型
(d:Destination)-[:Hosts]->(a:Accommodation)
:Accommodation is sub-typed with other labels as :Homestay / :Hotel / :Guesthouse etc.
查询
对于给定的d.name,希望检索按其子类型分组的所有a.names。
会感谢帮助
发布于 2016-01-12 01:30:01
要在Martin的解决方案上进行分层,您可以在一个临时步骤中筛选出容纳标签并返回zeroth元素。当然,这假设至少有两个标签可以开始(即确实存在一个子分类)。
match (d:Destination)-[:HOSTS]->(a:Accomodation)
with d
, a
, filter(type in labels(a) where type <> 'Accomodation')[0] as type
return d.name, type, collect(a.name)发布于 2016-01-11 17:08:51
这应该是可行的:
MATCH (d:Destination)-[:Hosts]-(a:Accomodation)
WHERE d.name = 'some name'
RETURN DISTINCT labels(a), collect(a.name)如果要查询子类型,则可能更容易将它们放在节点属性中。
https://stackoverflow.com/questions/34726973
复制相似问题