3. ingredients
Uma linha por nome INCI canônico distinto — 46.973 ao todo. Cada coluna derivada do CosIng só é preenchida quando o nome canônico teve correspondência exata de nome no inventário CosIng da Comissão Europeia; caso contrário, é NULL.
| Campo | Tipo | Fonte | Descrição |
ingredient_id | INTEGER | — | Chave primária |
inci_name | STRING | canonicalização | O nome canônico em que cada token bruto do rótulo foi resolvido |
cosing_matched | INTEGER | CosIng | 1 quando o nome canônico corresponde ao inventário. Condiciona todas as colunas CosIng abaixo |
cosing_ref_no | STRING | CosIng | Número de referência CosIng |
cas_number | STRING | CosIng | Número de registro CAS — somente do CosIng, nunca inferido |
ec_number | STRING | CosIng | Número CE |
functions | STRING | CosIng | Categorias funcionais do CosIng, multivaloradas, separadas por ; |
chemical_description | STRING | CosIng | Texto da descrição química / IUPAC do CosIng |
cosing_restriction | STRING | CosIng | Referência da restrição, por exemplo, uma entrada do Anexo V |
cosing_update_date | STRING | CosIng | Sempre NULL neste snapshot — a exportação não traz data de atualização |
annex_ii … annex_vi | FLOAT | CosIng | Inclusão nos Anexos II (proibidas), III (restritas), IV (corantes), V (conservantes), VI (filtros UV) |
is_common_allergen | INTEGER | Anexo III da UE | Sinalização de alergênico de fragrância da UE — veja a nota de método abaixo |
allergen_source | STRING | Anexo III da UE | A lista de onde veio a sinalização |
comedogenic_rating | FLOAT | authored | Classificação 0–5 para os ingredientes abrangidos pelo artigo citado; NULL nos demais casos |
is_fungal_acne_trigger | FLOAT | rule | Sinalização derivada de regra — uma heurística, não uma propriedade medida |
rating_source | STRING | authored / rule | A citação ou o texto da regra, por linha, por trás das duas colunas acima |
Cobertura medida das colunas CosIng
| Coluna | Percentual dos 46.973 nomes distintos | Percentual das 318.758 ocorrências em rótulos |
| Correspondência CosIng (qualquer) | 11,0% | 82,5% |
functions | 10,9% | 81,5% |
cas_number | 8,3% | 76,4% |
chemical_description | 8,5% · 3.965 valores distintos | — |
A coluna da esquerda conta nomes distintos; a da direita conta ocorrências de ingredientes nos rótulos dos produtos. Elas diferem em uma ordem de grandeza porque um corpus de rótulos contém muito mais strings distintas — variantes botânicas, grafias multilíngues, tokens de marketing — do que qualquer inventário regulatório lista, enquanto as posições em um rótulo real são preenchidas, em sua esmagadora maioria, por ingredientes que o CosIng cobre. Nenhum dos dois números, isoladamente, descreve os dados. ec_number, cosing_restriction e as sinalizações dos Anexos são preenchidos apenas no subconjunto com correspondência no CosIng, com taxas próprias — consulte o build_report.json incluído no arquivo.
Método — sinalizações de alergênicos. Apenas uma lista: os alergênicos de fragrância do Anexo III do Regulamento de Cosméticos da UE (Regulamento (CE) 1223/2009, alterado pelo Regulamento (UE) 2023/1545), com correspondência pelo nome canônico exato. 99 nomes são sinalizados. A FDA dos EUA ainda não publicou sua lista de alergênicos de fragrância da MoCRA; por isso, este conjunto de dados não traz sinalização dos EUA.
Método — classificações comedogênicas. 145 ingredientes têm classificação na escala 0–5, transcrita da Tabela I (pp. 324–326) de Fulton JE Jr., Comedogenicity and irritancy of commonly used ingredients in skin care products, J Soc Cosmet Chem 1989;40:321–333. Quando o artigo traz uma faixa em vez de um grau único, a classificação fica NULL. A ausência de classificação significa "não coberto pela fonte citada", nunca "seguro".
Método — sinalização de acne fúngica. Uma heurística derivada de regras, não uma propriedade medida: não existe ensaio de Malassezia por ingrediente que possa ser transcrito. A regra sinaliza ácidos graxos C11–C24 e seus ésteres, e polissorbatos 20/40/60/80, aplicada somente a ingredientes com correspondência no CosIng, gerando 270 sinalizações. Base: Saunte et al., Front Cell Infect Microbiol 2020 (DOI 10.3389/fcimb.2020.00112), com a faixa de comprimento de cadeia de Liebregts et al., FEMS Yeast Res 2025 (DOI 10.1093/femsyr/foaf043). Óleos, manteigas e ceras específicos não são sinalizados — a literatura não sustenta conclusões por ingrediente sobre eles.
5. ingredient_name_map
55.426 linhas: a evidência da canonicalização, fornecida com os dados para que cada decisão tomada pelo pipeline possa ser auditada ou substituída.
| Campo | Tipo | Descrição | Exemplo |
raw_name | STRING | O token tal como aparecia em products.raw_ingredient_text | AQUA (WATER) |
canonical_name | STRING | O nome INCI canônico em que foi resolvido | AQUA |
method | STRING | Como foi resolvido — veja abaixo | paren_stripped |
confidence | FLOAT | Confiança associada ao método | 0.9 |
ingredient_id | INTEGER | FK → ingredients.ingredient_id | 162 |
| method | Significado |
exact | O token limpo já é um nome do inventário CosIng |
cleaned | Resolvido após decodificação de entidades, remoção de caracteres e colapso de espaços em branco |
typo_map | Resolvido por meio de uma pequena tabela explícita de erros de digitação, com citação |
percent_stripped | Um percentual declarado foi removido |
paren_stripped | Um trecho entre parênteses foi removido |
synonym_map | Resolvido por meio de uma tabela explícita de sinônimos |
slash_variant | Uma variante multilíngue unida por barra |
split | Um token aglutinado dividido em dois nomes, ambos com correspondência no inventário |
unresolved | Sem correspondência canônica — mantido literalmente e sinalizado, nunca adivinhado |
unresolved é o maior grupo por token distinto e um grupo pequeno por ocorrência nos rótulos — o mesmo efeito de cauda longa que produz as duas colunas de cobertura acima.