package Webservice::InterMine::Simple; our $VERSION = "0.9800"; use strict; use Webservice::InterMine::Simple::Service; use Exporter 'import'; our @EXPORT_OK = ("get_service"); our @EXPORT = @EXPORT_OK; =head1 NAME Webservice::InterMine::Simple - A basic InterMine web-service client. =head1 SYNOPSIS my $service = get_service("http://www.flymine.org/query/service"); my $query = $service->new_query; $query->add_view("Organism.shortName", "Organism.taxonId"); $query->add_constraint({path => "Organism.genus", op => "=", value => "Rattus"}); @rows = $query2->results_table; for my $row (@rows) { print "name: $row->[0], id: $row->[1]\n"; } =head1 DESCRIPTION This is a basic representation of a query. It can handle straight-forward requests and result sets, but for anything more complicated, we recommend you look as the more fully featured L<Webservice::InterMine>. This is especially true of large data sets, as this implementation has the potential to use lots of memory when receiving and processing results. =head1 IMPORTED ROUTINES =head2 get_service(@args) Get a service instantiated with the given arguments. Arguments: =over =item * ($url) - The root-url to the webservice. =item * ($url, $token) - The root-url, and an authorisation token. =item * ($url, $username, $password) - The root-url, and a user's login information. =back This can also be called as a static method on the package: Webservice::InterMine::Simple->get_service(...); =cut sub get_service { if ($_[0] and $_[0] eq __PACKAGE__) { my $self = shift; } if (@_ == 3) { my ($url, $user, $pass) = @_; return Webservice::InterMine::Simple::Service->new( root => $url, user => $user, pass => $pass, ); } elsif (@_ == 2) { my ($url, $token) = @_; return Webservice::InterMine::Simple::Service->new( root => $url, token => $token, ); } else { my ($url) = @_; return Webservice::InterMine::Simple::Service->new( root => $url, ); } } =head1 SEE ALSO =over 4 =item * L<Webservice::InterMine> For a more powerful alternative =back =head1 AUTHOR Alex Kalderimis C<< <dev@intermine.org> >> =head1 BUGS Please report any bugs or feature requests to C<dev@intermine.org>. =head1 SUPPORT You can find documentation for this module with the perldoc command. perldoc Webservice::InterMine::Simple You can also look for information at: =over 4 =item * InterMine L<http://www.intermine.org> =item * Documentation L<http://www.intermine.org/perlapi> =back =head1 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. =cut 1;