tinkerpop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Frantz (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TINKERPOP3-762) Allow mid-traversal V() (and E())
Date Mon, 03 Aug 2015 14:25:05 GMT

    [ https://issues.apache.org/jira/browse/TINKERPOP3-762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14651909#comment-14651909

Matt Frantz commented on TINKERPOP3-762:

What about a structure that could be used as a source, and that would allow the intent to
be more obvious, e.g. pairwise vs. cross-product, etc. using logic like {{match}}?

It seems preferable to allow initiation of this from a source, so that the strategy can decide
which order to execute the two or more source traversals.

Here is a "join" reasoning traversal, creating edges based on property matching:
  .where('cname', eq('pname')
  .dedup('c', 'p')
  .select('c', 'p')
  .addOutE('p', 'worksFor', 'c')

Here is a "cross-product" traversal, materializing the NxN space, except the diagonal:
  .where('a', neq('b'))
  .select('a', 'b').as('pair')
  .addOutE('a', 'relatesTo', 'b')
  .select('pair').addOutE('b', 'relatesTo', 'a')

> Allow mid-traversal V() (and E())
> ---------------------------------
>                 Key: TINKERPOP3-762
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP3-762
>             Project: TinkerPop 3
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.0.0-incubating
>            Reporter: Daniel Kuppitz
>            Assignee: Marko A. Rodriguez
> We should allow mid-traversal {{V()}} and {{E()}}. It shouldn't be a technical problem,
since we always know the traversal source, thus it's just a simple {{flatMap}}. Vendors could
then implement mid-traversal global index lookups.
> *Example*:
> {code}
> g.V().hasLabel("company").has("name", "DataStax").in("worksFor").as("dse").
>   V().hasLabel("company").has("name", "Aurelius").in("worksFor").as("ae").
>       addOutE("dse", "knows", "ae", "since", "02/2015")
> {code}

This message was sent by Atlassian JIRA

View raw message