为什么cleandb扩展拒绝删除我的Neo4j图形数据库?(Why does the cleandb

2019-10-18 04:42发布

当试图清除的Neo4j与(1.8.2) cleandb扩展名(Neo4j的1.8),它失败:

[path] ? curl -v -X DELETE 'http://localhost:7475/db/cleandb/12sE$lkj3%'
* About to connect() to localhost port 7475 (#0)
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 7475 (#0)
> DELETE /db/cleandb/12sE$lkj3% HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost:7475
> Accept: */*
> 
< HTTP/1.1 500 Internal Server Error
< Content-Length: 0
< Server: Jetty(6.1.25)
< 
* Connection #0 to host localhost left intact

很显然,我并不只得到一个500错误代码,也该数据库不清除。 当然,访问URL和插件的“秘密钥匙”被设置为在使用curl的请求:

org.neo4j.server.thirdparty_jaxrs_classes=org.neo4j.server.extension.test.delete=/db/cleandb
org.neo4j.server.thirdparty.delete.key=12sE$lkj3%

我想方便地添加cleandb标签,但我缺少1500的声誉。

有任何想法吗? 提前致谢!

编辑 (我用cleandb是建立在单元测试的neo4django原因)。 /编辑

Answer 1:

嗯,我有cleandb扩展对1.8.2和1.9在本地工作。 例如,您可以运行

from neo4django.db import connection
from pdb import set_trace; set_trace()
connection.cleandb()

并跟踪cleandb Python的调用,它得到200和伴随的响应体,

{\n  "node-indexes" : [ ],\n  "nodes" : 4,\n  "relationship-indexes" : [ ],\n  "relationships" : 0,\n  "maxNodesToDelete" : 1000\n}

我不知道什么卷曲和Python的通话之间的差异可能是─任何机会,你可以试试上面的模块中,运行它,看看会发生什么?

编辑:

该cleandb扩展名是不受管理的,所以你不能(IIRC?)设置为“/ DB / cleandb”,它需要在自己的根 - 我用“/ cleandb”的网址。 LMK是否有帮助!

编辑:

噢,无视,“/ DB /”网址似乎很好地工作。 也许你可以使用“install_local_neo4j.bash”脚本( https://github.com/scholrly/neo4django/blob/master/install_local_neo4j.bash )安装的Neo4j的副本,并设置它以同样的方式,是否适合您? 如果是的话,也许我们可以看到设置有什么不同?



Answer 2:

它仅适用于Neo4j的版本到1.7,我认为。

没再更新二/三,你可以做暗号是立即清除,请参阅: http://neo4j.org/resources/cypher

start n=node(*)
match n-[r?]->()
where id(n) <> 0
delete n,r


文章来源: Why does the cleandb extension refuse to delete my neo4j graph database?