[jira] [Commented] (TINKERPOP-1832) TraversalHelper.replaceStep sets previousStep to the wrong step

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/751
  
It is the same in 3.2.x and was actually testing the fix in `tp32` when the 
discussion first came up.

VOTE: +1 (after retargeting)


> TraversalHelper.replaceStep sets previousStep to the wrong step
> ---
>
> Key: TINKERPOP-1832
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1832
> Project: TinkerPop
>  Issue Type: Bug
>  Components: process
>Affects Versions: 3.3.0
>Reporter: pieter martin
>Assignee: Daniel Kuppitz
>
> The bug is described over 
> [here|http://mail-archives.apache.org/mod_mbox/tinkerpop-dev/201710.mbox/browser]
> I have tested [~dkuppitz] fix for it and all seems well.
> {code:java}
> public static  void replaceStep(final Step removeStep, final 
> Step insertStep, final Traversal.Admin traversal) {
> final int i;
> traversal.removeStep(i = stepIndex(removeStep, traversal));
> traversal.addStep(i, insertStep);
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] tinkerpop issue #751: TINKERPOP-1832: TraversalHelper.replaceStep sets previ...

2017-11-21 Thread dkuppitz
Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/751
  
It is the same in 3.2.x and was actually testing the fix in `tp32` when the 
discussion first came up.

VOTE: +1 (after retargeting)


---


[jira] [Commented] (TINKERPOP-1784) Gremlin Language Test Suite

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/747
  
VOTE: +1


> Gremlin Language Test Suite
> ---
>
> Key: TINKERPOP-1784
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1784
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: test-suite
>Affects Versions: 3.2.6
>Reporter: stephen mallette
>Assignee: stephen mallette
>
> Provide for a more language agnostic test framework for the Gremlin Language 
> so that we can properly test GLVs. The current test suite is completely tied 
> to the JVM.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] tinkerpop issue #747: TINKERPOP-1784 GLV Test Framework

2017-11-21 Thread dkuppitz
Github user dkuppitz commented on the issue:

https://github.com/apache/tinkerpop/pull/747
  
VOTE: +1


---


[jira] [Commented] (TINKERPOP-1839) We need a way to dynamically modify global bindings on the Gremlin Server.

2017-11-21 Thread stephen mallette (JIRA)

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

stephen mallette commented on TINKERPOP-1839:
-

> I am not quite seeing how one would access the ScriptEngine or its context.

I think that if you need this special level of integration which seems specific 
to JanusGraph you should create a {{Channelizer}} for JanusGraph that will 
allow you access to a number of core components of Gremlin Server (like the 
{{GremlinExecutor}}). 

> withRemote() gives access to a remote graph's traversal reference; is there a 
> similar story for getting access to a graph reference itself?

No - for "remoting" you only deal with a {{TraversalSource}}. There is nothing 
that binds to a {{Graph}} on the client side.

> We need a way to dynamically modify global bindings on the Gremlin Server.
> --
>
> Key: TINKERPOP-1839
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1839
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Affects Versions: 3.2.6
>Reporter: David Pitera
>
> This question on StackOverflow 
> https://stackoverflow.com/questions/47342524/how-to-traverse-graph-created-using-configuredplanfactory-in-janusgraph/47354728?noredirect=1#comment81670711_47354728
>  along with the fact that most language client's interact with the Gremlin 
> Server through the use of a variable bound to a graph of traversal reference, 
> i.e. `graph` is usually bound to a graph and `g` is usually bound to its 
> traversal 
> https://github.com/apache/tinkerpop/blob/master/gremlin-server/scripts/empty-sample.groovy#L40
>  mean that we need a way to bind these dynamically created graphs to the 
> script executor.
> With JanusGraph's notion of dynamic graphs, there is no way to make use of 
> the `withRemote()` functionality or make use of language clients demanding 
> the traversal reference be bound to a variable.
> Therefore, we need a way to dynamically modify the global bindings on the 
> gremlin script engine without having to restart the server.
> Note; I answered the original stack overflow question above, however I am 
> pretty sure my answer is actually incorrect because the global binding will 
> be evaluated once at server start and the evaluated references will be stored 
> in the map and passed into the gremlin executor. Is this true?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (TINKERPOP-1820) Include .NET GLV tests on TravisCI

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

Github user FlorianHockmann commented on the issue:

https://github.com/apache/tinkerpop/pull/752
  
The separate jobs are really useful.

