[ 
https://issues.apache.org/jira/browse/TINKERPOP-3055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17946878#comment-17946878
 ] 

ASF GitHub Bot commented on TINKERPOP-3055:
-------------------------------------------

andreachild commented on code in PR #3099:
URL: https://github.com/apache/tinkerpop/pull/3099#discussion_r2056964839


##########
docs/src/reference/gremlin-variants.asciidoc:
##########
@@ -1396,6 +1396,29 @@ can be passed in the constructor of a new `Client` or 
`DriverRemoteConnection` :
 |options.pongTimeout |Number |Timeout of pong response in ms after sending a 
ping. |30000
 |=========================================================
 
+[[gremlin-javascript-strategies]]
+=== Traversal Strategies
+
+In order to add and remove <<traversalstrategy,traversal strategies>> from a 
traversal source, Gremlin-Javascript has a
+`TraversalStrategy` class along with a collection of subclasses that mirror 
the standard Gremlin-Java strategies.
+
+[source,javascript]
+----
+// use the class name for the strategy directly for withoutStrategies()
+g.withoutStrategies(InlineFilterStrategy);

Review Comment:
   For consistency with `withStrategies` would it be better to also require an 
instance for `withoutStrategies` but then downstream propagate just the class 
name of the provided instance?





> withoutStrategies() mechanism in programming languages for providers
> --------------------------------------------------------------------
>
>                 Key: TINKERPOP-3055
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-3055
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: dotnet, go, javascript, process, python
>    Affects Versions: 3.7.1
>            Reporter: Stephen Mallette
>            Priority: Major
>
> {{withoutStrategies()}} is in the grammar for TINKERPOP-2862. That change did 
> not address its accessibility for provider strategies in language variants 
> very well. As the syntax requires a {{Class}} (and for the grammar, a 
> registered strategy class) you may not have that reference in a language 
> variant. Users could create dummy classes as the grammar works on simple 
> name, but that's not especially nice. Otoh, most users shouldn't be tinkering 
> with strategies so perhaps that's ok? It could be inconvenient for notebook 
> users and similar tools though to create the dummy. A simple alternative 
> could just be a {{withoutStrategies(String...)}} but that's not particularly 
> nice. Other ideas?
> needs a general look at all strategy construction across all languages:
> 1. check if the strategy construction makes sense in terms of types and 
> syntax in each language
> 2. watch out for wrong types being parsed into {{Configuration}} which can 
> lead to weird looking errors. 
> 3. are there adequate tests to validate all our syntax is working. we 
> technically need to test every strategy configuration options as those 
> corners are where bugs can hide.
> 4. double check {{List}} vs {{Set}} syntax because {{Set}} might be preferred 
> but a lot of folks will reach for {{[ ]}} just out of habit....do we want 
> them failing for that? can we ease the type there without losing {{Set}} in 
> type safe languages?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to