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

m
m (→‎Estabilidade estatística: add metodologia precedendo volumetria)
 
(3 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 132: Linha 132:


[[Arquivo:NatCod-taxon-produtos1.png|centro|miniaturadaimagem|680px|Códigos Naturais de 11 bits na base 4h: de <code>0</code> até <code>33333Q</code>, identificando produtos.<br />
[[Arquivo:NatCod-taxon-produtos1.png|centro|miniaturadaimagem|680px|Códigos Naturais de 11 bits na base 4h: de <code>0</code> até <code>33333Q</code>, identificando produtos.<br />
Futas: prefixo <code>0</code>. Roupas: prefixo <code>3</code>. Demais produtos: prefixos <code>1</code> e <code>2</code> disponíveis. Maçãs: prefixo <code>00</code>. Demais frutas: prefixos <code>01</code>, <code>02</code> <code>03</code> disponíveis.<br /> Maçãs vermelhas, prefixo <code>000</code>; maçãs verdes, prefixo <code>001</code>. Roupas de mulher, prefixo <code>30</code>: vestidos <code>300</code>; camisas femininas <code>302</code>. Demais roupas: camisetas, prefixo <code>31</code>; e jeans prefixo <code>32</code>. <br />O ID de cada produto é expresso pelo prefixo seguido de um ou mais dígitos, respeitando limite dos 11 bits. Por exemplo o ID <code>001.123</code> é relativo a maçã verde, todas elas estarão no intervalo <code>001.0</code> até <code>001.33Q</code>.]]
Futas: prefixo <code>0</code>. Roupas: prefixo <code>3</code>. Demais produtos: prefixos <code>1</code> e <code>2</code> disponíveis. <br/>Maçãs: prefixo <code>00</code>; maçãs vermelhas, prefixo <code>000</code>; maçãs verdes, prefixo <code>001</code>. Demais frutas: prefixos <code>01</code>, <code>02</code> <code>03</code>, sem especialização.<br />  Roupas de mulher, prefixo <code>30</code>: vestidos <code>300</code>; camisas femininas <code>302</code>. Demais roupas: camisetas, prefixo <code>31</code>; e jeans prefixo <code>32</code>. <br />O ID de cada produto é expresso pelo prefixo seguido de um ou mais dígitos, respeitando limite dos 11 bits. Por exemplo o ID <code>001.123</code> é relativo a maçã verde, todas elas estarão no intervalo <code>001.0</code> até <code>001.33Q</code>.]]


Neste cenário, no inventário inicial foram suficientes 11 bits para identificar todos os produtos com seus prefixos. Por exemplo os IDs das maçãs vermelhas ficaram no intervalo <code>000</code> até <code>00033Q</code>, e as maçãs verdes de <code>001</code> até <code>00133Q</code>.  Para facilitar a visualização do prefixo no valor do ID podemos usar o ponto, por exemplo <code>001.33Q</code>.
Neste cenário, no inventário inicial foram suficientes 11 bits para identificar todos os produtos com seus prefixos. Por exemplo os IDs das maçãs vermelhas ficaram no intervalo <code>000</code> até <code>00033Q</code>, e as maçãs verdes de <code>001</code> até <code>00133Q</code>.  Para facilitar a visualização do prefixo no valor do ID podemos usar o ponto, por exemplo <code>001.33Q</code>.
Linha 165: Linha 165:


Abaixo ilustrando ao invés das classes algumas instâncias de produtos, cada qual com seu ID, e a posição do ID na "régua base 4h". Para destacar classe e contador foi adotada a notação com ponto separador. Por exemplo a maçã verde com ID=<code>00133</code> pode ser destacada como <code>001.33</code>. Ela vem depois da maçã <code>001.0</code> e bem antes por exemplo do jeans <code>32.101</code>. Todos ficam dentro do intervalo das respectivas classes.
Abaixo ilustrando ao invés das classes algumas instâncias de produtos, cada qual com seu ID, e a posição do ID na "régua base 4h". Para destacar classe e contador foi adotada a notação com ponto separador. Por exemplo a maçã verde com ID=<code>00133</code> pode ser destacada como <code>001.33</code>. Ela vem depois da maçã <code>001.0</code> e bem antes por exemplo do jeans <code>32.101</code>. Todos ficam dentro do intervalo das respectivas classes.
Reparar que os códigos de instância não precisam ocupar todos os 4 dígitos, isso facilita a leitura humana dos códigos. Como eles vão sendo consumidos na ordem hierárquica, se um dia forem necessárias mais classes, podem ser alocados os ainda não utilizados.


[[Arquivo:NatCod-taxons-InstanceIntervals1.png|centro|semmoldura|582px]]
[[Arquivo:NatCod-taxons-InstanceIntervals1.png|centro|semmoldura|582px]]


A ampliação do banco de dados, adotando o dobro, 22 bits, acarretou a ampliação do intervalo da mesma classe, seus IDs passaram a ser de <code>000</code> até <code>00033333333</code>. '''O aumento de bits não afeta os identificadores''', apenas amplia a possibilidade de incluir mais produtos dentro da mesma classe. Ao contrário da estratégia similar adotada com números, os '''prefixos de código são [[wikipedia:Scalability|escaláveis]]'''.
A mesma flexibilidade vale no acréscimo de mais bits. A ampliação do banco de dados, adotando o dobro, 22 bits, acarretou a ampliação do intervalo da mesma classe, seus IDs passaram a ser de <code>000</code> até <code>00033333333</code>. '''O aumento de bits não afeta os identificadores''', apenas amplia a possibilidade de incluir mais produtos dentro da mesma classe. Ao contrário da [[Código Natural/Comparação com números|estratégia similar adotada com números]], os '''prefixos de código são [[wikipedia:Scalability|escaláveis]]'''.


===Atribuição dos IDs hCount  ===
===Atribuição dos IDs hCount  ===
Linha 211: Linha 213:


===Questão do uso dos intermediários ===
===Questão do uso dos intermediários ===
Se eu posso classificar a maçã como planta da espécie ''M. domestica'', não faz sentido ter uma outra maçã classificada apenas como Malus,  ou simplesmente Plantae. Isso causaria risco de duplicidade das entradas, com uma parte do sistema atribuindo IDs  de alta especificidade de outra parte atribuindo IDs com classe mais genérica. A boa prática neste caso seria de nunca utilizar os níveis intermediários. <br/> PS: nesse caso há que se questionar se precisamos de um sistema tão sofisticado de ID, se na prática nunca vamos usar níveis intermediários.
Se eu posso classificar a maçã como planta da espécie ''M. domestica'', não faz sentido ter uma outra maçã classificada apenas como Malus,  ou simplesmente Plantae. Isso causaria risco de duplicidade das entradas, com uma parte do sistema atribuindo IDs  de alta especificidade de outra parte atribuindo IDs com classe mais genérica. A boa prática neste caso seria de nunca utilizar os níveis intermediários.  
:<small>PS: nesse caso há que se questionar se precisamos de um sistema tão sofisticado de ID, se na prática nunca vamos usar níveis intermediários. Sem esquecer, por outro lado, que os taxons intermediários podem ser (sem certas aplicações) importantes nas buscas e relatórios com agregação taxonômica.</small>


Por outro lado se apenas a ''M. domestica'' é popular e com classificação confiável, e existem dezenas de outras maçãs com classificação indefinida, melhor que se adote a convenção de usar Malus para as indefinidas.
Por outro lado se apenas a ''M. domestica'' é popular e com classificação confiável, e existem dezenas de outras maçãs com classificação indefinida, melhor que se adote a convenção de usar Malus para as indefinidas.


O uso das classes intermediárias deve ser reservado a esse segundo caso, onde não queremos onerar o sistema de classificação, e essa é uma decisão estável.
O uso das classes intermediárias deve ser reservado a esse segundo caso, onde não queremos onerar o sistema de classificação, e onde a decisão estável.


===Estabilidade estatística ===
===Estabilidade estatística ===
Linha 233: Linha 236:


===Caso de uso ilustrativo===
===Caso de uso ilustrativo===
:: <small>Resumo e amostras de [[Código Natural/Identificação taxonômica/Casos de uso]].</small>
É muito comum em Big Data a adoção de uma visão unificada dos dados de uma grande empresa, que pode conter, por exemplo, mais de um [[wikipedia:Customer relationship management|sistema de CRM]] para a gestão dos seus clientes.
É muito comum em Big Data a adoção de uma visão unificada dos dados de uma grande empresa, que pode conter, por exemplo, mais de um [[wikipedia:Customer relationship management|sistema de CRM]] para a gestão dos seus clientes.


Linha 266: Linha 270:
***<code>754</code> - [https://schema.org/MiddleSchool MiddleSchool]
***<code>754</code> - [https://schema.org/MiddleSchool MiddleSchool]
***<code>755</code> - [https://schema.org/Preschool Preschool]
***<code>755</code> - [https://schema.org/Preschool Preschool]
***<code>756</code> - [https://schema.org/School School]
 
**<code>78</code> - Gov. LibrarySystem
**<code>7B</code> - Gov. MedicalOrganization (and optional recurrent specializations)
***<code>7B1</code> - Gov. [https://schema.org/Dentist Dentist]
***<code>7B2</code> - Gov. [https://schema.org/DiagnosticLab DiagnosticLab]
***<code>7B3</code> - Gov. [https://schema.org/Hospital Hospital]
***<code>7B4</code> - Gov. [https://schema.org/MedicalClinic MedicalClinic]
***<code>7B5</code> - Gov. [https://schema.org/Pharmacy Pharmacy]
***<code>7B6</code> - Gov. [https://schema.org/Physician Physician]
***<code>7B7</code> - Gov. [https://schema.org/VeterinaryCare VeterinaryCare]
** <code>7D</code> - Gov. NewsMediaOrganization
** ...
** ...
** <code>7H</code> - Gov. SportsOrganization
*<code>8</code> - [https://schema.org/LibrarySystem LibrarySystem]
*<code>9</code> - [https://schema.org/LocalBusiness LocalBusiness]
**<code>90</code> - LocalBusiness partner.
**<code>91</code> - [https://schema.org/AnimalShelter AnimalShelter]
**<code>92</code> - [https://schema.org/ArchiveOrganization ArchiveOrganization]
**<code>93</code> - [https://schema.org/AutomotiveBusiness AutomotiveBusiness]
**<code>94</code> - [https://schema.org/ChildCare ChildCare]
**<code>95</code> - [https://schema.org/DryCleaningOrLaundry DryCleaningOrLaundry]
**<code>96</code> - [https://schema.org/EmergencyService EmergencyService]
**<code>97</code> - [https://schema.org/EmploymentAgency EmploymentAgency]
**<code>98</code> - [https://schema.org/EntertainmentBusiness EntertainmentBusiness]
**<code>99</code> - [https://schema.org/FinancialService FinancialService]
**<code>9B</code> - [https://schema.org/FoodEstablishment FoodEstablishment]
**<code>9C</code> - [https://schema.org/GovernmentOffice GovernmentOffice]
**<code>9D</code> - [https://schema.org/HealthAndBeautyBusiness HealthAndBeautyBusiness]
**<code>9F</code> - [https://schema.org/HomeAndConstructionBusiness HomeAndConstructionBusiness]
**<code>9G</code> - [https://schema.org/InternetCafe InternetCafe]
**<code>9H</code> - [https://schema.org/LegalService LegalService]
**<code>9J</code> - [https://schema.org/Library Library]
**<code>9K</code> - [https://schema.org/LodgingBusiness LodgingBusiness]
**<code>9L</code> - [https://schema.org/MedicalBusiness MedicalBusiness]
**<code>9M</code> - [https://schema.org/ProfessionalService ProfessionalService]
**<code>9N</code> - [https://schema.org/RadioStation RadioStation]
**<code>9P</code> - [https://schema.org/RealEstateAgent RealEstateAgent]
**<code>9Q</code> - [https://schema.org/RecyclingCenter RecyclingCenter]
**<code>9R</code> - [https://schema.org/SelfStorage SelfStorage]
**<code>9S</code> - [https://schema.org/ShoppingCenter ShoppingCenter]
**<code>9T</code> - [https://schema.org/SportsActivityLocation SportsActivityLocation]
**<code>9U</code> - [https://schema.org/Store Store]
**<code>9V</code> - [https://schema.org/TelevisionStation TelevisionStation]
**<code>9W</code> - [https://schema.org/TouristInformationCenter TouristInformationCenter]
**<code>9X</code> - [https://schema.org/TravelAgency TravelAgency]
*<code>B</code> - [https://schema.org/MedicalOrganization MedicalOrganization]
**<code>B0</code> - MedicalOrganization partner
**<code>B1</code> - [https://schema.org/Dentist Dentist]
**<code>B2</code> - [https://schema.org/DiagnosticLab DiagnosticLab]
**<code>B3</code> - [https://schema.org/Hospital Hospital]
**<code>B4</code> - [https://schema.org/MedicalClinic MedicalClinic]
**<code>B5</code> - [https://schema.org/Pharmacy Pharmacy]
**<code>B6</code> - [https://schema.org/Physician Physician]
**<code>B7</code> - [https://schema.org/VeterinaryCare VeterinaryCare]
*<code>C</code> - [https://schema.org/NGO NGO]
*<code>D</code> - [https://schema.org/NewsMediaOrganization NewsMediaOrganization]
*<code>F</code> - [https://schema.org/OnlineBusiness OnlineBusiness]
**<code>F0</code> - OnlineBusiness partner
**<code>F1</code> - [https://schema.org/OnlineStore OnlineStore]
*<code>G</code> - [https://schema.org/PerformingGroup PerformingGroup]
**<code>G0</code> - PerformingGroup partner
**<code>G1</code> - [https://schema.org/DanceGroup DanceGroup]
**<code>G2</code> - [https://schema.org/DanceGroup DanceGroup]
**<code>G3</code> - [https://schema.org/MusicGroup MusicGroup]
**<code>G4</code> - [https://schema.org/TheaterGroup TheaterGroup]
*<code>H</code> - [https://schema.org/PoliticalParty PoliticalParty]
*<code>J</code> - [https://schema.org/Project Project]
**<code>J0</code> - Project partnership
**<code>J1</code> - [https://schema.org/FundingAgency FundingAgency]
**<code>J2</code> - [https://schema.org/ResearchProject ResearchProject]
*<code>K</code> - [https://schema.org/ResearchOrganization ResearchOrganization]
*<code>L</code> - [https://schema.org/SearchRescueOrganization SearchRescueOrganization]
*<code>M</code> - [https://schema.org/SportsOrganization SportsOrganization]
**<code>M0</code> - SportsOrganization partner
**<code>M1</code> - [https://schema.org/SportsTeam SportsTeam]
*<code>N</code> - [https://schema.org/WorkersUnion WorkersUnion]
* ... (até 10 outras classificações futuras do SchemaOrg, ou obtidas na Wikidata)
*<code>Z</code> - Other (classe '''temporária''' para a gestão de cadastros incompletos)
** <code>Z1</code> - Generic partner (para distinguir de terceirizados ou franquiados ainda indefinidos - sem especialização)


Devido à ambiguidade nos domínios, a empresa precisa definir qual a subclasse canônica, quando o SchemaOrg oferecer mais de uma alternativa. Por exemplo "Dentist" pode ser subclasse de "LocalBusiness" ou de "MedicalOrganization", no exemplo foi adotada a classe "MedicalOrganization".
Devido à ambiguidade nos domínios, a empresa precisa definir qual a subclasse canônica, quando o SchemaOrg oferecer mais de uma alternativa. Por exemplo "Dentist" pode ser subclasse de "LocalBusiness" ou de "MedicalOrganization", no exemplo foi adotada a classe "MedicalOrganization".
2 435

edições