[ https://issues.apache.org/jira/browse/TINKERPOP-2824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17630426#comment-17630426 ]
ASF GitHub Bot commented on TINKERPOP-2824: ------------------------------------------- spmallette commented on code in PR #1843: URL: https://github.com/apache/tinkerpop/pull/1843#discussion_r1016646397 ########## docs/src/reference/the-traversal.asciidoc: ########## @@ -4916,6 +4916,28 @@ g.V().hasLabel('person'). <1> <8> `PathRetractionStrategy` will remove paths from the traversers and increase the likelihood of bulking as path data is not required after `select('b')`. <9> `AdjacentToIncidentStrategy` will turn `out()` into `outE()` to increase data access locality. +=== DetachStrategy + +`DetachStrategy` manages the fields that will be included in the result. The strategy adds a step to the end of the traversal +and does not affect the previous steps. +There are 3 options for detachMode: `ALL` for all properties, `NONE` for no properties, `CUSTOM` for a specific list of properties. +`id` and `label` always included in response. +Same for Vertexes and Edges. + +WARNING: by default Gremlin Server configured to use `ReferenceElementStrategy` which removes all properties. Review Comment: 1. What happens if `ReferenceElementStrategy` and `DetachStrategy` are both used at the same time? 2. I wonder what should happen to `ReferenceElementStrategy` in 3.7.x...is it even relevant anymore as there is `DetachStrategy` with mode `NONE` which is the same thing basically? I guess one returns a `ReferenceElement` and the other a `DetachedElement` with no properties so there is that difference. thoughts? 3. what should the new default for Gremlin Server be? > Properties on Elements > ---------------------- > > Key: TINKERPOP-2824 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2824 > Project: TinkerPop > Issue Type: Improvement > Components: dotnet, driver, go, javascript, process, python > Affects Versions: 3.5.4 > Reporter: Valentyn Kahamlyk > Assignee: Valentyn Kahamlyk > Priority: Major > Fix For: 3.7.0 > > > Problem: When a user writes `g.V()` they get back a Vertex object. The > problem is that depending on the execution context of the traversal, the > result could be quite different, with or without properties. > Solution: Implement new finalization strategy DetachStrategy(detachMode, > properties) where mode is one of ALL, NONE or CUSTOM. `properties` is list of > properties name, are taken into account only for CUSTOM mode. > Discussion thread in dev list: [Proposal to handle properties on response > Elements-Apache Mail > Archives|https://lists.apache.org/thread/l8rw7ydj7kym8vhtwk50nhbp45ng9986] > Stephen's thread in dev list: [The Issue of Detachment-Apache Mail > Archives|https://lists.apache.org/thread/xltcon4zxnwq4fyw2r2126syyrqm8spy] -- This message was sent by Atlassian Jira (v8.20.10#820010)