VOTE +1


> Include .NET GLV tests on TravisCI
> --
>
> Key: TINKERPOP-1820
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1820
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet, python
>Reporter: Jorge Bay
>Assignee: Jorge Bay
>
> We can avoid the need of manual test runs by using TravisCI to run both GLVs.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] tinkerpop issue #752: TINKERPOP-1820 TravisCI: Add Gremlin.Net as job

2017-11-21 Thread FlorianHockmann
Github user FlorianHockmann commented on the issue:

https://github.com/apache/tinkerpop/pull/752
  
The separate jobs are really useful.

VOTE +1


---


[jira] [Commented] (TINKERPOP-1839) We need a way to dynamically modify global bindings on the Gremlin Server.

2017-11-21 Thread David Pitera (JIRA)

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

David Pitera commented on TINKERPOP-1839:
-

> Doesn't CGF have access to the Gremlin ScriptEngine?

I think this is where there is a gap in our understanding. I am not quite 
seeing how one would access the ScriptEngine or its context.

Also one more question: withRemote() gives access to a remote graph's traversal 
reference; is there a similar story for getting access to a graph reference 
itself?

> We need a way to dynamically modify global bindings on the Gremlin Server.
> --
>
> Key: TINKERPOP-1839
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1839
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Affects Versions: 3.2.6
>Reporter: David Pitera
>
> This question on StackOverflow 
> https://stackoverflow.com/questions/47342524/how-to-traverse-graph-created-using-configuredplanfactory-in-janusgraph/47354728?noredirect=1#comment81670711_47354728
>  along with the fact that most language client's interact with the Gremlin 
> Server through the use of a variable bound to a graph of traversal reference, 
> i.e. `graph` is usually bound to a graph and `g` is usually bound to its 
> traversal 
> https://github.com/apache/tinkerpop/blob/master/gremlin-server/scripts/empty-sample.groovy#L40
>  mean that we need a way to bind these dynamically created graphs to the 
> script executor.
> With JanusGraph's notion of dynamic graphs, there is no way to make use of 
> the `withRemote()` functionality or make use of language clients demanding 
> the traversal reference be bound to a variable.
> Therefore, we need a way to dynamically modify the global bindings on the 
> gremlin script engine without having to restart the server.
> Note; I answered the original stack overflow question above, however I am 
> pretty sure my answer is actually incorrect because the global binding will 
> be evaluated once at server start and the evaluated references will be stored 
> in the map and passed into the gremlin executor. Is this true?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (TINKERPOP-1820) Include .NET GLV tests on TravisCI

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/752
  
VOTE +1


> Include .NET GLV tests on TravisCI
> --
>
> Key: TINKERPOP-1820
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1820
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet, python
>Reporter: Jorge Bay
>Assignee: Jorge Bay
>
> We can avoid the need of manual test runs by using TravisCI to run both GLVs.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] tinkerpop issue #752: TINKERPOP-1820 TravisCI: Add Gremlin.Net as job

2017-11-21 Thread spmallette
Github user spmallette commented on the issue:

https://github.com/apache/tinkerpop/pull/752
  
VOTE +1


---


[jira] [Commented] (TINKERPOP-1820) Include .NET GLV tests on TravisCI

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

Github user jorgebay commented on the issue:

https://github.com/apache/tinkerpop/pull/752
  
@spmallette Yes, the separate jobs run in parallel, so in a few minutes you 
can check if the module from the job is affected.

VOTE +1


> Include .NET GLV tests on TravisCI
> --
>
> Key: TINKERPOP-1820
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1820
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: dotnet, python
>Reporter: Jorge Bay
>Assignee: Jorge Bay
>
> We can avoid the need of manual test runs by using TravisCI to run both GLVs.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] tinkerpop issue #752: TINKERPOP-1820 TravisCI: Add Gremlin.Net as job

2017-11-21 Thread jorgebay
Github user jorgebay commented on the issue:

https://github.com/apache/tinkerpop/pull/752
  
@spmallette Yes, the separate jobs run in parallel, so in a few minutes you 
can check if the module from the job is affected.

VOTE +1


---


[jira] [Commented] (TINKERPOP-1839) We need a way to dynamically modify global bindings on the Gremlin Server.

2017-11-21 Thread Robert Dale (JIRA)

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

Robert Dale commented on TINKERPOP-1839:


