Ir para o conteúdo

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

Linha 136: Linha 136:
[[File:Biological classification L Pengo vflip.svg|thumb|160px|upright|Classificação na Biologia. De reino até espécie são estáveis.]]
[[File:Biological classification L Pengo vflip.svg|thumb|160px|upright|Classificação na Biologia. De reino até espécie são estáveis.]]


O "[[wikipedia:Species problem|problema das espécies]]" na [[wikipedia:Taxonomy (biology)|taxonomia biológica]] descreve os diversos dilemas da classificação, assim como sua solução: dentro de uma perspectiva de médio prazo (no caso da Biologia da ordem de uma ou mais décadas) a macro-taxonomia, ou seja, os "ramos raiz" da árvore de classificação, podem ser supostos estáveis. Exemplo: as maçãs são variedades da espécie [[wikipedia:Malus domestica|''Malus domestica'']], portanto dentro da árvore biológica, partindo de reino, corresponde a Plantae/Tracheophytes/Angiosperms/Eudicots/Rosids/Rosales/Rosaceae/Malus/''M. domestica''.
O "[[wikipedia:Species problem|problema das espécies]]" na [[wikipedia:Taxonomy (biology)|taxonomia biológica]] descreve os diversos dilemas da classificação, assim como sua solução: dentro de uma perspectiva de médio prazo (no caso da Biologia da ordem de uma ou mais décadas) a macro-taxonomia, ou seja, os "ramos raiz" da árvore de classificação, podem ser supostos '''estáveis'''. Exemplo: as maçãs são variedades da espécie [[wikipedia:Malus domestica|''Malus domestica'']], portanto dentro da árvore biológica, partindo de reino, corresponde a Plantae/Tracheophytes/Angiosperms/Eudicots/Rosids/Rosales/Rosaceae/Malus/''M. domestica''.


