The function returns the maximum value among all values in all its arguments by ignoring NULLs entirely.
Example 1
SQL> select __max_notnull (null, 1, 0); __max_notnull VARCHAR _______________________________________________________________________________ 1 1 Rows. -- 16 msec. SQL> select __max (null, 1, 0); __max VARCHAR _______________________________________________________________________________ NULL 1 Rows. -- 0 msec.
Example 2
SQL> SPARQL
INSERT INTO GRAPH <http://mygraph.com>
{
<http://mygraph2.com/pricing/#QVal1> <price1> 1 ; <price3> 5 .
<http://mygraph2.com/pricing/#QVal2> <price2> 1 ; <price3> 4 .
<http://mygraph2.com/pricing/#QVal3> <price1> 6 ; <price2> 2 .
};
Insert into <http://mygraph.com>, 6 (or less) triples -- done
No. of rows in result: 1
SQL> SPARQL SELECT ?s, (bif:__max_notnull (?pr1, ?pr2, ?pr3))
FROM <http://mygraph.com>
WHERE
{
{
SELECT DISTINCT ?s
WHERE
{
?s ?p ?pr .
FILTER (?p in (<price1>, <price2>, <price3>))
}
}
OPTIONAL { ?s <price1> ?pr1 }
OPTIONAL { ?s <price2> ?pr2 }
OPTIONAL { ?s <price3> ?pr3 }
};
Query result:
s callret-1
VARCHAR VARCHAR
_______________________________________________
http://mygraph2.com/pricing/#QVal2 4
http://mygraph2.com/pricing/#QVal1 5
http://mygraph2.com/pricing/#QVal3 6
No. of rows in result: 2