{"id":13529440,"url":"https://github.com/michaelklishin/neocons","last_synced_at":"2025-04-04T17:09:48.600Z","repository":{"id":1882333,"uuid":"2808010","full_name":"michaelklishin/neocons","owner":"michaelklishin","description":"A feature rich idiomatic Clojure client for the Neo4J REST API","archived":false,"fork":false,"pushed_at":"2018-01-18T03:56:36.000Z","size":691,"stargazers_count":203,"open_issues_count":3,"forks_count":32,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-10-19T13:20:09.897Z","etag":null,"topics":["clojure","clojurewerkz","cypher","neo4j-server"],"latest_commit_sha":null,"homepage":"http://clojureneo4j.info","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/michaelklishin.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-11-19T09:26:30.000Z","updated_at":"2024-09-01T16:05:14.000Z","dependencies_parsed_at":"2022-08-06T11:15:32.030Z","dependency_job_id":null,"html_url":"https://github.com/michaelklishin/neocons","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelklishin%2Fneocons","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelklishin%2Fneocons/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelklishin%2Fneocons/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelklishin%2Fneocons/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelklishin","download_url":"https://codeload.github.com/michaelklishin/neocons/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217221,"owners_count":20903009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clojure","clojurewerkz","cypher","neo4j-server"],"created_at":"2024-08-01T07:00:36.293Z","updated_at":"2025-04-04T17:09:48.449Z","avatar_url":"https://github.com/michaelklishin.png","language":"Clojure","funding_links":[],"categories":["Connectors","REST API"],"sub_categories":["REST API","Other"],"readme":"# Neocons, a Clojure client for the Neo4J REST API\n\nNeocons is a feature rich idiomatic [Clojure client for the Neo4J REST API](http://clojureneo4j.info).\n\n\n## Supported Features\n\nNeocons currently supports the following features via the Bolt Protocol:\n\n* [Cypher queries](http://docs.neo4j.org/chunked/stable/cypher-query-lang.html)\n* Sessions\n* Transactions\n\nNeocons currently supports the following features (all via REST API, so [you can use open source Neo4J Server edition for commercial projects](http://neo4j.org/licensing-guide/)):\n\n * Create, read, update and delete nodes\n * Create, read, update and delete relationships\n * Fetch relationships for given node\n * Create and delete indexes\n * Index nodes\n * Query node indexes for exact matches and using full text search queries\n * Query automatic node index\n * Traverse nodes, relationships and paths\n * Find shortest path or all paths between nodes\n * Predicates over paths, for example, if they include specific nodes/relationships\n * [Cypher queries](http://docs.neo4j.org/chunked/stable/cypher-query-lang.html)\n * Basic HTTP authentication, including [Heroku GrapheneDB add-on](https://devcenter.heroku.com/articles/graphenedb) compatibility\n * Efficient multi-get via [Cypher queries](http://docs.neo4j.org/chunked/stable/cypher-query-lang.html)\n * Convenience functions for working with relationships and paths\n * Neo4J 2.0 [transactions](http://docs.neo4j.org/chunked/milestone/rest-api-transactional.html)\n * Neo4J 2.0 [labels](http://docs.neo4j.org/chunked/milestone/rest-api-node-labels.html)\n * Neo4J 2.0 [constraints](http://docs.neo4j.org/chunked/milestone/rest-api-schema-constraints.html)\n\n\n## Documentation \u0026 Examples\n\nTo get started and see what using Neocons feels like, please use our [Getting started with Clojure and Neo4J Server](http://clojureneo4j.info/articles/getting_started.html) guide.\n\n[Documentation guides](http://clojureneo4j.info) are mostly complete.\nFor more examples, see our [test suite](test).\n\n\n## Community\n\n[Neocons has a mailing list](https://groups.google.com/group/clojure-neo4j). Feel free to join it and ask any questions you may have.\n\nTo subscribe for announcements of releases, important changes and so on, please follow [@ClojureWerkz](https://twitter.com/#!/clojurewerkz) on Twitter.\n\n\n## Project Maturity\n\nNeocons is not a young project: first released in October 2011, it's been\nin production use from week 1.\n\nIt now supports Neo4j 3.x \u0026 2.x release(s) and the API is stable. Documentation\nis in good shape, too.\n\n\n\n## Maven Artifacts\n\n### The Most Recent Release\n\nNeocons artifacts are [released to Clojars](https://clojars.org/clojurewerkz/neocons). If you are using Maven, add the following repository\ndefinition to your `pom.xml`:\n\n``` xml\n\u003crepository\u003e\n  \u003cid\u003eclojars.org\u003c/id\u003e\n  \u003curl\u003ehttp://clojars.org/repo\u003c/url\u003e\n\u003c/repository\u003e\n```\n\n### The Most Recent Stable Release\n\nWith Leiningen:\n\n    [tuddman/neocons \"3.2.1-SNAPSHOT\"]\n\nWith Maven:\n\n    \u003cdependency\u003e\n      \u003cgroupId\u003eclojurewerkz\u003c/groupId\u003e\n      \u003cartifactId\u003eneocons\u003c/artifactId\u003e\n      \u003cversion\u003e3.2.0\u003c/version\u003e\n    \u003c/dependency\u003e\n\n\n\n## Continuous Integration\n\n[![Continuous Integration status](https://secure.travis-ci.org/michaelklishin/neocons.png)](http://travis-ci.org/michaelklishin/neocons)\n\n\nCI is hosted by [travis-ci.org](http://travis-ci.org)\n\n\n## Supported Clojure Versions\n\nNeocons requires Clojure 1.8+.\nThe most recent stable Clojure release (1.9) is highly recommended.\n\n\n## Supported Neo4J Server Versions\n\n### Neocons 3.2\n\nNeocons `3.2` targets Neo4j Server 3.0.x \u0026 3.1.x,  and includes Neo4j's Bolt Protocol.\n\n### Neocons 3.1\n\nNeocons `3.1` targets Neo4J Server 2.2.\n\n### Neocons 3.0\n\nNeocons `3.0` targets Neo4J Server 2.0 and later versions.\n`1.9.x` compatibility may be less than complete.\n\n### Neocons 2.0\n\nNeocons `2.0` targets Neo4J Server 2.0, although \nthe test suite also passes against 1.9.x.\n\nThere are incompatible changes in 1.9 and 2.0 in mutating Cypher\nsyntax, so Neo4j Server 1.8 compatibility is less than perfect.\n\n### Neocons 1.1\n\nNeocons `1.1` supports Neo4J Server 1.5.0 and later versions. For the\n[Cypher query\nlanguage](http://docs.neo4j.org/chunked/stable/cypher-query-lang.html)\nsupport, 1.6 is the minimum recommended versions because Cypher is\nsupported by the REST API directly without any plugins. Some features\n(in Cypher in particular) may be specific to a later version. We\nrecommend using the most recent stable release. Neocons is actively\ntested against bleeding edge Neo4J Server snapshots and we try to\nsupport important new features before stable server releases come out.\n\nIf you use OpsCode Chef, there is a [Neo4J Server Chef cookbook](https://github.com/michaelklishin/neo4j-server-chef-cookbook).\n\n\n## Neocons Is a ClojureWerkz Project\n\nNeocons is part of the [group of libraries known as ClojureWerkz](http://clojurewerkz.org), together with\n[Monger](https://github.com/michaelklishin/monger), [Langohr](https://github.com/michaelklishin/langohr), [Welle](https://github.com/michaelklishin/welle), [Quartzite](https://github.com/michaelklishin/quartzite), [Validateur](https://github.com/michaelklishin/validateur) and several others.\n\n\n## Development\n\nNeocons uses [Leiningen 2](https://github.com/technomancy/leiningen/blob/master/doc/TUTORIAL.md). Make sure you have it installed and then run tests against\nall supported Clojure versions using\n\n    lein all test\n\nThen create a branch and make your changes on it. Once you are done with your changes and all tests pass, submit\na pull request on Github.\n\nThe tests require a Neo4j on localhost on port 7474. An easy way to\narrange for this if you do not generally run a local server may be to\nuse docker:\n\n`docker run --publish=7474:7474 --publish=7687:7687 --volume=$HOME/neo4j/data:/data neo4j`\n\nand pass the default credentials to lein on the command line\n\n`NEO4J_LOGIN=neo4j NEO4J_PASSWORD=admin lein test`\n\n## License\n\nCopyright (C) 2011-2018 Michael S. Klishin, Alex Petrov, and the ClojureWerkz team.\n\nDouble licensed under the [Eclipse Public License](http://www.eclipse.org/legal/epl-v10.html) (the same as Clojure) or\nthe [Apache Public License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html).\n\n\n## FAQ\n\n### Will embedding be supported in the future?\n\nBecause Neo4J is GPL software, linking against it will require your project to be open source. While there are\nperfectly valid use cases for this, Neocons was developed to be used in commercial projects and Neocons\nauthors strongly prefer business-friendly licenses and Clojure community commitment to the Eclipse Public License v1.\n\nNeocons namespace structure leave the door open for future Neo4J Server features like the binary protocol but it\nis highly unlikely that it will ever cover embedding, should Neo4J license stay GPL forever.\n\nIf you need a solid well-maintained EPLv1-licensed embeddable graph database for Clojure, please\ntake a look at [Titanium](http://titanium.clojurewerkz.org) and [Jiraph](https://github.com/flatland/jiraph).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelklishin%2Fneocons","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelklishin%2Fneocons","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelklishin%2Fneocons/lists"}