The function returns the minimum value among all values in all its arguments by ignoring NULLs entirely.
Example 1
SQL> select __min_notnull (null, 1, 0); __min_notnull VARCHAR _______________________________________________________________________________ 0 1 Rows. -- 0 msec. SQL> select __min (null, 1, 0); __min 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:__min_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 1
http://mygraph2.com/pricing/#QVal1 1
http://mygraph2.com/pricing/#QVal3 2
No. of rows in result: 2