Wikibase::Datatype::MediainfoStatement - Wikibase mediainfo statement datatype.
use Wikibase::Datatype::MediainfoStatement; my $obj = Wikibase::Datatype::MediainfoStatement->new(%params); my $id = $obj->id; my $property_snaks_ar = $obj->property_snaks; my $rank = $obj->rank; my $referenes_ar = $obj->references; my $snak = $obj->snak;
This datatype is statement class for representing mediainfo statement.
new
my $obj = Wikibase::Datatype::MediainfoStatement->new(%params);
Constructor.
Returns instance of object.
id
Id of statement. Parameter is optional.
property_snaks
Property snaks. Parameter is reference to hash with Wikibase::Datatype::MediainfoSnak instances. Parameter is optional. Default value is [].
rank
Rank value. Parameter is string with these possible values: normal, preferred and deprecated Default value is 'normal'.
references
List of references. Parameter is reference to hash with Wikibase::Datatype::Reference instances. Parameter is optional. Default value is [].
snak
Main snak. Parameter is Wikibase::Datatype::MediainfoSnak instance. Parameter is required.
my $id = $obj->id;
Get id of statement.
Returns string.
my $property_snaks_ar = $obj->property_snaks;
Get property mediainfo snaks.
Returns reference to array with Wikibase::Datatype::MediainfoSnak instances.
my $rank = $obj->rank;
Get rank value.
my $referenes_ar = $obj->references;
Get references.
Returns reference to array with Wikibase::Datatype::Reference instance.
my $snak = $obj->snak;
Get main mediainfo snak.
Returns Wikibase::Datatype::MediainfoSnak instance.
new(): From Mo::utils::check_array_object(): Parameter 'property_snaks' must be a array. Parameter 'references' must be a array. Property mediainfo snak isn't 'Wikibase::Datatype::MediainfoSnak' object. Reference isn't 'Wikibase::Datatype::Reference' object. From Mo::utils::check_isa(): Parameter 'snak' must be a 'Wikibase::Datatype::MediainfoSnak' object. From Mo::utils::check_required(): Parameter 'snak' is required. Parameter 'rank' has bad value. Possible values are normal, preferred, deprecated.
use strict; use warnings; use Wikibase::Datatype::MediainfoSnak; use Wikibase::Datatype::MediainfoStatement; use Wikibase::Datatype::Value::Item; use Wikibase::Datatype::Value::String; # Object. my $obj = Wikibase::Datatype::MediainfoStatement->new( 'id' => 'M123$00C04D2A-49AF-40C2-9930-C551916887E8', # creator (P170) 'snak' => Wikibase::Datatype::MediainfoSnak->new( 'property' => 'P170', 'snaktype' => 'novalue', ), 'property_snaks' => [ # Wikimedia username (P4174): Lviatour Wikibase::Datatype::MediainfoSnak->new( 'datavalue' => Wikibase::Datatype::Value::String->new( 'value' => 'Lviatour', ), 'property' => 'P4174', ), # URL (P2699): https://commons.wikimedia.org/wiki/user:Lviatour Wikibase::Datatype::MediainfoSnak->new( 'datavalue' => Wikibase::Datatype::Value::String->new( 'value' => 'https://commons.wikimedia.org/wiki/user:Lviatour', ), 'property' => 'P2699', ), # author name string (P2093): Lviatour Wikibase::Datatype::MediainfoSnak->new( 'datavalue' => Wikibase::Datatype::Value::String->new( 'value' => 'Lviatour', ), 'property' => 'P2093', ), # object has role (P3831): photographer (Q33231) Wikibase::Datatype::MediainfoSnak->new( 'datavalue' => Wikibase::Datatype::Value::Item->new( 'value' => 'Q33231', ), 'property' => 'P3831', ), ], ); # Print out. print 'Id: '.$obj->id."\n"; print 'Statement: '.$obj->snak->property.' -> '; if ($obj->snak->snaktype eq 'value') { print $obj->snak->datavalue->value."\n"; } elsif ($obj->snak->snaktype eq 'novalue') { print "-\n"; } elsif ($obj->snak->snaktype eq 'somevalue') { print "?\n"; } print "Qualifiers:\n"; foreach my $property_snak (@{$obj->property_snaks}) { print "\t".$property_snak->property.' -> '. $property_snak->datavalue->value."\n"; } print 'Rank: '.$obj->rank."\n"; # Output: # Id: M123$00C04D2A-49AF-40C2-9930-C551916887E8 # Statement: P170 -> - # Qualifiers: # P4174 -> Lviatour # P2699 -> https://commons.wikimedia.org/wiki/user:Lviatour # P2093 -> Lviatour # P3831 -> Q33231 # Rank: normal
Error::Pure, List::MoreUtils, Mo, Mo::utils. Readonly.
Wikibase datatypes.
Wikibase statement datatype.
https://github.com/michal-josef-spacek/Wikibase-Datatype
Michal Josef Špaček mailto:skim@cpan.org
http://skim.cz
© 2020-2023 Michal Josef Špaček
BSD 2-Clause License
0.33
To install Wikibase::Datatype, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Wikibase::Datatype
CPAN shell
perl -MCPAN -e shell install Wikibase::Datatype
For more information on module installation, please visit the detailed CPAN module installation guide.