Lazy return properties

Refactor to lazy return properties instead of fetch the whole RDF document when the RDF object is instantiated.