=head1 NAME

Attean::AggregateExpression - Representation of aggregate expression trees 

=head1 VERSION

This document describes Attean::AggregateExpression version 0.035

=head1 DESCRIPTION

The Attean::AggregateExpression class represents an expression tree where the
root node is an aggregate operation (e.g. SUM(?a) or COALESCE(?a/?b, ?c, 0)).

=head1 ROLES

This role consumes the L<Attean::API::AggregateExpression> role.

=head1 ATTRIBUTES

The following attributes exist:

=over 4

=item C<< operator >>

The name of the aggregate operator, from the allowable set: COUNT, SUM, MIN,
MAX, AVG, GROUP_CONCAT, SAMPLE.

=item C<< scalar_vars >>

A HASH reference of scalar variables. The only scalar variable defined for
SPARQL 1.1 is C<'seperator'>, a string separator used with the GROUP_CONCAT
aggregate.

=item C<< distinct >>

A boolean indicating whether the aggregate should operate over distinct term sets, or full multisets.

=item C<< variable >>

A L<Attean::API::Variable> object which will be bound to the produced aggregate value in results.

=back

=head1 BUGS

Please report any bugs or feature requests to through the GitHub web interface
at L<https://github.com/kasei/attean/issues>.

=head1 SEE ALSO



=head1 AUTHOR

Gregory Todd Williams  C<< <gwilliams@cpan.org> >>

=head1 COPYRIGHT

Copyright (c) 2014--2022 Gregory Todd Williams.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.

=cut
