【问题标题】:Is there any way to find nodes having a property with closest integer values with respect to an argument in Neo4j?有没有办法找到具有与 Neo4j 中的参数最接近的整数值的属性的节点?
【发布时间】:2018-03-13 05:00:49
【问题描述】:

我需要搜索具有属性“totalValue”的节点,现在我需要找到值最接近 100 的 10 个节点。我需要一些帮助来编写一个可以返回所需结果的查询。

【问题讨论】:

    标签: neo4j graph-databases cql


    【解决方案1】:

    计算距离,按距离排序,限制为10 ...

    MATCH (n:Node)
    RETURN n.totalValue AS value, abs(100 - n.totalValue) AS distance
    ORDER BY distance
    LIMIT 10;
    

    希望这会有所帮助。

    问候, 汤姆

    【讨论】:

    • 我认为你需要添加一个“属性存在”检查:MATCH (n:Node) WHERE EXISTS(n.totalValue)...
    • 您并不总是需要检查是否存在。在这个答案中,如果节点没有totalValue 属性,那么distance 将是NULL。当您ORDER BY 一个属性时,NULL 值将被认为大于所有非 NULL 值。由于查询按升序排序,这将有效地隐藏没有该属性的节点(除非少于 10 个节点具有该属性)。
    猜你喜欢
    • 2018-04-20
    • 2023-04-02
    • 1970-01-01
    • 2015-04-04
    • 2012-10-27
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    相关资源
    最近更新 更多