[ https://issues.apache.org/jira/browse/TINKERPOP-1232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15260240#comment-15260240 ]
ASF GitHub Bot commented on TINKERPOP-1232: ------------------------------------------- GitHub user okram opened a pull request: https://github.com/apache/incubator-tinkerpop/pull/296 TINKERPOP-1232: Write a tutorial demonstrating the 3 ways to write a Gremlin language variant. https://issues.apache.org/jira/browse/TINKERPOP-1232 A tutorial demonstrating how to embed Gremlin in a host language. The tutorial explains how to do this for both Jython and Python. The reflection-based model proposed should easily map over to other languages such as Ruby, JavaScript, and PHP. As long as this model is sufficient for these languages, then I think we have a solid tutorial. Also, I went through all the `index.asciidoc` files in our `docs/` and made the Apache TinkerPop logo HREF to http://tinkerpop.apache.org and added `*x.y.z*` so they all have a version number. The tutorial has been published here for review: http://tinkerpop.apache.org/docs/3.2.1-SNAPSHOT/tutorials/gremlin-language-variants/ VOTE +1 (`bin/publish-docs.sh` worked) You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/incubator-tinkerpop TINKERPOP-1232 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-tinkerpop/pull/296.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 #296 ---- commit f2c1d01df7e45be0d7d2e3175f4a9d987163901c Author: Stephen Mallette <sp...@genoprime.com> Date: 2016-04-19T14:23:12Z Added stub for gremlin language variants tutorial. commit 0beae616352271f74e92bfeb6d1100856e7996e0 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-19T17:38:42Z started to flesh out the gremlin-language-variant tutorial. commit 7e2833c8fcca2a4245785788410712be8439ad91 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-20T14:18:52Z added Gremlin-Jython work for the first model based on the JVM. Also, added gremlin-jython.py as a resource people can now use. an artifact of the tutorial. commit d5a06d99f3df520ad5cecf2fb21c7ac8ad223592 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-20T15:28:33Z more work on Gremlin-Jython. This is a really cool tutorial. commit 57210e98678dba6b2e3f1adb8306a7a0bae82eea Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-20T18:22:14Z more work on language variant tutorial. I created a section called Language Driver vs. Language Variant and articulate why this divide needs to be held by the community. commit 87834bdc42246005326b92cf33f3095f756b3ac7 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-20T20:20:16Z added pure Python string model and gremlin-python.py. commit 4eb6113fcc0d1bce66ffb7611d2ee824b7de9740 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-20T23:13:09Z using gremlin-python websockets driver by david brown. it just works. however, had to easy_install pip and do some setup.py junk.. but once that was done, bammers. commit 62fa995d8e38b80638e62081e98e7070675bede0 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-21T01:41:26Z integrated the GremlinServer string text better with the example. commit 738a662b1b738a6aac70ac343fbe0d0ae16fda61 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-21T13:06:35Z lot more work on the tutorial. added fun graphics too :). commit b66d736076bd25ad2554a92b09bfe88c834afd0d Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-21T13:11:25Z forgot to commit the new graphics. commit cbf6cc19321fd3375c5d910a9454ab75e722214c Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-21T13:17:05Z syncd with master commit ce1adcedc12f3c630f284c8caee293342c465e23 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-21T14:35:06Z finished the tutorial. Its epic. commit 099e110a22c94d987a0af17c71b961bf91edad75 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-21T15:00:12Z added latest version of the gremlin-python generated source file. commit cc66ba5f8a42e6fd0b130adb87ed8d4702674491 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-21T15:38:31Z minor nothings -- just added links and some internal ahref anchors. commit 343a34bc6a4bb07dc0e61604c811107f00530b33 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-21T15:41:39Z sorry. another minor nothing. done for the day with this. commit adce6cfada83f1593a3fda13f8dcfac579d2fcc5 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-21T17:22:16Z one more run through -- tessted all the code chunks again (found a bug in the Jython section -- phew. fixed). Added some text about gremlin-lang-driver and gremlin-lang naming conventions. A few more code call outs, but not as many as I would like. commit b5efb2a2aa96fcfe77dd31e5d7dba3798f3dd16e Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-27T14:24:29Z All the index.asciidocs of the docs now have the TinkerPop logo HREF to tinkerpop.apache.org. Also, they have x.y.z version numbers like the reference docs. Finished up gremlin-language-variants tutorial. Ketrina has a banner graphic for the tutorial coming in a couple of weeks that I will CTR add then. commit 0bf7156f779b169066b61236b715518501a16622 Author: Marko A. Rodriguez <okramma...@gmail.com> Date: 2016-04-27T14:27:02Z updated CHANGELOG and merged master. ---- > Write a tutorial demonstrating the 3 ways to write a Gremlin language variant. > ------------------------------------------------------------------------------ > > Key: TINKERPOP-1232 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1232 > Project: TinkerPop > Issue Type: Improvement > Components: documentation > Affects Versions: 3.1.1-incubating > Reporter: Marko A. Rodriguez > Assignee: Marko A. Rodriguez > > Talking with [~rustyrazorblade] about collaborating on a Gremlin tutorial for > language designers. Here is what we came up with. > We will use Python as the host language and demonstrate 3 ways to create > Gremlin-Python. > * Using Jython: With Jython you have direct access to the JVM and thus can > call {{GraphTraversal}} methods directly. We can expose some Python sugar > here and there to show why its good to have a language specific variant. See > Gremlin-Scala for inspiration. > * Using JNI: With Python, we have a {{PythonTraversal}} Python class. That > class then uses Java Gateway to interact (via proxy) with {{GraphTraversal}}. > This was done in the past as an experiment with R using rJava. > * Using String: With Python, we have a {{PythonTraversal}} Python class where > {{out("knows")}} simply appends {{"out(\"knows\")"}} to a string builder. The > result can then be a String sent to a {{RemoteConnection}} for evaluation. > These three models are the three ways in which any language can embed > Gremlin. -- This message was sent by Atlassian JIRA (v6.3.4#6332)