2013-06-11 45 views
0

我的问题是两个部分:的Neo4j REST独特的节点

首先,试图创建一个使用类似下面的REST接口的唯一节点...

http://localhost:7474/db/data/index/node/people?uniqueness=create_or_fail 

什么是“人的意思时“部分的网址。我的印象是它是一个标签,但我不确定。

其次,如果这的确是一个标签,当我执行以下REST调用...

http://localhost:7474/db/data/index/node/Test?uniqueness=create_or_fail 

这个有效载荷...

{ 
    key: "name", 
    value: "test", 
    properties: 
    { 
     "lastName": "test", 
     "name": "test", 
     "type": "test", 
     "firstName": "test" 
    } 
} 

一个节点被创建,但不有一个关联的标签。它创建一个无标签节点,仍然强制执行唯一性。如何使用带标签的REST API创建唯一节点?

我正在使用neo4j 2.0。

回答

0
  1. 你是对的。当你用JSON发送时,它会创建节点,或者如果它已经存在,使用索引标签'people'就会失败。

  2. 发送时,你需要在你的对象中有一个“key”和“value”如何做索引匹配。

你如何确定节点没有标签?在REST文档中,我可以看到标签是针对节点的不同URL调用,您是否在那里检查过?

+0

感谢您的回复。我对我的有效载荷进行了欺骗(现在已经更新)。它确实包含了关键和价值。我确定它不包含标签,因为如果我运行“match n,其中n.name ='test'返回n”,节点就会显示出来。如果我运行“match n:Test where n.name ='test'return n;”它不是。 – Vinnie

+0

嗯。我还没有玩过标签。你在第二个查询中说整个节点没有显示,或只是标签? – Nicholas

+0

使用我的有效内容运行“http:// localhost:7474/db/data/index/node/Test?uniqueness = create_or_fail”后,会创建一个节点。如果我再次运行相同的REST调用,它会失败(如预期的那样,因为名称为“test”的节点已经存在)。如果我在shell中运行一个查询来查看存在的所有节点,将会有一条记录(我刚创建的节点)。如果我用“Test”标签查看所有节点,则不会返回任何记录。我的假设是该节点正在创建没有标签。 – Vinnie