使用java从Neo4j查询节点

时间:2013-08-05 12:06:22

标签: java neo4j cypher

现在我正在使用RESTFul API与Neo4j进行交互。我的问题是:例如我已经在Neo4j中创建了一个Node1。然后我只想创建一个Node2和一个连接到Node1的关系。我知道我需要从Neo4j查询节点并返回一个节点。但怎么办呢?我是Neo4j的新人,请帮忙。

我已经使用java删除Neo4j中的所有节点和关系来构建删除函数。这是我的代码:

public String deleteAllNodeOrRelation() throws ClientHandlerException,
        UniformInterfaceException, JDOMException {
    String cypherPayload = "{\"query\": \"START a=node(*) MATCH a-[r?]-() DELETE a,r RETURN a\", \"params\":{}}";
    String user_name = getUserName(cypherPayload);
    return user_name;
}

是与此删除功能类似的查询节点功能吗?值得注意的是,我在每个节点中都存储了属性。属性名称是“title”。有人告诉我,我可以查询“标题”来搜索并返回node1。但我还是不知道怎么做......

1 个答案:

答案 0 :(得分:0)

是的,你必须为你的域密钥启用自动索引:

START u1=node:node_auto_index(name={user1}),
      u2=node:node_auto_index(name={user2})
CREATE (u1)-[:KNOWS]->(u2)

您将user1user2作为参数传递给您的函数和cypher查询调用。

有关如何从Java调用cypher的一些方法,请参阅:https://github.com/jexp/cypher-http-examples