[
https://issues.apache.org/jira/browse/TINKERPOP-1896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16388449#comment-16388449
]
Branden Moore commented on TINKERPOP-1896:
------------------------------------------
I view the DSLs as extensions to the Gremlin language, rather than a
replacement of said language. If a DSL is an extension to the language, than
from the user of said extended language, they would expect the existing
language constructs to continue to exist. Do you consider '__' to be part of
the language of Gremlin? Given how pervasive it is, I certainly would
consider it part of the language.
Should all DSLs tell their users to avoid using '__', but rather some
DSL-specific key? Also, what happens when a user of the DSL (especially with
GroovyGremlin) forgets to always start anonymous traversals with the DSL's
version of __, and just allows the static import to fire? Well, it would get
the non-DSL version of __, I believe, which will cause much confusion.
This discussion is now well off-base now from where this ticket started.
Perhaps we should move conversation to the mailing list instead?
> gremlin-python lambdas error when working on Maps
> -------------------------------------------------
>
> Key: TINKERPOP-1896
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1896
> Project: TinkerPop
> Issue Type: Bug
> Components: python
> Affects Versions: 3.3.1
> Reporter: Branden Moore
> Priority: Major
> Fix For: 3.2.8, 3.3.2
>
>
> Gremlin-python lambdas throw an error on the server when the preceding step
> produces maps.
> {code}
> Traceback (most recent call last):
> File "foo.py", line 15, in <module>
> print g.V().has('name').match(__.as_('x').label().as_('lbl'),
> __.as_('x').id().as_('id')).select('lbl', 'id').map(lambda: "lambda x:
> type(x)").toList()
> File
> "/user/.local/lib/python2.7/site-packages/gremlin_python/process/traversal.py",
> line 52, in toList
> return list(iter(self))
> File
> "/user/.local/lib/python2.7/site-packages/gremlin_python/process/traversal.py",
> line 70, in next
> return self.__next__()
> File
> "/user/.local/lib/python2.7/site-packages/gremlin_python/process/traversal.py",
> line 43, in __next__
> self.traversal_strategies.apply_strategies(self)
> File
> "/user/.local/lib/python2.7/site-packages/gremlin_python/process/traversal.py",
> line 352, in apply_strategies
> traversal_strategy.apply(traversal)
> File
> "/user/.local/lib/python2.7/site-packages/gremlin_python/driver/remote_connection.py",
> line 143, in apply
> remote_traversal = self.remote_connection.submit(traversal.bytecode)
> File
> "/user/.local/lib/python2.7/site-packages/gremlin_python/driver/driver_remote_connection.py",
> line 54, in submit
> results = result_set.all().result()
> File
> "/user/.local/lib/python2.7/site-packages/concurrent/futures/_base.py", line
> 462, in result
> return self.__get_result()
> File
> "/user/.local/lib/python2.7/site-packages/concurrent/futures/_base.py", line
> 414, in __get_result
> raise exception_type, self._exception, self._traceback
> gremlin_python.driver.protocol.GremlinServerError: 599: AttributeError: type
> object 'org.apache.tinkerpop.gremlin.process.traversal.dsl' has no attribute
> 'as_' in <script> at line number 1
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)