Hello everyone,
With Michael Hunger's help, NeoTechnology has published the following two artifacts to Apache's Maven Central Repo:
Note that TinkerPop3's Neo4j-Gremlin only <depends/> on the Apache2 licensed neo4j-tinkerpop-api artifact. When a user wishes to :install Neo4j-Gremlin (e.g. GremlinServer or GremlinConsole), then the AGPL binaries will be downloaded from Maven Central to the user's machine.
Neo4j-Gremlin was originally in TinkerPop3 M1 through M7. However, once TinkerPop went Apache Software Foundation, we had to gut it until the above ASF permitted model was implemented. Note that the current Neo4jGraph implementation has seen a lot of updates since M7 so please give it a test drive and find any problems issues.
A collection of notes:
1. Neo4j 2.2+ has done a lot to ensure transaction consistency between indices and global graph operations.
- All the "isDeleted()" checks in Neo4jGraph are gone.
2. The entire TinkerPop3 test suite passes except for TransactionTest test around graph.close() semantics.
- Michael Hunger is looking into the problem. Right now its OPT_OUT as its not a critical test.
3. Neo4jGraph no longer supports legacy indices -- only schema indices.
- This greatly simplified the code and ensured no @Deprecated references.
- Creating indices in Neo4jGraph is done via Cypher: graph.cypher("CREATE INDEX on :person(name)").
4. Neo4jGraph supports Neo4j multi-labels both at the Neo4jVertex API level and at the Neo4jGraphStep index lookup level.
- We now have LabelP.of() which allows for g.V.has(label,of('person')).
5. Neo4jGraph supports multi/meta-properties though this is considered an experimental feature until it is more fully tested at scale and high concurrency.
- The fear is that multi/meta-properties diverges from the native Neo4j representation and until we are comfortable with the embedding, its not safe for production use.
5. And of course, you can still go Cypher->Gremlin which is really cool.
Thanks again to NeoTechnology for working with TinkerPop and releasing an Apache2 licensed version of their API so the community can enjoy Neo4j-Gremlin.
Take care,
Marko.