neo4j_sips alternatives and similar packages
Based on the "ORM and Datamapping" category.
Alternatively, view neo4j_sips alternatives based on common mentions on social networks and blogs.
-
paper_trail
Track and record all the changes in your database with Ecto. Revert back to anytime in history. -
ecto_psql_extras
Ecto PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more.
SaaSHub - Software Alternatives and Reviews
![SaaSHub Logo SaaSHub Logo](https://cdn-b.libhunt.com/assets/partners/saashub-small-09b040e303cf50000aca670e1c77a15c64fc5c073fbdca2665ec2b8b621efc1a.png)
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of neo4j_sips or a related project?
README
Neo4j.Sips
A simple Elixir driver using the Neo4j graph database REST API. Compatible with the following Neo4j servers: 2.x/3.0.x/3.1.x
Documentation: hexdocs.pm/neo4j_sips/
You can also look at: Bolt.Sips - Elixir driver using the Bolt protocol; Neo4j's newest network protocol, designed for high-performance.
Install
Available in Hex. Edit the mix.ex
file and add the neo4j_sips
dependency to the deps/1
function:
def deps do
[{:neo4j_sips, "~> 0.2"}]
end
or from Github:
def deps do
[{:neo4j_sips, github: "florinpatrascu/neo4j_sips"}]
end
If you're using a local development copy:
def deps do
[{:neo4j_sips, path: "../neo4j_sips"}]
end
Then add the neo4j_sips
dependency the applications list:
def application do
[applications: [:logger, :neo4j_sips],
mod: {Neo4j.Sips.Application, []}]
end
Edit the config/config.exs
and describe a Neo4j server endpoint, example:
config :neo4j_sips, Neo4j,
url: "http://localhost:7474",
pool_size: 5,
max_overflow: 2,
timeout: 15_000 # milliseconds!
Run mix do deps.get, deps.compile
If your server requires basic authentication, add this to your config file:
basic_auth: [username: "foo", password: "bar"]
Or:
token_auth: "bmVvNGo6dGVzdA==" # if using an authentication token?!
You can also specify the authentication in the url
config:
url: "http://neo4j:neo4j@localhost:7474"
Example
With a minimalist setup configured as above, and a Neo4j server running, we can connect to the server and run some queries using Elixir’s interactive shell (IEx):
$ cd <my_mix_project>
$ iex -S mix
Erlang/OTP 19 [erts-8.0.2] [source] [64-bit] ...
Interactive Elixir (1.3.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> alias Neo4j.Sips, as: Neo4j
iex(2)> Neo4j.start_link(url: "http://localhost:7474")
{:ok, #PID<0.204.0>}
iex(3)> cypher = """
CREATE (n:Neo4jSips {title:'Elixir sipping from Neo4j', released:2015,
license:'MIT', neo4j_sips_test: true})
"""
iex(4)> Neo4j.query(Neo4j.conn, cypher)
{:ok, []}
iex(5)> n = Neo4j.query!(Neo4j.conn, "match (n:Neo4jSips {title:'Elixir sipping from Neo4j'}) where n.neo4j_sips_test return n")
[%{"n" => %{"license" => "MIT", "neo4j_sips_test" => true, "released" => 2015,
"title" => "Elixir sipping from Neo4j"}}]
For more examples, see the test suites.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Test (
mix test
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Contributors
As reported by Github: contributions to master, excluding merge commits
Author
Florin T.PATRASCU (@florinpatrascu, @florin on Twitter)
License
- Neo4j.Sips - MIT, check [LICENSE](LICENSE) file for more information.
- Neo4j - Dual free software/commercial license, see http://neo4j.org/
*Note that all licence references and agreements mentioned in the neo4j_sips README section above
are relevant to that project's source code only.