[~dpitera] I think this is a JanusGraph issue and can be solved there. There 
should be some component at the Gremlin Server level that intercepts or 
recognizes that a new graph has been created and will update the script context 
with a configured traversal name. See also 
[https://github.com/JanusGraph/janusgraph/issues/625].  The cluster-level 
component should be able to do something similarly. 


> We need a way to dynamically modify global bindings on the Gremlin Server.
> --
>
> Key: TINKERPOP-1839
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1839
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Affects Versions: 3.2.6
>Reporter: David Pitera
>
> This question on StackOverflow 
> https://stackoverflow.com/questions/47342524/how-to-traverse-graph-created-using-configuredplanfactory-in-janusgraph/47354728?noredirect=1#comment81670711_47354728
>  along with the fact that most language client's interact with the Gremlin 
> Server through the use of a variable bound to a graph of traversal reference, 
> i.e. `graph` is usually bound to a graph and `g` is usually bound to its 
> traversal 
> https://github.com/apache/tinkerpop/blob/master/gremlin-server/scripts/empty-sample.groovy#L40
>  mean that we need a way to bind these dynamically created graphs to the 
> script executor.
> With JanusGraph's notion of dynamic graphs, there is no way to make use of 
> the `withRemote()` functionality or make use of language clients demanding 
> the traversal reference be bound to a variable.
> Therefore, we need a way to dynamically modify the global bindings on the 
> gremlin script engine without having to restart the server.
> Note; I answered the original stack overflow question above, however I am 
> pretty sure my answer is actually incorrect because the global binding will 
> be evaluated once at server start and the evaluated references will be stored 
> in the map and passed into the gremlin executor. Is this true?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (TINKERPOP-1839) We need a way to dynamically modify global bindings on the Gremlin Server.

2017-11-21 Thread stephen mallette (JIRA)

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

stephen mallette commented on TINKERPOP-1839:
-

Doesn't CGF have access to the Gremlin ScriptEngine? Why does it have to issue 
WS/HTTP calls - couldn't it just issue a script that registers the bindings to 
the context in the manner that I presented? To me, issuing the script is the 
"java code" way to set these values. Any reason why that doesn't work?

> We need a way to dynamically modify global bindings on the Gremlin Server.
> --
>
> Key: TINKERPOP-1839
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1839
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: server
>Affects Versions: 3.2.6
>Reporter: David Pitera
>
> This question on StackOverflow 
> https://stackoverflow.com/questions/47342524/how-to-traverse-graph-created-using-configuredplanfactory-in-janusgraph/47354728?noredirect=1#comment81670711_47354728
>  along with the fact that most language client's interact with the Gremlin 
> Server through the use of a variable bound to a graph of traversal reference, 
> i.e. `graph` is usually bound to a graph and `g` is usually bound to its 
> traversal 
> https://github.com/apache/tinkerpop/blob/master/gremlin-server/scripts/empty-sample.groovy#L40
>  mean that we need a way to bind these dynamically created graphs to the 
> script executor.
> With JanusGraph's notion of dynamic graphs, there is no way to make use of 
> the `withRemote()` functionality or make use of language clients demanding 
> the traversal reference be bound to a variable.
> Therefore, we need a way to dynamically modify the global bindings on the 
> gremlin script engine without having to restart the server.
> Note; I answered the original stack overflow question above, however I am 
> pretty sure my answer is actually incorrect because the global binding will 
> be evaluated once at server start and the evaluated references will be stored 
> in the map and passed into the gremlin executor. Is this true?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (TINKERPOP-1834) Consider iterate() as a first class step

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

GitHub user okram opened a pull request:

https://github.com/apache/tinkerpop/pull/755

TINKERPOP-1834: Consider iterate() as a first class step

https://issues.apache.org/jira/browse/TINKERPOP-1834

This is a re-issuing of a previously closed commit. In this model, a 
`NoneStep` was added as well as a `Traversal.none()`. `Traversal.iterate()` 
calls `Traversal.none()` if the traversal has not been fully compiled. The 
benefit of this is that `iterate()` will add a full filter and thus, for remote 
systems (non-embedded), all data is "iterated" server-side before being sent 
back to the client. This is a novel play in that `iterate()`, while being a 
terminal step, is now effecting the bytecode representation.

cc/ @BrynCooke 

VOTE +1

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/apache/tinkerpop TINKERPOP-1834

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tinkerpop/pull/755.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #755


commit 2a957bb586263b2dd70b4db36d1b3c6f87d5596f
Author: Marko A. Rodriguez 
Date:   2017-11-21T11:44:32Z

Added NoneStep which simply filter(false). Traversal.none() was added which 
appends the NoneStep. Traversal.iterate() was updated such that if the 
traversal has not been compiled yet, then Traversal.none() is called to ensure 
that a full filter is propagated in the bytecode.




> Consider iterate() as a first class step
> 
>
> Key: TINKERPOP-1834
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1834
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.6
>Reporter: stephen mallette
>Assignee: Marko A. Rodriguez
>
> The {{iterate()}} terminator on a traversal returns no data. It simply 
> executes the traversal in full typically for the generation of side-effects. 
> Graph providers could optimize a traversal that is iterated should they be 
> able to detect that this method is called as they might avoid certain read 
> operations if the traversal is explicitly meant to just update the graph. 
> A possible solution for this would be some form of direct implementation of 
> an explicit {{IterateStep}} which providers could identify. Or perhaps, a 
> more generic {{NoOpStep}} would be better where the {{NoOpStep}} would 
> basically just be a marker with some meta-data tied to it (i.e. a {{Map}} of 
> arbitrary configuration options). In this case, the configuration options 
> would simply have an "iterate" value in it which the provider could interpret 
> if they could optimize based on that. Other solutions?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] tinkerpop pull request #755: TINKERPOP-1834: Consider iterate() as a first c...

