Release 4.0: Soporte modelado de ontologías tipo Time Series

En la Release 4.0 de Sofia2 IoT Platform se incorpora un nuevo tipo de ontología que da soporte al concepto de series temporales.

2.PNG

Este nuevo tipo de ontología registra eventos con su marca de tiempo dentro de una ventana temporal, los cuales están agrupados en un documento en la BDTR, haciendo más eficiente la consulta, ya que con una única lectura en BDTR se pueden consultar todos, o un subconjunto de los eventos.

Esta funcionalidad está accesible desde la consola de administración Ontologías > Crear Ontología > Crear Ontología de tipo TimeSerie

 

image0101

Este tipo de ontología tiene tres parámetros de configuración:

3.PNG

  1. Ventana temporal: se corresponde con un documento en BDTR, puede ser diaría, horaria o minutal.
  2. Agrupación: nos da la posibilidad de agrupar los datos por días, horas, minutos o segundos. Este parámetro tiene que ser siempre menor o igual a la ventana temporal.
  3. Muestreo: identifica la periodicidad de las muestras recibidas. Este parámetro tiene que ser menor o igual que la unidad de agrupación.

Una vez configurados estos parámetros, se pueden definir propiedades estáticas que se insertaran en cada documento en BDTR.

4.PNG

A continuación hay que definir el tipo de dato que se quiere insertar, existiendo dos posibilidades:

  1. Tipo de datos Simple: además de elegir el tipo de dato que se va a insertar, se puede configurar la propiedad raíz de la ontología, siendo TimeSeries por defecto.5.PNG
  2. Tipo de datos Objeto: en este caso se pueden añadir un conjunto de propiedades simples que formarán el objeto, siendo necesario que haya al menos una propiedad requerida. Como en el caso anterior podemos configurar la propiedad raiz.

6.PNG

Una vez seleccionado y configurado el tipo de dato que va a ser insertado en la ontología, se genera el esquema del tipo de dato con su correspondiente instancia.

Supongamos que tenemos una ontología con una ventana horaria, con agrupación por minutos y muestras cada segundo, de esta forma tendríamos en cada documento en BDTR 60 grupos (minutos) con 60 muestras en cada grupo (segundos). La instancia de dicha ontología tendría el siguiente aspecto:

image0111

A nivel de consultas, este tipo de ontología se puede consultar según el método tradicional o como Time Serie. Para ello accedemos a Herramientas > Consola BDTR y BDH de la consola de administración.

Al seleccionar una ontología Time Serie se puede elegir la forma de consultar los datos, si elegimos consultarla como Time Serie se habilita un wizard específico para dicha consulta:

8.PNG

9.PNG

 Esta query nos devolverá datos del estilo:

image0131

Se pueden realizar este tipo de consultas también desde el Api indicando como queryType = TIME_SERIE

Release 4.0: Soporte modelado de ontologías tipo Time Series

4 comentarios en “Release 4.0: Soporte modelado de ontologías tipo Time Series

  1. Hola,
    muy interesante y útil lo de las series temporales, se aplica a muchos dominios.
    En el post echo de menos una cosa: ¿un ejemplo de cómo se haría la inserción de los datos?

    También me surge una duda: si la serie temporal no tiene una periodicidad fija, por ejemplo, recibo valores en los minutos 1, 3, 4, 7, 8, 9, 12 ¿este esquema sería válido?

  2. Raquel Barrio dijo:

    Hola Pablo,

    Como se comenta en el post, a la hora de crear la ontología de tipo TimeSeries se define el modelo de los datos que van a ser insertados. Supón entonces que hemos definido un esquema de datos simple, cuyo valor va a ser un número. Un ejempplo de los datos que se podrían insertar sería el siguiente:

    {
    “timestamp”: {
    “$date”: “2014-01-30T17:14:00Z”
    },
    “value”: 10
    }

    Dónde “value” es el valor numérico del tipo de dato y “timestamp” identifica el momento de tiempo en el que ha sido recogida la muestra. El valor timestamp es obligatorio ya que de este dato se obtiene el minuto al que pertenece la muestra, lo que nos permite guardar los datos correctamente teniendo en cuenta que puede que no exista una periodicidad establecida o que se pueda perder algún dato.

    Desde el API REST ed Sofia se puede hacer la insercción de los datos de la siguiente forma:

    {
    “sessionKey”: “sessionKey”,
    “ontology”: “ontology”,
    “data”: “{\”timestamp\”:{\”$date\”:\”2014-01-30T17:14:00Z\”},\”value\”:10}”
    }

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s