NAME
Webservice::InterMine::Query::Saved - an object representation of a query on an InterMine database that has been saved for later re-use
SYNOPSIS
# Queries should be created by their webservices, or through
# the Webservice::InterMine factory module
use Webservice::InterMine "www.flymine.org/query';
my $query = Webservice::InterMine->load_query(file => "my/saved-query.xml");
my $results = $query->results(as => 'arrayrefs');
DESCRIPTION
This module is used when queries are loaded in from a saved representation, usually as an xml file somewhere. It has all the same functionality of Webservice::InterMine::Query.
METHODS
add_view( [@paths] | [$comma_sep_paths] | [$space_sep_paths])
Adds the paths to the view (result columns). If the argument to add_view
is a comma or space separated string, it will be split automatically. All paths must be valid for the model being used, or an exception will be thrown.
set_sort_order( $path, [$direction] )
Defines the sort order for the results to be a particular column in the view (this column must already be in the view, or an exception will be thrown). You do not have to set the sort order manually, the default column is the first column of the view, and the default direction is 'asc'.
constraint methods:
add_constraint(%args or $string)
Adds a constraint the the query. Returns the constraint object. See Webservice::InterMine::Cookbook::Recipe2 and Webservice::InterMine::Cookbook::Recipe3.
all_constraints
Get a list of all the constraint objects attached to the query.
remove_constraint($constraint_obj)
Removes the constraint from the query
find_constraints( \&coderef )
Finds all constraints that match the code reference criterion - eg:
my @eq_cons = $query->find_constraints(sub {$_->op eq '='});
count_constraints
Returns the number of constraints on the query (or 0 if none)
clear_constraints
Removes all the constraints from the query
coded_constraints
Returns only the constraints that have codes (and can thus be combined to define the logic)
constraint_codes
Returns the contraint codes currently being used by the constraints on the query.
add_join(%args or $path)
Adds a join description to the query (see Webservice::InterMine::Cookbook::Recipe4).
add_pathdescription(%args)
Adds a path description to the query (see Webservice::InterMine::Cookbook::Recipe4).
logic([EXPR or $str])
Gets or sets the current logic for the query as an object (calling code
on the logic object gets a human readable string version). Illegal logic expressions or strings will cause exceptions to be thrown.
results([as => $format], [json => $jsonhandler])
Gets the results for this query in a variety of formats. (see Webservice::InterMine::Cookbook::Recipe5) The four default formats are:
string
Returns all rows as one string, with fields separated by tabs and lines separated by new-lines ("\n"). If you are wanting to simply store the results in a flat file, this is probably what you want.
strings
Returns all rows as strings (without new-lines) in an arrayref.
hashref[s] [default]
Returns an arrayref of hashrefs, where the keys are the view columns.
arrayref[s]
Returns an arrayref of arrayrefs, where the fields are in the same order as the view columns.
jsonobjects
By default returns an arrayref of native perl data structures (hashrefs) which correspond to the data format of InterMine jsonobjects (http://www.intermine.org/wiki/JSONObjectFormat).
Optionally it can return the jsonobjects processed as:
raw: the raw text string
inflate: inflated objects using autoload
The inflated objects allow method access to the internal hash using autoloaded accessors, but all objects will be blessed into the same type (Webservice::InterMine::ResultObject), so there is no guarantee of interface (other than inspecting the internal hash).
instantiate: real Moose objects
The instantiated objects allow method access to their internal hash using true accessors, with type-constraints, inheritance, support for "isa" and "ref", coercion of attributes, delegating collections, and all the other things you would expect from a Moose object. Each object will be instantiated as an instance of its class (ie. a $gene will be a member of the "Gene" class).
results_iterator
returns a results object that allows you to iterate through the results row by row, in whatever format you choose. Please see Webservice::InterMine::Cookbook::Recipe6 and Webservice::InterMine::Cookbook::Recipe7.
suspend_validation | resume_validation | validate
Queries will by default check for errors in construction as they are being defined. You can choose to turn this off, which might be useful if you don't want to care about the order you add elements to the query (ie. you might call set_sort_order
before add_view
), or if you are concerned about speed. In most cases the recommendation is to not turn validation off, unless of course, you really know what you are doing. Calling validate
at any point will always perform the validation checks, even if you have suspended validation.
to_xml
Returns an xml string representation of the query. This is suitable for serialisation of queries.
SEE ALSO
Webservice::InterMine::Cookbook - A guide to using the Webservice::InterMine Perl API
AUTHOR
Alex Kalderimis dev@intermine.org
BUGS
Please report any bugs or feature requests to dev@intermine.org
.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Webservice::InterMine::Query::Saved
You can also look for information at:
InterMine
Documentation
COPYRIGHT AND LICENSE
Copyright 2006 - 2011 FlyMine, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.