re-architected library so that different Triple stores can be used