[jira] [Closed] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stephen Mallette closed TINKERPOP-3056. --- Fix Version/s: 4.0.0 3.6.7 3.7.2 Assignee: Stephen Mallette Resolution: Fixed > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Assignee: Stephen Mallette >Priority: Blocker > Fix For: 4.0.0, 3.6.7, 3.7.2 > > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817147#comment-17817147 ] ASF GitHub Bot commented on TINKERPOP-3056: --- spmallette merged PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487 > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3018) No Syntax Highlighting for .NET Examples
[ https://issues.apache.org/jira/browse/TINKERPOP-3018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817138#comment-17817138 ] Stephen Mallette commented on TINKERPOP-3018: - this may be an issue with the syntax highlighter. i thought asciidoc was using coderay: http://coderay.rubychan.de/ which doesn't seem to have a direct csharp support. maybe it's just defaulting to some general formatting in some cases where you see some. as a quick test i switched the formatting from "chsarp" to "ruby" and i got some color. might not be much that can be done about this. coderay hasn't been updated in a few years from what i can tell. we'd have to switch out the highlighting system i guess. not sure if it's worth doing right now. if we all Gremlin examples were available in C# i'd feel more inclined to make a change but the few we have doesn't seem to make it worth it. > No Syntax Highlighting for .NET Examples > > > Key: TINKERPOP-3018 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3018 > Project: TinkerPop > Issue Type: Improvement > Components: documentation >Affects Versions: 3.6.5 >Reporter: Cole Greer >Priority: Minor > > In the reference docs, the C# code examples have no syntax highlighting. The > code examples for all other GLV's have such highlighting. This can be seen in > the examples here: > https://tinkerpop.apache.org/docs/3.6.5/reference/#basic-gremlin. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Closed] (TINKERPOP-2359) onShutDown not being called when docker container stopped
[ https://issues.apache.org/jira/browse/TINKERPOP-2359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cole Greer closed TINKERPOP-2359. - Fix Version/s: 3.6.7 3.7.2 Resolution: Fixed Fixed in https://github.com/apache/tinkerpop/pull/2397 > onShutDown not being called when docker container stopped > - > > Key: TINKERPOP-2359 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2359 > Project: TinkerPop > Issue Type: Bug > Components: server >Affects Versions: 3.4.6 >Reporter: ohad israeli >Assignee: Cole Greer >Priority: Critical > Fix For: 3.6.7, 3.7.2 > > > When one uses groovy hooks with tinkerpop server hosted within the official > docker the onStartUp hook will be called at server startup but the onShutDown > will not be called. > I am using tinkergraph server for local testing and i would like to persist > the data upon the server exit. i've added a graph.close to the onShutDown > hook but i havent been able to get it called. > It will be called of course if you use the server start / server stop shell > script but not if you kill / stop the docker container. > If there is some other way to persist the date i.e. call the graph.close from > code and note via the console it would also be great as using it from node > javascript i havent been able to find a way to call the graph.close directly. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (TINKERPOP-3020) Incorrect tests
[ https://issues.apache.org/jira/browse/TINKERPOP-3020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Xia updated TINKERPOP-3020: Priority: Blocker (was: Major) > Incorrect tests > --- > > Key: TINKERPOP-3020 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3020 > Project: TinkerPop > Issue Type: Improvement > Components: test-suite >Affects Versions: 3.7.1 >Reporter: pieter martin >Priority: Blocker > > The following tests are incorrectly specified. > {code:java} > OptOut... > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_bothE_weight", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_bothE_weight", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_bothE_dedup_weight", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_bothE_weight", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_both_name", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_both_name", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_both_dedup_name", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_both_name", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_out_name", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_in_name", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_out_name", > "int should be double"), > Map.entry("g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_out_name", > "int should be double"), > Map.entry("g_VX1X_formatXstrX_byXconstantXhelloXX_byXvaluesXnameXX", "id can > not be an int"), > Map.entry("g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists", > "int should be double"), > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (TINKERPOP-3030) Update to .NET 8
[ https://issues.apache.org/jira/browse/TINKERPOP-3030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Xia updated TINKERPOP-3030: Priority: Blocker (was: Minor) > Update to .NET 8 > > > Key: TINKERPOP-3030 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3030 > Project: TinkerPop > Issue Type: Improvement > Components: dotnet >Affects Versions: 3.5.8, 3.6.6, 3.7.1 >Reporter: Florian Hockmann >Assignee: Florian Hockmann >Priority: Blocker > > .NET 8 is now the latest LTS release so we should update to it. > We need to do that on all release branches so contributors only need to have > one version of .NET installed on their systems. > This also means that we test by default with .NET 8 which would have shown > problems like the one described in TINKERPOP-3029. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (TINKERPOP-3039) Java driver won't propagate with args when using aliased client directly
[ https://issues.apache.org/jira/browse/TINKERPOP-3039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Xia updated TINKERPOP-3039: Priority: Critical (was: Major) > Java driver won't propagate with args when using aliased client directly > > > Key: TINKERPOP-3039 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3039 > Project: TinkerPop > Issue Type: Bug > Components: driver >Affects Versions: 3.6.6, 3.7.1 >Reporter: Ken Hu >Priority: Critical > > The Java driver is unable to pass on options defined in the query via a > .with() configuration step when attempting to submit with the > AliasClusteredClient's submit() method. > Example: > {code:java} > Cluster cluster = Cluster.build().create(); > Client client = cluster.connect().alias("ggrateful"); > GraphTraversalSource g = > traversal().withRemote(DriverRemoteConnection.using(client, "ggrateful")); > GraphTraversal traversal = g.with("evaluationTimeout", > 1).V().both().both().both(); > try { > List results = client.submit(traversal).all().get(); > } catch (Exception e) { > e.printStackTrace(); > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (TINKERPOP-3040) Remote Console won't send queries that cause exceptions locally
[ https://issues.apache.org/jira/browse/TINKERPOP-3040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Xia updated TINKERPOP-3040: Priority: Critical (was: Major) > Remote Console won't send queries that cause exceptions locally > --- > > Key: TINKERPOP-3040 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3040 > Project: TinkerPop > Issue Type: Bug > Components: console >Affects Versions: 3.7.0 >Reporter: Ken Hu >Priority: Critical > > From: https://groups.google.com/g/gremlin-users/c/U2gIxmRcrI8/m/x12banhdAAAJ > It appears that if an exception occurs when the remote console is executing a > command locally then it won't send that query to the server. > > Example: > {code:java} > \,,,/ > (o o) > -oOOo-(3)-oOOo- > plugin activated: tinkerpop.server > plugin activated: tinkerpop.utilities > plugin activated: tinkerpop.tinkergraph > plugin activated: janusgraph.imports > gremlin> :remote connect tinkerpop.server conf/remote.yaml > ==>Configured localhost/127.0.0.1:45940 > gremlin> :remote console > ==>All scripts will now be sent to Gremlin Server - > [localhost/127.0.0.1:45940] - type ':remote console' to return to local mode > gremlin> JanusGraphFactory.getGraphNames() > Gremlin Server must be configured to use the JanusGraphManager. > Type ':help' or ':h' for help. > Display stack trace? [yN]y > java.lang.NullPointerException: Gremlin Server must be configured to use the > JanusGraphManager. > at > com.google.common.base.Preconditions.checkNotNull(Preconditions.java:921) > at > org.janusgraph.core.JanusGraphFactory.getGraphNames(JanusGraphFactory.java:187) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) > at groovysh_evaluate.run(groovysh_evaluate:3) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.selectMethod(IndyInterface.java:355) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) > at > org.apache.groovy.groovysh.Interpreter.evaluate(Interpreter.groovy:82) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) > at > org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:118) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) > at org.apache.groovy.groovysh.Shell.leftShift(Shell.groovy:121) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) > at org.apache.groovy.groovysh.ShellRunner.work(ShellRunner.groovy:93) > at > org.apache.groovy.groovysh.InteractiveShellRunner.work(InteractiveShellRunner.groovy:124) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) > at org.apache.groovy.groovysh.ShellRunner.run(ShellRunner.groovy:57) > at > org.apache.groovy.groovysh.InteractiveShellRunner.run(InteractiveShellRunner.groovy:96) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) > at > org.apache.tinkerpop.gremlin.console.Console.(Console.groovy:175) > at > org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321) > at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:574) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (TINKERPOP-3044) Add the ability to explicitly specify the type for numeric data in JavaScript GLV
[ https://issues.apache.org/jira/browse/TINKERPOP-3044?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Xia updated TINKERPOP-3044: Affects Version/s: 3.6.6 > Add the ability to explicitly specify the type for numeric data in JavaScript > GLV > - > > Key: TINKERPOP-3044 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3044 > Project: TinkerPop > Issue Type: Improvement > Components: javascript >Affects Versions: 3.6.6 >Reporter: Valentyn Kahamlyk >Priority: Minor > > Now integer value can be serialized only as Int or Long, and users can't > select type explicitly. > [implementation|https://github.com/apache/tinkerpop/blob/963bece33ce0f662ea8e6106b1128e27b587aaed/gremlin-javascript/src/main/javascript/gremlin-javascript/lib/structure/io/binary/internals/NumberSerializationStrategy.js#L57] > Add support for Byte and Short, allow so select type for any number, for > example send 1 as Byte or Short or Int or Long or Double, etc. > > Find a way to handle values outside [MIN_SAFE_INTEGER,MAX_SAFE_INTEGER]. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (TINKERPOP-3048) Class is not working right in language variants
[ https://issues.apache.org/jira/browse/TINKERPOP-3048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Xia updated TINKERPOP-3048: Priority: Critical (was: Blocker) > Class is not working right in language variants > --- > > Key: TINKERPOP-3048 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3048 > Project: TinkerPop > Issue Type: Bug > Components: dotnet, go, javascript, python >Affects Versions: 3.7.1 >Reporter: Stephen Mallette >Priority: Critical > > {{withoutStrategies()}} takes {{Class}} but the GLVs all have their own > problems with this. it's typically one of several problems: > 1. bad method signature using {{TraversalStrategy}} rather than {{Class}}. > 2. the translators are broken in some way > 3. the serializers are broken for serializing {{Class}} > Need to get this fixed so that TINKERPOP-2862 can be settled. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (TINKERPOP-3054) RequestId serialization broken in Python GLV
[ https://issues.apache.org/jira/browse/TINKERPOP-3054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yang Xia updated TINKERPOP-3054: Priority: Blocker (was: Major) > RequestId serialization broken in Python GLV > > > Key: TINKERPOP-3054 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3054 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.6.6, 3.7.1 >Reporter: Valentyn Kahamlyk >Priority: Blocker > > `g.with_('requestId', uuid.uuid1()).V().count().toList()` > failed with error `AttributeError: 'UUID' object has no attribute 'replace'` > in line > `uuid.UUID(request_id) # Checks for proper UUID or else server will return an > error.` -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3031) Bad translation for g.tx()
[ https://issues.apache.org/jira/browse/TINKERPOP-3031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817114#comment-17817114 ] ASF GitHub Bot commented on TINKERPOP-3031: --- codecov-commenter commented on PR #2488: URL: https://github.com/apache/tinkerpop/pull/2488#issuecomment-1942184344 ## [Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2488?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) Report All modified and coverable lines are covered by tests :white_check_mark: > Comparison is base [(`4e8a8f9`)](https://app.codecov.io/gh/apache/tinkerpop/commit/4e8a8f95fa5237bca98de9b7b65a3a056ee44067?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) 75.14% compared to head [(`d4892ad`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2488?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) 75.14%. Additional details and impacted files ```diff @@Coverage Diff @@ ## 3.6-dev#2488 +/- ## == Coverage 75.14% 75.14% - Complexity 1234412345+1 == Files 1058 1058 Lines 6361063628 +18 Branches6962 6967+5 == + Hits 4779847815 +17 - Misses 1322613231+5 + Partials2586 2582-4 ``` [:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2488?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache). :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache). > Bad translation for g.tx() > -- > > Key: TINKERPOP-3031 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3031 > Project: TinkerPop > Issue Type: Bug > Components: translator >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Critical > > Not sure if other translators are affected but {{GroovyTranslator}} doesn't > translate {{tx()}} properly: > {code} > gremlin> > GroovyTranslator.of('g').translate(org.apache.tinkerpop.gremlin.process.traversal.GraphOp.TX_ROLLBACK.bytecode).script > ==>g.tx("rollback") > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3031) Bad translation for g.tx()
[ https://issues.apache.org/jira/browse/TINKERPOP-3031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817108#comment-17817108 ] ASF GitHub Bot commented on TINKERPOP-3031: --- spmallette opened a new pull request, #2488: URL: https://github.com/apache/tinkerpop/pull/2488 https://issues.apache.org/jira/browse/TINKERPOP-3031 VOTE +1 > Bad translation for g.tx() > -- > > Key: TINKERPOP-3031 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3031 > Project: TinkerPop > Issue Type: Bug > Components: translator >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Critical > > Not sure if other translators are affected but {{GroovyTranslator}} doesn't > translate {{tx()}} properly: > {code} > gremlin> > GroovyTranslator.of('g').translate(org.apache.tinkerpop.gremlin.process.traversal.GraphOp.TX_ROLLBACK.bytecode).script > ==>g.tx("rollback") > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies
[ https://issues.apache.org/jira/browse/TINKERPOP-2862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817102#comment-17817102 ] ASF GitHub Bot commented on TINKERPOP-2862: --- Cole-Greer commented on PR #2483: URL: https://github.com/apache/tinkerpop/pull/2483#issuecomment-1942128603 LGTM VOTE +1 > A grammar in TinkerPop should accept withoutStrategies > -- > > Key: TINKERPOP-2862 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2862 > Project: TinkerPop > Issue Type: Improvement > Components: language >Affects Versions: 3.6.1, 3.5.4 >Reporter: Norio Akagi >Priority: Major > > In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}. > [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65] > > We should support so that a caller can disable a specific TinkerPop optimizer > at will. Note that graph providers can have their own Strategy, which may be > out of scope of {{withoutStrategies.}} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817101#comment-17817101 ] ASF GitHub Bot commented on TINKERPOP-3056: --- Cole-Greer commented on PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1942116756 LGTM VOTE +1 > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817094#comment-17817094 ] ASF GitHub Bot commented on TINKERPOP-3056: --- xiazcy commented on PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1942092498 VOTE +1 > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817091#comment-17817091 ] ASF GitHub Bot commented on TINKERPOP-3056: --- vkagamlyk commented on PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1942076338 VOTE +1 not exactly related to the current ticket, but is there same issue for `MergeV`? > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (TINKERPOP-3054) RequestId serialization broken in Python GLV
[ https://issues.apache.org/jira/browse/TINKERPOP-3054?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stephen Mallette updated TINKERPOP-3054: Issue Type: Bug (was: Improvement) > RequestId serialization broken in Python GLV > > > Key: TINKERPOP-3054 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3054 > Project: TinkerPop > Issue Type: Bug > Components: python >Affects Versions: 3.6.6, 3.7.1 >Reporter: Valentyn Kahamlyk >Priority: Major > > `g.with_('requestId', uuid.uuid1()).V().count().toList()` > failed with error `AttributeError: 'UUID' object has no attribute 'replace'` > in line > `uuid.UUID(request_id) # Checks for proper UUID or else server will return an > error.` -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817085#comment-17817085 ] ASF GitHub Bot commented on TINKERPOP-3056: --- spmallette commented on code in PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#discussion_r1488293645 ## gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature: ## @@ -841,3 +841,45 @@ Feature: Step - mergeE() """ When iterated to list Then the traversal will raise an error with message containing text of "Property key can not be a hidden key: ~label" + + Scenario: g_V_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property("name", "marko").as("a"). +addV("person").property("name", "vadas").as("b"). +addE("knows").property("weight", 1).from("a").to("b") + """ +And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]" +And the traversal of + """ + g.V().mergeE(xx1). + option(Merge.onMatch, __.sideEffect(__.property("weight", 0)).constant([:])) + """ +When iterated to list +Then the result should have a count of 2 +And the graph should return 2 for count of "g.V()" +And the graph should return 0 for count of "g.E().hasLabel(\"knows\").has(\"weight\",1)" +And the graph should return 1 for count of "g.E().hasLabel(\"knows\").has(\"weight\",0)" +And the graph should return 0 for count of "g.V().hasLabel(\"knows\").has(\"weight\")" Review Comment: bad cut/paste - fixed both - thanks. > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies
[ https://issues.apache.org/jira/browse/TINKERPOP-2862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817070#comment-17817070 ] ASF GitHub Bot commented on TINKERPOP-2862: --- vkagamlyk commented on PR #2483: URL: https://github.com/apache/tinkerpop/pull/2483#issuecomment-1941971681 VOTE +1 > A grammar in TinkerPop should accept withoutStrategies > -- > > Key: TINKERPOP-2862 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2862 > Project: TinkerPop > Issue Type: Improvement > Components: language >Affects Versions: 3.6.1, 3.5.4 >Reporter: Norio Akagi >Priority: Major > > In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}. > [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65] > > We should support so that a caller can disable a specific TinkerPop optimizer > at will. Note that graph providers can have their own Strategy, which may be > out of scope of {{withoutStrategies.}} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817067#comment-17817067 ] ASF GitHub Bot commented on TINKERPOP-3056: --- vkagamlyk commented on code in PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#discussion_r1488216500 ## gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature: ## @@ -841,3 +841,45 @@ Feature: Step - mergeE() """ When iterated to list Then the traversal will raise an error with message containing text of "Property key can not be a hidden key: ~label" + + Scenario: g_V_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property("name", "marko").as("a"). +addV("person").property("name", "vadas").as("b"). +addE("knows").property("weight", 1).from("a").to("b") + """ +And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]" +And the traversal of + """ + g.V().mergeE(xx1). + option(Merge.onMatch, __.sideEffect(__.property("weight", 0)).constant([:])) + """ +When iterated to list +Then the result should have a count of 2 +And the graph should return 2 for count of "g.V()" +And the graph should return 0 for count of "g.E().hasLabel(\"knows\").has(\"weight\",1)" +And the graph should return 1 for count of "g.E().hasLabel(\"knows\").has(\"weight\",0)" +And the graph should return 0 for count of "g.V().hasLabel(\"knows\").has(\"weight\")" + + Scenario: g_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property("name", "marko").as("a"). +addV("person").property("name", "vadas").as("b"). +addE("knows").property("weight", 1).from("a").to("b") + """ +And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]" +And the traversal of + """ + g.mergeE(xx1). + option(Merge.onMatch, __.sideEffect(__.property("weight", 0)).constant([:])) + """ +When iterated to list +Then the result should have a count of 1 +And the graph should return 2 for count of "g.V()" +And the graph should return 0 for count of "g.E().hasLabel(\"knows\").has(\"weight\",1)" +And the graph should return 1 for count of "g.E().hasLabel(\"knows\").has(\"weight\",0)" +And the graph should return 0 for count of "g.V().hasLabel(\"knows\").has(\"weight\")" Review Comment: ```suggestion And the graph should return 0 for count of "g.V().has(\"weight\")" ``` > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817066#comment-17817066 ] ASF GitHub Bot commented on TINKERPOP-3056: --- vkagamlyk commented on code in PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#discussion_r1488215072 ## gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature: ## @@ -841,3 +841,45 @@ Feature: Step - mergeE() """ When iterated to list Then the traversal will raise an error with message containing text of "Property key can not be a hidden key: ~label" + + Scenario: g_V_mergeEXlabel_knows_out_marko_in_vadasX_optionXonMatch_sideEffectXpropertyXweight_0XX_constantXemptyXX +Given the empty graph +And the graph initializer of + """ + g.addV("person").property("name", "marko").as("a"). +addV("person").property("name", "vadas").as("b"). +addE("knows").property("weight", 1).from("a").to("b") + """ +And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko]\", \"D[IN]\":\"v[vadas]\"}]" +And the traversal of + """ + g.V().mergeE(xx1). + option(Merge.onMatch, __.sideEffect(__.property("weight", 0)).constant([:])) + """ +When iterated to list +Then the result should have a count of 2 +And the graph should return 2 for count of "g.V()" +And the graph should return 0 for count of "g.E().hasLabel(\"knows\").has(\"weight\",1)" +And the graph should return 1 for count of "g.E().hasLabel(\"knows\").has(\"weight\",0)" +And the graph should return 0 for count of "g.V().hasLabel(\"knows\").has(\"weight\")" Review Comment: ```suggestion And the graph should return 0 for count of "g.V().has(\"weight\")" ``` > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817028#comment-17817028 ] ASF GitHub Bot commented on TINKERPOP-3056: --- codecov-commenter commented on PR #2487: URL: https://github.com/apache/tinkerpop/pull/2487#issuecomment-1941684720 ## [Codecov](https://app.codecov.io/gh/apache/tinkerpop/pull/2487?src=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) Report All modified and coverable lines are covered by tests :white_check_mark: > Comparison is base [(`c7f3d24`)](https://app.codecov.io/gh/apache/tinkerpop/commit/c7f3d2454a654cea57c2a99077d859b115fec4c3?el=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) 75.15% compared to head [(`7c99643`)](https://app.codecov.io/gh/apache/tinkerpop/pull/2487?src=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache) 75.16%. Additional details and impacted files ```diff @@Coverage Diff @@ ## 3.6-dev#2487 +/- ## == Coverage 75.15% 75.16% - Complexity 1235112352+1 == Files 1058 1058 Lines 6361063610 Branches6962 6962 == + Hits 4780647812+6 + Misses 1322413217-7 - Partials2580 2581+1 ``` [:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/apache/tinkerpop/pull/2487?src=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache). :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache). > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
[ https://issues.apache.org/jira/browse/TINKERPOP-3056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817018#comment-17817018 ] ASF GitHub Bot commented on TINKERPOP-3056: --- spmallette opened a new pull request, #2487: URL: https://github.com/apache/tinkerpop/pull/2487 https://issues.apache.org/jira/browse/TINKERPOP-3056 Since the current traverser was only being updated onMatch when it was used as a start step doing mutations in a sideEffect() would update whatever the current traverser was. This code may have been leftover from a time when the merge steps operated more readily on the current traverser as an argument to the step. VOTE +1 > mergeE is updating vertices in certain conditions > - > > Key: TINKERPOP-3056 > URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 > Project: TinkerPop > Issue Type: Bug > Components: process >Affects Versions: 3.6.6 >Reporter: Stephen Mallette >Priority: Blocker > > {code} > gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', > 1).as('a'). > ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', > 1).as('a2'). > ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', > 2).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', > (Direction.to):'testA2']). > ..1> option(onMatch, sideEffect(property(single, 'timestamp', > 4).property(single, 'edgelabel', 'exists')). > ..2> constant([:])).valueMap(true) > ==>[id:2,label:mytestlabel,timestamp:2] > ==>[id:2,label:mytestlabel,timestamp:2] > gremlin> g.V().valueMap(true) > ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TINKERPOP-3056) mergeE is updating vertices in certain conditions
Stephen Mallette created TINKERPOP-3056: --- Summary: mergeE is updating vertices in certain conditions Key: TINKERPOP-3056 URL: https://issues.apache.org/jira/browse/TINKERPOP-3056 Project: TinkerPop Issue Type: Bug Components: process Affects Versions: 3.6.6 Reporter: Stephen Mallette {code} gremlin> g.addV('mytestlabel').property(id, 'testA').property('timestamp', 1).as('a'). ..1> addV('mytestlabel').property(id, 'testA2').property('timestamp', 1).as('a2'). ..2> addE('mytestlabel').from('a').to('a2').property('timestamp', 2).valueMap(true) ==>[id:2,label:mytestlabel,timestamp:2] gremlin> g.V().mergeE([(T.label):'mytestlabel', (Direction.from): 'testA', (Direction.to):'testA2']). ..1> option(onMatch, sideEffect(property(single, 'timestamp', 4).property(single, 'edgelabel', 'exists')). ..2> constant([:])).valueMap(true) ==>[id:2,label:mytestlabel,timestamp:2] ==>[id:2,label:mytestlabel,timestamp:2] gremlin> g.V().valueMap(true) ==>[id:testA2,label:mytestlabel,edgelabel:[exists],timestamp:[4]] ==>[id:testA,label:mytestlabel,edgelabel:[exists],timestamp:[4]] {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TINKERPOP-3055) withoutStrategies() mechanism in programming languages for providers
Stephen Mallette created TINKERPOP-3055: --- Summary: 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 {{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? -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TINKERPOP-2862) A grammar in TinkerPop should accept withoutStrategies
[ https://issues.apache.org/jira/browse/TINKERPOP-2862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17816990#comment-17816990 ] ASF GitHub Bot commented on TINKERPOP-2862: --- spmallette commented on code in PR #2483: URL: https://github.com/apache/tinkerpop/pull/2483#discussion_r1487827851 ## docs/src/upgrade/release-4.x.x.asciidoc: ## @@ -75,10 +75,43 @@ See: link:https://issues.apache.org/jira/browse/TINKERPOP-3017[TINKERPOP-3017] Starting from this version, `gremlin-javascript` will deserialize `Set` data into a ECMAScript 2015 Set. Previously, these were deserialized into arrays. + Gremlin Grammar Changes + +A number of changes have been introduce to the Gremlin grammar to help make it be more consistent and easier to use. + +*`new` keyword is now optional* + +The `new` keyword is now optional in all cases where it was previously used. Both of the following examples are now +valid syntax with the second being the preferred form going forward: + +[source,groovy] + +g.V().withStrategies(new SubgraphStrategy(vertices: __.hasLabel('person'))) + +g.V().withStrategies(SubgraphStrategy(vertices: __.hasLabel('person'))) + + +In a future version, it is likely that the `new` keyword will be removed entirely from the grammar. + +*Supports withoutStrategies()* + +The `withoutStrategies()` configuration step is now supported syntax for the grammar. While this option is not commonly +used it is still a part of the Gremlin language and there are times where it is helpful to have this fine grained +control over how a traversal works. + +[source,groovy] + +g.V().withoutStrategies(CountStrategy) Review Comment: It doesn't need a String. The grammar should accept any `Identifier` there. If it matches a registered strategy from a provider, it will work as valid syntax. https://github.com/apache/tinkerpop/pull/2483/files#diff-39ed59720093773649512a14aeba8c3da9e6d21ce016c7f0cdf7a1242e3a76a1R72 I suppose it will be up to each programming language to decide what to do with that. For Java, you could have reference to the actual class file from the provider and could use that. Since it matches on the simple name of the class a dummy class could also be used. Alternatively, Java (and other languages) could be changed to allow a `String` I suppose, but I wasn't ready to make that choice. I mostly wanted to focus in on the grammar and getting that working right for standard TinkerPop strategies. Created: https://issues.apache.org/jira/browse/TINKERPOP-3055 to track. > A grammar in TinkerPop should accept withoutStrategies > -- > > Key: TINKERPOP-2862 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2862 > Project: TinkerPop > Issue Type: Improvement > Components: language >Affects Versions: 3.6.1, 3.5.4 >Reporter: Norio Akagi >Priority: Major > > In our Grammar, we have {{withStrategies}} but not {{{}withoutStrategies{}}}. > [https://github.com/apache/tinkerpop/blob/08afd4e475b56189500c31361b624ecc687e8b7b/gremlin-language/src/main/antlr4/Gremlin.g4#L65] > > We should support so that a caller can disable a specific TinkerPop optimizer > at will. Note that graph providers can have their own Strategy, which may be > out of scope of {{withoutStrategies.}} -- This message was sent by Atlassian Jira (v8.20.10#820010)