如何在 R Studio 中调用 Neo4j 数据库 api

问题描述

请我创建了一个 Neo4j 数据库实例,我尝试在 R Studio 中使用 neo4r 和 neo4jshell 包调用它。运行 api 调用后,即使我正确指定了 url、用户名和密码,我仍然收到 404。请在下面找到我的代码

library(neo4r)
library(neo4jshell)

myTwitter <- neo4j_api$new(
  
  url = "http://54.152.83.7:7474",user = "neo4j",password = "mypassword"
)


myTwitter$ping()

当我运行最后一行代码时,我得到的是 404 而不是 200,这显然意味着我的 api 调用没有成功。请我感谢您的有用建议。谢谢

解决方法

自 Neo4J 版本 4 起更改了 HTTP 端点

  • Neo4j v3 有端点 http://localhost:7474/db/data
  • Neo4j v4 使用 http://localhost:7474/db/{databaseName}/tx 代替它。

似乎需要更新 R 的 Neo4j 库...

我不熟悉 R,但您可以尝试使用支持基本身份验证的 R 的可用 HTTP 客户端将 POST 请求发送到具有 JSON 负载的 Neo4J API。我还看到您使用 http 架构,这意味着您的凭据将通过网络以纯文本形式发送,这并不好。

此类请求的有效负载应采用以下形式:

{
  "statements": [
    {
      "statement": "MATCH(n) RETURN n"
    }
  ]
}

(根据您的需要调整 Cypher 查询)
响应将是包含实际结果的 data 部分的 JSON 对象。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...