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

http://skim.cz

LICENSE AND COPYRIGHT

© 2020-2025 Michal Josef Špaček

BSD 2-Clause License

VERSION

0.37

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy