391 lines
17 KiB
HTML
391 lines
17 KiB
HTML
<h1 id="awesome-neo4j">Awesome Neo4j</h1>
|
||
<p><a href="https://github.com/sindresorhus/awesome"><img
|
||
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
|
||
alt="Awesome" /></a> <a
|
||
href="https://travis-ci.org/neueda/awesome-neo4j"><img
|
||
src="https://api.travis-ci.org/neueda/awesome-neo4j.svg?branch=master"
|
||
alt="Build Status" /></a></p>
|
||
<p>A curated list of awesome <a href="https://neo4j.com/">Neo4j</a>
|
||
resources.<br />
|
||
Inspired by the <code>awesome-*</code> trend on GitHub.</p>
|
||
<p>The goal is to build a categorized community-driven collection of
|
||
very well-known resources.<br />
|
||
Sharing, suggestions and contributions are always welcome!</p>
|
||
<p>Thanks to all <a
|
||
href="https://github.com/Neueda/awesome-neo4j/graphs/contributors">contributors</a>.</p>
|
||
<p>Maintained by <a href="http://labs.neueda.com/">Neueda
|
||
R&D</a>.</p>
|
||
<h1 id="table-of-contents">Table of Contents</h1>
|
||
<ul>
|
||
<li><a href="#basics">Basics</a></li>
|
||
<li><a href="#connectors">Connectors</a>
|
||
<ul>
|
||
<li><a href="#bolt">Bolt</a></li>
|
||
<li><a href="#rest-api">REST API</a>
|
||
<ul>
|
||
<li><a href="#java">Java</a></li>
|
||
<li><a href="#ruby">Ruby</a></li>
|
||
<li><a href="#python">Python</a></li>
|
||
<li><a href="#php">PHP</a></li>
|
||
<li><a href="#other">Other</a></li>
|
||
</ul></li>
|
||
</ul></li>
|
||
<li><a href="#cloud">Cloud</a></li>
|
||
<li><a href="#packages">Packages</a></li>
|
||
<li><a href="#docker">Docker</a></li>
|
||
<li><a href="#full-text-search">Full-text search</a></li>
|
||
<li><a href="#import">Import</a></li>
|
||
<li><a href="#benchmarking">Benchmarking</a></li>
|
||
<li><a href="#extensions">Extensions</a></li>
|
||
<li><a href="#stored-procedures">Stored Procedures</a></li>
|
||
<li><a href="#development">Development</a></li>
|
||
<li><a href="#editors">Editors</a></li>
|
||
<li><a href="#shell">Shell</a></li>
|
||
<li><a href="#visualization">Visualization</a></li>
|
||
<li><a href="#tools">Tools</a></li>
|
||
<li><a href="#resources">Resources</a>
|
||
<ul>
|
||
<li><a href="#learn">Learn</a></li>
|
||
<li><a href="#certification">Certification</a></li>
|
||
<li><a href="#bolt-1">Bolt</a></li>
|
||
<li><a href="#books">Books</a></li>
|
||
<li><a href="#miscellaneous">Miscellaneous</a></li>
|
||
</ul></li>
|
||
<li><a href="#license">License</a></li>
|
||
</ul>
|
||
<p>Created by <a
|
||
href="https://github.com/ekalinin/github-markdown-toc.go">gh-md-toc</a></p>
|
||
<h1 id="basics">Basics</h1>
|
||
<ul>
|
||
<li><a href="https://neo4j.com/docs/">Official documentation</a></li>
|
||
<li><a href="https://neo4j.com/docs/cypher-refcard/current/">Cypher
|
||
Refcard</a></li>
|
||
<li><a href="https://neo4j.com/developer/get-started/">Developer
|
||
resources</a></li>
|
||
<li><a href="http://graphgist.neo4j.com/">Gists</a> - With Neo4j
|
||
GraphGists you can describe and model your domain in a simple text file
|
||
and render it as a rich, interactive page in any browser. Perfect to
|
||
document a specific domain, use-case, question or graph problem.</li>
|
||
<li><a href="https://github.com/neo4j-examples">Neo4j Examples</a> -
|
||
Examples for Neo4j and Library Usage.</li>
|
||
</ul>
|
||
<h1 id="related-project">Related project</h1>
|
||
<ul>
|
||
<li><a href="http://www.opencypher.org/">openCypher</a> - openCypher is
|
||
an open source project to bring a new public implementation of the
|
||
industry’s most widely adopted graph query language: Cypher.</li>
|
||
<li><a href="https://boltprotocol.org">Bolt Protocol</a> - The Bolt
|
||
network protocol is a highly efficient, lightweight client-server
|
||
protocol designed for database applications.</li>
|
||
</ul>
|
||
<h1 id="connectors">Connectors</h1>
|
||
<h2 id="bolt">Bolt</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/neo4j/neo4j-java-driver">neo4j-java-driver</a>
|
||
- Java driver for Neo4j binary protocol.</li>
|
||
<li><a
|
||
href="https://github.com/neo4j/neo4j-python-driver">neo4j-python-driver</a>
|
||
- Python driver for Neo4j binary protocol.</li>
|
||
<li><a
|
||
href="https://github.com/neo4j/neo4j-javascript-driver">neo4j-javascript-driver</a>
|
||
- JavaScript driver for Neo4j binary protocol.</li>
|
||
<li><a
|
||
href="https://github.com/neo4j/neo4j-dotnet-driver">neo4j-dotnet-driver</a>
|
||
- .Net driver for Neo4j (Bolt).</li>
|
||
<li><a
|
||
href="https://github.com/graphaware/neo4j-bolt-php">neo4j-bolt-php</a> -
|
||
PHP driver for Neo4j binary protocol.</li>
|
||
<li><a
|
||
href="https://github.com/cleishm/libneo4j-client">libneo4j-client</a> -
|
||
libneo4j-client is a client library written in C for Neo4j. It is not
|
||
intended as a complete driver, but rather as a foundation on which basic
|
||
tools and drivers for various languages may be built. libneo4j-client
|
||
takes care of all the detail of establishing a session with a Neo4j
|
||
server, sending statements for evaluation, and retrieving results.</li>
|
||
<li><a
|
||
href="https://github.com/neo4j-contrib/neo4j-spark-connector">neo4j-spark-connector</a>
|
||
- Neo4j-Spark-Connector based on Neo4j 3.0’s Bolt protocol</li>
|
||
<li><a href="https://github.com/mschae/boltex">neo4j-elixir-driver</a> -
|
||
Elixir driver for the neo4j bolt protocol</li>
|
||
<li><a
|
||
href="https://github.com/florinpatrascu/bolt_sips">neo4j-elixir-wrapper</a>
|
||
- Neo4j driver for Elixir, wrapped around the Bolt protocol. Fork of the
|
||
Boltex.</li>
|
||
</ul>
|
||
<h2 id="rest-api">REST API</h2>
|
||
<h3 id="java">Java</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/neo4j/neo4j-ogm">neo4j-ogm</a> -
|
||
Object-Graph Mapping Library for Neo4j.</li>
|
||
<li><a
|
||
href="https://github.com/spring-projects/spring-data-neo4j">spring-data-neo4j</a>
|
||
- Provides support to increase developer productivity in Java when using
|
||
the neo4j graph database.</li>
|
||
<li><a href="https://github.com/neo4j-contrib/neo4j-jdbc">neo4j-jdbc</a>
|
||
- Neo4j JDBC driver.</li>
|
||
<li><a
|
||
href="https://github.com/Wolfgang-Schuetzelhofer/jcypher">jcypher</a> -
|
||
Java access to Neo4J graph databases at multiple levels of
|
||
abstraction.</li>
|
||
</ul>
|
||
<h3 id="ruby">Ruby</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/neo4jrb/neo4j">neo4jrb</a> - An active
|
||
model wrapper for the Neo4j Graph Database for Ruby.</li>
|
||
<li><a href="https://github.com/maxdemarzi/neography">neography</a> - A
|
||
thin Ruby wrapper to the Neo4j Rest API.</li>
|
||
</ul>
|
||
<h3 id="python">Python</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/nigelsmall/py2neo">py2neo</a> - Py2neo
|
||
is a comprehensive toolkit for working with Neo4j from within Python
|
||
applications or from the command line.</li>
|
||
<li><a href="https://github.com/neo4j-contrib/neomodel">neomodel</a> -
|
||
An Object Graph Mapper (OGM) for the neo4j graph database, built on the
|
||
awesome py2neo.</li>
|
||
</ul>
|
||
<h3 id="php">PHP</h3>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/graphaware/neo4j-php-ogm">Neo4j-PHP-OGM</a> -
|
||
Doctrine style Object Graph Mapper for Neo4j</li>
|
||
<li><a href="https://github.com/jadell/neo4jphp">neo4jphp</a> - PHP
|
||
wrapper of the Neo4j REST interface.</li>
|
||
<li><a href="https://github.com/Vinelab/NeoEloquent">NeoEloquent</a> - A
|
||
Neo4j ORM - Based on Eloquent.</li>
|
||
<li><a
|
||
href="https://github.com/graphaware/neo4j-php-client/tree/4.0">neo4j-php-client</a>
|
||
- PHP Client for Neo4j leveraging the Http and Bolt protocols.</li>
|
||
<li><a href="https://github.com/spider/spider">Spider</a> - A simple,
|
||
flexible, and beautiful graph-data abstraction for php.</li>
|
||
</ul>
|
||
<h3 id="other">Other</h3>
|
||
<ul>
|
||
<li><a href="https://github.com/thingdom/node-neo4j">node-neo4j</a> -
|
||
REST API client for Node.</li>
|
||
<li><a href="https://github.com/Readify/Neo4jClient">Neo4jClient</a> -
|
||
.NET client binding.</li>
|
||
<li><a href="https://github.com/jmcvetta/neoism">neoism</a> - Client for
|
||
Golang.</li>
|
||
<li><a href="https://github.com/michaelklishin/neocons">neocons</a> - A
|
||
feature rich idiomatic Clojure client for the REST API.</li>
|
||
<li><a href="https://github.com/nicolewhite/RNeo4j">RNeo4j</a> - Driver
|
||
for R.</li>
|
||
<li><a href="https://github.com/AnormCypher/AnormCypher">AnormCypher</a>
|
||
- Scala library based on Anorm in the Play Framework.</li>
|
||
</ul>
|
||
<h1 id="cloud">Cloud</h1>
|
||
<ul>
|
||
<li><a href="https://www.graphenedb.com/">GrapheneDB</a> - The world’s
|
||
first fully managed Neo4j graph database.</li>
|
||
<li><a href="https://www.graphstory.com/">GraphStory</a> - Neo4j
|
||
enterprise cloud provider</li>
|
||
</ul>
|
||
<h1 id="packages">Packages</h1>
|
||
<ul>
|
||
<li><a href="http://debian.neo4j.org/">Debian Packages</a></li>
|
||
<li><a href="http://yum.neo4j.org/stable/">Yum Repo</a></li>
|
||
</ul>
|
||
<h1 id="docker">Docker</h1>
|
||
<ul>
|
||
<li><a href="https://github.com/neo4j/docker-neo4j">docker-neo4j</a> -
|
||
Docker Images for the Neo4j Graph Database.</li>
|
||
<li><a
|
||
href="https://github.com/ekino/docker-neo4j-cluster">docker-neo4j-cluster</a>
|
||
- Up & Running Neo4j cluster in no time.</li>
|
||
</ul>
|
||
<h1 id="full-text-search">Full-text search</h1>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/graphaware/neo4j-to-elasticsearch">GraphAware
|
||
Neo4j Elasticsearch Integration</a> - GraphAware Framework Module for
|
||
Integrating Neo4j with Elasticsearch.</li>
|
||
<li><a
|
||
href="https://github.com/graphaware/graph-aided-search">GraphAware
|
||
Graph-Aided Search</a> - Elasticsearch plugin offering Neo4j integration
|
||
for Personalized Search.</li>
|
||
<li><a
|
||
href="https://github.com/neo4j-contrib/neo4j-elasticsearch">neo4j-elasticsearch</a>
|
||
- Neo4j ElasticSearch Integration.</li>
|
||
</ul>
|
||
<h1 id="import">Import</h1>
|
||
<ul>
|
||
<li><a href="https://github.com/graphaware/neo4j-importer">GraphAware
|
||
Neo4j Importer</a> - Java importer skeleton for complicated,
|
||
business-logic-heavy high-performance Neo4j imports directly from SQL
|
||
databases, CSV files, etc.</li>
|
||
<li><a
|
||
href="https://github.com/sarmbruster/neo4j-csv-firehose">neo4j-csv-firehose</a>
|
||
- Enables Neo4j’s <code>LOAD CSV</code> Cypher command to load from
|
||
other datasources as well.</li>
|
||
<li><a
|
||
href="https://github.com/jexp/neo4j-rdbms-import">neo4j-rdbms-import</a>
|
||
- An automatic importer for relational databases into Neo4j.</li>
|
||
<li><a href="https://github.com/neo4j-contrib/neo4j_doc_manager">Doc
|
||
manager for Neo4j</a> - The Neo4j Doc Manager takes MongoDB documents
|
||
and makes it easy to query them for relationships by making them
|
||
available in a Neo4j graph structure, following the format specified by
|
||
Mongo Connector.</li>
|
||
<li><a
|
||
href="https://github.com/wadael/neoloadcsvskelgen">neoloadcsvskelgen</a>
|
||
- Will output a skeleton of LOAD CSV Cypher code, from very little input
|
||
(filename, separator, hints). Save time, avoid typos.</li>
|
||
</ul>
|
||
<h1 id="benchmarking">Benchmarking</h1>
|
||
<ul>
|
||
<li><a href="https://github.com/moxious/neoprofiler">neoprofiler</a> -
|
||
Neo4J database profiling utility.</li>
|
||
</ul>
|
||
<h1 id="extensions">Extensions</h1>
|
||
<ul>
|
||
<li><a href="https://github.com/graphaware/neo4j-uuid">GraphAware Neo4j
|
||
UUID</a> - GraphAware Runtime Module that assigns a UUID to all nodes in
|
||
the graph transparently.</li>
|
||
<li><a href="https://github.com/graphaware/neo4j-changefeed">GraphAware
|
||
Neo4j ChangeFeed</a> - A GraphAware Framework Runtime Module allowing
|
||
users to find out what were the latest changes performed on the
|
||
graph.</li>
|
||
<li><a href="https://github.com/graphaware/neo4j-timetree">GraphAware
|
||
Neo4j TimeTree</a> - Java and REST APIs for working with
|
||
time-representing tree in Neo4j.</li>
|
||
<li><a href="https://github.com/graphaware/neo4j-reco">GraphAware Neo4j
|
||
Recommendation Engine</a> - Neo4j-based recommendation engine module
|
||
with real-time and pre-computed recommendations.</li>
|
||
<li><a href="https://github.com/graphaware/neo4j-algorithms">GraphAware
|
||
Neo4j Algorithms</a> - Custom graph algorithms for Neo4j with own Java
|
||
and REST APIs.</li>
|
||
<li><a href="https://github.com/graphaware/neo4j-warmup">GraphAware
|
||
Neo4j Warmup</a> - Simple library that warms up Neo4j caches with a
|
||
single REST call.</li>
|
||
<li><a href="https://github.com/graphaware/neo4j-resttest">GraphAware
|
||
Neo4j RestTest</a> - GraphAware RestTest is a simple library for testing
|
||
code that talks to Neo4j running in standalone server mode.</li>
|
||
<li><a href="https://github.com/graphaware/neo4j-expire">GraphAware
|
||
Neo4j Expire</a> - GraphAware Expire is a simple library that
|
||
automatically deletes nodes and relationships from the database when
|
||
they’ve reached their expiration date or time-to-live (TTL).</li>
|
||
<li><a href="https://github.com/neo4j-contrib/spatial">Spatial</a> -
|
||
Neo4j Spatial is a library of utilities for Neo4j that faciliates the
|
||
enabling of spatial operations on data.</li>
|
||
<li><a href="https://github.com/Graphify/graphify">Graphify</a> -
|
||
Graphify is a Neo4j unmanaged extension used for document and text
|
||
classification using graph-based hierarchical pattern recognition.</li>
|
||
<li><a
|
||
href="https://github.com/jexp/neo4j-tx-participation">neo4j-tx-participation</a>
|
||
- This is a Neo4j Server Extension to make Neo4j REST-API participate in
|
||
transactions started by the transactional Cypher endpoint.</li>
|
||
</ul>
|
||
<h1 id="stored-procedures">Stored Procedures</h1>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/neo4j-contrib/neo4j-apoc-procedures">Apoc :
|
||
Awesome Procedures on Cypher</a> - Collection of useful procedures for
|
||
Neo4j 3.x</li>
|
||
<li><a
|
||
href="https://github.com/graphaware/neo4j-graphgen-procedure">Graphgen</a>
|
||
- Neo4j procedure for generating test data easily with Cypher</li>
|
||
</ul>
|
||
<h1 id="development">Development</h1>
|
||
<ul>
|
||
<li><a href="https://m2.neo4j.org/index.html">Maven repositories</a> -
|
||
Neo4j Maven repositories (releases, snapshots).</li>
|
||
<li><a href="https://github.com/graphaware/neo4j-framework">GraphAware
|
||
Neo4j Framework</a>- GraphAware Framework speeds up development with
|
||
Neo4j by providing a platform for building useful generic as well as
|
||
domain-specific functionality, analytical capabilities, (iterative)
|
||
graph algorithms, etc.</li>
|
||
<li><a href="https://github.com/neo4j-contrib/cypher-dsl">cypher-dsl</a>
|
||
- A Java DSL for the Cypher Query Language and an optional Query DSL
|
||
mode.</li>
|
||
<li><a href="https://github.com/liquigraph/liquigraph">Liquigraph</a> -
|
||
Database migrations management tool, based on how Liquibase works.</li>
|
||
<li><a href="https://github.com/tinkerpop/blueprints">blueprints</a> -
|
||
Blueprints is a collection of interfaces, implementations,
|
||
ouplementations, and test suites for the property graph data model.
|
||
Blueprints is analogous to the JDBC, but for graph databases.</li>
|
||
<li><a href="https://github.com/structr/structr">structr</a> - Graph
|
||
Application Platform based on Neo4j.</li>
|
||
<li><a href="https://github.com/graphaware/reco4php">Reco4PHP</a> -
|
||
Neo4j based Recommendation Engine Framework for PHP.</li>
|
||
</ul>
|
||
<h1 id="editors">Editors</h1>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/neueda/jetbrains-plugin-graph-database-support">jetbrains-plugin-graph-database-support</a>
|
||
- Graph Databases support for Jetbrains family IDE’s.</li>
|
||
<li><a
|
||
href="https://github.com/neo4j-contrib/cypher-vim-syntax">cypher-vim-syntax</a>
|
||
- Very basic Vim syntax for Cypher.</li>
|
||
</ul>
|
||
<h1 id="shell">Shell</h1>
|
||
<ul>
|
||
<li><a href="https://github.com/nicolewhite/cycli">cycli</a> - A Command
|
||
Line Interface for Cypher.</li>
|
||
<li><a
|
||
href="https://github.com/jexp/neo4j-shell-tools">neo4j-shell-tools</a> -
|
||
A bunch of import/export tools for the neo4j-shell.</li>
|
||
</ul>
|
||
<h1 id="visualization">Visualization</h1>
|
||
<ul>
|
||
<li><a href="https://github.com/neo4j-contrib/neoclipse">neoclipse</a> -
|
||
Neoclipse is a tool to view, edit and explore Neo4j databases.</li>
|
||
<li><a href="https://github.com/gephi/gephi">Gephi</a> - Gephi is an
|
||
award-winning open-source platform for visualizing and manipulating
|
||
large graphs.</li>
|
||
<li><a href="https://linkurio.us/">Linkurious</a> - Linkurious helps
|
||
search and visualize your graph data through a simple web-based
|
||
interface.</li>
|
||
<li><a href="https://www.yworks.com/products/yfiles-for-html">yFiles for
|
||
HTML</a> - yFiles is a commercial generic graph visualization
|
||
programming library that comes with <a
|
||
href="http://live.yworks.com/demos/#neo4j">a demo to visualize your
|
||
neo4j databases in JavaScript</a>. It’s also the basis for the <a
|
||
href="https://www.yworks.com/neo4j-explorer/">free neo4j Graph Explorer
|
||
app</a>.</li>
|
||
</ul>
|
||
<h1 id="tools">Tools</h1>
|
||
<ul>
|
||
<li><a href="http://graphgen.graphaware.com">Graphgen</a> - Graph
|
||
Generation engine based on the Cypher DSL.</li>
|
||
<li><a href="https://github.com/jexp/store-utils">store-utils</a> -
|
||
Utilities to compact, copy, fix, analyse Neo4j stores.</li>
|
||
<li><a href="https://github.com/cohesivestack/ineo">ineo</a>- A simple
|
||
but useful Neo4j instance manager.</li>
|
||
<li><a href="https://www.yworks.com/blog/neo4j-node-design">yFiles neo4j
|
||
Graph Explorer</a> - A simple, free online tool to visualize your graph
|
||
data and database schema.</li>
|
||
</ul>
|
||
<h2 id="learn">Learn</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://neo4j.com/graphacademy/online-training/getting-started-graph-databases-using-neo4j/">Getting
|
||
Started with Neo4j</a></li>
|
||
<li><a
|
||
href="https://neo4j.com/graphacademy/online-training/neo4j-production/">Neo4j
|
||
in Production</a></li>
|
||
<li><a href="https://github.com/jimwebber/neo4j-tutorial">Neo4j
|
||
Koans</a> - A koan-style tutorial in Java for Neo4j.</li>
|
||
</ul>
|
||
<h2 id="certification">Certification</h2>
|
||
<ul>
|
||
<li><a href="https://neo4j.com/graphacademy/neo4j-certification/">Neo4j
|
||
Certification</a> - Become a Neo4j-Certified Professional.</li>
|
||
</ul>
|
||
<h2 id="miscellaneous">Miscellaneous</h2>
|
||
<ul>
|
||
<li><a href="https://trello.com/b/2zFtvDnV/public-idea-board">Neo4j’s
|
||
Idea board</a></li>
|
||
<li><a href="https://neo4j.com/hardware-sizing-calculator/">Hardware
|
||
Sizing Calculator</a></li>
|
||
</ul>
|
||
<h1 id="license">License</h1>
|
||
<p><a href="https://creativecommons.org/publicdomain/zero/1.0/"><img
|
||
src="https://licensebuttons.net/p/zero/1.0/88x31.png"
|
||
alt="CC0" /></a></p>
|
||
<p>To the extent possible under law, <a
|
||
href="https://github.com/Neueda">Neueda R&D</a> has waived all
|
||
copyright and related or neighboring rights to this work.</p>
|
||
<p><a href="https://github.com/neueda/awesome-neo4j">neo4j.md
|
||
Github</a></p>
|