当前位置: 首页>>代码示例>>Java>>正文


Java OrderGlobalStep类代码示例

本文整理汇总了Java中org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep的典型用法代码示例。如果您正苦于以下问题:Java OrderGlobalStep类的具体用法?Java OrderGlobalStep怎么用?Java OrderGlobalStep使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


OrderGlobalStep类属于org.apache.tinkerpop.gremlin.process.traversal.step.map包,在下文中一共展示了OrderGlobalStep类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getStepRank

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
/**
 * Ranks the given step. Steps with lower ranks can be moved in front of steps with higher ranks. 0 means that
 * the step has no rank and thus is not exchangeable with its neighbors.
 *
 * @param step
 * @return The rank of the given step.
 */
private static int getStepRank(final Step step) {
    if (step instanceof IsStep) {
        return 1;
    } else if (step instanceof HasStep) {
        return 2;
    } else if (step instanceof WherePredicateStep) {
        return 3;
    } else if (step instanceof SimplePathStep || step instanceof CyclicPathStep) {
        return 4;
    } else if (step instanceof TraversalFilterStep) {
        return 5;
    } else if (step instanceof WhereTraversalStep) {
        return 6;
    } else if (step instanceof OrStep) {
        return 7;
    } else if (step instanceof AndStep) {
        return 8;
    } else if (step instanceof DedupGlobalStep) {
        return 9;
    } else if (step instanceof OrderGlobalStep) {
        return 10;
    }
    return 0;
}
 
开发者ID:PKUSilvester,项目名称:LiteGraph,代码行数:32,代码来源:FilterRankingStrategy.java

示例2: apply

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
@Override
public void apply(Traversal.Admin<?, ?> traversal) {
    TraversalHelper.getStepsOfAssignableClass(OrderGlobalStep.class, traversal).forEach(orderGlobalStep -> {
        List<Pair<Traversal.Admin, Comparator>> comparators = orderGlobalStep.getComparators();
        List<Pair<String, Order>> collect = comparators.stream()
                .filter(pair -> pair.getValue0() instanceof ElementValueTraversal)
                .filter(pair -> pair.getValue1() instanceof Order)
                .map(pair -> Pair.with(((ElementValueTraversal) pair.getValue0()).getPropertyKey(),
                        ((Order) pair.getValue1())))
                .collect(Collectors.toList());
        Collection<Orderable> orderableStepOf = getOrderableStepOf(orderGlobalStep, traversal);
        if (orderableStepOf != null && orderableStepOf.size() == 1) {
            Orderable step = orderableStepOf.iterator().next();
            step.setOrders(collect);
            Step nextStep = orderGlobalStep.getNextStep();
            if (nextStep instanceof RangeGlobalStep){
                if (step instanceof ReceivesPredicatesHolder) {
                    RangeGlobalStep rangeGlobalStep = (RangeGlobalStep) nextStep;
                    int limit = rangeGlobalStep.getHighRange() > Integer.MAX_VALUE ? -1 : (int) rangeGlobalStep.getHighRange();
                    ((ReceivesPredicatesHolder) step).setLimit(limit);
                }
            }
        }
    });
}
 
开发者ID:unipop-graph,项目名称:unipop,代码行数:26,代码来源:UniGraphOrderStrategy.java

示例3: walkReplacedSteps

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
void walkReplacedSteps(Set<SchemaTableTree> schemaTableTrees) {
    //The tree only has one linear path from root to the deepest leaf node.
    //This represents the regular path where each ReplacedStep goes one step deeper down the graph.
    //First build the SchemaTableTrees for this path.
    //The other nodes in this ReplacedStepTree are nodes that need to join onto the left join nodes coming from optional steps.
    List<ReplacedStep<?, ?>> replacedSteps = linearPathToLeafNode();

    for (ReplacedStep<?, ?> replacedStep : replacedSteps) {
        //skip the graph step
        if (replacedStep.getStep() instanceof GraphStep) {
            continue;
        }
        if (!(replacedStep.getStep() instanceof OrderGlobalStep) && !(replacedStep.getStep() instanceof RangeGlobalStep)) {
            //This schemaTableTree represents the tree nodes as build up to this depth. Each replacedStep goes a level further
            schemaTableTrees = replacedStep.calculatePathForStep(schemaTableTrees);
        }
    }

}
 
开发者ID:pietermartin,项目名称:sqlg,代码行数:20,代码来源:ReplacedStepTree.java

示例4: verifyIncidentTraversal

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
private static void verifyIncidentTraversal(FulgoraElementTraversal<Vertex,Edge> traversal) {
    //First step must be TitanVertexStep
    List<Step> steps = traversal.getSteps();
    Step<Vertex,?> startStep = steps.get(0);
    Preconditions.checkArgument(startStep instanceof TitanVertexStep &&
            TitanTraversalUtil.isEdgeReturnStep((TitanVertexStep) startStep),"Expected first step to be an edge step but found: %s",startStep);
    Optional<Step> violatingStep = steps.stream().filter(s -> !(s instanceof TitanVertexStep ||
            s instanceof OrderGlobalStep || s instanceof OrderLocalStep ||
                    s instanceof IdentityStep || s instanceof FilterStep)).findAny();
    if (violatingStep.isPresent()) throw new IllegalArgumentException("Encountered unsupported step in incident traversal: " + violatingStep.get());
}
 
