使用Bulbs / python和Neo4j 2.0的错误消息

时间:2014-01-09 16:34:03

标签: python neo4j bulbs

使用Neo4j 2.0和Python 2.7.6 - 我尝试过基于Bulbs包执行多个脚本,但不断收到以下错误:

Traceback (most recent call last):
  File "D:/neo4jdb/testingbulbs2.7", line 8, in <module>
    james = g.vertices.create(name="James")
  File "C:\Python27\lib\site-packages\bulbs\element.py", line 565, in create
    resp = self.client.create_vertex(data, keys=_keys)
  File "C:\Python27\lib\site-packages\bulbs\neo4jserver\client.py", line 424, in create_vertex
    return self.create_indexed_vertex(data, index_name, keys=keys)
  File "C:\Python27\lib\site-packages\bulbs\neo4jserver\client.py", line 1027, in create_indexed_vertex
    return self.gremlin(script,params)
  File "C:\Python27\lib\site-packages\bulbs\neo4jserver\client.py", line 384, in gremlin
    return self.request.post(path, params)
  File "C:\Python27\lib\site-packages\bulbs\rest.py", line 128, in post
    return self.request(POST, path, params)
  File "C:\Python27\lib\site-packages\bulbs\rest.py", line 183, in request
    return self.response_class(http_resp, self.config)
  File "C:\Python27\lib\site-packages\bulbs\neo4jserver\client.py", line 217, in __init__
    self.handle_response(response)
  File "C:\Python27\lib\site-packages\bulbs\neo4jserver\client.py", line 249, in handle_response
    response_handler(response)
  File "C:\Python27\lib\site-packages\bulbs\rest.py", line 39, in not_found
    raise LookupError(http_resp)
LookupError: ({'status': '404', 'access-control-allow-origin': '*', 'content-type': 'application/json; charset=UTF-8', 'content-length': '838', 'server': 'Jetty(9.0.z-SNAPSHOT)'}, '{\r\n  "message" : "No such ServerPlugin: \\"GremlinPlugin\\"",\r\n  "exception" : "PluginLookupException",\r\n  "fullname" : "org.neo4j.server.plugins.PluginLookupException",\r\n  "stacktrace" : [ "org.neo4j.server.plugins.PluginManager.extension(PluginManager.java:124)", "org.neo4j.server.plugins.PluginManager.invoke(PluginManager.java:165)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:312)", "org.neo4j.server.rest.web.ExtensionService.invokeGraphDatabaseExtension(ExtensionService.java:134)", "java.lang.reflect.Method.invoke(Unknown Source)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:132)", "org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)", "java.lang.Thread.run(Unknown Source)" ]\r\n}')

我注意到某些错误消息中还有其他EOL字符。这可能是问题吗?

2 个答案:

答案 0 :(得分:4)

错误消息指出:“没有这样的ServerPlugin:GremlinPlugin”。

在Neo4j 2.0中,gremlin插件已从核心产品中删除,需要单独安装,您可以在https://github.com/neo4j-contrib/gremlin-plugin找到源代码。

然而,似乎gremlin-plugin依赖的蓝图尚未用于Neo4j 2.0。

因此,除非你想弄清楚蓝图和gremlin-plugin的来源,否则最好不要使用Neo4j 1.9.5。

答案 1 :(得分:0)

Gremlin将与neo4j 2.0一起使用,虽然它目前需要一些麻烦(参见下面的说明)。据说今年春天的下一个TinkerPop版本将更容易。 Neo4j 2.0对Cypher语言进行了非常有用的更新。我建议使用它,而不是早期版本。

git clone https://github.com/tinkerpop/gremlin.git

cd gremlin/gremlin-groovy/

[edit gremlin/gremlin-groovy/pom.xml to uncomment <!--dependency> block containing neo4j2 and comment out neo4j block]

[also edit same file so that neo4j2 block has <scope>compile</scope> (I don't know that this is strictly necessary)]

'mvn clean install' in gremlin/ directory

executable is gremlin/gremlin-groovy/gremlin.sh

If you get an error like:
"groovysh_evaluate: 51: unable to resolve class Neo4jGraph"

use the Neo4j2Graph class like this:

g = new Neo4j2Graph("/usr/local/neo4j-community-2.0.1/data/graph.db")