[ 
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)

Reply via email to