dave, i don't think adam is on this list. you probably need to reply in
JIRA. i do think however, that the issue is open to discussion on this list
if others would like to comment. We do intend to release gremlin-python as
"experimental" with the intent of gathering feedback for a final release on
3.3.0.

On Tue, Aug 30, 2016 at 2:54 PM, David Brown <davebs...@gmail.com> wrote:

> @aholmber - Regarding naming, while methods typically have lowercase
> names separated with underscores, PEP 8 does suggest that "mixedCase
> is allowed only in contexts where that's already the prevailing
> style". While this typically refers to backwards compatibility, you
> see mixed case in libraries that provide bridges to other
> languages...the example that comes to mind is PyObjC. I wonder if this
> is an example where using mixed case is acceptable in order to give
> gremlin-python the same "feel" as gremlin...thoughts?
>
> On Tue, Aug 30, 2016 at 2:39 PM, stephen mallette (JIRA)
> <j...@apache.org> wrote:
> >
> >     [ https://issues.apache.org/jira/browse/TINKERPOP-1278?
> page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&
> focusedCommentId=15449778#comment-15449778 ]
> >
> > stephen mallette commented on TINKERPOP-1278:
> > ---------------------------------------------
> >
> > [~stamhankar999] thanks for your thoughts on the testing aspects of
> things. i think we have some work to do before we can call the testing
> model completely settled for all GLVs. I suspect some changes will occur. I
> think we need a good mix of native tests as well as those that can be
> executed via the process suites. We will try to come to a full
> understanding of that model for 3.3.x.
> >
> > [~aholmber] i remember your commit comment. i think that happened when
> [~okram] was away on vacation. since he wrote the code generation stuff for
> that, perhaps he'd be best to have a look and address your concerns.
> >
> >> Implement Gremlin-Python and general purpose language variant test
> infrastructure
> >> ------------------------------------------------------------
> ---------------------
> >>
> >>                 Key: TINKERPOP-1278
> >>                 URL: https://issues.apache.org/
> jira/browse/TINKERPOP-1278
> >>             Project: TinkerPop
> >>          Issue Type: Improvement
> >>          Components: language-variant
> >>    Affects Versions: 3.2.0-incubating
> >>            Reporter: Marko A. Rodriguez
> >>            Assignee: Marko A. Rodriguez
> >>             Fix For: 3.2.2
> >>
> >>
> >> As discussed on dev@...
> >> Apache TinkerPop should provide, out-of-the-box, at least 3 Gremlin
> language variants. It would be cool if these were:
> >> * Python (Mark Henderson)
> >> * PHP ([~PommeVerte])
> >> * Ruby (?[~okram])
> >> I think each of these should be generated using the reflection-model
> presented in http://tinkerpop.apache.org/docs/3.2.1-SNAPSHOT/tutorials/
> gremlin-language-variants/. Moreover, on every {{mvn clean install}}, the
> code for these variants is generated.
> >> Given the desire to separate language variants from language drivers, I
> think that a language driver for each variant above should be "plugable."
> Moreover, we should provide one driver implementation for each -- simple
> GremlinServer REST.
> >> {code}
> >> gremlin-variants/
> >>   gremlin-ruby/
> >>     gremlin_ruby.rb
> >>     gremlin_ruby_rest_driver.rb
> >>   gremlin-php/
> >>     Gremlin_PHP.php
> >>     Gremlin_PHP_REST_Driver.php
> >>   gremlin-python/
> >>     gremlin-python.py
> >>     gremlin-python-rest-driver.py
> >> {code}
> >> Next, each variant implementation should be testable. This is PAINFUL
> if we have to implement each {{g_V_out_repeatXasXaXX}} test case in
> {{ProcessXXXSuite}}. Perhaps some RegEx transducer magic could be used to
> convert all those tests from Gremlin-Java to the respective host language?
> However, even if we do that, we still have the problem of how to test the
> returned results.
> >> I think what we should test the returned results using the JVM. For
> instance, JRuby, Jython, JPHP (does it exist?). If we do this, we will save
> ourselves a massive headache. All we have to do is create a
> {{GraphProvider}} that uses {{TinkerGraph}} and whose {{TraversalSource}}
> is some sort of wrapper around reflection-generated Ruby (e.g.).
> >> {code}
> >> g.V.out_e("knows") // returns a Ruby iterator
> >> {code}
> >> That Ruby iterator should be converted to a Java iterator and then the
> {{ProcessXXXSuite}} can verify the results.
> >> With this, most everything is reflectively constructed.
> >> {code}
> >> gremlin_ruby.rb             // generated via Java reflection
> >> gremlin_ruby_rest_driver.rb // manually coded
> >> match_test.rb               // generated via RegEx transducer
> >> has_test.rb                 // generated via RegEx transducer
> >> ...
> >> RubyGraphProvider.java        // manually coded
> >> RubyProcessStandardSuite.java // manually coded
> >> RubyProcessComputerSuite.java // manually coded
> >> {code}
> >> Thus, the testing data flow would be:
> >> {code}
> >> MatchTest.Traversals.java --transducer-> match_test.rb
> >> match-test.rb --REST--> GremlinServer
> >> GremlinServer --GraphSON-->match-test.rb
> >> GraphSON --JRuby/GraphSONReader-->Java objects
> >> Java objects --JRuby-->MatchTest.java
> >> {code}
> >
> >
> >
> > --
> > This message was sent by Atlassian JIRA
> > (v6.3.4#6332)
>
>
>
> --
> David M. Brown
> R.A. CulturePlex Lab, Western University
>

Reply via email to