是否可以通过REST API使用Cypher查询Neo4J db并返回节点的URI?

穆克·瑞克(MukRaker)

背景:

我正在使用本地运行的Neo4J实例(位于localhost:7474),并通过Java适配器访问它,该适配器通过REST API(使用Jersey)使用Cypher,并使数据可在同一服务器上运行的Grails应用程序访问。

问题:

是否可以通过REST API使用Cypher查询Neo4J db并返回节点的URI?现在,我可以检查Neo4J服务器状态,创建节点,填充节点属性,查询和创建关系。我的问题是我的“添加关系”和遍历代码需要一个节点URI作为输入。我可以查询节点并获取描述结果的正确JSON,但似乎无法获取URI位置。

这是我的getUserByEmail代码的简化版本:

public URI getUserByEmail( String email )
{
    System.out.println( "GETTING USER BY EMAIL [" + email + "]..." );

    String queryStr = "MATCH (user) WHERE user.nodetype=\'user\' and user.email=\'" + email + "\' RETURN user";

    WebResource webResource = client.resource( ROOT_URI + "/transaction/commit" );

    String payload = "{\"statements\" : [ {\"statement\" : \"" + queryStr + "\"} ]}";

    ClientResponse response = webResource
        .accept( MediaType.APPLICATION_JSON )
        .type( MediaType.APPLICATION_JSON )
        .entity( payload )
        .post( ClientResponse.class );

    String responseStr = response.getEntity( String.class );
    URI responseLocation = response.getLocation();

    System.out.println( "RESPONSE STRING: " + responseStr );
    System.out.println( "GOT USER AT: [" + responseLocation + "]" );

    return responseLocation;
}

JSON结果恢复正常,并反映了图数据库中的内容。但是,该位置始终为空。

只要我具有起始节点的URI,我正在使用的“添加关系”代码就可以正常工作。我拥有的代码基于住在这里的addRelationship()代码:

https://github.com/neo4j/neo4j/blob/2.1.6/community/server-examples/src/main/java/org/neo4j/examples/server/CreateSimpleGraph.java

赛博

在您的JSON结果中,self每个“用户”属性值将为其URI。

在此示例中,响应具有2个“ n”个节点,self每个节点的属性值为其URI。

这是一个示例,说明如何获取事务终结点(通常不如传统终结点那么冗长)以返回self属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

(neo4j)是否可以通过Cypher,REST或Webadmin控制台从索引中删除节点?

来自分类Dev

自动为Cypher REST API中的节点生成序列号-Neo4J

来自分类Dev

Neo4j 在 Cypher 中通过 WITH 传递不同的节点

来自分类Dev

Neo4j,Cypher合并查询无法使用REST API执行

来自分类Dev

Neo4j Cypher 返回最多连续“通过”

来自分类Dev

是否可以使用Java API确定“节点”是否在Neo4J中的事务中?

来自分类Dev

如何在Neo4j 2.0中通过REST API使用Label创建节点

来自分类Dev

如何使用neo4j rest api通过单个请求发布多个节点及其关系?

来自分类Dev

是否可以找到关系连接的节点-Cypher Neo4J

来自分类Dev

java neo4j cypher查询以匹配节点

来自分类Dev

neo4j cypher:查询结果中的“堆叠”节点

来自分类Dev

java neo4j cypher查询来匹配节点

来自分类Dev

随着Cypher查询+ REST API的SKIP增加,Neo4j增加了延迟

来自分类Dev

使用interiorDistance的Neo4j / Cypher查询返回0行

来自分类Dev

无法使用Neo4j REST API动态设置节点标签

来自分类Dev

如何通过使用Java API在neo4j 1.9.3中按名称获取节点?

来自分类Dev

neo4j是否可以查询与关系连接的所有节点?

来自分类Dev

neo4j 2.0 / Cypher:匹配通过2个不同关系连接的节点

来自分类Dev

Neo4j Cypher通过关联节点的精确集合查找实体

来自分类Dev

Neo4j REST API返回404

来自分类Dev

neo4j如何使用Cypher返回所有节点标签?

来自分类Dev

是否可以使用“ HTTP”协议(而非REST)通过AWS API Gateway返回HTML?

来自分类Dev

Cypher / Neo4j查询以获取弯曲节点及与此相关的其他节点的信息

来自分类Dev

Neo4J密码查询,以通过具有相同通用属性的路径连接节点

来自分类Dev

Neo4j,REST API,Java-密码查询

来自分类Dev

无法诊断Neo4j REST API查询失败

来自分类Dev

在Neo4j中,在使用Java API时是否有任何方法可以限制路径中的节点和关系类型?

来自分类Dev

Neo4J Java API:检查一个节点是否可以从其他节点访问

来自分类Dev

使用Java从Neo4j查询节点

Related 相关文章

  1. 1

    (neo4j)是否可以通过Cypher,REST或Webadmin控制台从索引中删除节点?

  2. 2

    自动为Cypher REST API中的节点生成序列号-Neo4J

  3. 3

    Neo4j 在 Cypher 中通过 WITH 传递不同的节点

  4. 4

    Neo4j,Cypher合并查询无法使用REST API执行

  5. 5

    Neo4j Cypher 返回最多连续“通过”

  6. 6

    是否可以使用Java API确定“节点”是否在Neo4J中的事务中?

  7. 7

    如何在Neo4j 2.0中通过REST API使用Label创建节点

  8. 8

    如何使用neo4j rest api通过单个请求发布多个节点及其关系?

  9. 9

    是否可以找到关系连接的节点-Cypher Neo4J

  10. 10

    java neo4j cypher查询以匹配节点

  11. 11

    neo4j cypher:查询结果中的“堆叠”节点

  12. 12

    java neo4j cypher查询来匹配节点

  13. 13

    随着Cypher查询+ REST API的SKIP增加,Neo4j增加了延迟

  14. 14

    使用interiorDistance的Neo4j / Cypher查询返回0行

  15. 15

    无法使用Neo4j REST API动态设置节点标签

  16. 16

    如何通过使用Java API在neo4j 1.9.3中按名称获取节点?

  17. 17

    neo4j是否可以查询与关系连接的所有节点?

  18. 18

    neo4j 2.0 / Cypher:匹配通过2个不同关系连接的节点

  19. 19

    Neo4j Cypher通过关联节点的精确集合查找实体

  20. 20

    Neo4j REST API返回404

  21. 21

    neo4j如何使用Cypher返回所有节点标签?

  22. 22

    是否可以使用“ HTTP”协议(而非REST)通过AWS API Gateway返回HTML?

  23. 23

    Cypher / Neo4j查询以获取弯曲节点及与此相关的其他节点的信息

  24. 24

    Neo4J密码查询,以通过具有相同通用属性的路径连接节点

  25. 25

    Neo4j,REST API,Java-密码查询

  26. 26

    无法诊断Neo4j REST API查询失败

  27. 27

    在Neo4j中,在使用Java API时是否有任何方法可以限制路径中的节点和关系类型?

  28. 28

    Neo4J Java API:检查一个节点是否可以从其他节点访问

  29. 29

    使用Java从Neo4j查询节点

热门标签

归档