如何删除neo4j中的标签?

mzsu5hc0  于 5个月前  发布在  其他
关注(0)|答案(9)|浏览(151)

如何在neo4j中删除标签?实际上,我删除了所有节点和关系,然后我重新创建了电影数据库,仍然在Web界面上显示我之前创建的标签。我还尝试使用不同的位置为数据库,即使卸载并重新安装后,标签仍然出现。为什么?标签存储在哪里?卸载程序后,数据库文件夹和appdata文件夹被删除。
如何繁殖?安装neo4j ->使用电影数据库示例->创建(l:SomeLabel {name:“A freaky label”})->删除节点->停止neo,创建新文件夹->启动neo ->创建电影shema -> match(n)return(n)-> SomeLabel出现,即使您更改了文件夹或进行了卸载/安装。
有没有一种方法可以删除标签,即使没有节点?

tsm1rwdh

tsm1rwdh1#

目前(Neo4j 2.0.1)还没有一种方法可以显式地删除一个标签。Neo4j浏览器将显示REST端点报告的所有标签:
第一个月
另外,当Neo4j浏览器侧边栏与Neo4j失去连接时,显示标签的侧边栏不会正确刷新列表。Web浏览器重新加载应该可以工作。
最后,Neo4j浏览器的可视化中有一个错误,它会显示所有已创建样式的标签。如果使用的是有这个错误的Neo4j版本,您可以通过单击属性检查器中的“查看样式表”,然后单击灭火器图标来清除样式。无可否认,所有这些都需要改进可用性。
干杯,安德烈亚斯

polhcujo

polhcujo2#

这似乎是由2.3.0版本解决的。
举个例子,假设我们在数据浏览器中创建了一个电影,比如:

CREATE(m:Movie:Cinema:Film:Picture{title:"The Matrix"})

字符串
我们可以用

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


它将有4个标签:MovieCinemaFilmPicture
从所有影片中删除Picture标签:

MATCH(m:Movie)
REMOVE m:Picture
RETURN m


若要仅从该影片中删除Picture标签,请执行以下操作:

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

axr492tv

axr492tv3#

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

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命令,获取索引列表和对应的属性。

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

whlutmcx

whlutmcx4#

我只是:

  • 停止neo4j
  • 删除整个数据库,
  • 启动neo4j

在Mac上,数据库在这里/usr/local/var/neo4j/data/databases/graph. db

a7qyws3x

a7qyws3x5#

原因是当一个标签被创建时,Neo4j会索引这个标签。你可以删除节点,但索引会保留。
猜测-如果你把索引放在标签上,它会从GUI中消失(注意-我现在还没有访问Neo4j来检查这个理论)

llew8vvj

llew8vvj6#

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

mm5n2pyu

mm5n2pyu7#

我刚刚找到了一个解决方法(使用neo4j 2.2 M04)。将数据库的内容转储到一个文件中,扔掉数据库,然后再次插入转储。不过,只适用于小型数据库。
步骤1:使用neo4j-shell转储内容
第一个月
第二步:扔掉数据库(有很多方法可以删除文件夹$NEO4J_HOME/data/graph.db/或任何你的数据库文件夹)
步骤3:使用neo4j-shell再次插入转储
$NEO4J_HOME/bin/> neo4j-shell -file dump.temp
这应该会带来关于创建了多少节点、关系、属性和标签的统计信息。
(And第四步是删除dump.temp文件,它没有理由存在于bin文件夹中。)
我觉得奇怪的是(也许Michael或neo4j的其他人可以解释一下):在我的例子中,Step 3告诉我已经创建了大约50多个标签。然而,当我打开Web界面时,只有我实际使用的15个左右的标签被列出。所以DB现在感觉很干净。不完全确定它是干净的。

mkh04yzy

mkh04yzy8#

从今天起,使用Neo4j桌面版本:1.1.10和数据库版本:3.4.7删除数据+删除索引+删除任何唯一约束+开发人员>刷新清除所有标签

cgh8pdjw

cgh8pdjw9#

这将在neo4j 5.x上工作:

确保在删除实体后删除所有约束和索引;
使用以下命令获取Schema以了解剩下哪些ConstraintsIndexes

:schema

字符串
遍历每个约束,并使用以下命令删除它们(注意,索引可能连接到约束,因此也将被删除):

DROP CONSTRAINT imp_uniq_my_constraint


如果需要,也可以删除索引:

DROP INDEX index_f7700477


检查您的架构以检查剩下的内容>标签将相应地被删除。

相关问题