2017-11-21 Thread okram
GitHub user okram opened a pull request:

https://github.com/apache/tinkerpop/pull/755

TINKERPOP-1834: Consider iterate() as a first class step

https://issues.apache.org/jira/browse/TINKERPOP-1834

This is a re-issuing of a previously closed commit. In this model, a 
`NoneStep` was added as well as a `Traversal.none()`. `Traversal.iterate()` 
calls `Traversal.none()` if the traversal has not been fully compiled. The 
benefit of this is that `iterate()` will add a full filter and thus, for remote 
systems (non-embedded), all data is "iterated" server-side before being sent 
back to the client. This is a novel play in that `iterate()`, while being a 
terminal step, is now effecting the bytecode representation.

cc/ @BrynCooke 

VOTE +1

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/apache/tinkerpop TINKERPOP-1834

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tinkerpop/pull/755.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #755


commit 2a957bb586263b2dd70b4db36d1b3c6f87d5596f
Author: Marko A. Rodriguez 
Date:   2017-11-21T11:44:32Z

Added NoneStep which simply filter(false). Traversal.none() was added which 
appends the NoneStep. Traversal.iterate() was updated such that if the 
traversal has not been compiled yet, then Traversal.none() is called to ensure 
that a full filter is propagated in the bytecode.




---


[jira] [Commented] (TINKERPOP-1827) Gremlin .NET: Test Suite Runner

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

GitHub user jorgebay opened a pull request:

https://github.com/apache/tinkerpop/pull/754

TINKERPOP-1827 Gremlin .NET: Test Suite Runner

https://issues.apache.org/jira/browse/TINKERPOP-1827

Adds support for Gherkin features for Gremlin.NET.

Changes are made on top of #747, I'll rebase it once the GLV test suite is 
merged, in order to speed up reviewing (selecting the range of commits).

Of a total of 302 scenarios, 28 are ignored mostly due to lambdas not being 
supported on C# (274 succeeds).

I've included a mechanism to ignore scenarios manually, but a reason must 
be provided. Currently, there are 2 valid reasons for a scenario to be ignored:
- `Scenario ignored because lambdas are not supported in Gremlin.NET`
- `Scenario ignored because there is conversion issue for IDictionary 
instaces in Gremlin.NET (TINKERPOP-1837)`

As there isn't a usable cucumber/gherkin runner for .NET Core, gherkin 
features evaluation are launched from a single xunit test 
(`GherkinTestRunner`), to avoid having another entry point to maintain.

Currently, the output shows all scenarios executed and a number to identify 
failure, which is shown at the bottom.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/apache/tinkerpop TINKERPOP-1827

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tinkerpop/pull/754.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #754


commit 61e667ddb91eb96560793843054678d4c0a925de
Author: Stephen Mallette 
Date:   2017-09-14T19:44:32Z

TINKERPOP-1784 Initial implementation of a new language agnostic test suite

Uses Gherkin to write test specifications that will be implemented by the 
various GLVs. Provided a basic implementation for gremlin-python.

