[ 
https://issues.apache.org/jira/browse/TINKERPOP-1417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16051841#comment-16051841
 ] 

stephen mallette commented on TINKERPOP-1417:
---------------------------------------------

This has an interesting potential impact on GLVs because "Little Gremlin" could 
be implemented within them for client-side traversals over remote subgraphs, 
where the subgraph is like a remote transaction. All graph mutations 
essentially build a subgraph which is merged into the primary graph. That 
subgraph is effectively the "transaction". Build it locally then submit it 
remotely and have the server sort out the merging. It's perhaps the most 
natural way to load data. With "Gremlinito" you then get the added power of 
being able to traverse a local subgraph.

If we could ever get the test suite "right" we could probably have to test 
specifications one for "Gremlin Minor" and one for "Gremlin Major". Then you 
just build your implementation against the spec that you want to support. We 
could drive the specification by the test suite.

fyi [~bryncooke] 

> Create a Gremlin language subset that is easy to implement on any VM
> --------------------------------------------------------------------
>
>                 Key: TINKERPOP-1417
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1417
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.2.1
>            Reporter: Marko A. Rodriguez
>
> Implementing the Gremlin VM in another language is pretty straightforward. 
> However, its a lot of code.. all these steps implementations. One thing we 
> could do to make it easy for database providers not on the JVM (e.g. ArangoDB 
> and C) is to create "Gremlito" (Gremlin--). This language subset wouldn't 
> support side-effects, sacks, match, etc. Basically, just simple traversal 
> steps and reducing barrier terminals.
> Thus:
> * out, in, both, values, outE, inV, id, label, etc.
> * repeat
> * select, project
> * where, has, limit, range, is, dedup
> * path, simplePath, cyclicPath
> * groupCount, sum, group, count, max, min, etc. (reducing barriers)
> I suspect the steps above make up 90% of user traversals and all are easy to 
> implement.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to