Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gleopoldo/ex-cypher
Top-level DSL interface to interact with Neo4J via Cypher
https://github.com/gleopoldo/ex-cypher
cypher dsl hacktoberfest neo4j
Last synced: 3 months ago
JSON representation
Top-level DSL interface to interact with Neo4J via Cypher
- Host: GitHub
- URL: https://github.com/gleopoldo/ex-cypher
- Owner: gleopoldo
- Created: 2019-12-05T13:49:35.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-11T17:44:46.000Z (over 4 years ago)
- Last Synced: 2024-03-14T20:05:09.620Z (10 months ago)
- Topics: cypher, dsl, hacktoberfest, neo4j
- Language: Elixir
- Homepage:
- Size: 146 KB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ExCypher
![](https://github.com/gleopoldo/ex-cypher/workflows/Test/badge.svg)
![](https://github.com/gleopoldo/ex-cypher/workflows/Code%20Quality/badge.svg)Want a DSL to interact with Neo4j? Tired of concatenating stuff in your queries?
Use Ex-Cypher!
This project aims to solve that problems by providing a clean DSL to interact
with Neo4j through Cypher query language.## Installation
Add this to your `mix.exs`:
```elixir
def deps do
[
{:ex_cypher, "~> 0.3.0"}
]
end
```## Usage
Add to your module this first line:
```
import ExCypher, only: [:cypher]
```Then you can play around with our `cypher` macro. It'll attempt to convert
all you calls to cypher compliant code:```elixir
cypher do
match node(:p, [:Person], %{first_name: "bob", last_name: "thaves"})
return :p
end
```Returns:
```
MATCH (p:Person {"first_name":"bob", "last_name":"thaves"})
RETURN p
```I strongly recommend you to read the project docs [here](https://hexdocs.pm/ex_cypher).
### Contributing
All help and feedback is welcome. If you want to contribute with PR,
I've created a simple development environment with docker (so that one doesn't
need to have elixir installed locally) - and you can run it's CLI through
`./script/ex-cypher`.### License
This project is distributed under the MIT license.