The access path currently visits elements, such as ISPOs, when scanning an index. This decision goes back to the physical schema design for the RDF database where the elements are very small. However, some index schemas can have large elements in which only a few values may be selected by the access path. In order to be more general, the IAccessPath interface should be extended to support index key-range scans where binding sets are visited. This should be in addition to the range iterator interface since there are use cases where visiting the elements (rows) might be a better fit.
One inadvertant consequence of the current design is that a scan on a non-perfect index, e.g, https://sourceforge.net/apps/trac/bigdata/ticket/208, can result in a failure to filter out bindings which are not part of the key prefix.