commit ce16228ea8780b0ff60f0ff1a11a4a127dde6744
Author: Stephen Mallette 
Date:   2017-09-20T17:32:54Z

TINKERPOP-1784 Use python eval() to setup test traversals

commit 2b92f5b20ba5e8c9f7e49f1e5ac7428c284d6603
Author: Stephen Mallette 
Date:   2017-09-20T17:39:00Z

TINKERPOP-1784 Categorize feature by step type

This matches he pattern of the java test suite.

commit eb595a6c737fa0d49df3c0062c7c463088fecda6
Author: Stephen Mallette 
Date:   2017-09-20T22:38:49Z

TINKERPOP-1784 Added coin() gherkin tests and refactored python

commit 7aa1adcb3d1a719cb75b218bb9fa3a83112213de
Author: Stephen Mallette 
Date:   2017-09-22T14:52:20Z

TINKERPOP-1784 Expanded GLV test framework a bit further

Developed methods for vertices/maps and a way to assert unordered results.

commit b129ed30b02388710e9c39338026462d4cf88955
Author: Stephen Mallette 
Date:   2017-09-22T16:56:08Z

TINKERPOP-1784 Added some basic support to convert vertex string to a 
vertex object

This might be the pattern to use across the board. We'll see if there is a 
better idea floating about though so may not be final.

commit de32b78efe432e6b57399ca9db673ddeead313ad
Author: Stephen Mallette 
Date:   2017-09-22T17:49:50Z

TINKERPOP-1784 Minor refactoring of python gherkin steps

commit 35aca028cbc0ccd96823e842626169b7d7b7f1e7
Author: Stephen Mallette 
Date:   2017-09-22T18:43:13Z

TINKERPOP-1784 Added support for numeric keys in glv tests

commit 14b8d3bbeacf0ee1ec500174009c8487aa1238a6
Author: Stephen Mallette 
Date:   2017-09-23T11:12:07Z

TINKERPOP-1784 Added test for select in GLV tests

Included infrastructure for validating maps and refactored other related 
code.

commit 17fd3b027effc0f7b055e1934307b2c4b90ed84b
Author: Stephen Mallette 
Date:   2017-09-27T16:16:08Z

TINKERPOP-1784 Provided translation for python specific syntax

Included a way to specify element identifiers in feature files.

commit 655377380654755fb031b9d92e10fd9376665b68
Author: Stephen Mallette 
Date:   2017-09-27T17:26:17Z

TINKERPOP-1784 Added test to enforce implementation of process tests as 
features

commit db6c8560d883891d0c3c53ab0fc7a9b40adca9d3
Author: Stephen Mallette 
Date:   2017-09-27T20:18:14Z

TINKERPOP-1784 Added edge assertion support

commit f33b2b8d588d68e0374958b5aa37b32c9dc59211
Author: Stephen Mallette 
Date:   2017-09-28T14:29:47Z

TINKERPOP-1784 Added some more vertex tests

commit 

[GitHub] tinkerpop pull request #754: TINKERPOP-1827 Gremlin .NET: Test Suite Runner

2017-11-21 Thread jorgebay
GitHub user jorgebay opened a pull request:

https://github.com/apache/tinkerpop/pull/754

TINKERPOP-1827 Gremlin .NET: Test Suite Runner

https://issues.apache.org/jira/browse/TINKERPOP-1827

Adds support for Gherkin features for Gremlin.NET.

Changes are made on top of #747, I'll rebase it once the GLV test suite is 
merged, in order to speed up reviewing (selecting the range of commits).

Of a total of 302 scenarios, 28 are ignored mostly due to lambdas not being 
supported on C# (274 succeeds).

I've included a mechanism to ignore scenarios manually, but a reason must 
be provided. Currently, there are 2 valid reasons for a scenario to be ignored:
- `Scenario ignored because lambdas are not supported in Gremlin.NET`
- `Scenario ignored because there is conversion issue for IDictionary 
instaces in Gremlin.NET (TINKERPOP-1837)`

As there isn't a usable cucumber/gherkin runner for .NET Core, gherkin 
features evaluation are launched from a single xunit test 
(`GherkinTestRunner`), to avoid having another entry point to maintain.

Currently, the output shows all scenarios executed and a number to identify 
failure, which is shown at the bottom.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/apache/tinkerpop TINKERPOP-1827

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/tinkerpop/pull/754.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #754


