使用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字符。这可能是问题吗?
答案 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")