Neo4j CypherQuery用于获取具有(空)属性的节点

时间:2016-02-02 20:18:41

标签: database neo4j cypher

我想知道是否有办法获得带有()属性的neo4j节点。当我创建一个节点并在一个单独的查询中用数据更新它时,我将它定义为一个空数组。我现在正在寻找一种方法来获取从未更新过的节点。当数组中没有值时,neo4j会自动将属性设置为( empty )。有没有办法查询这些节点?由于该属性存在,我无法使用 IS NULL WHERE HAS NOT 查询。谢谢

修改 以下是我尝试抓取的节点之一的属性示例。剧集属性列为(空)

thumbnail:  http://is1.mzstatic.com/image/thumb/Music6/v4/0b/cf/e8/0bcfe8a9-79d4-76c1-645d-5f9b8bb56435/source/100x100bb.jpg
feedUrl:    http://www.iwantspace.com/publicbriefings/?feed=podcast&cat=6
name:   The Audio Collection – SPACE – Public Briefings
episodes:   (empty)
url:    https://itunes.apple.com/us/podcast/audio-collection-space-public/id367750633?mt=2&uo=4

2 个答案:

答案 0 :(得分:3)

所以你在节点上存储了一个空数组作为属性?您是否尝试在节点上匹配该属性的空数组?

例如:

// Create a node with empty array for property names
CREATE (n:Person) SET n.names = []

MATCH (n:Person) WHERE n.names = [] RETURN n
// Returns the node previously created

Here是一个Neo4j控制台,展示了这一点。

答案 1 :(得分:0)

这将为您提供没有属性剧集的节点

public class LeakDetect {
    public static void main(String args[]) {
        while (true) {
            System.out.println( Runtime.getRuntime().freeMemory());
        }
    }
}

什么说剧集是节点本身?