Skip to content
This repository has been archived by the owner on Mar 23, 2023. It is now read-only.

Melhor definição do uso do rótulo de versão #9

Open
ppKrauss opened this issue Oct 25, 2017 · 1 comment
Open

Melhor definição do uso do rótulo de versão #9

ppKrauss opened this issue Oct 25, 2017 · 1 comment

Comments

@ppKrauss
Copy link
Contributor

As versões estão sendo rotuladas formalmente no git com os rótulos dos lançamentos (releases). A sugestão é de se adotar o padrão "Semantic Versioning" corrente, http://semver.org/

Ainda assim, por ser uma ontologia e não um software, alguns cuidados precisam ser tomados na interpretação do MAJOR.MINOR.PATCH:

  • PATCH: "correção de falhas" que aqui podem ser também entendidas como "manutenção" (por exemplo atualização com novos nomes de cidade fornecidos pela atualização dos padrões IBGE).

  • MINOR: "adicionar funcionalidades mantendo compatibilidade", o que aqui podemos interpretar como adição de atributos (por exemplo adição do Wikidata-ID no RDF), ou de arquivos RDF complementares que não comprometem a compatibilidade (ex. lista de todos "sinônimos e abreviações oficiais" num arquivo CSV).

  • MAJOR: quebra de compatibilidade com versões anteriores, ou grande modificação, afetando forma de uso, escopos, etc.

É um esboço: importante que seja claro e haja consenso em torno do que ficar definido. É interessante também fixar convenções quanto a versões de pré-lançamento (pre-release), ex. 1.0.0-alpha, o que mudaria ligeiramente a dinâmica dos lançamentos.

@ppKrauss
Copy link
Contributor Author

ppKrauss commented Nov 3, 2017

Problema do controle individual das versões: as grandes correções ocorrem em tempos diferentes, de modo que enquanto um vocabulário, digamos Localidade, é atualizado para v1.1.0 o outro, digamos TipoDocumento, permanece na anterior, digamos v1.0.2.

Assim a versão global tem significado diverso... Ou nos obrigaremos a atualizar todas as versões juntas, mesmo que sem dados disponíveis (por exemplo sem Wikidata).

Uma solução seria, usar além da tag global, como norteadora do master e da versão mais atual, usar também pastas contendo apenas os arquivos que foram alterados numa dada versão.
O versionamento global seria então relativo aos dados CSV e sua expressão correspondente no master do RDF corrente (recebe a tag).

Conclusão: manter pastas RDF-vMAJOR.MINOR.PATCH para arquivos finalizados, e apenas RDF para o master, ou seja, com a versão apresentada pela tag atual.

Os conversores (ex. vocLexMLRdf2csv.php) teriam que interpretar todo o diretório — com option de realizar tarefa com versão indicada.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant