Hi,
Check it out:
https://gist.github.com/okram/c9e7dc6e51fcf067b9d77c6c4ea094da
<https://gist.github.com/okram/c9e7dc6e51fcf067b9d77c6c4ea094da>
The code is pretty dead simple:
https://github.com/apache/tinkerpop/blob/9b15e90a651383bc7ab0c014f1492bbf70bc3848/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/g2/g2Parser.java
<https://github.com/apache/tinkerpop/blob/9b15e90a651383bc7ab0c014f1492bbf70bc3848/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/g2/g2Parser.java>
Right now I’m manually testing using text files on my Desktop. However, you can
see how easy it is to interact with the parser.
https://github.com/apache/tinkerpop/blob/9b15e90a651383bc7ab0c014f1492bbf70bc3848/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/g2/g2ParserTest.java
<https://github.com/apache/tinkerpop/blob/9b15e90a651383bc7ab0c014f1492bbf70bc3848/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/g2/g2ParserTest.java>
Marko.
http://markorodriguez.com
> On Oct 20, 2016, at 8:19 AM, HadoopMarc <[email protected]> wrote:
>
> Hi Marko,
>
> APL was especially cool for punchcards or VT100 terminals ...
>
> I'm always in for more efficient notations for graph analytics. Maybe tensor
> notation can also provide some inspiration for 2D operations:
>
> https://en.wikipedia.org/wiki/Tensor <https://en.wikipedia.org/wiki/Tensor>
>
> Cheers, Marc
>
> Op donderdag 20 oktober 2016 01:08:18 UTC+2 schreef Robert Dale:
> Reminds me of brainfuck.
>
> On Wed, Oct 19, 2016 at 10:04 AM, Marko Rodriguez <[email protected]
> <javascript:>> wrote:
> Hello,
>
> Last night I was cruisin’ around Wikipedia and was checking out various
> programming languages. One in particular caught my eye — APL.
>
> https://en.wikipedia.org/wiki/APL_(programming_language)#Game_of_Life
> <https://en.wikipedia.org/wiki/APL_(programming_language)#Game_of_Life>
>
> I thought it would be neat to have different type of syntax to express
> Gremlin traversals and came up with the following "2D pipes” language.
>
> https://gist.github.com/okram/cfb526bf01c36c1e4001de6b3dc0f60c
> <https://gist.github.com/okram/cfb526bf01c36c1e4001de6b3dc0f60c>
>
> Basically, there are “piping” symbols that dictate traverser flow:
> - ^ / \
> These pipes link the steps, where commonly used steps have a short-hand
> syntax.
>
> The translator to go from this to Gremlin bytecode seems pretty simple. The
> internal data structure for the language is:
>
> List<List<String>>
>
> This give you the 2D matrix. You then can go “up and down” the lists and
> “left and right” along the tokens, where the - ^ \ / pipes tell you how to
> move about the List<List<String>> structure.
>
> Does anyone think this is cool?
>
> Marko.
>
> http://markorodriguez.com <http://markorodriguez.com/>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Gremlin-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/gremlin-users/B347B223-FD64-4F5C-9E65-7F50CF72BF38%40gmail.com
>
> <https://groups.google.com/d/msgid/gremlin-users/B347B223-FD64-4F5C-9E65-7F50CF72BF38%40gmail.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
>
>
> --
> Robert Dale
>
> --
> You received this message because you are subscribed to the Google Groups
> "Gremlin-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected]
> <mailto:[email protected]>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/gremlin-users/c1ce8a2b-b219-4eba-a8f6-ee62cdd12296%40googlegroups.com
>
> <https://groups.google.com/d/msgid/gremlin-users/c1ce8a2b-b219-4eba-a8f6-ee62cdd12296%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.