consider the use-case:
t(Urn,L) :- f(Urn, "urn:rdfs:label", L), L = "Lomonosov Russia".
predicate f bind second variable to "urn:refs:label" but variable name unknown. The parser builds
#{t => [[urn,l],
#{'@' => f,
'_' => [urn,<<"urn:rdfs:label">>,l],
l => <<"Lomonosov Russia">>}]}
The native query builder shall be aware of [urn,<<"urn:rdfs:label">>,l] mapping.