Código Natural/Identificação taxonômica: mudanças entre as edições

De Documentação
Sem resumo de edição
Linha 18: Linha 18:
No exemplo acima as laranjas fizeram uso de um prefixo de apenas 1 bit e as maçãs uso de um prefixo de 2 bits.
No exemplo acima as laranjas fizeram uso de um prefixo de apenas 1 bit e as maçãs uso de um prefixo de 2 bits.


Se a taxonomia é sujeita a modificações, podemos reservar mais bits para cada um dos grupos taxonômicos (''taxons''). No exemplo poderíamos no futuro distinguir laranjas,  entre comuns e avermelhadas. Todas elas com prefixo <code>1</code> mas reservando mais bits bit para futuras diferenciações: duas estratégias são possíveis:
Se a taxonomia é sujeita a modificações, podemos '''reservar mais bits para cada um dos grupos taxonômicos''' (''taxons'').
 
No exemplo poderíamos no futuro '''distinguir laranjas''',  entre ''comuns'' e ''avermelhadas''. Todas elas com prefixo <code>1</code> mas reservando mais bits para futuras diferenciações: duas estratégias são possíveis:


*  Se as existentes são comuns, batizamos elas de <code>10</code> e reservamos <code>11</code> para as avermelhadas. Não fica nenhuma reserva de segurança.
*  Se as existentes são comuns, batizamos elas de <code>10</code> e reservamos <code>11</code> para as avermelhadas. Não fica nenhuma reserva de segurança.

Edição das 12h56min de 16 de julho de 2023

Identificadores únicos, tais como contadores sequenciais em bases de dados, são fundamentais para a indexação e controle de registros. O ideal, todavia, é que esse identificador traga embutida alguma informação relativa à taxonomia da entidade identificada. Isso porque os identificadores de grupos taxonômicos também precisam ser únicos e padronizados.

A ilustração do conjunto de frutas nos ajuda

Taxonomias bit a bit

Códigos binários identificando frutas individuais e sua taxonomia: laranja, maçã vermelha e maçã verde.

A cada prefixo pode-se expressar uma regra. Por exemplo:

  • Primeiro bit do ID: define se é laranja (1) ou maçã (0).
    Os conjuntos L dos identificadores de laranjas e M das maçãs da ilustração ao lado são definidos por: e .
  • Primeiro bit do ID de maçã: define se é vermelha (0) ou verde (1). Portanto IDs com prefixos 00 e 01.
    Os conjuntos R dos identificadores de maçãs "red" e G das maçãs "green" da ilustração ao lado são definidos por: e . Ambos subconjuntos de M, estabelecendo portanto uma hierarquia taxonômica entre as maçãs.

Os identificadores de frutas são livres, podem ter qualquer quantidade de bits, podem ter tamanho fixo ou variável, e não precisam percorrer uma sequência especial. A taxonomia só impõe a existência de prefixos e regras de interpretação para esses prefixos.

A sintaxe geral da cadeia de bits é simples: "$prefixo$contador". Com as variáveis prefixo e contador, tendo apenas o prefixo um tamanho definido pelas regras taxonômicas.

Reserva de bits para o prefixo do contador

No exemplo acima as laranjas fizeram uso de um prefixo de apenas 1 bit e as maçãs uso de um prefixo de 2 bits.

Se a taxonomia é sujeita a modificações, podemos reservar mais bits para cada um dos grupos taxonômicos (taxons).

No exemplo poderíamos no futuro distinguir laranjas, entre comuns e avermelhadas. Todas elas com prefixo 1 mas reservando mais bits para futuras diferenciações: duas estratégias são possíveis:

  • Se as existentes são comuns, batizamos elas de 10 e reservamos 11 para as avermelhadas. Não fica nenhuma reserva de segurança.
  • Se as existentes são misturadas, batizamos a mistura de 100 e reservamos 101 para as identificadas como comuns e 110 para as avermelhadas; ficando ainda a reserva 111 para outra eventual variedade de laranja.

Contadores numéricos

...

Contadores lexicográficos

...

Taxonomias Base N

Ver fig em https://github.com/osm-codes/NaturalCodes/wiki/Illustrating-the-order-as-taxonomy-blocks

KraEtAll2019-fig15-GreenApples.png

KraEtAll2019-fig03-awns.png