SemanticWeb-Schema/lib/SemanticWeb/Schema/InteractionCounter.pm
use utf8;
package SemanticWeb::Schema::InteractionCounter;
# ABSTRACT: A summary of how users have interacted with this CreativeWork
use v5.14;
use Moo;
extends qw/ SemanticWeb::Schema::StructuredValue /;
use MooX::JSON_LD 'InteractionCounter';
use Ref::Util qw/ is_plain_hashref /;
# RECOMMEND PREREQ: Ref::Util::XS
use namespace::autoclean;
our $VERSION = 'v23.0.0';
has end_time => (
is => 'rw',
predicate => '_has_end_time',
json_ld => 'endTime',
);
has interaction_service => (
is => 'rw',
predicate => '_has_interaction_service',
json_ld => 'interactionService',
);
has interaction_type => (
is => 'rw',
predicate => '_has_interaction_type',
json_ld => 'interactionType',
);
has location => (
is => 'rw',
predicate => '_has_location',
json_ld => 'location',
);
has start_time => (
is => 'rw',
predicate => '_has_start_time',
json_ld => 'startTime',
);
has user_interaction_count => (
is => 'rw',
predicate => '_has_user_interaction_count',
json_ld => 'userInteractionCount',
);
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
SemanticWeb::Schema::InteractionCounter - A summary of how users have interacted with this CreativeWork
=head1 VERSION
version v23.0.0
=head1 DESCRIPTION
A summary of how users have interacted with this CreativeWork. In most
cases, authors will use a subtype to specify the specific type of
interaction.
=head1 ATTRIBUTES
=head2 C<end_time>
C<endTime>
The endTime of something. For a reserved event or service (e.g.
FoodEstablishmentReservation), the time that it is expected to end. For
actions that span a period of time, when the action was performed. E.g.
John wrote a book from January to *December*. For media, including audio
and video, it's the time offset of the end of a clip within a larger file.
Note that Event uses startDate/endDate instead of startTime/endTime, even
when describing dates with times. This situation may be clarified in future
revisions.
A end_time should be one of the following types:
=over
=item C<Str>
=back
=head2 C<_has_end_time>
A predicate for the L</end_time> attribute.
=head2 C<interaction_service>
C<interactionService>
The WebSite or SoftwareApplication where the interactions took place.
A interaction_service should be one of the following types:
=over
=item C<InstanceOf['SemanticWeb::Schema::SoftwareApplication']>
=item C<InstanceOf['SemanticWeb::Schema::WebSite']>
=back
=head2 C<_has_interaction_service>
A predicate for the L</interaction_service> attribute.
=head2 C<interaction_type>
C<interactionType>
The Action representing the type of interaction. For up votes, +1s, etc. use L<SemanticWeb::Schema::LikeAction>. For down votes use L<SemanticWeb::Schema::DislikeAction>. Otherwise, use the most specific Action.
A interaction_type should be one of the following types:
=over
=item C<InstanceOf['SemanticWeb::Schema::Action']>
=back
=head2 C<_has_interaction_type>
A predicate for the L</interaction_type> attribute.
=head2 C<location>
The location of, for example, where an event is happening, where an
organization is located, or where an action takes place.
A location should be one of the following types:
=over
=item C<InstanceOf['SemanticWeb::Schema::Place']>
=item C<InstanceOf['SemanticWeb::Schema::PostalAddress']>
=item C<InstanceOf['SemanticWeb::Schema::VirtualLocation']>
=item C<Str>
=back
=head2 C<_has_location>
A predicate for the L</location> attribute.
=head2 C<start_time>
C<startTime>
The startTime of something. For a reserved event or service (e.g.
FoodEstablishmentReservation), the time that it is expected to start. For
actions that span a period of time, when the action was performed. E.g.
John wrote a book from *January* to December. For media, including audio
and video, it's the time offset of the start of a clip within a larger
file. Note that Event uses startDate/endDate instead of startTime/endTime,
even when describing dates with times. This situation may be clarified in
future revisions.
A start_time should be one of the following types:
=over
=item C<Str>
=back
=head2 C<_has_start_time>
A predicate for the L</start_time> attribute.
=head2 C<user_interaction_count>
C<userInteractionCount>
The number of interactions for the CreativeWork using the WebSite or
SoftwareApplication.
A user_interaction_count should be one of the following types:
=over
=item C<InstanceOf['SemanticWeb::Schema::Integer']>
=back
=head2 C<_has_user_interaction_count>
A predicate for the L</user_interaction_count> attribute.
=head1 SEE ALSO
L<SemanticWeb::Schema::StructuredValue>
=head1 SOURCE
The development version is on github at L<https://github.com/robrwo/SemanticWeb-Schema>
and may be cloned from L<git://github.com/robrwo/SemanticWeb-Schema.git>
=head1 BUGS
Please report any bugs or feature requests on the bugtracker website
L<https://github.com/robrwo/SemanticWeb-Schema/issues>
When submitting a bug or request, please include a test-file or a
patch to an existing test-file that illustrates the bug or desired
feature.
=head1 AUTHOR
Robert Rothenberg <rrwo@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2018-2023 by Robert Rothenberg.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
=cut