use of uk.gov.gchq.koryphe.predicate.PredicateMap in project gaffer-doc by gchq.
the class PredicateMapExample method mapWithDateKeyHasAValueThatExists.
public void mapWithDateKeyHasAValueThatExists() {
// ---------------------------------------------------------
final PredicateMap function = new PredicateMap(new Date(0L), new Exists());
// ---------------------------------------------------------
final Map<Date, Long> map1 = new HashMap<>();
map1.put(new Date(0L), 1L);
final Map<Date, Long> map2 = new HashMap<>();
map2.put(new Date(), 2L);
runExample(function, null, map1, map2);
}
use of uk.gov.gchq.koryphe.predicate.PredicateMap in project gaffer-doc by gchq.
the class PredicateMapExample method freqMapIsMoreThanOrEqualTo2.
public void freqMapIsMoreThanOrEqualTo2() {
// ---------------------------------------------------------
final PredicateMap function = new PredicateMap("key1", new IsMoreThan(2L, true));
// ---------------------------------------------------------
final FreqMap map1 = new FreqMap();
map1.put("key1", 1L);
final FreqMap map2 = new FreqMap();
map2.put("key1", 2L);
final FreqMap map3 = new FreqMap();
map3.put("key1", 3L);
final FreqMap map4 = new FreqMap();
map4.put("key1", 3L);
map4.put("key2", 0L);
final FreqMap map5 = new FreqMap();
map5.put("key2", 3L);
runExample(function, null, map1, map2, map3, map4, map5);
}
use of uk.gov.gchq.koryphe.predicate.PredicateMap in project gaffer-doc by gchq.
the class PredicateMapExample method freqMapIsMoreThan2.
public void freqMapIsMoreThan2() {
// ---------------------------------------------------------
final PredicateMap function = new PredicateMap("key1", new IsMoreThan(2L));
// ---------------------------------------------------------
final FreqMap map1 = new FreqMap();
map1.put("key1", 1L);
final FreqMap map2 = new FreqMap();
map2.put("key1", 2L);
final FreqMap map3 = new FreqMap();
map3.put("key1", 3L);
final FreqMap map4 = new FreqMap();
map4.put("key1", 3L);
map4.put("key2", 0L);
final FreqMap map5 = new FreqMap();
map5.put("key2", 3L);
runExample(function, null, map1, map2, map3, map4, map5);
}
use of uk.gov.gchq.koryphe.predicate.PredicateMap in project Gaffer by gchq.
the class RoadTrafficTestQueries method checkRoadJunctionsInSouthWestHeavilyUsedByBusesIn2000.
@Test
public void checkRoadJunctionsInSouthWestHeavilyUsedByBusesIn2000() throws OperationException, ParseException {
assumeTrue(this.graph.hasTrait(StoreTrait.QUERY_AGGREGATION), "Skipping test as the store does not implement required trait.");
assumeTrue(this.graph.hasTrait(StoreTrait.TRANSFORMATION), "Skipping test as the store does not implement required trait.");
assumeTrue(this.graph.hasTrait(StoreTrait.PRE_AGGREGATION_FILTERING), "Skipping test as the store does not implement required trait.");
assumeTrue(this.graph.hasTrait(StoreTrait.POST_AGGREGATION_FILTERING), "Skipping test as the store does not implement required trait.");
assertNotNull(this.graph, "graph is null");
final Date JAN_01_2000 = new SimpleDateFormat("yyyy-MM-dd").parse("2000-01-01");
final Date JAN_01_2001 = new SimpleDateFormat("yyyy-MM-dd").parse("2001-01-01");
final OperationChain<Iterable<? extends String>> opChain = new OperationChain.Builder().first(new GetAdjacentIds.Builder().input(new EntitySeed("South West")).view(new View.Builder().edge("RegionContainsLocation").build()).build()).then(new GetAdjacentIds.Builder().view(new View.Builder().edge("LocationContainsRoad").build()).build()).then(new ToSet<>()).then(new GetAdjacentIds.Builder().view(new View.Builder().edge("RoadHasJunction").build()).build()).then(new GetElements.Builder().view(new View.Builder().globalElements(new GlobalViewElementDefinition.Builder().groupBy().build()).entity("JunctionUse", new ViewElementDefinition.Builder().preAggregationFilter(new ElementFilter.Builder().select("startDate").execute(new IsMoreThan(JAN_01_2000, true)).select("endDate").execute(new IsLessThan(JAN_01_2001, false)).build()).postAggregationFilter(new ElementFilter.Builder().select("countByVehicleType").execute(new PredicateMap<>("BUS", new IsMoreThan(1000L))).build()).transientProperty("busCount", Long.class).transformer(new ElementTransformer.Builder().select("countByVehicleType").execute(new FreqMapExtractor("BUS")).project("busCount").build()).build()).build()).inOutType(SeededGraphFilters.IncludeIncomingOutgoingType.OUTGOING).build()).then(new ToCsv.Builder().generator(new CsvGenerator.Builder().vertex("Junction").property("busCount", "Bus Count").build()).build()).build();
Set<String> resultSet = new HashSet<>();
final Iterable<? extends String> results = this.graph.execute(opChain, this.user);
for (final String r : results) {
resultSet.add(r);
}
assertEquals(SW_ROAD_JUNCTIONS_WITH_HEAVY_BUS_USAGE_IN_2000, resultSet);
}
Aggregations