Wikibase::Datatype::Lexeme - Wikibase lexeme datatype.
use Wikibase::Datatype::Lexeme; my $obj = Wikibase::Datatype::Lexeme->new(%params); my $forms_ar = $obj->forms; my $id = $obj->id; my $language = $obj->language; my $lastrevid = $obj->lastrevid; my $lemmas_ar = $obj->lemmas; my $lexical_category = $obj->lexical_category; my $modified = $obj->modified; my $ns = $obj->ns; my $page_id = $obj->page_id; my $senses_ar = $obj->senses; my $statements_ar = $obj->statements; my $title = $obj->title;
This datatype is item class for representing claim.
new
my $obj = Wikibase::Datatype::Lexeme->new(%params);
Constructor.
Returns instance of object.
forms
Forms. Reference to array with Wikibase::Datatype::Form instances. Parameter is optional.
id
Id. Parameter is optional.
language
Language. Link to QID. Parameter is optional.
lastrevid
Last revision ID. Parameter is optional.
lemmas
Lemmas. Reference to array with Wikibase::Datatype::Value::Monolingual instances. Parameter is optional.
lexical_category
Lexical category. Link to QID. Parameter is optional.
modified
Date of modification. Parameter is optional.
ns
Namespace. Default value is 146.
page_id
Page id. Numeric value. Parameter is optional.
senses
Senses. Reference to array with Wikibase::Datatype::Sense instances. Parameter is optional.
statements
Item statements. Reference to array with Wikibase::Datatype::Statement instances. Parameter is optional.
title
Lexeme title. Parameter is optional.
my $forms_ar = $obj->forms;
Get forms.
Returns reference to array with Wikibase::Datatype::Form instances.
my $id = $obj->id;
Get id.
Returns string.
my $language = $obj->language;
Get language.
Returns string with QID.
my $lastrevid = $obj->lastrevid;
Get last revision ID.
my $lemmas_ar = $obj->lemmas;
Get lemmas.
Returns reference to array with Wikibase::Datatype::Value::Monolingual instances.
my $lexical_category = $obj->lexical_category;
Get lexical category.
my $modified = $obj->modified;
Get date of modification.
my $ns = $obj->ns;
Get namespace.
Returns number.
my $page_id = $obj->page_id;
Get page id.
my $senses_ar = $obj->senses;
Get senses.
Returns reference to array with Wikibase::Datatype::Sense instances.
my $statements_ar = $obj->statements;
Get statements.
Returns reference to array with Wikibase::Datatype::Statement instances.
my $title = $obj->title;
Get title.
new(): From Mo::utils::check_array_object(): Form isn't 'Wikibase::Datatype::Form' object. Lemma isn't 'Wikibase::Datatype::Value::Monolingual' object. Parameter 'forms' must be a array. Parameter 'lemmas' must be a array. Parameter 'senses' must be a array. Parameter 'statements' must be a array. Sense isn't 'Wikibase::Datatype::Sense' object. Statement isn't 'Wikibase::Datatype::Statement' object. From Wikibase::Datatype::Utils::check_entity(): Parameter 'language' must begin with 'Q' and number after it."; Parameter 'lexical_category' must begin with 'Q' and number after it.";
use strict; use warnings; use Wikibase::Datatype::Lexeme; use Wikibase::Datatype::Reference; use Wikibase::Datatype::Snak; use Wikibase::Datatype::Statement; use Wikibase::Datatype::Value::Item; use Wikibase::Datatype::Value::Monolingual; use Wikibase::Datatype::Value::String; use Wikibase::Datatype::Value::Time; # Object. my $statement1 = Wikibase::Datatype::Statement->new( # instance of (P31) human (Q5) 'snak' => Wikibase::Datatype::Snak->new( 'datatype' => 'wikibase-item', 'datavalue' => Wikibase::Datatype::Value::Item->new( 'value' => 'Q5', ), 'property' => 'P31', ), 'property_snaks' => [ # of (P642) alien (Q474741) Wikibase::Datatype::Snak->new( 'datatype' => 'wikibase-item', 'datavalue' => Wikibase::Datatype::Value::Item->new( 'value' => 'Q474741', ), 'property' => 'P642', ), ], 'references' => [ Wikibase::Datatype::Reference->new( 'snaks' => [ # stated in (P248) Virtual International Authority File (Q53919) Wikibase::Datatype::Snak->new( 'datatype' => 'wikibase-item', 'datavalue' => Wikibase::Datatype::Value::Item->new( 'value' => 'Q53919', ), 'property' => 'P248', ), # VIAF ID (P214) 113230702 Wikibase::Datatype::Snak->new( 'datatype' => 'external-id', 'datavalue' => Wikibase::Datatype::Value::String->new( 'value' => '113230702', ), 'property' => 'P214', ), # retrieved (P813) 7 December 2013 Wikibase::Datatype::Snak->new( 'datatype' => 'time', 'datavalue' => Wikibase::Datatype::Value::Time->new( 'value' => '+2013-12-07T00:00:00Z', ), 'property' => 'P813', ), ], ), ], ); my $statement2 = Wikibase::Datatype::Statement->new( # sex or gender (P21) male (Q6581097) 'snak' => Wikibase::Datatype::Snak->new( 'datatype' => 'wikibase-item', 'datavalue' => Wikibase::Datatype::Value::Item->new( 'value' => 'Q6581097', ), 'property' => 'P21', ), 'references' => [ Wikibase::Datatype::Reference->new( 'snaks' => [ # stated in (P248) Virtual International Authority File (Q53919) Wikibase::Datatype::Snak->new( 'datatype' => 'wikibase-item', 'datavalue' => Wikibase::Datatype::Value::Item->new( 'value' => 'Q53919', ), 'property' => 'P248', ), # VIAF ID (P214) 113230702 Wikibase::Datatype::Snak->new( 'datatype' => 'external-id', 'datavalue' => Wikibase::Datatype::Value::String->new( 'value' => '113230702', ), 'property' => 'P214', ), # retrieved (P813) 7 December 2013 Wikibase::Datatype::Snak->new( 'datatype' => 'time', 'datavalue' => Wikibase::Datatype::Value::Time->new( 'value' => '+2013-12-07T00:00:00Z', ), 'property' => 'P813', ), ], ), ], ); # Main item. my $obj = Wikibase::Datatype::Lexeme->new( 'id' => 'L469', 'lemmas' => [ Wikibase::Datatype::Value::Monolingual->new( 'language' => 'cs', 'value' => 'pes', ), ], 'statements' => [ $statement1, $statement2, ], 'title' => 'Lexeme:L469', ); # Print out. print "Title: ".$obj->title."\n"; print 'Id: '.$obj->id."\n"; print "Statements:\n"; foreach my $statement (@{$obj->statements}) { print "\tStatement:\n"; print "\t\t".$statement->snak->property.' -> '.$statement->snak->datavalue->value."\n"; print "\t\tQualifers:\n"; foreach my $property_snak (@{$statement->property_snaks}) { print "\t\t\t".$property_snak->property.' -> '. $property_snak->datavalue->value."\n"; } print "\t\tReferences:\n"; foreach my $reference (@{$statement->references}) { print "\t\t\tReference:\n"; foreach my $reference_snak (@{$reference->snaks}) { print "\t\t\t".$reference_snak->property.' -> '. $reference_snak->datavalue->value."\n"; } } } # Output: # Title: Lexeme:L469 # Id: L469 # Statements: # Statement: # P31 -> Q5 # Qualifers: # P642 -> Q474741 # References: # Reference: # P248 -> Q53919 # P214 -> 113230702 # P813 -> +2013-12-07T00:00:00Z # Statement: # P21 -> Q6581097 # Qualifers: # References: # Reference: # P248 -> Q53919 # P214 -> 113230702 # P813 -> +2013-12-07T00:00:00Z
Error::Pure, Mo, Mo::utils, Wikibase::Datatype::Utils.
Wikibase datatypes.
https://github.com/michal-josef-spacek/Wikibase-Datatype
Michal Josef Špaček mailto:skim@cpan.org
http://skim.cz
© 2020-2022 Michal Josef Špaček
BSD 2-Clause License
0.20
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.