Reasoning About Shape in Complex Datasets: Geometry, Structure and Semantics