A feature-rich idiomatic Clojure client for the Neo4J REST API and Bolt Protocol.
Neocons is a Clojure client library for Neo4J graph databases that provides access via both REST API and Bolt Protocol. It enables Clojure developers to interact with Neo4J Server edition using an idiomatic Clojure interface, supporting all major Neo4J features including Cypher queries, transactions, and graph traversal operations.
Clojure developers building applications that require graph database functionality, particularly those using Neo4J Server edition in commercial projects where business-friendly licensing is important.
Developers choose Neocons for its mature, production-tested implementation, comprehensive Neo4J feature support, and idiomatic Clojure API that integrates seamlessly with the Clojure ecosystem while maintaining compatibility with multiple Neo4J versions.
A feature rich idiomatic Clojure client for the Neo4J REST API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
First released in 2011 and used in production from early on, with a stable API and good documentation, as noted in the project maturity section.
Supports a wide range of Neo4J features including Cypher queries, transactions, labels, constraints, and both REST API and Bolt Protocol, as detailed in the Supported Features list.
Designed for commercial projects, it enables use of open-source Neo4J Server edition without GPL issues, highlighted in the FAQ and licensing sections.
Part of the ClojureWerkz library family, ensuring an idiomatic Clojure experience and compatibility with tools like Monger and Langohr, as mentioned in the project description.
Bolt Protocol support is restricted to Cypher queries, sessions, and transactions, lacking the full feature set available via REST API, as indicated in the Supported Features breakdown.
Due to Neo4J's GPL license, Neocons does not support embedding, which can be a limitation for projects requiring embedded graph databases, as explained in the FAQ.
Testing requires a running Neo4J instance, such as using Docker with specific credentials, adding overhead compared to libraries with simpler in-memory options, as shown in the Development section.