开发者ID:graben1437,项目名称:titan1withtp3.1,代码行数:12,代码来源:FulgoraUtil.java

示例5: validTitanOrder

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
public static boolean validTitanOrder(OrderGlobalStep ostep, Traversal rootTraversal,
                                      boolean isVertexOrder) {
    for (Comparator comp : (List<Comparator>) ostep.getComparators()) {
        if (!(comp instanceof ElementValueComparator)) return false;
        ElementValueComparator evc = (ElementValueComparator) comp;
        if (!(evc.getValueComparator() instanceof Order)) return false;

        TitanTransaction tx = TitanTraversalUtil.getTx(rootTraversal.asAdmin());
        String key = evc.getPropertyKey();
        PropertyKey pkey = tx.getPropertyKey(key);
        if (pkey == null || !(Comparable.class.isAssignableFrom(pkey.dataType()))) return false;
        if (isVertexOrder && pkey.cardinality() != Cardinality.SINGLE) return false;
    }
    return true;
}
 
开发者ID:graben1437,项目名称:titan1withtp3.1,代码行数:16,代码来源:HasStepFolder.java

示例6: getStepRank

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
/**
 * Ranks the given step. Steps with lower ranks can be moved in front of steps with higher ranks. 0 means that
 * the step has no rank and thus is not exchangeable with its neighbors.
 *
 * @param step the step to get a ranking for
 * @return The rank of the given step.
 */
private static int getStepRank(final Step step) {
    final int rank;
    if (!(step instanceof FilterStep || step instanceof OrderGlobalStep))
        return 0;
    else if (step instanceof IsStep || step instanceof ClassFilterStep)
        rank = 1;
    else if (step instanceof HasStep)
        rank = 2;
    else if (step instanceof WherePredicateStep && ((WherePredicateStep) step).getLocalChildren().isEmpty())
        rank = 3;
    else if (step instanceof TraversalFilterStep || step instanceof NotStep)
        rank = 4;
    else if (step instanceof WhereTraversalStep)
        rank = 5;
    else if (step instanceof OrStep)
        rank = 6;
    else if (step instanceof AndStep)
        rank = 7;
    else if (step instanceof WherePredicateStep) // has by()-modulation
        rank = 8;
    else if (step instanceof DedupGlobalStep)
        rank = 9;
    else if (step instanceof OrderGlobalStep)
        rank = 10;
    else
        return 0;
    ////////////
    if (step instanceof TraversalParent)
        return getMaxStepRank((TraversalParent) step, rank);
    else
        return rank;
}
 
开发者ID:apache,项目名称:tinkerpop,代码行数:40,代码来源:FilterRankingStrategy.java

示例7: testOptionalWithOrder2

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
@Test
public void testOptionalWithOrder2() {
    Vertex a1 = this.sqlgGraph.addVertex(T.label, "A", "order", 13);
    Vertex a2 = this.sqlgGraph.addVertex(T.label, "A", "order", 12);
    Vertex a3 = this.sqlgGraph.addVertex(T.label, "A", "order", 11);
    Vertex b1 = this.sqlgGraph.addVertex(T.label, "B", "order", 3);
    Vertex b2 = this.sqlgGraph.addVertex(T.label, "B", "order", 2);
    Vertex b3 = this.sqlgGraph.addVertex(T.label, "B", "order", 1);
    a1.addEdge("ab", b1);
    a1.addEdge("ab", b2);
    a1.addEdge("ab", b3);
    this.sqlgGraph.tx().commit();

    DefaultGraphTraversal<Vertex, Vertex> traversal = (DefaultGraphTraversal<Vertex, Vertex>) this.sqlgGraph.traversal()
            .V().hasLabel("A").as("a")
            .local(
                    __.optional(
                            __.outE().as("e").otherV().as("v")
                    )
            ).order().by("order");
    Assert.assertEquals(4, traversal.getSteps().size());
    List<Vertex> vertices = traversal.toList();
    Assert.assertEquals(4, traversal.getSteps().size());

    Assert.assertTrue(traversal.getSteps().get(0) instanceof SqlgGraphStep);
    Assert.assertTrue(traversal.getSteps().get(1) instanceof IdentityStep);
    Assert.assertTrue(traversal.getSteps().get(2) instanceof SqlgLocalStepBarrier);
    Assert.assertTrue(traversal.getSteps().get(3) instanceof OrderGlobalStep);
    SqlgLocalStepBarrier<?, ?> localStep = (SqlgLocalStepBarrier<?, ?>) traversal.getSteps().get(2);
    List<SqlgVertexStep> sqlgVertexSteps = TraversalHelper.getStepsOfAssignableClassRecursively(SqlgVertexStep.class, localStep.getLocalChildren().get(0));
    Assert.assertEquals(1, sqlgVertexSteps.size());

    Assert.assertEquals(5, vertices.size());
    Assert.assertEquals(b3, vertices.get(0));
    Assert.assertEquals(b2, vertices.get(1));
    Assert.assertEquals(b1, vertices.get(2));
    Assert.assertEquals(a3, vertices.get(3));
    Assert.assertEquals(a2, vertices.get(4));
}
 
