.view(new View.Builder() .edge("RoadUse") .build())
final GetElements getRelatedRedEdges = new GetElements.Builder() .input(new EntitySeed("10")) .view(view) .build(); final CloseableIterable<? extends Element> redResults = graph.execute(getRelatedRedEdges, user);
final GetElements getRelatedElement = new GetElements.Builder() .input(new EntitySeed("10")) .view(view) .build(); final CloseableIterable<? extends Element> results = graph.execute(getRelatedElement, user); final GetElements getEdgesWithCountMoreThan2 = new GetElements.Builder() .input(new EntitySeed("10")) .view(viewWithFilter) .build(); final CloseableIterable<? extends Element> filteredResults = graph.execute(getEdgesWithCountMoreThan2, user);
.first(new GetElements.Builder() .input(new EntitySeed("10")) .view(new View.Builder() .edge("RoadUse") .build())
.first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .transientProperty("score", Integer.class)
.input(new EntitySeed("M5")) .inOutType(IncludeIncomingOutgoingType.OUTGOING) .view(new View.Builder() .edge("RoadHasJunction") .build()) .then(new GetElements.Builder() .inOutType(IncludeIncomingOutgoingType.OUTGOING) .view(new View.Builder() .edge("RoadUse", new ViewElementDefinition.Builder() .preAggregationFilter(new ElementFilter.Builder()
.first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .transientProperty("score", Integer.class)
.first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .view(new View.Builder() .entity("entity", new ViewElementDefinition.Builder() .transientProperty("score", Integer.class)
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 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); }
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); }
@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 Iterable<?> extractMatchedVertices() { // --------------------------------------------------------- final OperationChain<Set<?>> opChain = new Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .inOutType(SeededGraphFilters.IncludeIncomingOutgoingType.OUTGOING) .view(new View.Builder() .edge("edge") .build()) .build()) .then(new ToVertices.Builder() .useMatchedVertex(ToVertices.UseMatchedVertex.EQUAL) .build()) .then(new ToSet<>()) .build(); // --------------------------------------------------------- return runExample(opChain, null); }
public Iterable<?> extractBothSourceAndDestinationVertices() { // --------------------------------------------------------- final OperationChain<Set<?>> opChain = new Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .inOutType(SeededGraphFilters.IncludeIncomingOutgoingType.OUTGOING) .view(new View.Builder() .edge("edge") .build()) .build()) .then(new ToVertices.Builder() .edgeVertices(ToVertices.EdgeVertices.BOTH) .build()) .then(new ToSet<>()) .build(); // --------------------------------------------------------- return runExample(opChain, null); }
public Iterable<?> extractOppositeMatchedVertices() { // --------------------------------------------------------- final OperationChain<Set<?>> opChain = new Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .inOutType(SeededGraphFilters.IncludeIncomingOutgoingType.OUTGOING) .view(new View.Builder() .edge("edge") .build()) .build()) .then(new ToVertices.Builder() .useMatchedVertex(ToVertices.UseMatchedVertex.OPPOSITE) .build()) .then(new ToSet<>()) .build(); // --------------------------------------------------------- return runExample(opChain, null); } }
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 Iterable<?> extractDestinationVertex() { // --------------------------------------------------------- final OperationChain<Set<?>> opChain = new Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .inOutType(SeededGraphFilters.IncludeIncomingOutgoingType.OUTGOING) .view(new View.Builder() .edge("edge") .build()) .build()) .then(new ToVertices.Builder() .edgeVertices(ToVertices.EdgeVertices.DESTINATION) .build()) .then(new ToSet<>()) .build(); // --------------------------------------------------------- return runExample(opChain, null); }
public Iterable<?> extractEntityVertices() { // --------------------------------------------------------- final OperationChain<Set<?>> opChain = new Builder() .first(new GetElements.Builder() .input(new EntitySeed(1), new EntitySeed(2)) .view(new View.Builder() .entity("entity") .build()) .build()) .then(new ToVertices.Builder() .edgeVertices(ToVertices.EdgeVertices.NONE) .build()) .then(new ToSet<>()) .build(); // --------------------------------------------------------- return runExample(opChain, null); }