I am using Jupyter Notebook to execute gremlin query over Neptune Database and retrieving information from MySQL database and generating gremlin query string, which is being execute by Client module of "gremlin_python library" as follows.
def getConnectionWithNeptuneGraphDB():
global clientt
if clientt is not None:
print('clientt instance is available')
else:
print('clientt is not available')
clientt = client.Client('neptune_db_endpoint', 'g')
return clientt
#function to Create Person Node
def createPersonNode():
personsInfo = getPersonInformation(companyIdTouple)
print(personsInfo)
personGremQry = queryToCreatePersonNode(personsInfo)
clientt = getConnectionWithNeptuneGraphDB()
clientt.submit(personGremQry)
#print(personsInfo)
print('Person Node created successfully')
def main():
#Process to Create Company Node
createCompanyNode()
#Process to Create Person Node
createPersonNode()
connection.close()
clientt.close()
main() function is entry point here, in execution, createCompanyNode() is working fine and getting company in database but while executing createPersonNode(), this is showing following error, even I have tried only executing createPersonNode(), still the same error.
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-558-263240bbee7e> in <module>
----> 1 main()
<ipython-input-557-e622c1b6eefc> in main()
1 def main():
2 #createCompanyNode()
----> 3 createPersonNode()
4 connection.close()
5 clientt.close()
<ipython-input-550-60763852d6da> in createPersonNode()
16 personGremQry = queryToCreatePersonNode(personsInfo)
17 clientt = getConnectionWithNeptuneGraphDB()
---> 18 clientt.submit(personGremQry)
19 #print(personsInfo)
20 print('Person Node created successfully')
~/anaconda3/envs/JupyterSystemEnv/lib/python3.6/site-packages/gremlin_python/driver/client.py in submit(self, message, bindings, request_options)
128
129 def submit(self, message, bindings=None, request_options=None):
--> 130 return self.submitAsync(message, bindings=bindings, request_options=request_options).result()
131
132 def submitAsync(self, message, bindings=None, request_options=None):
~/anaconda3/envs/JupyterSystemEnv/lib/python3.6/concurrent/futures/_base.py in result(self, timeout)
423 raise CancelledError()
424 elif self._state == FINISHED:
--> 425 return self.__get_result()
426
427 self._condition.wait(timeout)
~/anaconda3/envs/JupyterSystemEnv/lib/python3.6/concurrent/futures/_base.py in __get_result(self)
382 def __get_result(self):
383 if self._exception:
--> 384 raise self._exception
385 else:
386 return self._result
~/anaconda3/envs/JupyterSystemEnv/lib/python3.6/site-packages/gremlin_python/driver/connection.py in cb(f)
64 def cb(f):
65 try:
---> 66 f.result()
67 except Exception as e:
68 future.set_exception(e)
~/anaconda3/envs/JupyterSystemEnv/lib/python3.6/concurrent/futures/_base.py in result(self, timeout)
423 raise CancelledError()
424 elif self._state == FINISHED:
--> 425 return self.__get_result()
426
427 self._condition.wait(timeout)
~/anaconda3/envs/JupyterSystemEnv/lib/python3.6/concurrent/futures/_base.py in __get_result(self)
382 def __get_result(self):
383 if self._exception:
--> 384 raise self._exception
385 else:
386 return self._result
~/anaconda3/envs/JupyterSystemEnv/lib/python3.6/concurrent/futures/thread.py in run(self)
54
55 try:
---> 56 result = self.fn(*self.args, **self.kwargs)
57 except BaseException as exc:
58 self.future.set_exception(exc)
~/anaconda3/envs/JupyterSystemEnv/lib/python3.6/site-packages/gremlin_python/driver/protocol.py in write(self, request_id, request_message)
72 def write(self, request_id, request_message):
73 message = self._message_serializer.serialize_message(
---> 74 request_id, request_message)
75 self._transport.write(message)
76
~/anaconda3/envs/JupyterSystemEnv/lib/python3.6/site-packages/gremlin_python/driver/serializer.py in serialize_message(self, request_id, request_message)
134
135 def serialize_message(self, request_id, request_message):
--> 136 processor = request_message.processor
137 op = request_message.op
138 args = request_message.args
AttributeError: 'NoneType' object has no attribute 'processor'