RNeo4j appendCypher()错误:"错误:401未经授权"

时间:2015-05-13 17:19:18

标签: r r-neo4j

此问题与Creating nodes in RNeo4j有关。

我也在Nicole White的github appendCypher error发布了这个问题。在stackoverflow上发布这个问题的两个原因是1)包括的创建者Nicole White以外的人可能知道这个问题的解决方案。 2)也许这里有更多的RNeo4j用户。

我基本上使用的是Transactional Endpoint详细说明的相同代码:

graph = startGraph("http://localhost:7474/db/data/", username = "neo4j", password= "mypassword")
clear(graph)

data = data.frame(Origin = c("SFO", "AUS", "MCI"),
              FlightNum = c(1, 2, 3),
              Destination = c("PDX", "MCI", "LGA"))


query = "
MERGE (origin:Airport {name:{origin_name}})
MERGE (destination:Airport {name:{dest_name}})
CREATE (origin)<-[:ORIGIN]-(:Flight {number:{flight_num}})-[:DESTINATION]->(destination)
"

t = newTransaction(graph)

for (i in 1:nrow(data)) {
  origin_name = data[i, ]$Origin
  dest_name = data[i, ]$Dest
  flight_num = data[i, ]$FlightNum

  appendCypher(t, 
           query, 
           origin_name = origin_name, 
           dest_name = dest_name, 
           flight_num = flight_num)
}

commit(t)

cypher(graph, "MATCH (o:Airport)<-[:ORIGIN]-(f:Flight)-[:DESTINATION]->(d:Airport)
           RETURN o.name, f.number, d.name")

然而,当我到达appendCypher函数时,我收到错误:

{
  "errors" : [ {
    "code" : "Neo.ClientError.Security.AuthorizationFailed",
    "message" : "No authorization header supplied."
  } ]
}

我不明白,因为我在创建graph对象时已经确定了自己。请注意,函数username中的参数passwordstartGraph未包含在原始代码中,但如果我在调用startGraph时未指定这些参数,则会出现相同的错误消息(即"Error: 401 Unauthorized"...)在该阶段。

我被告知这可能与新的neo4j版本2.2.1(?)有关。

我将从R数据表上传数据到neo4j数据库,因此我需要appendCypher才能使其正常运行。我想最终的选择是转移到python(py2neo),办公室里的同事们正在使用它,没有任何问题。但我的所有代码都在R中,所以我真的想使用RNeo4j。

我们已经有一段时间试图理解/修复它,但在这个阶段,任何帮助都将非常感激。

提前感谢您的时间。

0 个答案:

没有答案