首页 文章

neo4j - 如何在关系查询结果中引入一种类型的所有节点?

提问于
浏览
0

我很抱歉这个愚蠢的问题 . 我在neo4j数据库中有两种类型的节点,即 RecipesMeal_Type . 我在neo4j中运行一个cypher查询,它会导致两种类型节点之间的所有关系 . 查询不是那么特殊,它是返回限制为200个节点的默认查询 .

MATCH ()-[r]->() RETURN r LIMIT 200

它运行正常 . 但至少,我需要结果中的所有 Meal_Types 节点而不管结果的其余部分 . 现在它在11 Meal_Types 中返回3(有时重新运行查询时为4,5) .

2 回答

  • 0

    我认为您应首先获取所有 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

    真?我昨天用你之前的问题回答了that,这只是一个变种 .

    这应该做的伎俩,按节点标签排序关系:

    MATCH (n)-[r]-()
    RETURN r
    ORDER BY head(labels(n))
    

相关问题