A Bookshelf, a Dataset and the Design of NeoLibrary