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

ASF GitHub Bot commented on TINKERPOP-1234:
-------------------------------------------

GitHub user okram opened a pull request:

    https://github.com/apache/incubator-tinkerpop/pull/283

    TINKERPOP-1234: program() step that takes arbitrary vertex programs

    https://issues.apache.org/jira/browse/TINKERPOP-1234
    
    We now have `GraphTraversal.program(VertexProgram)`. This allows users to 
do things such as:
    
    ```
    
g.V().out("bought").in("bought").program(CollaborativeFilteringVertexProgram.build()....)
    ```
    
    Behaves just like any other `VertexProgramStep` where:
    
    ```
    g.V().pageRank() == g.V().program(PageRankVertexProgram...)
    ```
    
    CHANGELOG
    
    ```
    * Added `GraphTraversal.program(VertexProgram)` to allow arbitrary user 
vertex programs in OLAP.
    ```
    
    VOTE +1. @dkuppitz tested it with his use case as well.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/apache/incubator-tinkerpop TINKERPOP-1234

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-tinkerpop/pull/283.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 #283
    
----
commit f6d49626fd07182d01de440dbb5129b34dcdbbd7
Author: Marko A. Rodriguez <okramma...@gmail.com>
Date:   2016-03-24T16:29:43Z

    first stub of ProgramVertexProgramStep which is like TraversalMap in that 
it VertexProgramStep that takes a Program.

commit cd143baff809e657b37768f04a327c05a962e254
Author: Marko A. Rodriguez <okramma...@gmail.com>
Date:   2016-03-24T17:07:45Z

    simplified ProgramVertexProgramStep and added ProgramTest and 
GroovyProgramTest. Its crazy, it 'just works'.

commit 9521abfe1b39f5a78f7c6402d79d473e0edd130f
Author: Marko A. Rodriguez <okramma...@gmail.com>
Date:   2016-03-24T17:31:02Z

    Added graph as a binding in ScriptTraversal much like g. This ensures that 
when a ScriptTraversal references the graph, its there as graphs are not 
serializable. This problem emerged during GroovyProgramTest on Spark and Giraph.

commit d543f980693aa6b2d28442e5745bf8ff802034ed
Author: Marko A. Rodriguez <okramma...@gmail.com>
Date:   2016-03-29T14:31:49Z

    added hashCode() and toString() to ProgramVertexProgramStep.

----


> program() step that takes arbitrary vertex programs
> ---------------------------------------------------
>
>                 Key: TINKERPOP-1234
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1234
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.2.0-incubating
>            Reporter: Daniel Kuppitz
>            Assignee: Marko A. Rodriguez
>
> In 3.2 VertexPrograms like {{PageRankVertexProgram}} will have a dedicated 
> step that allows to do things like {{g.V().out().out().pageRank()}}. Would be 
> nice to have a general step {{program()}}, so that we can do the same thing 
> with any {{VertexProgam}}, e.g.
> {code}
> // pre-calculate "users who bought this, also bought" and create uwbt-edges 
> for the top 100 results per vertex
> g.V().as("a").in("bought").out("bought").where(neq("a")).as("b").select("a","b").
>   
> program(CollaborativeFilterVertexProgram.build().source("a").target("b").limit(100).edgeLabel("uwbt").weightProperty("weight").create())
> {code}



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

Reply via email to