如何通过REST API在Neo4j中使用独特的关系?

时间:2013-11-11 10:14:14

标签: rest neo4j

我不能让Neo4j添加一个独特的关系。我正在使用neo4j 2.0.0.M6和REST API。 我使用这个url:/ db / data / index / relationship / rels?uniqueness = get_or_create,我一直收到“错误的请求”。我关注this API guide
我做错了什么?我应该传入索引名称或关系键吗?我发送带有3个键的json - “start”,“end”,“type”。错误消息说我缺少必需的密钥:[值,密钥] - 我应该放在哪里?

1 个答案:

答案 0 :(得分:2)

我理解你的困惑。

这个api端点正在做两件事。 它正在创造一种关系。 2.如果它已经不存在,它将它添加到索引

索引有一个名称,一个键和一个值。

因此,如果我有一个名为“People”的索引,我可能想要在“Name”和“DateOfBirth”上作为键的索引。值可分别为“LameCoder”和“11/11/2013”​​。

您正在使用的URL隐含地说索引的名称是“rels”,因为这就是URL的那部分。

这是文档中的示例。 Key和Value基本上是将添加到索引中的内容。它们不一定必须存在于关系的属性图中。因此,在这种情况下,键是名称,值是彼得。因此,在创建关系时,它将确保在索引“rels”中不存在值为“Peter”的Key“name”的其他索引条目。

{
  "key" : "name",
  "value" : "Peter",
  "start" : "http://localhost:7474/db/data/node/444",
  "end" : "http://localhost:7474/db/data/node/445",
  "type" : "KNOWS"
}

这不是在这两个节点之间创建唯一关系。这是整个指数的独特关系。因此,如果您希望确保两个节点之间只存在一种类型的关系,那么这不是您想要的。