现在我正在使用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。但我还是不知道怎么做......
答案 0 :(得分:0)
是的,你必须为你的域密钥启用自动索引:
START u1=node:node_auto_index(name={user1}),
u2=node:node_auto_index(name={user2})
CREATE (u1)-[:KNOWS]->(u2)
您将user1
和user2
作为参数传递给您的函数和cypher查询调用。
有关如何从Java调用cypher的一些方法,请参阅:https://github.com/jexp/cypher-http-examples