A classificação dos dados de uma empresa não é muito diferente, exibe estabilidade dentro de certas condições. A disciplina que hoje garante a estabilidade dos chamados "domínios de dados" dentro de uma empresa é a [[wikipedia:Data mesh|governança orientada a '''Data Mesh''']]. Aqui também adotaremos as diretivas de Data Mesh.
A classificação dos dados de uma empresa não é muito diferente, exibe estabilidade dentro de certas condições. A disciplina que hoje garante a estabilidade dos chamados "domínios de dados" dentro de uma empresa é a [[wikipedia:Data mesh|governança orientada a '''Data Mesh''']]. Aqui também adotaremos as diretivas de Data Mesh.
Linha 144: Linha 144:
Por exemplo, as plantas cujos frutos recebem o nome vulgar de "laranja" são plantas da família [[wikipedia:Rutaceae|Rutaceae]]. Entre elas a espécie [[wikipedia:Citrus reticulata|''Citrus reticulata'']], que seria sinônimo de "laranja Mandarin". Todavia, a maior parte dos cultivares de laranja são híbridos (ex. [[wikipedia:Valencia orange|laranja Valência]]), usualmente das espécies [[wikipedia:Citrus maxima|''Citrus maxima'']] e ''Citrus reticulata''. Portanto numa classificação de produtos não é possível o uso rigoroso da classificação biológica, sendo mais sensato, abaixo de família, o uso de uma classificação estável de cultivares (agronômica), como neste [http://www.respostatecnica.org.br/dossie-tecnico/downloadsDT/MjA2 dossiê técnico sobre o cultivo de laranja].
Por exemplo, as plantas cujos frutos recebem o nome vulgar de "laranja" são plantas da família [[wikipedia:Rutaceae|Rutaceae]]. Entre elas a espécie [[wikipedia:Citrus reticulata|''Citrus reticulata'']], que seria sinônimo de "laranja Mandarin". Todavia, a maior parte dos cultivares de laranja são híbridos (ex. [[wikipedia:Valencia orange|laranja Valência]]), usualmente das espécies [[wikipedia:Citrus maxima|''Citrus maxima'']] e ''Citrus reticulata''. Portanto numa classificação de produtos não é possível o uso rigoroso da classificação biológica, sendo mais sensato, abaixo de família, o uso de uma classificação estável de cultivares (agronômica), como neste [http://www.respostatecnica.org.br/dossie-tecnico/downloadsDT/MjA2 dossiê técnico sobre o cultivo de laranja].


Outra boa prática, tanto para se verificar a estabilidade como para se automatizar a geração das árvores de classificação, é o uso de [[wikiepdia:Resource Description Framework|vocabulários RDF], a maior parte deles catalogados em [https://lov.linkeddata.es/dataset/lov/ lov.linkeddata.es]. Recomenda-se o uso de no máximo 3 vocabulários para gerar as classes RDF de cada domínio: [[wikipedia:Schema.org|SchemaOrg]], [[wikipedia:Wikidata|Wikidata]] e especializado (caso exista como no caso dos cultivares agronômicos).  
Outra boa prática, tanto para se verificar a estabilidade como para se automatizar a geração das árvores de classificação, é o uso de [[wikipedia:Resource Description Framework|'''vocabulários RDF''']], a maior parte deles catalogados em [https://lov.linkeddata.es/dataset/lov/ lov.linkeddata.es]. Recomenda-se o uso de no máximo 3 vocabulários para gerar as classes RDF de cada domínio: [[wikipedia:Schema.org|SchemaOrg]], [[wikipedia:Wikidata|Wikidata]] e especializado (caso exista como no caso dos cultivares agronômicos).  


Por fim, para organizar os metadados, relacionamento entre diferentes classificações, e a semântica da própria classificação, convêm submeter os conjuntos de dados à modelagem de dados usual:
Por fim, para organizar os metadados, relacionamento entre diferentes classificações, e a semântica da própria classificação, convêm submeter os conjuntos de dados à modelagem de dados usual:
Linha 161: Linha 161:


===Caso de uso ilustrativo===
===Caso de uso ilustrativo===
É 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 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.


[[Arquivo:NatCod-Taxon-UML-Customer.png|380px|miniaturadaimagem|A classificação dos clientes B2B de uma empresa, conforme SchemaOrg.]]  
[[Arquivo:NatCod-Taxon-UML-Customer.png|380px|miniaturadaimagem|A classificação dos clientes B2B de uma empresa, conforme SchemaOrg.]]
O primeiro passo nesse caso é estabelecer em UML qual a estratégia semântica de unificação. Pode-se optar por exemplo por não misturar B2C com B2B, e optar por classificar os clientes B2B conforme o o primeiro e segundo níveis do padrão SchemaOrg, ou seja, conforme [https://schema.org/Organization sch:Organization]. Optou-se também por adotar, como medida de apoio à transição do ID convencional (inteiro de 32 bits) para o [[Código_natural/Representação_interna#Cache-length_strategy|hInt de 64 bits]], a classe Other. Nela os clientes com cadastro indefinido ou onde caberiam outras classificações, ficam de "quarentena".


*[https://schema.org/Airline Airline]
O primeiro passo nesse caso é estabelecer em UML qual a estratégia semântica de unificação. Pode-se optar por exemplo por não misturar B2C com B2B, e optar por classificar os clientes B2B conforme o o primeiro e segundo níveis do padrão SchemaOrg, ou seja, conforme [https://schema.org/Organization sch:Organization]. Pode-se também reservar para o sistema interno, de RH por exemplo, a classe ''InternalOrganization'', para mapear subsidiárias e departamentos.
*[https://schema.org/Consortium Consortium]
 
*[https://schema.org/Corporation Corporation]
Optou-se também por adotar, como medida de apoio à transição do ID convencional (inteiro de 32 bits) para o [[Código_natural/Representação_interna#Cache-length_strategy|hInt de 64 bits]], a classe Other. Nela os clientes com cadastro indefinido ou onde caberiam outras classificações, ficam de "quarentena". Na representação base16h apenas os "hexadecimais puros" preservam prefixo, de modo que havendo mais de 16 classes, será necessário mais de um dígito.
*[https://schema.org/EducationalOrganization EducationalOrganization]
 
*[https://schema.org/FundingScheme FundingScheme]
* <code>0</code> - InternalOrganization (classe para gestão interna de subsidiárias e departamentos)
* [https://schema.org/GovernmentOrganization GovernmentOrganization]
* <code>10</code> - [https://schema.org/Airline Airline]
*[https://schema.org/LibrarySystem LibrarySystem]
* <code>16</code> - [https://schema.org/Consortium Consortium]
*[https://schema.org/LocalBusiness LocalBusiness]
* <code>20</code> - [https://schema.org/Corporation Corporation]
**[https://schema.org/AnimalShelter AnimalShelter]
* <code>26</code> - [https://schema.org/EducationalOrganization EducationalOrganization]
**[https://schema.org/ArchiveOrganization ArchiveOrganization]
* <code>30</code> - [https://schema.org/FundingScheme FundingScheme]
**[https://schema.org/AutomotiveBusiness AutomotiveBusiness]
* <code>36</code> - [https://schema.org/GovernmentOrganization GovernmentOrganization]
**[https://schema.org/ChildCare ChildCare]
* <code>40</code> - [https://schema.org/LibrarySystem LibrarySystem]
**[https://schema.org/DryCleaningOrLaundry DryCleaningOrLaundry]
* <code>46</code> - [https://schema.org/LocalBusiness LocalBusiness]
**[https://schema.org/EmergencyService EmergencyService]
** <code>4600</code> - [https://schema.org/AnimalShelter AnimalShelter]
**[https://schema.org/EmploymentAgency EmploymentAgency]
** <code>4606</code> - [https://schema.org/ArchiveOrganization ArchiveOrganization]
**[https://schema.org/EntertainmentBusiness EntertainmentBusiness]
** <code>4610</code> - [https://schema.org/AutomotiveBusiness AutomotiveBusiness]
**[https://schema.org/FinancialService FinancialService]
** <code>4616</code> - [https://schema.org/ChildCare ChildCare]
**[https://schema.org/FoodEstablishment FoodEstablishment]
** <code>4620</code> - [https://schema.org/DryCleaningOrLaundry DryCleaningOrLaundry]
**[https://schema.org/GovernmentOffice GovernmentOffice]
** <code>4626</code> - [https://schema.org/EmergencyService EmergencyService]
** [https://schema.org/HealthAndBeautyBusiness HealthAndBeautyBusiness]
** <code>4630</code> - [https://schema.org/EmploymentAgency EmploymentAgency]
**[https://schema.org/HomeAndConstructionBusiness HomeAndConstructionBusiness]
** <code>4636</code> - [https://schema.org/EntertainmentBusiness EntertainmentBusiness]
**[https://schema.org/InternetCafe InternetCafe]
** <code>4640</code> - [https://schema.org/FinancialService FinancialService]
**[https://schema.org/LegalService LegalService]
** <code>4646</code> - [https://schema.org/FoodEstablishment FoodEstablishment]
**[https://schema.org/Library Library]
** <code>4650</code> - [https://schema.org/GovernmentOffice GovernmentOffice]
**[https://schema.org/LodgingBusiness LodgingBusiness]
** <code>4656</code> - [https://schema.org/HealthAndBeautyBusiness HealthAndBeautyBusiness]
**[https://schema.org/MedicalBusiness MedicalBusiness]
** <code>4660</code> - [https://schema.org/HomeAndConstructionBusiness HomeAndConstructionBusiness]
**[https://schema.org/ProfessionalService ProfessionalService]
** <code>4666</code> - [https://schema.org/InternetCafe InternetCafe]
**[https://schema.org/RadioStation RadioStation]
** <code>4670</code> - [https://schema.org/LegalService LegalService]
**[https://schema.org/RealEstateAgent RealEstateAgent]
** <code>4676</code> - [https://schema.org/Library Library]
**[https://schema.org/RecyclingCenter RecyclingCenter]
** <code>4680</code> - [https://schema.org/LodgingBusiness LodgingBusiness]
**[https://schema.org/SelfStorage SelfStorage]
** <code>4686</code> - [https://schema.org/MedicalBusiness MedicalBusiness]
**[https://schema.org/ShoppingCenter ShoppingCenter]
** <code>4690</code> - [https://schema.org/ProfessionalService ProfessionalService]
**[https://schema.org/SportsActivityLocation SportsActivityLocation]
** <code>4696</code> - [https://schema.org/RadioStation RadioStation]
**[https://schema.org/Store Store]
** <code>46a0</code> - [https://schema.org/RealEstateAgent RealEstateAgent]
**[https://schema.org/TelevisionStation TelevisionStation]
** <code>46a6</code> - [https://schema.org/RecyclingCenter RecyclingCenter]
**[https://schema.org/TouristInformationCenter TouristInformationCenter]
** <code>46b0</code> - [https://schema.org/SelfStorage SelfStorage]
**[https://schema.org/TravelAgency TravelAgency]
** <code>46b6</code> - [https://schema.org/ShoppingCenter ShoppingCenter]
*[https://schema.org/MedicalOrganization MedicalOrganization]
** <code>46c0</code> - [https://schema.org/SportsActivityLocation SportsActivityLocation]
**[https://schema.org/Dentist Dentist]
** <code>46c6</code> - [https://schema.org/Store Store]
**[https://schema.org/DiagnosticLab DiagnosticLab]
** <code>46d0</code> - [https://schema.org/TelevisionStation TelevisionStation]
**[https://schema.org/Hospital Hospital]
** <code>46d6</code> - [https://schema.org/TouristInformationCenter TouristInformationCenter]
**[https://schema.org/MedicalClinic MedicalClinic]
** <code>46e0</code> - [https://schema.org/TravelAgency TravelAgency]
**[https://schema.org/Pharmacy Pharmacy]
* <code>50</code> - [https://schema.org/MedicalOrganization MedicalOrganization]
**[https://schema.org/Physician Physician]
** <code>500</code> - [https://schema.org/Dentist Dentist]
**[https://schema.org/VeterinaryCare VeterinaryCare]
** <code>501</code> - [https://schema.org/DiagnosticLab DiagnosticLab]
*[https://schema.org/NGO NGO]
** <code>502</code> - [https://schema.org/Hospital Hospital]
*[https://schema.org/NewsMediaOrganization NewsMediaOrganization]
** <code>503</code> - [https://schema.org/MedicalClinic MedicalClinic]
*[https://schema.org/OnlineBusiness OnlineBusiness]
** <code>504</code> - [https://schema.org/Pharmacy Pharmacy]
**[https://schema.org/OnlineStore OnlineStore]
** <code>505</code> - [https://schema.org/Physician Physician]
*[https://schema.org/PerformingGroup PerformingGroup]
** <code>506</code> - [https://schema.org/VeterinaryCare VeterinaryCare]
**[https://schema.org/DanceGroup DanceGroup]
* <code>56</code> - [https://schema.org/NGO NGO]
**[https://schema.org/MusicGroup MusicGroup]
* <code>60</code> - [https://schema.org/NewsMediaOrganization NewsMediaOrganization]
**[https://schema.org/TheaterGroup TheaterGroup]
* <code>66</code> - [https://schema.org/OnlineBusiness OnlineBusiness]
* [https://schema.org/PoliticalParty PoliticalParty]
** <code>660</code> - [https://schema.org/OnlineStore OnlineStore]
*[https://schema.org/Project Project]
* <code>70</code> - [https://schema.org/PerformingGroup PerformingGroup]
**[https://schema.org/FundingAgency FundingAgency]
** <code>701</code> - [https://schema.org/DanceGroup DanceGroup]
**[https://schema.org/ResearchProject ResearchProject]
** <code>702</code> - [https://schema.org/MusicGroup MusicGroup]
*[https://schema.org/ResearchOrganization ResearchOrganization]
** <code>703</code> - [https://schema.org/TheaterGroup TheaterGroup]
*[https://schema.org/SearchRescueOrganization SearchRescueOrganization]
* <code>76</code> - [https://schema.org/PoliticalParty PoliticalParty]
*[https://schema.org/SportsOrganization SportsOrganization]
* <code>80</code> - [https://schema.org/Project Project]
**[https://schema.org/SportsTeam SportsTeam]
** <code>800</code> - [https://schema.org/FundingAgency FundingAgency]
*[https://schema.org/WorkersUnion WorkersUnion]
** <code>801</code> - [https://schema.org/ResearchProject ResearchProject]
*[https://schema.org/WorkersUnion WorkersUnion]
* <code>86</code> - [https://schema.org/ResearchOrganization ResearchOrganization]
* <code>90</code> - [https://schema.org/SearchRescueOrganization SearchRescueOrganization]
* <code>96</code> - [https://schema.org/SportsOrganization SportsOrganization]
** <code>960</code> - [https://schema.org/SportsTeam SportsTeam]
* <code>a0</code> - [https://schema.org/WorkersUnion WorkersUnion]
* <code>a6</code> - [https://schema.org/WorkersUnion WorkersUnion]
*... (outras classificações, ausentes no SchemaOrg, podem ser obtidas ou criadas na Wikidata)
*... (outras classificações, ausentes no SchemaOrg, podem ser obtidas ou criadas na Wikidata)
*Other (classe '''temporária''' para a gestão de cadastros incompletos)
* <code>f</code> - Other (classe '''temporária''' para a gestão de cadastros incompletos)


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".
Foram consumidos até aqui apenas 8 dos 25 bits reservados à classificação, totalizando 32+25=57 bits informativos no esquema [[hInt64]] de identificação das instâncias. Os dois dígitos bas16h permitem a rigor definir 510 classes, mas na prática são 256 classes com preservação de prefixo. Como a "classificação raiz", dos primeiros 2 dígitos, está sujeita a expansões ou subdivisões, saltamos de 2 em 2 ou 6 em 6 para manter reserva, apesar de não ser um limitante.


[[Categoria:Código natural]]
[[Categoria:Código natural]]
[[Categoria:Taxonomia]]
[[Categoria:Taxonomia]]
2 583

edições