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

De Documentação
(Criou página com 'Identificadores únicos, tais como [https://www.postgresql.org/docs/current/functions-sequence.html 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 aj...')
 
Sem resumo de edição
Linha 1: Linha 1:
Identificadores únicos, tais como [https://www.postgresql.org/docs/current/functions-sequence.html 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.
Identificadores únicos, tais como [https://www.postgresql.org/docs/current/functions-sequence.html 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  
A ilustração do conjunto de frutas nos ajuda  


== Taxonomias bit a bit ==
==Taxonomias bit a bit==
...
[[arquivo:KraEtAll2019-fig01-apples.png|thumb|280px|Códigos binários identificando frutas individuais e sua taxonomia: laranja, maçã vermelha e maçã verde.]]
=== Reserva de bits para o prefixo do contador ===
A cada prefixo pode-se expressar uma regra. Por exemplo:
...
 
=== Contadores numéricos ===
* Primeiro bit do ID: define se é laranja (1) ou maçã (0). <br/>Os conjuntos ''L'' dos identificadores de laranjas e ''M'' das maçãs da ilustração ao lado são definidos por: <math>L=\{1, 10\}</math> e <math>M=\{0, 00, 000, 01, 010, 011\}</math>.
 
* Primeiro bit do ID de maçã:  define se é vermelha (0) ou verde (1). Portanto IDs com prefixos 00 e 01.<br/>Os conjuntos ''R'' dos identificadores de maçãs "red" e ''G'' das maçãs "green" da ilustração ao lado são definidos por: <math>R=\{0, 00, 000\} \subset M</math> e <math>G=\{01, 010, 011\} \subset M</math>. 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: "<code>$prefixo$contador</code>". 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 <code>1</code> mas reservando mais bits bit 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 misturadas, batizamos a mistura de <code>100</code> e reservamos <code>101</code> para as identificadas como comuns e <code>110</code> para as avermelhadas; ficando ainda a reserva <code>111</code> para outra eventual variedade de laranja.
 
===Contadores numéricos===
...
...
=== Contadores lexicográficos ===
===Contadores lexicográficos===


...
...
== Taxonomias Base N ==
==Taxonomias Base N==
Ver fig em https://github.com/osm-codes/NaturalCodes/wiki/Illustrating-the-order-as-taxonomy-blocks
Ver fig em https://github.com/osm-codes/NaturalCodes/wiki/Illustrating-the-order-as-taxonomy-blocks
[[Arquivo:KraEtAll2019-fig15-GreenApples.png]]
[[Arquivo:KraEtAll2019-fig03-awns.png]]

Edição das 12h54min 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 bit 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