如何在neo4j中删除标签?

如何在neo4j中删除标签?,neo4j,Neo4j,如何在neo4j中删除标签?实际上,我删除了所有节点和关系,然后重新创建了电影数据库,之前创建的标签仍然出现在webinterface上。我还尝试为数据库使用不同的位置,即使在卸载和重新安装标签后,标签仍然出现。为什么?标签存放在哪里?卸载程序后,数据库文件夹和appdata文件夹被删除 如何繁殖?安装neo4j->使用电影数据库示例->创建(l:SomeLabel{name:“一个奇怪的标签”})->删除节点->停止neo,创建新文件夹->启动neo->创建电影shema->匹配(n)返回(n

如何在neo4j中删除标签?实际上,我删除了所有节点和关系,然后重新创建了电影数据库,之前创建的标签仍然出现在webinterface上。我还尝试为数据库使用不同的位置,即使在卸载和重新安装标签后,标签仍然出现。为什么?标签存放在哪里?卸载程序后,数据库文件夹和appdata文件夹被删除

如何繁殖?安装neo4j->使用电影数据库示例->创建(l:SomeLabel{name:“一个奇怪的标签”})->删除节点->停止neo,创建新文件夹->启动neo->创建电影shema->匹配(n)返回(n)->显示SomeLabel,即使您更改了文件夹或进行了卸载/安装

即使没有节点,也有办法删除标签吗?

目前(Neo4j 2.0.1)没有办法在创建标签后显式删除标签。Neo4j浏览器将显示REST端点在以下位置报告的所有标签:

http://localhost:7474/db/data/labels

另外,当与Neo4j失去连接时,显示标签的Neo4j浏览器侧栏不会正确刷新列表。重新加载web浏览器应该可以工作

最后,Neo4j浏览器的可视化中有一个bug,它会显示为其创建样式的所有标签。如果使用的Neo4j版本存在此缺陷,则可以通过单击property inspector中的“查看样式表”,然后单击灭火器图标来清除样式设置。诚然,所有这些都需要改进可用性

干杯,
Andreas

原因是创建标签时,Neo4j会为该标签编制索引。您可以删除节点,但索引将保留

猜测一下-如果您将索引放到标签上,它将从GUI中消失(注意-目前我还没有访问Neo4j来检查这一理论)

我刚刚找到了一个解决方法(使用Neo4j 2.2 M04)。将数据库内容转储到文件中,扔掉数据库,然后再次插入转储。不过,这只适用于小型DBs

步骤1:使用neo4j shell转储内容

$NEO4J_HOME/bin/>NEO4J shell-c'转储匹配返回a;'>转储温度

步骤2:扔掉DB (有很多方法可以删除文件夹$NEO4J_HOME/data/graph.db/或数据库文件夹所在的任何位置)

步骤3:使用neo4j外壳再次插入转储文件

$NEO4J_HOME/bin/>NEO4J shell-文件dump.temp

这将显示有关创建了多少节点、关系、属性和标签的统计信息

(第4步是删除dump.temp文件,它没有理由存在于bin文件夹中。)


我觉得奇怪的是(也许Michael或neo4j的其他人可以对此有所启发):在我的例子中,Step3告诉我已经创建了50多个标签。但是,当我打开web界面时,只列出了我实际使用的15个左右的标签。所以DB现在感觉很干净。不完全确定它是否干净。

这似乎是由2.3.0版解决的

例如,假设我们在数据浏览器中创建了一部电影,例如:

CREATE(m:Movie:Cinema:Film:Picture{title:"The Matrix"})
我们可以用

MATCH(m:Movie)
WHERE m.title = "The Matrix"
RETURN m
它有4个标签:
Movie
Cinema
Film
Picture

要从所有电影中删除
图片
标签,请执行以下操作:

MATCH(m:Movie)
REMOVE m:Picture
RETURN m
要仅从一部电影中删除图片标签,请执行以下操作:

MATCH(m:Movie)
WHERE m.title = "The Matrix"
REMOVE m:Picture
RETURN m

假设我们已经创建了一个节点产品,如下所示

PRODUCT_MASTER { product_code :"ABC", product_name:"XYX }

CREATE INDEX ON :PRODUCT_MASTER (product_code);
现在,即使我从图中删除了所有PRODUCT_MASTER节点,我们仍将在浏览器中节点标签下获取PRODUCT_MASTER。为了消除同样的问题,我们还需要删除索引

DROP INDEX ON :PRODUCT_MASTER (product_code);
在neo4j shell中,键入“schema”命令以获取索引和相应属性的列表。


总而言之,如果我们删除了特定类型的所有节点,您也需要删除该节点上的索引。

从今天起,Neo4j桌面版本为1.1.10,DB版本为3.4.7 删除数据+删除索引+删除任何唯一约束+开发者>刷新清除所有标签

  • 停止neo4j
  • 删除整个数据库,这将删除所有内容
  • 启动neo4j
在mac上,db在这里
/usr/local/var/neo4j/data/databases/graph.db

如果删除该标签的索引,它将从数据库中删除标签。

很高兴知道。REST只返回电影数据库中的标签,即使在neo4j浏览器侧栏中,也只显示电影数据库标签。但我真正想问的是neo4j broser可视化:当我要求
MATCH(n)RETURN n
时,即使在卸载/重新安装/浏览器刷新之后,所有旧标签也会出现。这真的很奇怪。更新了我的回复,在浏览器可视化中提到了一个bug。在Neo4j 3.0.1中,我需要做的就是从所有节点删除标签,然后删除标签上的任何索引。我一删除索引,侧边栏上的标签就消失了<代码>将索引放在:Label(property)否,Neo4j将在内部永久保留标签。@MichaelHunger,在将来的版本中是否可以从数据库中完全删除标签?删除标签的索引和约束会导致标签从web界面中消失。谢谢如何一次删除所有标签?@JackDaniel我已经有一段时间没有使用Neo4j了。您最好在StackOverflow上以新问题的形式开始提问。你可以链接到这个答案,以展示你迄今为止的研究成果。