Closed jpelayo closed 3 years ago
Hi,
From a look at your configuration everything seems OK. I will take a look at the source code and get back to you.
Cheers
On Wed, 22 Jan 2020, 10:40 jpelayo, notifications@github.com wrote:
Hi!
I'm trying to learn Gremlin by using it over ArangoDB. It looks quite straigtforward as only the console and a plugin seem to be needed.
I'm getting a java.lang.NullPointerException when loading the graph. Before that, I was warned to declare a missing relation in the config file, but as soon as the config file seems correct, the exception is thrown without further info.
The only piece might be missing is the Tinkerpop server, but the doc says that ArangoDB is compatible with the console "out of the box", and the connection is there because the collections are being checked if there is a config error.
This is my test graph: [image: Captura de pantalla 2020-01-22 a las 11 22 32] https://user-images.githubusercontent.com/10059639/72886766-b42c7080-3d0a-11ea-894e-b5287ce3e263.jpg [image: Captura de pantalla 2020-01-22 a las 11 22 03] https://user-images.githubusercontent.com/10059639/72886865-e2aa4b80-3d0a-11ea-9790-0487e26736fe.jpg
This is my config:
gremlin.graph = com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraph gremlin.arangodb.conf.graph.vertex = testfrom gremlin.arangodb.conf.graph.vertex = testto gremlin.arangodb.conf.graph.edge = testedge gremlin.arangodb.conf.graph.relation = testedge:testfrom->testto gremlin.arangodb.conf.graph.shouldPrefixCollectionNames = false gremlin.arangodb.conf.graph.db = Test02gremlin.arangodb.conf.graph.name = Test02Graph01 gremlin.arangodb.conf.arangodb.user = xxxxx gremlin.arangodb.conf.arangodb.password = xxxxx gremlin.arangodb.conf.arangodb.hosts = 127.0.0.1:8529 gremlin.arangodb.conf.arangodb.usessl = false
note: on OSX 10.14.6, Java SE RE (build 1.8.0_161-b12)
This is the error:
gremlin> :plugin list ==>tinkerpop.server[active] ==>tinkerpop.gephi ==>tinkerpop.utilities[active] ==>tinkerpop.arangodb[active] ==>tinkerpop.sugar ==>tinkerpop.credentials ==>tinkerpop.tinkergraph[active] gremlin> config = new org.apache.commons.configuration.PropertiesConfiguration("/Users/pelayo/Applications/TinkerPop/arangotest.properties") ==>org.apache.commons.configuration.PropertiesConfiguration@2b917fb0 gremlin> g = ArangoDBGraph.open(config) java.lang.NullPointerException Type ':help' or ':h' for help. Display stack trace? [yN]_ java.lang.NullPointerException at com.arangodb.tinkerpop.gremlin.client.ArangoDBGraphClient.getGraphVariables(ArangoDBGraphClient.java:494) at com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraph.
(ArangoDBGraph.java:601) at com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraph.open(ArangoDBGraph.java:543) at com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraph$open.call(Unknown Source) I know that there is an obvious misstep somewhere. Can someone take a moment to take a look at it, please?
Thanks!
PS: if I delete the line gremlin.arangodb.conf.graph.edge = testedge in the config, the error changes, so there is a nice connection:
gremlin> g = ArangoDBGraph.open(config) WARN com.arangodb.tinkerpop.gremlin.structure.ArangoDBGraph - Empty edges collection(s), the default 'edge' collection will be used. java.lang.NullPointerException
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ArangoDB-Community/arangodb-tinkerpop-provider/issues/57?email_source=notifications&email_token=AAQOU3JTHECJ2IWBSWOACRDQ7APATA5CNFSM4KKDPXA2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IH5BFBQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQOU3IU3HFHDAPAGTZM2LLQ7APATANCNFSM4KKDPXAQ .
This is definitely a bug. It seems the TINKERPOP-GRAPH-VARIABLES collection is not being created properly if the graph exists. Can you try creating a collection with this name, as in TINKERPOP-GRAPH-VARIABLES, in your db and see if that solves the problem?
I don't know if I have followed your indications right, but still launches exception.
gremlin> config = new org.apache.commons.configuration.PropertiesConfiguration("/Users/xxxx/Applications/TinkerPop/arangotest.properties")
==>org.apache.commons.configuration.PropertiesConfiguration@1afd72ef
gremlin> g = ArangoDBGraph.open(config)
java.lang.NullPointerException
Type ':help' or ':h' for help.
Display stack trace? [yN]y
java.lang.NullPointerException
at com.arangodb.tinkerpop.gremlin.client.ArangoDBGraphClient.getGraphVariables(ArangoDBGraphClient.java:494)
...
BTW I added a second PS to the original post. It also happens with gremlin server. May be related.
Muchas gracias, Horacio.
Can you add an object to the collection TINKERPOP-GRAPH-VARIABLES with "_key" Test02Graph01 and try again? I have added a fix for this, will release a new version.
Perdón por tardar con la respuesta.
That was it! Works.
gremlin> graph = ArangoDBGraph.open(config)
==>arangodbgraph[{"name":"Test02Graph01","vertices":{"testfrom", "testto"},"edges":{"testedge"},"relations":{"testedge:testfrom->testto"}}]
gremlin> g = graph.traversal()
==>graphtraversalsource[arangodbgraph[{"name":"Test02Graph01","vertices":{"testfrom", "testto"},"edges":{"testedge"},"relations":{"testedge:testfrom->testto"}}], standard]
gremlin> g.V()
==>v[testfrom/30149]
==>v[testto/30152]
Thank you very much!
Hi!
I'm trying to learn Gremlin by using it over ArangoDB. It looks quite straigtforward as only the console and a plugin seem to be needed.
I'm getting a java.lang.NullPointerException when loading the graph. Before that, I was warned to declare a missing relation in the config file, but as soon as the config file seems correct, the exception is thrown without further info.
The only piece might be missing is the Tinkerpop server, but the doc says that ArangoDB is compatible with the console "out of the box", and the connection is there because the collections are being checked if there is a config error.
This is my test graph:
This is my config:
note: on OSX 10.14.6, Java SE RE (build 1.8.0_161-b12)
This is the error:
I know that there is an obvious misstep somewhere. Can someone please point me in the right direction?
Thanks!
PS: if I delete the line gremlin.arangodb.conf.graph.edge = testedge in the config, the error changes, so there is a nice connection:
PS2: Problem is similar with the gremlin server.
Config (properties):
Config (yaml):
Output: