Question

Using Neo4j 2.0 and Python 2.7.6 - I've tried executing several scripts based the Bulbs package, but keep getting the following errors:

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}')

I noticed there are additional EOL characters in some of the error messages. Could that be the problem?

Was it helpful?

Solution

The error message states: "No such ServerPlugin: GremlinPlugin".

In Neo4j 2.0 the gremlin plugin has been removed from the core product and needs to be installed seperately, you'll find the source at https://github.com/neo4j-contrib/gremlin-plugin.

However it seems that blueprints, which gremlin-plugin depends on, is not yet available for Neo4j 2.0.

So unless you want to get your hands dirty with sources of blueprint and gremlin-plugin, you might be better off using Neo4j 1.9.5.

OTHER TIPS

Gremlin will work with neo4j 2.0, though it currently takes a bit of messing around (see instructions below). Supposedly the next TinkerPop release this Spring will make it easier. Neo4j 2.0 has very useful updates to the Cypher language. I would recommend using it, not an earlier version.

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")
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top