make eye optional,  eliminate limit,  handle case that RDFNode is null