我很抱歉这个愚蠢的问题。我在neo4j数据库中有两种类型的节点,即select t.id, t.name, dayname, value
from t outer apply
(values ('monday', monday),
('tuesday', tuesday),
('wednesday', wednesday),
('thursday', thursday),
('friday', friday),
('saturday', saturday),
('sunday', sunday)
) v(dayname, value)
where value is not null;
和Recipes
。我在neo4j中运行一个cypher查询,它会导致两种类型节点之间的所有关系。查询不是那么特殊,它是返回限制为200个节点的默认查询。
Meal_Type
运行正常。但至少,我需要结果中的所有MATCH ()-[r]->() RETURN r LIMIT 200
个节点,而不管结果的其余部分。现在它在11 Meal_Types
中返回3(有时重新运行查询时为4,5)。
答案 0 :(得分:1)
我认为您应首先获取所有Meal_Type
个节点,然后使用该结果获取一组与其对应的Recipe
个节点。
以下是我所谈论的一个例子。获取所有不同的膳食类型,除非您有一些您感兴趣的特定膳食类型。然后使用这些膳食类型返回相应的一组食谱的样本(200~ = 19 * 11)。
// match meal types
match (mt:Meal_Type)
with mt
// find a sampling of the the corresponding recipes.
match (mt)<-[OF_TYPE]-(r:Recipe)
return mt, collect(r)[0..18]
答案 1 :(得分:0)
真的?我昨天用你之前的问题回答that,这只是一个变种。
这应该可以解决问题,按节点标签排序关系:
MATCH (n)-[r]-()
RETURN r
ORDER BY head(labels(n))