[
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 <[email protected]>
Date: 2016-04-19T14:23:12Z
Added stub for gremlin language variants tutorial.
commit 0beae616352271f74e92bfeb6d1100856e7996e0
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-04-19T17:38:42Z
started to flesh out the gremlin-language-variant tutorial.
commit 7e2833c8fcca2a4245785788410712be8439ad91
Author: Marko A. Rodriguez <[email protected]>
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 <[email protected]>
Date: 2016-04-20T15:28:33Z
more work on Gremlin-Jython. This is a really cool tutorial.
commit 57210e98678dba6b2e3f1adb8306a7a0bae82eea
Author: Marko A. Rodriguez <[email protected]>
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 <[email protected]>
Date: 2016-04-20T20:20:16Z
added pure Python string model and gremlin-python.py.
commit 4eb6113fcc0d1bce66ffb7611d2ee824b7de9740
Author: Marko A. Rodriguez <[email protected]>
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 <[email protected]>
Date: 2016-04-21T01:41:26Z
integrated the GremlinServer string text better with the example.
commit 738a662b1b738a6aac70ac343fbe0d0ae16fda61
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-04-21T13:06:35Z
lot more work on the tutorial. added fun graphics too :).
commit b66d736076bd25ad2554a92b09bfe88c834afd0d
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-04-21T13:11:25Z
forgot to commit the new graphics.
commit cbf6cc19321fd3375c5d910a9454ab75e722214c
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-04-21T13:17:05Z
syncd with master
commit ce1adcedc12f3c630f284c8caee293342c465e23
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-04-21T14:35:06Z
finished the tutorial. Its epic.
commit 099e110a22c94d987a0af17c71b961bf91edad75
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-04-21T15:00:12Z
added latest version of the gremlin-python generated source file.
commit cc66ba5f8a42e6fd0b130adb87ed8d4702674491
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-04-21T15:38:31Z
minor nothings -- just added links and some internal ahref anchors.
commit 343a34bc6a4bb07dc0e61604c811107f00530b33
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-04-21T15:41:39Z
sorry. another minor nothing. done for the day with this.
commit adce6cfada83f1593a3fda13f8dcfac579d2fcc5
Author: Marko A. Rodriguez <[email protected]>
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 <[email protected]>
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 <[email protected]>
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)