commit 61e667ddb91eb96560793843054678d4c0a925de
Author: Stephen Mallette 
Date:   2017-09-14T19:44:32Z

TINKERPOP-1784 Initial implementation of a new language agnostic test suite

Uses Gherkin to write test specifications that will be implemented by the 
various GLVs. Provided a basic implementation for gremlin-python.

commit ce16228ea8780b0ff60f0ff1a11a4a127dde6744
Author: Stephen Mallette 
Date:   2017-09-20T17:32:54Z

TINKERPOP-1784 Use python eval() to setup test traversals

commit 2b92f5b20ba5e8c9f7e49f1e5ac7428c284d6603
Author: Stephen Mallette 
Date:   2017-09-20T17:39:00Z

TINKERPOP-1784 Categorize feature by step type

This matches he pattern of the java test suite.

commit eb595a6c737fa0d49df3c0062c7c463088fecda6
Author: Stephen Mallette 
Date:   2017-09-20T22:38:49Z

TINKERPOP-1784 Added coin() gherkin tests and refactored python

commit 7aa1adcb3d1a719cb75b218bb9fa3a83112213de
Author: Stephen Mallette 
Date:   2017-09-22T14:52:20Z

TINKERPOP-1784 Expanded GLV test framework a bit further

Developed methods for vertices/maps and a way to assert unordered results.

commit b129ed30b02388710e9c39338026462d4cf88955
Author: Stephen Mallette 
Date:   2017-09-22T16:56:08Z

TINKERPOP-1784 Added some basic support to convert vertex string to a 
vertex object

This might be the pattern to use across the board. We'll see if there is a 
better idea floating about though so may not be final.

commit de32b78efe432e6b57399ca9db673ddeead313ad
Author: Stephen Mallette 
Date:   2017-09-22T17:49:50Z

TINKERPOP-1784 Minor refactoring of python gherkin steps

commit 35aca028cbc0ccd96823e842626169b7d7b7f1e7
Author: Stephen Mallette 
Date:   2017-09-22T18:43:13Z

TINKERPOP-1784 Added support for numeric keys in glv tests

commit 14b8d3bbeacf0ee1ec500174009c8487aa1238a6
Author: Stephen Mallette 
Date:   2017-09-23T11:12:07Z

TINKERPOP-1784 Added test for select in GLV tests

Included infrastructure for validating maps and refactored other related 
code.

commit 17fd3b027effc0f7b055e1934307b2c4b90ed84b
Author: Stephen Mallette 
Date:   2017-09-27T16:16:08Z

TINKERPOP-1784 Provided translation for python specific syntax

Included a way to specify element identifiers in feature files.

commit 655377380654755fb031b9d92e10fd9376665b68
Author: Stephen Mallette 
Date:   2017-09-27T17:26:17Z

TINKERPOP-1784 Added test to enforce implementation of process tests as 
features

commit db6c8560d883891d0c3c53ab0fc7a9b40adca9d3
Author: Stephen Mallette 
Date:   2017-09-27T20:18:14Z

TINKERPOP-1784 Added edge assertion support

commit f33b2b8d588d68e0374958b5aa37b32c9dc59211
Author: Stephen Mallette 
Date:   2017-09-28T14:29:47Z

TINKERPOP-1784 Added some more vertex tests

commit 55145980b99ed78a1de82ecefe199062439ea573
Author: Stephen Mallette 
Date:   2017-09-28T18:54:40Z

TINKERPOP-1784 Changed assertion logic and table formats in feature files

commit bed1d7c5e7aa0d1cd7fbed9914c541c48c79df86
Author: Stephen 

[jira] [Commented] (TINKERPOP-1834) Consider iterate() as a first class step

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

Github user okram closed the pull request at:

https://github.com/apache/tinkerpop/pull/748


> Consider iterate() as a first class step
> 
>
> Key: TINKERPOP-1834
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1834
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.6
>Reporter: stephen mallette
>Assignee: Marko A. Rodriguez
>
> The {{iterate()}} terminator on a traversal returns no data. It simply 
> executes the traversal in full typically for the generation of side-effects. 
> Graph providers could optimize a traversal that is iterated should they be 
> able to detect that this method is called as they might avoid certain read 
> operations if the traversal is explicitly meant to just update the graph. 
> A possible solution for this would be some form of direct implementation of 
> an explicit {{IterateStep}} which providers could identify. Or perhaps, a 
> more generic {{NoOpStep}} would be better where the {{NoOpStep}} would 
> basically just be a marker with some meta-data tied to it (i.e. a {{Map}} of 
> arbitrary configuration options). In this case, the configuration options 
> would simply have an "iterate" value in it which the provider could interpret 
> if they could optimize based on that. Other solutions?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (TINKERPOP-1834) Consider iterate() as a first class step

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

