visão global
Existem muitas representações possíveis e, portanto, esquemas de banco de dados, para armazenar datas e horários nebulosos (ou mesmo datas nebulosas):
- Data e hora e código indicando sua precisão ou exatidão
- Data e hora e intervalo em que existem várias possibilidades para representar um intervalo:
- Representa todos os intervalos como uma quantidade inteira (ou outra quantidade numérica) de alguma unidade fixa, por exemplo, dias, minutos, nanossegundos.
- Representa um intervalo como uma quantidade inteira (ou outra numérica) e um código indicando suas unidades.
- Data e hora de início e término
- Corda
- Distribuição de probabilidade:
- Quantidades decimais ou de ponto flutuante para os parâmetros que especificam uma distribuição específica em uma família específica, por exemplo, média e desvio padrão de uma distribuição normal.
- Função de distribuição de probabilidade, por exemplo, como um código (pesquisa) (potencialmente com parâmetros de valores específicos) ou como uma expressão em uma linguagem, formato ou representação suficientemente expressiva.
[1], [2] e [3] são todos (implicitamente) intervalos uniformes, isto é, um conjunto de (igualmente) pontos possíveis no tempo.
[4] é a mais expressiva, ou seja, ao permitir quaisquer frases ou frases possíveis (ou pelo menos arbitrariamente longas) em linguagem escrita. Mas também é o mais difícil de trabalhar. No limite, a IA em nível humano seria necessária para lidar com valores arbitrários. Na prática, o intervalo de valores possíveis precisaria ser severamente restringido, e valores 'estruturados' alternativos provavelmente seriam preferidos para muitas operações, por exemplo, classificação e pesquisa.
[5] é provavelmente o mais geral compacto representação que é (um pouco) prático.
Intervalos uniformes
Intervalos uniformes são a maneira mais simples e compacta de representar um conjunto de (possíveis) valores de data e hora.
Para [1], partes do valor de data e hora são ignoradas, isto é, as partes correspondentes a unidades mais finas que a precisão ou exatidão indicada; caso contrário, isso é equivalente a [2] e o código de precisão / exatidão é equivalente a um intervalo com as mesmas unidades (e uma quantidade implícita de 1).
[2] e [3] são expressivamente equivalentes. [1] é estritamente menos expressivo do que qualquer um, pois existem intervalos efetivos que não podem ser representados por [1], ex. uma data e hora difusa equivalente a um intervalo de 12 horas que abrange um limite de data.
[1] é mais fácil para os usuários inserirem do que qualquer outra representação e geralmente deve exigir (pelo menos um pouco) menos digitação. Se a data e a hora puderem ser inseridas em várias representações de texto, por exemplo, "2013", "2014-3", "2015-5-2", "30/07/2016 11p", "31-07-2016 18:15" , a precisão ou a exatidão também podem ser inferidas automaticamente a partir da entrada.
A exatidão ou precisão de [1] também é mais fácil de converter em um formulário a ser transmitido aos usuários, por exemplo, '2015-5 com precisão de mês' para "maio de 2015", versus "13 de maio de 2015 2p, mais ou menos 13,5 dias" (note que este último não pode ser representado por [1] de qualquer maneira).
Cordas
Na prática, os valores das strings precisarão ser convertidos em outras representações para consulta, classificação ou comparação de vários valores. Portanto, embora qualquer linguagem natural (humana) escrita seja estritamente mais expressiva que [1], [2], [3] ou [5], ainda não temos os meios de lidar com muito além das representações ou formatos padrão de texto. Dado isso, essa é provavelmente a representação menos útil por si só .
Uma vantagem dessa representação é que, na prática, os valores devem ser apresentáveis aos usuários como estão e não exigem que a transformação seja facilmente compreensível.
Distribuições de probabilidade
As distribuições de probabilidade generalizam as representações de intervalo uniformes [1], [2], [3] e (sem dúvida) são equivalentes à representação de seqüência de caracteres (geral) [4].
Uma vantagem das distribuições de probabilidade sobre as strings é que a primeira é inequívoca.
[5-1] seria apropriado para valores que (principalmente) estejam em conformidade com uma distribuição existente, por exemplo, um valor de data e hora gerado por um dispositivo cujas medidas são conhecidas (ou consideradas) como estando em conformidade com uma distribuição específica.
[5-2] é provavelmente a melhor maneira (um pouco) prática de representar de maneira compacta os valores arbitrários de 'fuzzy datetime'. É claro que a computabilidade das distribuições de probabilidade específicas usadas é importante e existem definitivamente problemas interessantes (e talvez impossíveis) a serem resolvidos ao consultar, classificar ou comparar valores diferentes, mas muito disso provavelmente já é conhecido ou resolvido em algum lugar existente. literatura matemática e estatística, então isso definitivamente se destaca como uma representação extremamente geral e inequívoca.