开发者ID:pietermartin,项目名称:sqlg,代码行数:40,代码来源:TestLocalVertexStepOptionalWithOrder.java

示例8: testOptionalWithOrder2

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
@Test
public void testOptionalWithOrder2() {
    Vertex a1 = this.sqlgGraph.addVertex(T.label, "A", "order", 13);
    Vertex a2 = this.sqlgGraph.addVertex(T.label, "A", "order", 12);
    Vertex a3 = this.sqlgGraph.addVertex(T.label, "A", "order", 11);
    Vertex b1 = this.sqlgGraph.addVertex(T.label, "B", "order", 3);
    Vertex b2 = this.sqlgGraph.addVertex(T.label, "B", "order", 2);
    Vertex b3 = this.sqlgGraph.addVertex(T.label, "B", "order", 1);
    a1.addEdge("ab", b1);
    a1.addEdge("ab", b2);
    a1.addEdge("ab", b3);
    this.sqlgGraph.tx().commit();

    DefaultGraphTraversal<Vertex, Vertex> traversal = (DefaultGraphTraversal<Vertex, Vertex>) this.sqlgGraph.traversal()
            .V().hasLabel("A").as("a")
            .optional(
                    __.outE().as("e").otherV().as("v")
            ).order().by("order");
    Assert.assertEquals(4, traversal.getSteps().size());
    List<Vertex> vertices = traversal.toList();
    Assert.assertEquals(3, traversal.getSteps().size());

    assertStep(traversal.getSteps().get(0), true, false, false, true);

    Assert.assertTrue(traversal.getSteps().get(1) instanceof IdentityStep);
    Assert.assertTrue(traversal.getSteps().get(2) instanceof OrderGlobalStep);
    Assert.assertEquals(5, vertices.size());
    Assert.assertEquals(b3, vertices.get(0));
    Assert.assertEquals(b2, vertices.get(1));
    Assert.assertEquals(b1, vertices.get(2));
    Assert.assertEquals(a3, vertices.get(3));
    Assert.assertEquals(a2, vertices.get(4));
}
 
开发者ID:pietermartin,项目名称:sqlg,代码行数:34,代码来源:TestOptionalWithOrder.java

示例9: doTest

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
@Test
public void doTest() {
    traversal.asAdmin().setParent(new TraversalVertexProgramStep(EmptyTraversal.instance(), EmptyTraversal.instance())); // trick it
    applyOrderLimitStrategyStrategy(traversal);
    assertEquals(limit, TraversalHelper.getFirstStepOfAssignableClass(OrderGlobalStep.class, traversal.asAdmin()).get().getLimit());
}
 
开发者ID:PKUSilvester,项目名称:LiteGraph,代码行数:7,代码来源:OrderLimitStrategyTest.java

示例10: order

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
/**
 * Order either the {@link Scope#local} object (e.g. a list, map, etc.) or the entire {@link Scope#global} traversal stream.
 *
 * @param scope whether the ordering is the current local object or the entire global stream.
 * @return the traversal with an appended {@link OrderGlobalStep} or {@link OrderLocalStep}.
 */
public default GraphTraversal<S, E> order(final Scope scope) {
    return this.asAdmin().addStep(scope.equals(Scope.global) ? new OrderGlobalStep<>(this.asAdmin()) : new OrderLocalStep<>(this.asAdmin()));
}
 
开发者ID:PKUSilvester,项目名称:LiteGraph,代码行数:10,代码来源:GraphTraversal.java

示例11: order

import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep; //导入依赖的package包/类
/**
 * Order all the objects in the traversal up to this point and then emit them one-by-one in their ordered sequence.
 *
 * @return the traversal with an appended {@link OrderGlobalStep}.
 * @see <a href="http://tinkerpop.apache.org/docs/${project.version}/reference/#order-step" target="_blank">Reference Documentation - Order Step</a>
 * @since 3.0.0-incubating
 */
public default GraphTraversal<S, E> order() {
    this.asAdmin().getBytecode().addStep(Symbols.order);
    return this.asAdmin().addStep(new OrderGlobalStep<>(this.asAdmin()));
}
 
开发者ID:apache,项目名称:tinkerpop,代码行数:12,代码来源:GraphTraversal.java


注:本文中的org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。