Github user okram commented on the issue:

https://github.com/apache/tinkerpop/pull/748
  
Closing. Going to provide a simpler solution.


> Consider iterate() as a first class step
> 
>
> Key: TINKERPOP-1834
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1834
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: process
>Affects Versions: 3.2.6
>Reporter: stephen mallette
>Assignee: Marko A. Rodriguez
>
> The {{iterate()}} terminator on a traversal returns no data. It simply 
> executes the traversal in full typically for the generation of side-effects. 
> Graph providers could optimize a traversal that is iterated should they be 
> able to detect that this method is called as they might avoid certain read 
> operations if the traversal is explicitly meant to just update the graph. 
> A possible solution for this would be some form of direct implementation of 
> an explicit {{IterateStep}} which providers could identify. Or perhaps, a 
> more generic {{NoOpStep}} would be better where the {{NoOpStep}} would 
> basically just be a marker with some meta-data tied to it (i.e. a {{Map}} of 
> arbitrary configuration options). In this case, the configuration options 
> would simply have an "iterate" value in it which the provider could interpret 
> if they could optimize based on that. Other solutions?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] tinkerpop issue #748: TINKERPOP-1834: Consider iterate() as a first class st...

2017-11-21 Thread okram
Github user okram commented on the issue:

https://github.com/apache/tinkerpop/pull/748
  
Closing. Going to provide a simpler solution.


---


[GitHub] tinkerpop pull request #748: TINKERPOP-1834: Consider iterate() as a first c...

2017-11-21 Thread okram
Github user okram closed the pull request at:

https://github.com/apache/tinkerpop/pull/748


---


[jira] [Commented] (TINKERPOP-1784) Gremlin Language Test Suite

2017-11-21 Thread ASF GitHub Bot (JIRA)

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

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

Github user jorgebay commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/747#discussion_r152230125
  
--- Diff: gremlin-test/features/sideEffect/Sack.feature ---
@@ -0,0 +1,71 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+Feature: Step - sack()
+
+  Scenario: g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack("hello").V().outE().sack(Operator.assign).by(T.label).inV().sack()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | created |
+  | knows |
+  | knows |
+  | created |
+  | created |
+  | created |
+
+  Scenario: g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack(0.0).V().outE().sack(Operator.sum).by("weight").inV().sack().sum()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[3.5].m |
+
+  Scenario: 
g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack(0.0).V().repeat(__.outE().sack(Operator.sum).by("weight").inV()).times(2).sack()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[2.0].d |
--- End diff --

These two are also big decimal...


> Gremlin Language Test Suite
> ---
>
> Key: TINKERPOP-1784
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1784
> Project: TinkerPop
>  Issue Type: Improvement
>  Components: test-suite
>Affects Versions: 3.2.6
>Reporter: stephen mallette
>Assignee: stephen mallette
>
> Provide for a more language agnostic test framework for the Gremlin Language 
> so that we can properly test GLVs. The current test suite is completely tied 
> to the JVM.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] tinkerpop pull request #747: TINKERPOP-1784 GLV Test Framework

2017-11-21 Thread jorgebay
Github user jorgebay commented on a diff in the pull request:

https://github.com/apache/tinkerpop/pull/747#discussion_r152230125
  
--- Diff: gremlin-test/features/sideEffect/Sack.feature ---
@@ -0,0 +1,71 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+Feature: Step - sack()
+
+  Scenario: g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack("hello").V().outE().sack(Operator.assign).by(T.label).inV().sack()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | created |
+  | knows |
+  | knows |
+  | created |
+  | created |
+  | created |
+
+  Scenario: g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack(0.0).V().outE().sack(Operator.sum).by("weight").inV().sack().sum()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[3.5].m |
+
+  Scenario: 
g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack
+Given the modern graph
+And the traversal of
+  """
+  
g.withSack(0.0).V().repeat(__.outE().sack(Operator.sum).by("weight").inV()).times(2).sack()
+  """
+When iterated to list
+Then the result should be unordered
+  | result |
+  | d[2.0].d |
--- End diff --

These two are also big decimal...


---