Module pygw.query.aggregation_query_builder
Source code
#
# Copyright (c) 2013-2022 Contributors to the Eclipse Foundation
#
# See the NOTICE file distributed with this work for additional information regarding copyright
# ownership. All rights reserved. This program and the accompanying materials are made available
# under the terms of the Apache License, Version 2.0 which accompanies this distribution and is
# available at http://www.apache.org/licenses/LICENSE-2.0.txt
# ===============================================================================================
from .base_query_builder import BaseQueryBuilder
from .aggregation_query import AggregationQuery
from ..base.type_conversions import StringArrayType
class AggregationQueryBuilder(BaseQueryBuilder):
"""
A builder for creating aggregation queries. This class should not be used directly. Instead, use one of the derived
classes such as `pygw.query.vector.VectorAggregationQueryBuilder`.
"""
def __init__(self, java_ref):
super().__init__(java_ref)
def count(self, *type_names):
"""
This is a convenience method to set the count aggregation if no type names are given it is
assumed to count every type.
Args:
type_names (str): The type names to count results.
Returns:
This query builder.
"""
if type_names is None:
self._java_ref.count()
else:
self._java_ref.count(StringArrayType().to_java(type_names))
return self
def aggregate(self, type_name, j_aggregation):
"""
Provide the Java Aggregation function and the type name to apply the aggregation on.
Args:
type_name (str): The type name to aggregate.
j_aggregation (Aggregation): The Java aggregation function to
Returns:
This query builder.
"""
return self._java_ref.aggregate(type_name, j_aggregation)
def build(self):
"""
Builds the configured aggregation query.
Returns:
The final constructed `pygw.query.AggregationQuery`.
"""
return AggregationQuery(self._java_ref.build(), self._java_transformer)
Classes
class AggregationQueryBuilder (java_ref)
-
A builder for creating aggregation queries. This class should not be used directly. Instead, use one of the derived classes such as
pygw.query.vector.VectorAggregationQueryBuilder
.Source code
class AggregationQueryBuilder(BaseQueryBuilder): """ A builder for creating aggregation queries. This class should not be used directly. Instead, use one of the derived classes such as `pygw.query.vector.VectorAggregationQueryBuilder`. """ def __init__(self, java_ref): super().__init__(java_ref) def count(self, *type_names): """ This is a convenience method to set the count aggregation if no type names are given it is assumed to count every type. Args: type_names (str): The type names to count results. Returns: This query builder. """ if type_names is None: self._java_ref.count() else: self._java_ref.count(StringArrayType().to_java(type_names)) return self def aggregate(self, type_name, j_aggregation): """ Provide the Java Aggregation function and the type name to apply the aggregation on. Args: type_name (str): The type name to aggregate. j_aggregation (Aggregation): The Java aggregation function to Returns: This query builder. """ return self._java_ref.aggregate(type_name, j_aggregation) def build(self): """ Builds the configured aggregation query. Returns: The final constructed `pygw.query.AggregationQuery`. """ return AggregationQuery(self._java_ref.build(), self._java_transformer)
Ancestors
Subclasses
Methods
def aggregate(self, type_name, j_aggregation)
-
Provide the Java Aggregation function and the type name to apply the aggregation on.
Args
type_name
:str
- The type name to aggregate.
j_aggregation
:Aggregation
- The Java aggregation function to
Returns
This query builder.
Source code
def aggregate(self, type_name, j_aggregation): """ Provide the Java Aggregation function and the type name to apply the aggregation on. Args: type_name (str): The type name to aggregate. j_aggregation (Aggregation): The Java aggregation function to Returns: This query builder. """ return self._java_ref.aggregate(type_name, j_aggregation)
def build(self)
-
Builds the configured aggregation query.
Returns
The final constructed
pygw.query.AggregationQuery
.Source code
def build(self): """ Builds the configured aggregation query. Returns: The final constructed `pygw.query.AggregationQuery`. """ return AggregationQuery(self._java_ref.build(), self._java_transformer)
def count(self, *type_names)
-
This is a convenience method to set the count aggregation if no type names are given it is assumed to count every type.
Args
type_names
:str
- The type names to count results.
Returns
This query builder.
Source code
def count(self, *type_names): """ This is a convenience method to set the count aggregation if no type names are given it is assumed to count every type. Args: type_names (str): The type names to count results. Returns: This query builder. """ if type_names is None: self._java_ref.count() else: self._java_ref.count(StringArrayType().to_java(type_names)) return self
Inherited members