Thanks. I mis-remembered about the rationale for using DetachedFactory. In reality, it was because we DID want the properties to be returned. Back in 2016, with TINKERPOP-1474, I had a PR in to add the ability to query properties on python deserialized Vertex objects. It appears that the conversation about whether Gremlin would return properties has reached the conclusion that it largely won't. However, TinkerPop still does support using DetachedFactory; though python-gremlin still does not have the ability to deserialize those properties.
I suppose if that is the strategy going forward (for gremlin-python Vertex objects to not have Properties exposed in the API), there isn't much point to me using the DetachedFactory; rather, I should come up with some other work-around to enable grabbing properties programmatically. Perhaps a lazy 'properties()' method that queries back to the server to get the properties requested. On 2/20/18, 1:30 PM, "Stephen Mallette" <[email protected]> wrote: thanks for adding this: https://issues.apache.org/jira/browse/TINKERPOP-1895 i just commented. note that if you want to reduce extraneous data, you don't want to use DetachedFactory. You want ReferenceFactory. But, for 3.3.1, we already configure the server with HaltedTraverserStrategy using ReferenceFactory - see my code example in the comments on that issue. On Tue, Feb 20, 2018 at 2:39 PM, Stephen Mallette <[email protected]> wrote: > no, it's not. that's really strange. can you please create an issue in > jira for that? > > On Tue, Feb 20, 2018 at 2:15 PM, Moore, Branden James <[email protected]> > wrote: > >> We’re using our gremlin-python traversals with the >> HaltedTraverserStrategy(o.a.t.g.s.u.d.DetachedFactory), to decrease the >> extraneous amount of data returned in large queries. Today I discovered >> that if one uses this strategy, lambdas no longer work. >> >> For example, from the TinkerPop docs: >> g.V().out().map(lambda: "lambda x: len(x.get().value('name'))").s >> um().toList() >> >> Will give an error: >> GremlinServerError: 599: NameError: name 'TraversalStrategy' is not >> defined in <script> at line number 1 >> >> Is this the expected behavior when using the >> HaltedTraverserStrategy(DetachedFactory) ? >> >> Thanks, >> >> * Branden >> >> >
