Projections - Aspects

Aspect are behaviors that can be configured above the ontologies concept, their main goal is to optimize the data to enforce their potential. We wanted at first restructure some ontologies to add specific behavior depending on class inheritance but since ontologies are standard we are not in a position to modifiy them by any means, that is how we came with the aspect idea. Still, aspects could have been hardcoded into Ziggy in order to optimize some ontologies but we wanted the optimisations to be configurable in a declarative way.

There is currently two available type of aspect :

TimeSeries : Each time a datatype property is updated for a projection its data is stored into an InfluxDB Time Series which enable TimeSeries request type (mean, avg over a given period of time) onto the projection datatype property
GeoSpatial : Enhance a datatype property designed to store geo spatial data and make it available for specific geospatial operator

We have other idea in minds such as :

INDEXED : Add an index over a datatype property to make research faster
EMBEDDED : Enable anonymous projection to be created for a given Object Property
VIRTUAL : Create a projection without an associated thing

Those are not implemented yet, as always, we do apologize ¯_(ツ)_/¯