我不能让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”。错误消息说我缺少必需的密钥:[值,密钥] - 我应该放在哪里?
答案 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"
}
这不是在这两个节点之间创建唯一关系。这是整个指数的独特关系。因此,如果您希望确保两个节点之间只存在一种类型的关系,那么这不是您想要的。