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

DOYUNG YOON commented on S2GRAPH-72:
------------------------------------

Hi folks. I played with tp3 few days and now I can do following things.

1. addVertex
{noformat}
s2.traversal().clone().addV("serviceName", "myService", "columnName", 
"myColumn", "id", 1).next()
{noformat}

2. getVertices
{noformat}
s2.traversal().clone().V("myService", "myColumn", 1)
{noformat}

3. addEdge
{noformat}
s2.traversal().clone().
      addV("id", 1, "serviceName", "myService", "columnName", 
"myColumn").as("from").
      addV("id", 10, "serviceName", "myService", "columnName", 
"myColumn").as("to").addE("myLabel")
      .from("from").to("to").next()
{noformat}

4. getEdge
{noformat}
s2.traversal().clone().V("myService", "myColumn", 1).outE("myLabel").next(10)
{noformat}

I am suggesting to create seperate subtasks to list necessary works.

# provide easy to use API on org.apache.s2graph.core.Graph. this is works to be 
done as Jong Wook mentioned above.
# implement structure package. we may change our primitive core.Vertex, 
core.Edge, core.Graph, core.GraphElement in org.apache.s2graph to extends base 
interface Vertex,Edge,Graph,Element from tp3.
# decide list of Fetures that S2Graph can support and set them in S2Graph class.
# provide traversal strategy, 
ProviderOptimizationStrategy(http://tinkerpop.apache.org/docs/3.2.0-incubating/reference/#traversalstrategy).
 
# provide TCs and documentation on all above works.

Now I realized that provide traversal stragety and ProviderOptimizationStrategy 
is hard for me.
Especially becauase S2Graph's query is composed of 
{noformat}Future[Iterator[Edge]]{noformat}, not 
{noformat}Iterator[Edge]{noformat}(Entire query in s2graph runs on asynchbase 
which rely on netty).

It seems like it is possible to catch entire traversal and rewrite it inside of 
S2GraphStepStrategy. 
I was wondering if it is possible to translate traversal into S2Graph query and 
wait Future finish. 

I have not worked on traversal strategy yet, but before dig into too deep, I 
may have to ask tp3 mailing list if it is possible.

I only take a sip of tp3 so there should be much more things to do, but I think 
above seems reasonable start point. 
What you guys think? 


> Support Apache TinkerPop and Gremlin
> ------------------------------------
>
>                 Key: S2GRAPH-72
>                 URL: https://issues.apache.org/jira/browse/S2GRAPH-72
>             Project: S2Graph
>          Issue Type: Improvement
>            Reporter: Marko A. Rodriguez
>
> I posted a similar ticket when GitHub issues was the issue tracker for this 
> project. In short, it would be great if S2Graph leveraged Apache TInkerPop 
> (http://tinkerpop.apache.org). You can read the benefits here:
> http://tinkerpop.apache.org/providers.html
> One neat thing is that {{SparkGraphComputer}} would work over S2Graph and it 
> would immediately get OLAP support.
> You can read a bit about Gremlin here.
> http://tinkerpop.apache.org/gremlin.html
> S2Graph would create a set of {{TraversalStrategies}} to make use of S2Graph 
> specific optimizations such as global indices, local indices, multi-query 
> (breadth query), etc. 
> If you are interested in this path and have any questions, the Apache 
> TinkerPop team is more than happy to help.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to