Using Service Provider Interface for datasources could be useful for allowing users to support their own stores/libraries (e.g. Sesame or a plain-old RDBMS, deprecated as triple store by Jena and Sesame but good enough for some purposes), without having too add all those dependencies to this project.