caylir alternatives and similar packages
Based on the "ORM and Datamapping" category.
Alternatively, view caylir 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. -
ExAudit
Ecto auditing library that transparently tracks changes and can revert them. -
ecto_psql_extras
Ecto PostgreSQL database performance insights. Locks, index usage, buffer cache hit ratios, vacuum stats and more. -
arbor
Ecto elixir adjacency list and tree traversal. Supports Ecto versions 2 and 3. -
sqlitex
An Elixir wrapper around esqlite. Allows access to sqlite3 databases. -
boltun
Transforms notifications from the Postgres LISTEN/NOTIFY mechanism into callback execution -
sql_dust
Easy. Simple. Powerful. Generate (complex) SQL queries using magical Elixir SQL dust.
Static code analysis for 29 languages.
* 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 caylir or a related project?
README
Caylir
Cayley driver for Elixir
Cayley Support
Tested Cayley versions:
0.7.3
0.7.4
0.7.5
0.7.7
(see .travis.yml
to be sure)
Package Setup
To use Caylir with your projects, edit your mix.exs
file and add the required dependencies:
defp deps do
[
# ...
{:caylir, "~> 1.0"},
# ...
]
end
Application Setup
Graph Definition
Defining a graph connection requires defining a module:
defmodule MyGraph do
use Caylir.Graph, otp_app: :my_app
end
This defined graph module needs to be hooked up into your supervision tree:
children = [
# ...
MyGraph,
# ...
]
For a more detailed explanation of how to get started with a graph please consult the inline documentation of the Caylir.Graph
module.
To configure your connection you can use the application environment:
config :my_app, MyGraph,
host: "cayley.host",
port: 42160,
scheme: "https"
The entry should match the chosen :otp_app
and module name defined earlier.
For more information on how (and what) to configure please refer to the inline documentation of the Caylir.Graph.Config
module.
Usage
Querying data:
MyGraph.query("graph.Vertex('graph').Out('connection').All()")
Writing Data:
MyGraph.write(%{
subject: "graph",
predicate: "connection",
object: "target"
})
Deleting Data:
MyGraph.delete(%{
subject: "graph",
predicate: "connection",
object: "target"
})
A more detailed usage documentation can be found inline at the Caylir.Graph
module.
License
*Note that all licence references and agreements mentioned in the caylir README section above
are relevant to that project's source code only.