NAME
Wikibase::Datatype::Lexeme - Wikibase lexeme datatype.
SYNOPSIS
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;
DESCRIPTION
This datatype is item class for representing claim.
METHODS
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.
forms
my $forms_ar = $obj->forms;
Get forms.
Returns reference to array with Wikibase::Datatype::Form instances.
id
my $id = $obj->id;
Get id.
Returns string.
language
my $language = $obj->language;
Get language.
Returns string with QID.
lastrevid
my $lastrevid = $obj->lastrevid;
Get last revision ID.
Returns string.
lemmas
my $lemmas_ar = $obj->lemmas;
Get lemmas.
Returns reference to array with Wikibase::Datatype::Value::Monolingual instances.
lexical_category
my $lexical_category = $obj->lexical_category;
Get lexical category.
Returns string with QID.
modified
my $modified = $obj->modified;
Get date of modification.
Returns string.
ns
my $ns = $obj->ns;
Get namespace.
Returns number.
page_id
my $page_id = $obj->page_id;
Get page id.
Returns number.
senses
my $senses_ar = $obj->senses;
Get senses.
Returns reference to array with Wikibase::Datatype::Sense instances.
statements
my $statements_ar = $obj->statements;
Get statements.
Returns reference to array with Wikibase::Datatype::Statement instances.
title
my $title = $obj->title;
Get title.
Returns string.
ERRORS
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.";
EXAMPLE
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;
# Statements.
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',
),
],
),
],
);
# Object.
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
DEPENDENCIES
Error::Pure, Mo, Mo::utils, Wikibase::Datatype::Utils.
SEE ALSO
- Wikibase::Datatype
-
Wikibase datatypes.
REPOSITORY
https://github.com/michal-josef-spacek/Wikibase-Datatype
AUTHOR
Michal Josef Špaček mailto:skim@cpan.org
LICENSE AND COPYRIGHT
© 2020-2023 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.33