You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Gaxinto Theodorio (Jira)" <ji...@apache.org> on 2021/08/09 23:38:00 UTC
[jira] [Created] (TINKERPOP-2599) Issue with the behavior of the
coalesce method on the last few versions of gremlinpython
Gaxinto Theodorio created TINKERPOP-2599:
--------------------------------------------
Summary: Issue with the behavior of the coalesce method on the last few versions of gremlinpython
Key: TINKERPOP-2599
URL: https://issues.apache.org/jira/browse/TINKERPOP-2599
Project: TinkerPop
Issue Type: Bug
Components: python
Affects Versions: 3.5.1, 3.4.11, 3.4.10
Reporter: Gaxinto Theodorio
Fix For: 3.4.9
There's an issue with the functionality of the coalesce method in gremlin python. If you were to run the code below in version 3.4.9, you will find that the code works perfectly.
{code:java}
import os
from gremlin_python import statics, structure
from gremlin_python.process import graph_traversal
from gremlin_python.structure.graph import Graph
from gremlin_python.process.graph_traversal import __
from gremlin_python.process.strategies import *
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
from gremlin_python.process.traversal import T, within, Cardinalitygremlin_enpoint = "ws://localhost:8182/gremlin"
graph = Graph()
remoteConn = DriverRemoteConnection(gremlin_enpoint, "g")
g = graph.traversal().withRemote(remoteConn)response = (
g.V()
.fold()
.coalesce( # if exists update and get
g.V("mark"),
# if not exist then create
g.addV("Person").property(Cardinality.single, T.id, "mark")
)
.next()
)
print(response)
{code}
However, run the same exact code in the latest version and you will be greeted by the following error
{code:java}
Traceback (most recent call last):
File "<redacted>/playground/scripts/test_coalesce.py", line 18, in <module>
g.V("test")
File "<redacted>/playground-zEQSuka0/lib/python3.9/site-packages/gremlin_python/process/graph_traversal.py", line 217, in coalesce
self.bytecode.add_step("coalesce", *args)
File "<redacted>/playground-zEQSuka0/lib/python3.9/site-packages/gremlin_python/process/traversal.py", line 603, in add_step
instruction.append(self.__convertArgument(arg))
File "<redacted>/playground-zEQSuka0/lib/python3.9/site-packages/gremlin_python/process/traversal.py", line 629, in __convertArgument
raise TypeError("The child traversal of " + arg + " was not spawned anonymously - use the __ class rather than a TraversalSource to construct the child traversal")
TypeError: can only concatenate str (not "GraphTraversal") to str
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)