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