16 package emlab.gen.repository;
18 import org.springframework.data.neo4j.annotation.Query;
19 import org.springframework.data.neo4j.annotation.QueryType;
20 import org.springframework.data.neo4j.repository.GraphRepository;
21 import org.springframework.data.repository.query.Param;
29 @Query(value =
"all = g.v(market).in('MARKET_POINT').filter{it.time==tick && it.forecast==forecast}; if(all.hasNext()){return all.next();} else{return []}", type = QueryType.Gremlin)
31 @Param(
"tick")
long tick, @Param(
"forecast")
boolean forecast);
39 @Query(value =
"g.v(market).in('MARKET_POINT').filter{(it.time>=timeFrom) && (it.time<=timeTo) && it.forecast==forecast}.price.mean()", type = QueryType.Gremlin)
40 double calculateAverageClearingPriceForMarketAndTimeRange(@Param(
"market")
DecarbonizationMarket market,
41 @Param(
"timeFrom")
long timeFrom, @Param(
"timeTo")
long timeTo, @Param(
"forecast")
boolean forecast);
43 @Query(value =
"g.v(substance).in('SUBSTANCE_MARKET').in('MARKET_POINT').propertyFilter('time', FilterPipe.Filter.GREATER_THAN_EQUAL, timeFrom).propertyFilter('time', FilterPipe.Filter.LESS_THAN_EQUAL, timeTo).propertyFilter('forecast',FilterPipe.Filter.EQUAL,forecast)", type = QueryType.Gremlin)
44 Iterable<ClearingPoint> findAllClearingPointsForSubstanceAndTimeRange(@Param(
"substance")
Substance substance,
45 @Param(
"timeFrom")
long timeFrom, @Param(
"timeTo")
long timeTo, @Param(
"forecast")
boolean forecast);
47 @Query(value =
"g.v(market).in('MARKET_POINT').propertyFilter('time', FilterPipe.Filter.GREATER_THAN_EQUAL, timeFrom).propertyFilter('time', FilterPipe.Filter.LESS_THAN_EQUAL, timeTo).propertyFilter('forecast',FilterPipe.Filter.EQUAL,forecast)", type = QueryType.Gremlin)
48 Iterable<ClearingPoint> findAllClearingPointsForMarketAndTimeRange(@Param(
"market")
DecarbonizationMarket market,
49 @Param(
"timeFrom")
long timeFrom, @Param(
"timeTo")
long timeTo, @Param(
"forecast")
boolean forecast);
52 @Query(value =
"g.v(substance).in('SUBSTANCE_MARKET').propertyFilter('__type__', FilterPipe.Filter.EQUAL, 'emlab.gen.domain.market.CommodityMarket').in('MARKET_POINT').propertyFilter('time', FilterPipe.Filter.GREATER_THAN_EQUAL, timeFrom).propertyFilter('time', FilterPipe.Filter.LESS_THAN_EQUAL, timeTo).propertyFilter('forecast',FilterPipe.Filter.EQUAL,forecast)", type = QueryType.Gremlin)
53 Iterable<ClearingPoint> findAllClearingPointsForSubstanceTradedOnCommodityMarkesAndTimeRange(@Param(
"substance")
Substance substance,
54 @Param(
"timeFrom")
long timeFrom, @Param(
"timeTo")
long timeTo,
55 @Param(
"forecast")
boolean forecast);