【问题标题】:neo4j: java error: property not found for NodeImpl#0neo4j:java 错误:找不到 NodeImpl#0 的属性
【发布时间】:2013-03-14 09:37:51
【问题描述】:

我正在用 java 编写 neo4j 演示代码。以下是我创建节点、索引它们并打印它们的属性的部分代码。

String NODE_KEY = "UserID";
String NODE_PROPERTIES = "UserProperties";

createAndIndexUser(String userID){
    Node node = graphDB.createNode();
    node.setProperty(NODE_KEY, nodeID);
    neo4jGraph.nodeIndex.add(node, NODE_KEY, userID);
    return node;
}

for(int i=0 ; i<100 ; i++){
    String userID = "userID_"+i;
    Node node = createAndIndexUser(userID);
    node.setProperty(NODE_PROPERTIES, strNodeProperties);
}

Iterable<Node> allNodes = GlobalGraphOperations.at(graphDB).getAllNodes();

for(Node n: allNodes){
    System.out.println("n.getPropertyKeys: "+n.getPropertyKeys());
    System.out.println(n.getProperty(NODE_KEY));
}

当我执行这段代码时,第一个 println 的输出是:

n.getPropertyKeys: []

而对于第二个 println 我得到一个错误:

Exception in thread "main" org.neo4j.graphdb.NotFoundException: 'UserID' property not found for NodeImpl#0.

我在哪里做错了什么?为什么不打印n.getProperty(NODE_KEY) 上的所有属性键?

还有其他方法可以获取所有节点并打印它们的属性吗?

【问题讨论】:

    标签: java runtime-error neo4j node-neo4j


    【解决方案1】:

    除了您在createAndIndexUser 中添加的节点之外,您的图表中还有哪些其他节点?请记住,neo4j 图总是有一个 ID 为 0 的虚拟节点。尝试将循环修改为:

    for(Node n: allNodes){
        System.out.println("n.getPropertyKeys: "+n.getPropertyKeys());
        if(n.hasProperty(NODE_KEY))
            System.out.println(n.getProperty(NODE_KEY));
        else
            System.out.println("Node " + n.getId() + " does not contain property " + NODE_KEY);
    }
    

    事实上,如果你真的想确定,你可以保留一个上面创建的节点列表,并与你从getAllNodes() 获得的节点进行核对。

    【讨论】:

    • 感谢@KelseyRider。有效。但是创建这些虚拟节点是为了什么?能避免吗?
    • 我认为它是作为“参考节点”自动创建的。您可以删除它,但不能重新创建它。网络上有很多关于它的讨论,例如stackoverflow.com/questions/7186832/…
    【解决方案2】:

    它是参考节点,如果你不使用它,你可以删除它。

    n.getProperty(NODE_KEY,null) 也很好用。

    【讨论】:

      猜你喜欢
      • 2013-06-01
      • 1970-01-01
      • 2019-02-06
      • 2019-03-08
      • 2014-06-24
      • 1970-01-01
      • 2020-08-25
      • 2017-09-10
      • 2013-02-07
      相关资源
      最近更新 更多