final GetElements query = new GetElements.Builder() .input(new EdgeSeed("A", "B", DirectedType.UNDIRECTED)) .build();
public CloseableIterable<? extends Element> getEdgesRelatedTo2WhenSourceIsLessThan2OrDestinationIsMoreThan3() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EntitySeed(2)) .view(new View.Builder() .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter( new ElementFilter.Builder() .select(IdentifierType.SOURCE.name(), IdentifierType.DESTINATION.name()) .execute(new Or.Builder<>() .select(0) .execute(new IsLessThan(2)) .select(1) .execute(new IsMoreThan(3)) .build()) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, "When using an Or predicate with a multiple selected values, it is more complicated. " + "First, you need to select all the values you want: 'select(a, b, c)'. This will create an array of the selected values, [a, b, c]. " + "You then need to use the Or.Builder to build your Or predicate, using .select() then .execute(). " + "When selecting values in the Or.Builder you need to refer to the position in the [a,b,c] array. So to use property 'a', use position 0 - select(0)."); } }
public CloseableIterable<Element> getEntitiesAndEdgesByEntitySeed2AndEdgeSeed2to3WithCountGreaterThan1() { // --------------------------------------------------------- final GetElements<ElementSeed, Element> operation = new GetElements.Builder<>() .addSeed(new EntitySeed(2)) .addSeed(new EdgeSeed(2, 3, true)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation); } }
public CloseableIterable<? extends Element> getEntitiesAndEdgesByEntityId2AndEdgeId2to3WithCountMoreThan1() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EntitySeed(2), new EdgeSeed(2, 3, DirectedType.EITHER)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, null); }
public CloseableIterable<? extends Element> getAllEntitiesAndEdgesThatAreRelatedToEdge1to2WithCountMoreThan1() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EdgeSeed(1, 2, DirectedType.EITHER)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, null); }
public Iterable<Element> getAllEntitiesAndEdgesThatAreRelatedToEdge1to2WithCountGreaterThan1() { // --------------------------------------------------------- final GetElements<EdgeSeed, Element> operation = new GetElements.Builder<EdgeSeed, Element>() .addSeed(new EdgeSeed(1, 2, true)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .edge("edge", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("count") .execute(new IsMoreThan(1)) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation); }
@Override public CloseableIterable<?> get(final String key) throws OperationException { final GetElements getEdges = new GetElements.Builder() .input(new EdgeSeed(jobId, key, true)) .view(new View.Builder() .edge("result", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder() .select("opAuths") .execute(new AreIn(userOpAuths)) .build()) .build()) .build()) .build(); final CloseableIterable<? extends Element> edges = resultCache.execute(getEdges, context); if (null == edges) { return new WrappedCloseableIterable<>(); } return new TransformJsonResult(edges); }
public CloseableIterable<? extends Element> getEntitiesRelatedTo2WithCountLessThan2OrMoreThan5() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EntitySeed(2), new EdgeSeed(2, 3, DirectedType.EITHER)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .preAggregationFilter( new ElementFilter.Builder() .select("count") .execute(new Or<>(new IsLessThan(2), new IsMoreThan(5))) .build()) .build()) .build()) .build(); // --------------------------------------------------------- return runExample(operation, "When using an Or predicate with a single selected value you can just do 'select(propertyName)' then 'execute(new Or(predicates))'"); }
public Set<? extends Element> withToSetOperation() { // --------------------------------------------------------- final OperationChain<Set<? extends Element>> opChain = new OperationChain.Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .build()) .then(new ToSet<>()) .build(); // --------------------------------------------------------- return runExample(opChain, null); } }
public Stream<? extends Element> toStreamExample() { // --------------------------------------------------------- final OperationChain<Stream<? extends Element>> opChain = new Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .build()) .then(new ToStream<>()) .build(); // --------------------------------------------------------- return runExample(opChain, null); } }
public CloseableIterable<? extends Element> withoutToSetOperation() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .build(); // --------------------------------------------------------- return runExample(operation, null); }
public Element[] toArrayExample() { // --------------------------------------------------------- final OperationChain<? extends Element[]> opChain = new OperationChain.Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .build()) .then(new ToArray<>()) .build(); // --------------------------------------------------------- return runExample(opChain, null); } }
public CloseableIterable<Element> getEntitiesAndEdgesThatAreRelatedToVertex2() { // --------------------------------------------------------- final GetElements<EntitySeed, Element> operation = new GetElements.Builder<EntitySeed, Element>() .addSeed(new EntitySeed(2)) .build(); // --------------------------------------------------------- return runExample(operation); }
public CloseableIterable<Element> getEntitiesAndEdgesByEntitySeed2AndEdgeSeed2to3() { // --------------------------------------------------------- final GetElements<ElementSeed, Element> operation = new GetElements.Builder<>() .addSeed(new EntitySeed(2)) .addSeed(new EdgeSeed(2, 3, true)) .build(); // --------------------------------------------------------- return runExample(operation); }
public CloseableIterable<? extends Element> getAllEntitiesAndEdgesThatAreRelatedToEdge1to2() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EdgeSeed(1, 2, DirectedType.EITHER)) .build(); // --------------------------------------------------------- return runExample(operation, null); }
public Iterable<? extends EntitySeed> toStreamExample() { // --------------------------------------------------------- final OperationChain<Iterable<? extends EntitySeed>> opChain = new OperationChain.Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .build()) .then(new ToEntitySeeds()) .build(); // --------------------------------------------------------- return runExample(opChain, null); } }
public List<? extends Element> toListExample() { // --------------------------------------------------------- final OperationChain<List<? extends Element>> opChain = new OperationChain.Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .build()) .then(new ToList<>()) .build(); // --------------------------------------------------------- return runExample(opChain, null); } }
public CloseableIterable<Element> getAllEntitiesAndEdgesThatAreRelatedToEdge1to2() { // --------------------------------------------------------- final GetElements<EdgeSeed, Element> operation = new GetElements.Builder<EdgeSeed, Element>() .addSeed(new EdgeSeed(1, 2, true)) .build(); // --------------------------------------------------------- return runExample(operation); }
public CloseableIterable<? extends Element> getEntitiesAndEdgesByEntityId2AndEdgeId2to3() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EntitySeed(2), new EdgeSeed(2, 3, DirectedType.EITHER)) .build(); // --------------------------------------------------------- return runExample(operation, null); }
public CloseableIterable<? extends Element> getEntitiesAndEdgesThatAreRelatedToVertex2() { // --------------------------------------------------------- final GetElements operation = new GetElements.Builder() .input(new EntitySeed(2)) .build(); // --------------------------------------------------------- return runExample(operation, null); }