App-wdq
view release on metacpan or search on metacpan
281282283284285286287288289290291292293294295296297298299300301302303my
$MODE
= !
@ARGV
?
'query'
:
do
{
my
$arg
=
$ARGV
[0];
$arg
=~ s/^\s*|\s*$//g;
if
(
$arg
=~ /^(query|lookup|p?search)$/ ) {
lc
(
shift
@ARGV
);
}
elsif
(
$arg
=~
$ENTITY_PATTERN
or
$arg
=~
$SITELINK_PATTERN
) {
'lookup'
;
}
else
{
my
$guess
= () =
$arg
=~ /[a-z]+:[^\s]/gi;
$guess
+= () =
$arg
=~ /<[^>]+>/g;
$guess
+= () =
$arg
=~ /[?\$][^\s]/g;
if
(
$guess
> 2 ) {
warning(
"ignoring additional command line argument"
)
if
$OPT
{query} or
@ARGV
> 1;
'query'
;
}
else
{
'search'
;
}
}
};
118311841185118611871188118911901191119211931194119511961197119811991200120112021203
chmod
+x wdq
The latter method will not install this documentation.
=head1 MODES
Request mode C<query> (default), C<lookup>, C<serch>, or C<psearch> can
explicitly be set via first argument or it's guessed from arguments.
=head2 query
Read SPARQL query from STDIN, option C<--query|-q>, or argument. Namespace
definitions and C<SELECT> clause are added if missing.
wdq '?c wdt:P361 wd:Q544'
wdq '{ ?c wdt:P361 wd:Q544 }' # equivalent
wdq 'SELECT * WHERE { ?c wdt:P361 wd:Q544 }' # equivalent
wdq < queryfile
( run in 0.405 second using v1.01-cache-2.11-cpan-26ccb49234f )