Billions of devices are now integral part of the day-to-day routine of people but they are sometime incompatible with one another because they employ divergent protocols. The introduction of semantics has been a key enabler towards proper and universal descriptions of connected objects as well as the relationship between them, removing relational ambiguities and improving context-awareness. Virtual objects (VOs) are semantic descriptions of the aggregated native capabilities of physical devices. And as such, they can be readily upgraded over time in order to dynamically suit the processes they are involved with because the context information that is present within them is not necessarily static in time. The original VOs often need to be semantically enriched with more contextual details as they interact with applications and other reasoning engines, where they often evolve into composite virtual objects (cVOs) or rich virtual objects (rVOs) that are more intelligent and interoperable