NEO4J WEB管理界面一些问题

时间:2014-08-08 08:54:08

标签: neo4j

我为我糟糕的英语道歉。我是意大利人 我只是使用Neo4j作为论文,但我仍然怀疑多用途。 1)我从Web界面创建了两个节点。我意识到Neo4j给出了这些指数0和1(用于研究)。现在假设我错了,我必须删除索引为1的节点。一旦删除,我创建一个新的,系统将索引2。 实际上现在第一个节点的索引为0,第二个节点的索引为2但是我希望第二个节点仍然有索引1(基本上我想使用第一个的索引,就像我一样?) 2)两个节点之间的关系存在同样的问题。如果我错了创建它,门和我创建另一个,我失去了一个删除的索引。 3)如果我必须用双箭头创建2个节点之间的关系,就像我一样。 我看到每个箭头都必须有一个标签,所以如果我创建一个介于1和2之间的关系,以及介于2和1之间的关系,你会得到双箭头,但有两个标签,并不适合我。谢谢您的帮助 抱歉我的英语非常糟糕

3 个答案:

答案 0 :(得分:1)

您应该尝试为节点使用自己的ID或唯一标识符,然后可以一起忽略内部节点ID。

如果您在新数据库中开始使用此Cypher语句(您只需设置一次),

CREATE CONSTRAINT ON (node:MyNodeLabel) ASSERT node.myid IS UNIQUE

然后你可以像这样创建节点和关系,

CREATE (a:MyNodeLabel { myid : 0 })
CREATE (b:MyNodeLabel { myid : 1 })
CREATE (a)-[r:RELTYPE]->(b)

或者如果您不在同一个事务中编写create语句,

CREATE (:MyNodeLabel { myid : 2 })
CREATE (:MyNodeLabel { myid : 3 })

然后,

MATCH (a:MyNodeLabel { myid : 2 }), (b:MyNodeLabel { myid : 3 })
CREATE (a)-[r:RELTYPE]->(b)

或同时创建两个节点和一个关系

MERGE (:MyNodeLabel { myid : 4 })-[r:RELTYPE]->(:MyNodeLabel { myid : 5 })

您当然可以将MyNodeLabel和myid更改为您喜欢的任何标识符。

你对关系标签的问题纯粹是视觉上的,还是我误解了你?

你知道你可以在任何方向上穿越关系,所以也许你不需要两种关系吗?

以下是Cypher的文档,如果您错过了http://docs.neo4j.org/chunked/stable/

答案 1 :(得分:0)

确定。抱歉。我今天回家了....另一个问题。当您在箭头上创建带有标签的关系时。如何在未来的某个时候改变标签 没有删除关系?有可能吗?

答案 2 :(得分:0)

好的。抱歉。我今天回家了....另一个问题。当您在箭头上创建带有标签的关系时。如何在未来的某个时候更改标签而不删除关系?有可能吗? ANS是的, 您可以轻松地执行此操作,您可以为节点服务器并仅从节点中删除标签,它不会影响关系,但如果这是节点上唯一的标签,我建议您再分配另一个标签,以便您可以正确分组

match(n:User{Id:1})
remove n:User set n:DeletedUser
return n