{
@Override
public QueryIterator execEvaluated(Binding binding, Node subject, Node predicate, Node object, ExecutionContext execCxt)
{
if ( subject.isVariable() && object.isVariable() )
throw new QueryExecException("Both subject and object are unbound variables: "+FmtUtils.stringForNode(predicate)) ;
if ( subject.isVariable() )
// Object not a variable or already bound
return IterLib.oneResult(binding, Var.alloc(subject), object, execCxt) ;
if ( object.isVariable() )
// Subjects not a variable or already bound