line |
true |
false |
branch |
89
|
0 |
65 |
unless $algebra
|
95
|
0 |
65 |
if ($algebra->isa('Attean::Algebra::Query') or $algebra->isa('Attean::Algebra::Update')) { }
|
|
21 |
44 |
elsif ($algebra->isa('Attean::Algebra::BGP')) { }
|
|
1 |
43 |
elsif ($algebra->isa('Attean::Algebra::Distinct') or $algebra->isa('Attean::Algebra::Reduced')) { }
|
|
2 |
41 |
elsif ($algebra->isa('Attean::Algebra::Extend')) { }
|
|
1 |
40 |
elsif ($algebra->isa('Attean::Algebra::Filter')) { }
|
|
3 |
37 |
elsif ($algebra->isa('Attean::Algebra::OrderBy')) { }
|
|
1 |
36 |
elsif ($algebra->isa('Attean::Algebra::Service')) { }
|
|
3 |
33 |
elsif ($algebra->isa('Attean::Algebra::Graph')) { }
|
|
0 |
33 |
elsif ($algebra->isa('Attean::Algebra::Group')) { }
|
|
2 |
31 |
elsif ($algebra->isa('Attean::Algebra::Join')) { }
|
|
0 |
31 |
elsif ($algebra->isa('Attean::Algebra::LeftJoin')) { }
|
|
0 |
31 |
elsif ($algebra->isa('Attean::Algebra::Minus')) { }
|
|
24 |
7 |
elsif ($algebra->isa('Attean::Algebra::Path')) { }
|
|
3 |
4 |
elsif ($algebra->isa('Attean::Algebra::Project')) { }
|
|
3 |
1 |
elsif ($algebra->isa('Attean::Algebra::Slice')) { }
|
|
0 |
1 |
elsif ($algebra->isa('Attean::Algebra::Union')) { }
|
|
0 |
1 |
elsif ($algebra->isa('Attean::Algebra::Ask')) { }
|
|
1 |
0 |
elsif ($algebra->isa('Attean::Algebra::Construct')) { }
|
|
0 |
0 |
elsif ($algebra->isa('Attean::Algebra::Table')) { }
|
99
|
0 |
21 |
if (scalar @triples == 0) { }
|
121
|
2 |
2 |
!$seen{$str} ? :
|
143
|
0 |
8 |
if ($val->does("Attean::API::Binding"))
|
148
|
8 |
0 |
if $val
|
159
|
4 |
0 |
$t ? :
|
175
|
0 |
13 |
if (&blessed($av) and $av->does('Attean::API::Binding') and not defined $bv && $bv->does('Attean::API::Binding')) { }
|
|
0 |
13 |
elsif (&blessed($bv) and $bv->does('Attean::API::Binding') and not defined $av && $av->does('Attean::API::Binding')) { }
|
180
|
13 |
0 |
$av ? :
|
181
|
0 |
13 |
if ($@)
|
185
|
5 |
8 |
if $dirs[$i] == 0
|
186
|
12 |
1 |
unless $c == 0
|
199
|
1 |
0 |
if (&blessed($response) and $response->is_success) { }
|
|
0 |
0 |
elsif ($algebra->silent) { }
|
201
|
0 |
1 |
unless my $pclass = "Attean"->get_parser("media_type", $type)
|
214
|
2 |
1 |
if $graph->does("Attean::API::Term")
|
220
|
1 |
1 |
if $g->value eq $self->default_graph->value
|
222
|
4 |
0 |
if (my $result = (shift())->join($gr)) { }
|
237
|
0 |
0 |
&blessed($_) ? :
|
241
|
0 |
0 |
if (&blessed($v) and $v->isa("Attean::ValueExpression") and $v->value->does("Attean::API::Variable") and $group_terms[$i])
|
245
|
0 |
0 |
unless exists $groups{$key}
|
249
|
0 |
0 |
if scalar @keys == 0
|
263
|
0 |
0 |
if $term
|
280
|
0 |
0 |
if (my $j = $lhs->join($rhs))
|
281
|
0 |
0 |
if ($expr_eval->evaluate_expression($expr, $j, $active_graph, {})->ebv)
|
287
|
0 |
0 |
unless $joined
|
298
|
0 |
0 |
if (my $j = $lhs->join($rhs)) { }
|
307
|
0 |
0 |
if (exists $lhs_dom{$rvar})
|
317
|
0 |
0 |
unless $compatible[$i] == 0 or $disjoint[$i] == 1
|
320
|
0 |
0 |
if $keep
|
330
|
13 |
11 |
if $path->isa("Attean::Algebra::PredicatePath")
|
331
|
0 |
11 |
if ($path->isa('Attean::Algebra::InversePath')) { }
|
|
0 |
11 |
elsif ($path->isa('Attean::Algebra::AlternativePath')) { }
|
|
1 |
10 |
elsif ($path->isa('Attean::Algebra::NegatedPropertySet')) { }
|
|
1 |
9 |
elsif ($path->isa('Attean::Algebra::SequencePath')) { }
|
|
4 |
5 |
elsif ($path->isa('Attean::Algebra::ZeroOrMorePath') or $path->isa('Attean::Algebra::OneOrMorePath')) { }
|
|
5 |
0 |
elsif ($path->isa('Attean::Algebra::ZeroOrOnePath')) { }
|
348
|
0 |
1 |
if $s->does("Attean::API::Variable")
|
349
|
1 |
0 |
if $o->does("Attean::API::Variable")
|
352
|
0 |
1 |
unless $q
|
357
|
0 |
1 |
if (scalar @children == 1) { }
|
368
|
1 |
0 |
$i == $#children ? :
|
381
|
3 |
1 |
if ($s->does('Attean::API::TermOrTriple') and $o->does('Attean::API::Variable')) { }
|
|
1 |
0 |
elsif ($s->does('Attean::API::Variable') and $o->does('Attean::API::Variable')) { }
|
|
0 |
0 |
elsif ($s->does('Attean::API::Variable') and $o->does('Attean::API::TermOrTriple')) { }
|
383
|
3 |
0 |
if ($path->isa('Attean::Algebra::ZeroOrMorePath')) { }
|
415
|
0 |
0 |
if $v->equals($o)
|
438
|
9 |
0 |
$t ? :
|
443
|
2 |
1 |
if $algebra->offset > 0
|
444
|
2 |
1 |
if $algebra->limit >= 0
|
456
|
0 |
0 |
$result ? :
|
465
|
1 |
1 |
unless $r
|
466
|
2 |
0 |
$t ? :
|
471
|
0 |
3 |
$_->does('Attean::API::TriplePattern') ? :
|
475
|
0 |
1 |
unless (&all(sub {
|
514
|
2 |
94 |
if (not $self->ground_blanks and $v->does('Attean::API::Blank')) { }
|
515
|
1 |
1 |
unless (exists $$blanks{$v->value})
|
533
|
0 |
6 |
if exists $$v{$term->as_string}
|
561
|
2 |
3 |
if ($s_term and $o_term) { }
|
|
1 |
2 |
elsif ($s_term) { }
|
|
1 |
1 |
elsif ($o_term) { }
|
563
|
1 |
1 |
if $s->equals($o)
|
621
|
0 |
127 |
if ($expr->isa('Attean::ExistsExpression')) { }
|
|
88 |
39 |
elsif ($expr->isa('Attean::ValueExpression')) { }
|
|
0 |
39 |
elsif ($expr->isa('Attean::UnaryExpression')) { }
|
|
35 |
4 |
elsif ($expr->isa('Attean::BinaryExpression')) { }
|
|
0 |
4 |
elsif ($expr->isa('Attean::FunctionExpression')) { }
|
|
0 |
4 |
elsif ($expr->isa('Attean::AggregateExpression')) { }
|
|
4 |
0 |
elsif ($expr->isa('Attean::CastExpression')) { }
|
629
|
0 |
0 |
$iter->next ? :
|
633
|
29 |
59 |
if ($node->does('Attean::API::Variable')) { }
|
641
|
0 |
0 |
if ($op eq '!') { }
|
|
0 |
0 |
elsif ($op eq '-' or $op eq '+') { }
|
644
|
0 |
0 |
$term->ebv ? :
|
649
|
0 |
0 |
unless &blessed($term) and $term->does("Attean::API::NumericLiteral")
|
658
|
9 |
26 |
if ($op eq '&&') { }
|
|
9 |
17 |
elsif ($op eq '||') { }
|
|
17 |
0 |
elsif ($op =~ m[^(?:[-+*/])$]u) { }
|
|
0 |
0 |
elsif ($op =~ /^!?=$/u) { }
|
|
0 |
0 |
elsif ($op =~ /^[<>]=?$/u) { }
|
663
|
1 |
8 |
unless $lbv or $rbv
|
664
|
1 |
1 |
unless $lbv or $rbv->ebv
|
665
|
1 |
1 |
unless $rbv or $lbv->ebv
|
666
|
2 |
4 |
unless $lbv and $rbv
|
667
|
1 |
3 |
$lbv->ebv && $rbv->ebv ? :
|
673
|
3 |
6 |
if $lbv and $lbv->ebv
|
675
|
2 |
4 |
unless $rbv
|
676
|
2 |
2 |
if $rbv->ebv
|
677
|
1 |
1 |
if $lbv
|
684
|
1 |
31 |
unless &blessed($_) and $_->does("Attean::API::NumericLiteral")
|
693
|
0 |
0 |
unless &blessed($_) and $_->does("Attean::API::TermOrTriple")
|
695
|
0 |
0 |
if ($lhs->does('Attean::API::Binding')) { }
|
700
|
0 |
0 |
if $op eq "!="
|
701
|
0 |
0 |
$ok ? :
|
708
|
0 |
0 |
unless $_->does("Attean::API::TermOrTriple")
|
709
|
0 |
0 |
if $_->does("Attean::API::IRI")
|
713
|
0 |
0 |
if $c < 0 and $op =~ /<=?/u or $c > 0 and $op =~ />=?/u or $c == 0 and $op =~ /=/u
|
727
|
0 |
0 |
if ($func eq 'IF') { }
|
|
0 |
0 |
elsif ($func eq 'IN' or $func eq 'NOTIN') { }
|
|
0 |
0 |
elsif ($func eq 'COALESCE') { }
|
729
|
0 |
0 |
$term->ebv ? :
|
731
|
0 |
0 |
if $func eq "NOTIN"
|
735
|
0 |
0 |
if (my $value = eval {
|
736
|
0 |
0 |
if $term->equals($value)
|
743
|
0 |
0 |
if $@
|
744
|
0 |
0 |
if $t
|
750
|
0 |
0 |
if ($func =~ /^(STR)$/u) { }
|
|
0 |
0 |
elsif ($func =~ /^(SUBJECT|PREDICATE|OBJECT)$/u) { }
|
|
0 |
0 |
elsif ($func =~ /^([UI]RI)$/u) { }
|
|
0 |
0 |
elsif ($func eq 'BNODE') { }
|
|
0 |
0 |
elsif ($func eq 'LANG') { }
|
|
0 |
0 |
elsif ($func eq 'LANGMATCHES') { }
|
|
0 |
0 |
elsif ($func eq 'DATATYPE') { }
|
|
0 |
0 |
elsif ($func eq 'BOUND') { }
|
|
0 |
0 |
elsif ($func eq 'RAND') { }
|
|
0 |
0 |
elsif ($func eq 'ABS') { }
|
|
0 |
0 |
elsif ($func =~ /^(?:CEIL|FLOOR)$/u) { }
|
|
0 |
0 |
elsif ($func eq 'ROUND') { }
|
|
0 |
0 |
elsif ($func eq 'CONCAT') { }
|
|
0 |
0 |
elsif ($func eq 'SUBSTR') { }
|
|
0 |
0 |
elsif ($func eq 'STRLEN') { }
|
|
0 |
0 |
elsif ($func eq 'REPLACE') { }
|
|
0 |
0 |
elsif ($func =~ /^[UL]CASE$/u) { }
|
|
0 |
0 |
elsif ($func eq 'ENCODE_FOR_URI') { }
|
|
0 |
0 |
elsif ($func eq 'CONTAINS') { }
|
|
0 |
0 |
elsif ($func eq 'STRSTARTS' or $func eq 'STRENDS') { }
|
|
0 |
0 |
elsif ($func eq 'STRBEFORE' or $func eq 'STRAFTER') { }
|
|
0 |
0 |
elsif ($func =~ /^(?:YEAR|MONTH|DAY|HOURS|MINUTES)$/u) { }
|
|
0 |
0 |
elsif ($func eq 'SECONDS') { }
|
|
0 |
0 |
elsif ($func eq 'TZ' or $func eq 'TIMEZONE') { }
|
|
0 |
0 |
elsif ($func eq 'NOW') { }
|
|
0 |
0 |
elsif ($func =~ /^(?:STR)?UUID$/u) { }
|
|
0 |
0 |
elsif ($func =~ /^(MD5|SHA1|SHA256|SHA384|SHA512)$/u) { }
|
|
0 |
0 |
elsif ($func eq 'STRLANG') { }
|
|
0 |
0 |
elsif ($func eq 'STRDT') { }
|
|
0 |
0 |
elsif ($func eq 'SAMETERM') { }
|
|
0 |
0 |
elsif ($func =~ /^IS([UI]RI|BLANK|LITERAL|NUMERIC|TRIPLE)$/u) { }
|
|
0 |
0 |
elsif ($func eq 'REGEX') { }
|
|
0 |
0 |
elsif ($func eq 'INVOKE') { }
|
757
|
0 |
0 |
$expr->has_base ? :
|
760
|
0 |
0 |
if (scalar @operands)
|
762
|
0 |
0 |
if (my $b = $row_cache->{'bnodes'}{$name}) { }
|
772
|
0 |
0 |
unless $operands[0]->does("Attean::API::Literal")
|
776
|
0 |
0 |
if ($match eq '*') { }
|
778
|
0 |
0 |
$lang ? :
|
780
|
0 |
0 |
I18N::LangTags::is_dialect_of($lang, $match) ? :
|
785
|
0 |
0 |
$operands[0] ? :
|
792
|
0 |
0 |
$func eq 'CEIL' ? :
|
800
|
0 |
0 |
unless $n->does("Attean::API::Literal")
|
801
|
0 |
0 |
if ($n->datatype->value ne 'http://www.w3.org/2001/XMLSchema#string') { }
|
|
0 |
0 |
elsif ($n->language) { }
|
805
|
0 |
0 |
if (defined $lang and $lang ne $n->language) { }
|
816
|
0 |
0 |
if ($all_lang and $lang) { }
|
|
0 |
0 |
elsif ($all_str) { }
|
825
|
0 |
0 |
scalar(@args == 1) ? :
|
831
|
0 |
0 |
unless &blessed($node) and $node->does("Attean::API::Literal")
|
832
|
0 |
0 |
unless &blessed($pat) and $pat->does("Attean::API::Literal")
|
833
|
0 |
0 |
unless &blessed($rep) and $rep->does("Attean::API::Literal")
|
834
|
0 |
0 |
if $node->datatype and $node->datatype->value ne "http://www.w3.org/2001/XMLSchema#string"
|
836
|
0 |
0 |
if index($pattern, "(?{") != -1 or index($pattern, "(??{") != -1
|
837
|
0 |
0 |
if index($replace, "(?{") != -1 or index($replace, "(??{") != -1
|
847
|
0 |
0 |
$func eq 'UCASE' ? :
|
853
|
0 |
0 |
if $node->language and $pat->language and $node->language ne $pat->language
|
854
|
0 |
0 |
index($lit, $plit) >= 0 ? :
|
857
|
0 |
0 |
if ($func eq 'STRENDS') { }
|
859
|
0 |
0 |
rindex($lit, $plit) == $pos ? :
|
861
|
0 |
0 |
index($lit, $plit) == 0 ? :
|
866
|
0 |
0 |
unless &blessed($node) and $node->does("Attean::API::Literal")
|
867
|
0 |
0 |
unless &blessed($substr) and $substr->does("Attean::API::Literal")
|
868
|
0 |
0 |
if $node->datatype and $node->datatype->value ne "http://www.w3.org/2001/XMLSchema#string"
|
872
|
0 |
0 |
if ($lhs_simple and $rhs_simple) { }
|
|
0 |
0 |
elsif ($node->language and $substr->language and $node->language eq $substr->language) { }
|
|
0 |
0 |
elsif ($node->language and $rhs_simple) { }
|
885
|
0 |
0 |
if ($i < 0) { }
|
888
|
0 |
0 |
if ($func eq 'STRBEFORE') { }
|
904
|
0 |
0 |
if ($tz->is_floating)
|
905
|
0 |
0 |
if $func eq "TZ"
|
908
|
0 |
0 |
if $func eq "TZ" and $tz->is_utc
|
909
|
0 |
0 |
if ($tz) { }
|
913
|
0 |
0 |
$func eq 'TZ' ? :
|
914
|
0 |
0 |
if ($offset < 0)
|
920
|
0 |
0 |
if ($offset >= 3600)
|
922
|
0 |
0 |
if $h > 0
|
926
|
0 |
0 |
if ($offset >= 60)
|
928
|
0 |
0 |
if $m > 0
|
934
|
0 |
0 |
if $s > 0 or $duration eq "PT"
|
936
|
0 |
0 |
$func eq 'TZ' ? :
|
940
|
0 |
0 |
if $func eq "TZ"
|
947
|
0 |
0 |
if $func eq "STRUUID"
|
956
|
0 |
0 |
unless &blessed($str) and $str->does("Attean::API::Literal") and &blessed($lang) and $lang->does("Attean::API::Literal")
|
957
|
0 |
0 |
unless $str->datatype->value eq "http://www.w3.org/2001/XMLSchema#string" and not $str->language
|
960
|
0 |
0 |
unless $operands[0]->does("Attean::API::Literal") and not $operands[0]->language
|
961
|
0 |
0 |
if (my $dt = $operands[0]->datatype)
|
962
|
0 |
0 |
unless $dt->value eq "http://www.w3.org/2001/XMLSchema#string"
|
964
|
0 |
0 |
unless $operands[1]->does("Attean::API::IRI")
|
969
|
0 |
0 |
unless &blessed($operands[0]) and &blessed($operands[1])
|
970
|
0 |
0 |
if ($a->compare($b))
|
973
|
0 |
0 |
if ($a->does('Attean::API::Binding')) { }
|
975
|
0 |
0 |
$ok ? :
|
978
|
0 |
0 |
$ok ? :
|
981
|
0 |
0 |
$operands[0]->does("Attean::API::$type_roles{$1}") ? :
|
984
|
0 |
0 |
$value =~ /$pattern/u ? :
|
988
|
0 |
0 |
unless (ref $func)
|
998
|
0 |
0 |
if ($agg eq 'COUNT') { }
|
|
0 |
0 |
elsif ($agg =~ /^(?:SAMPLE|MIN|MAX|SUM|AVG|GROUP_CONCAT)$/u) { }
|
|
0 |
0 |
elsif ($agg eq 'CUSTOM') { }
|
999
|
0 |
0 |
if ($child) { }
|
1004
|
0 |
0 |
if ($expr->distinct)
|
1018
|
0 |
0 |
if ($agg eq 'SAMPLE') { }
|
|
0 |
0 |
elsif ($agg eq 'MIN' or $agg eq 'MAX') { }
|
|
0 |
0 |
elsif ($agg eq 'SUM' or $agg eq 'AVG') { }
|
|
0 |
0 |
elsif ($agg eq 'GROUP_CONCAT') { }
|
1024
|
0 |
0 |
$agg eq 'MIN' ? :
|
1030
|
0 |
0 |
if not $t and $agg eq "MIN"
|
1031
|
0 |
0 |
unless $t
|
1032
|
0 |
0 |
if not $extrema or $extrema->compare($t) == $expect
|
1044
|
0 |
0 |
if ($expr->distinct)
|
1045
|
0 |
0 |
if $seen{$term->as_string}++
|
1047
|
0 |
0 |
if ($term->does('Attean::API::NumericLiteral')) { }
|
1054
|
0 |
0 |
if ($agg eq "AVG")
|
1055
|
0 |
0 |
!$count ? :
|
1067
|
0 |
0 |
if ($expr->distinct)
|
1068
|
0 |
0 |
&blessed($term) ? :
|
|
0 |
0 |
if $seen{&blessed($term) ? $term->as_string : ""}++
|
1078
|
0 |
0 |
unless ($data)
|
1106
|
4 |
0 |
if $cast->does("Attean::API::CanonicalizingLiteral")
|