plucky (3) AtteanX::Store::DBI.3pm.gz

Provided by: libatteanx-store-dbi-perl_0.002-3_all bug

NAME

       AtteanX::Store::DBI - Database quad-store

VERSION

       This document describes AtteanX::Store::DBI version 0.002

SYNOPSIS

        use Attean;
        my $store = Attean->get_store('DBI')->new( dbh => $dbh );

DESCRIPTION

       AtteanX::Store::DBI provides a quad-store backed by a relational database.

ATTRIBUTES

       "dbh"

ROLES

       This class consumes Attean::API::QuadStore, Attean::API::MutableQuadStore, and
       Attean::API::BulkUpdatableStore.

METHODS

       "new ( dbh => $dbh )"
           Returns a new quad-store object backed by the database referenced by the supplied database handle.

       "init()"
           Create the tables and indexes required for using the database as a quadstore.

       "temporary_store()"
           Returns a temporary (in-memory, SQLite) store.

       "get_quads ( $subject, $predicate, $object, $graph )"
           Returns a stream object of all statements matching the specified subject, predicate and objects. Any
           of the arguments may be undef to match any value, or an ARRAY reference of terms that are allowable
           in the respective quad position.

       "count_quads ( $subject, $predicate, $object, $graph )"
           Returns the count of all statements matching the specified subject, predicate and objects. Any of the
           arguments may be undef to match any value, or an ARRAY reference of terms that are allowable in the
           respective quad position.

       "get_graphs"
           Returns an iterator over the Attean::API::Term objects comprising the set of graphs of the stored
           quads.

       "add_quad ( $quad )"
           Adds the specified $quad to the underlying model.

       "remove_quad ( $statement )"
           Removes the specified $statement from the underlying model.

       "create_graph( $graph )"
           This is a no-op function for the memory quad-store.

       "drop_graph( $graph )"
           Removes all quads with the given $graph.

       "clear_graph( $graph )"
           Removes all quads with the given $graph.

       "begin_transaction"
           Begin a database transaction.

       "abort_transaction"
           Rollback the current database transaction.

       "end_transaction"
           Commit the current database transaction.

       "begin_bulk_updates"
           Begin a database transaction.

       "end_bulk_updates"
           Commit the current database transaction.

       "database_type"
           Returns the database type name as a string (e.g. 'mysql', 'sqlite', or 'postgresql').

       "initialize_version"
           Insert data into the attean_version table.

       "create_schema_file"
           Returns the path to the file containing the database DDL for quadstore creation for the current
           database type if available, undef otherwise.

       "drop_schema_file"
           Returns the path to the file containing the database DDL for quadstore deletion for the current
           database type if available, undef otherwise.

       "available_database_types"
           Returns the names of the database types for which the system has schemas available to create and drop
           quadstore tables.

       "dbi_connect_args ( $type, %args )"
       "dbi_connect_args ( %args )"
           Returns a quad "$dsn, $user, $password, \%connect_args" suitable for passing to "DBI->connect" to
           obtain a database handle to be used in constructing a "AtteanX::Store::DBI" quadstore.

           %args must contain a value for the "database" key. It may also contain values for the optional keys:
           "user", "password", "host", and "port".

           If invoked as a class method, the $type parameter is required, and must be one of the database types
           returned by "available_database_types".

           If invoked as an object method, the $type parameter must not be included; this information will be
           obtained directly from the "AtteanX::Store::DBI" object.

       "plans_for_algebra( $algebra, $model, $active_graphs, $default_graphs )"
           For BGP algebras, returns a DBI-specific Attean::API::Plan object, otherwise returns undef.

       "cost_for_plan( $plan )"
           Returns the estimated cost for a DBI-specific query plan, undef otherwise.

BUGS

       Please report any bugs or feature requests to through the GitHub web interface at
       <https://github.com/kasei/perlrdf2/issues>.

AUTHOR

       Gregory Todd Williams  "<gwilliams@cpan.org>"

       Copyright (c) 2014--2020 Gregory Todd Williams. This program is free software; you can redistribute it
       and/or modify it under the same terms as Perl itself.