andreasronge / neoxir Goto Github PK
View Code? Open in Web Editor NEWAn Elixir driver for the Neo4j Graph Database, see www.neo4j.org
License: MIT License
An Elixir driver for the Neo4j Graph Database, see www.neo4j.org
License: MIT License
Hi, don't have a lot of diagnostic assistance, still fiddling trying to see what deps to update in such a way as to minimize any code changes while getting it to work.
If you have any input please let me know. Othewise I'll try to work on fixing it
1) test multiple queries (Neo4jCypherResponseTest.ToRows)
test/cypher_response_test.exs:25
** (FunctionClauseError) no function clause matching in Access.fetch/2
stacktrace:
(elixir) lib/access.ex:48: Access.fetch({:ok, %{"errors" => [], "results" => [%{"columns" => ["x1"], "data" => [%{"row" => [253]}]}, %{"columns" => ["x2"], "data" => [%{"row" => [254]}]}]}}, "errors")
(elixir) lib/access.ex:72: Access.get/3
(neo4j) lib/neo4j/cypher_response.ex:7: Neo4j.CypherResponse.to_rows/1
test/cypher_response_test.exs:28
2) test CypherResponse.to_rows (Neo4jCypherResponseTest.ToRows)
test/cypher_response_test.exs:6
** (FunctionClauseError) no function clause matching in Access.fetch/2
stacktrace:
(elixir) lib/access.ex:48: Access.fetch({:ok, %{"errors" => [], "results" => [%{"columns" => ["x"], "data" => [%{"row" => [0]}, %{"row" => [1]}, %{"row" => [2]}]}]}}, "errors")
(elixir) lib/access.ex:72: Access.get/3
(neo4j) lib/neo4j/cypher_response.ex:7: Neo4j.CypherResponse.to_rows/1
test/cypher_response_test.exs:9
3) test complex results (Neo4jCypherResponseTest.ToRows)
test/cypher_response_test.exs:42
** (FunctionClauseError) no function clause matching in Access.fetch/2
stacktrace:
(elixir) lib/access.ex:48: Access.fetch({:ok, %{"errors" => [], "results" => [%{"columns" => ["name", "related_type", "related_to"], "data" => [%{"row" => ["Tom Hanks", "ACTED_IN", %{"roles" => ["Zachry", "Dr. Henry Goose", "Isaac Sachs", "Dermot Hoggins"]}]}, %{"row" => ["Hugo Weaving", "ACTED_IN", %{"roles" => ["Bill Smoke", "Haskell Moore", "Tadeusz Kesselring", "Nurse Noakes", "Boardman Mephi", "Old Georgie"]}]}, %{"row" => ["Halle Berry", "ACTED_IN", %{"roles" => ["Luisa Rey", "Jocasta Ayrs", "Ovid", "Meronym"]}]}, %{"row" => ["Jim Broadbent", "ACTED_IN", %{"roles" => ["Vyvyan Ayrs", "Captain Molyneux", "Timothy Cavendish"]}]}, %{"row" => ["Tom Tykwer", "DIRECTED", %{}]}, %{"row" => ["Andy Wachowski", "DIRECTED", %{}]}, %{"row" => ["Lana Wachowski", "DIRECTED", %{}]}, %{"row" => ["Stefan Arndt", "PRODUCED", %{}]}, %{"row" => ["David Mitchell", "WROTE", %{}]}, %{"row" => ["Jessica Thompson", "REVIEWED", %{"rating" => 95, "summary" => "An amazing journey"}]}]}]}}, "errors")
(elixir) lib/access.ex:72: Access.get/3
(neo4j) lib/neo4j/cypher_response.ex:7: Neo4j.CypherResponse.to_rows/1
test/cypher_response_test.exs:45
4) test with rest response (Neo4jCypherResponseTest.ToRows)
test/cypher_response_test.exs:33
** (FunctionClauseError) no function clause matching in Access.fetch/2
stacktrace:
(elixir) lib/access.ex:48: Access.fetch({:ok, %{"errors" => [], "results" => [%{"columns" => ["n"], "data" => [%{"rest" => [%{"all_relationships" => "http://localhost:7474/db/data/node/849/relationships/all", "all_typed_relationships" => "http://localhost:7474/db/data/node/849/relationships/all/{-list|&|types}", "create_relationship" => "http://localhost:7474/db/data/node/849/relationships", "data" => %{}, "incoming_relationships" => "http://localhost:7474/db/data/node/849/relationships/in", "incoming_typed_relationships" => "http://localhost:7474/db/data/node/849/relationships/in/{-list|&|types}", "labels" => "http://localhost:7474/db/data/node/849/labels", "metadata" => %{"id" => 849, "labels" => []}, "outgoing_relationships" => "http://localhost:7474/db/data/node/849/relationships/out", "outgoing_typed_relationships" => "http://localhost:7474/db/data/node/849/relationships/out/{-list|&|types}", "paged_traverse" => "http://localhost:7474/db/data/node/849/paged/traverse/{returnType}{?pageSize,leaseTime}", "properties" => "http://localhost:7474/db/data/node/849/properties", "property" => "http://localhost:7474/db/data/node/849/properties/{key}", "self" => "http://localhost:7474/db/data/node/849", "traverse" => "http://localhost:7474/db/data/node/849/traverse/{returnType}"}]}]}]}}, "errors")
(elixir) lib/access.ex:72: Access.get/3
(neo4j) lib/neo4j/cypher_response.ex:7: Neo4j.CypherResponse.to_rows/1
test/cypher_response_test.exs:36
5) test when errors (Neo4jCypherResponseTest.ToRows)
test/cypher_response_test.exs:14
** (FunctionClauseError) no function clause matching in Access.fetch/2
stacktrace:
(elixir) lib/access.ex:48: Access.fetch({:ok, %{"errors" => [%{"code" => "Neo.ClientError.Statement.InvalidSyntax", "message" => "Invalid input 'Q': expected 'e/E' (line 1, column 6)\n\"CREATQQQ (n) RETURN ID(n) as x\"\n ^"}], "results" => []}}, "errors")
(elixir) lib/access.ex:72: Access.get/3
(neo4j) lib/neo4j/cypher_response.ex:7: Neo4j.CypherResponse.to_rows/1
test/cypher_response_test.exs:17
6) test create_session: returns a session struct (Neo4jTest.CreateSession)
test/neoxir_test.exs:11
Expected truthy, got false
code: String.valid?(session.root_resource()["neo4j_version"])
stacktrace:
test/neoxir_test.exs:15
7) test a valid cypher query (Neo4jTxEndPointTest.Commit)
test/tx_end_point_test.exs:35
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
test/tx_end_point_test.exs:36
8) test commit: many invalid statements (Neo4jTest.Commit)
test/neoxir_test.exs:66
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
(neo4j) lib/neo4j.ex:26: Neo4j.commit/2
test/neoxir_test.exs:72
9) test many valid cypher queries (Neo4jTxEndPointTest.Commit)
test/tx_end_point_test.exs:14
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
test/tx_end_point_test.exs:20
10) test commit: many valid statements (Neo4jTest.Commit)
test/neoxir_test.exs:44
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
(neo4j) lib/neo4j.ex:26: Neo4j.commit/2
test/neoxir_test.exs:50
11) test an invalid cypher query (Neo4jTxEndPointTest.Commit)
test/tx_end_point_test.exs:56
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
test/tx_end_point_test.exs:57
12) test commit!: invalid statement (Neo4jTest.Commit)
test/neoxir_test.exs:86
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
(neo4j) lib/neo4j.ex:31: Neo4j.commit/2
(neo4j) lib/neo4j.ex:48: Neo4j.commit!/2
test/neoxir_test.exs:87
13) test commit and to_rows (Neo4jTxEndPointTest.Commit)
test/tx_end_point_test.exs:42
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
test/tx_end_point_test.exs:43
14) test commit!: single valid statement (Neo4jTest.Commit)
test/neoxir_test.exs:79
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
(neo4j) lib/neo4j.ex:31: Neo4j.commit/2
(neo4j) lib/neo4j.ex:48: Neo4j.commit!/2
test/neoxir_test.exs:80
15) test with rest response (Neo4jTxEndPointTest.Commit)
test/tx_end_point_test.exs:26
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
test/tx_end_point_test.exs:28
16) test commit: with REST response (Neo4jTest.Commit)
test/neoxir_test.exs:37
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
(neo4j) lib/neo4j.ex:31: Neo4j.commit/2
test/neoxir_test.exs:38
17) test commit: single invalid statement (Neo4jTest.Commit)
test/neoxir_test.exs:59
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
(neo4j) lib/neo4j.ex:31: Neo4j.commit/2
test/neoxir_test.exs:60
18) test commit: single valid statement (Neo4jTest.Commit)
test/neoxir_test.exs:30
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
(neo4j) lib/neo4j.ex:31: Neo4j.commit/2
test/neoxir_test.exs:31
19) test doc at Neo4j.commit!/2 (2) (DocTest)
test/doc_test.exs:3
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
(neo4j) lib/neo4j.ex:31: Neo4j.commit/2
(neo4j) lib/neo4j.ex:48: Neo4j.commit!/2
(for doctest at) lib/neo4j.ex:44
20) test doc at Neo4j.commit/2 (1) (DocTest)
test/doc_test.exs:3
** (exit) :badarg
stacktrace:
(kernel) gen_tcp.erl:148: :gen_tcp.connect/4
(hackney) src/hackney_connect/hackney_connect.erl:245: :hackney_connect.do_connect/5
(hackney) src/hackney_connect/hackney_connect.erl:36: :hackney_connect.connect/5
(hackney) src/hackney_client/hackney.erl:321: :hackney.request/5
(httpoison) lib/httpoison/base.ex:375: HTTPoison.Base.request/9
(httpoison) lib/httpoison.ex:60: HTTPoison.request!/5
(neo4j) lib/neo4j/tx_end_point.ex:9: Neo4j.TxEndPoint.commit/2
(neo4j) lib/neo4j.ex:31: Neo4j.commit/2
(for doctest at) lib/neo4j.ex:22
Finished in 0.4 seconds (0.2s on load, 0.1s on tests)
20 tests, 20 failures
Randomized with seed 694579
The used version of hackney does not support it. I went into neoxir/deps/hackney/rebar.config and changed the last line to {require_otp_vsn, "R15|R16|17|18"}.
from {require_otp_vsn, "R15|R16|17"}.
and neoxir worked.
Is there anyway to get this repo working on 18 without changing the dependency on hackney? Would love to help in anyway possible.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.