Mudanças entre as edições de "Dataverse:ExtermalVocabulary"

De BrapciWiki
Ir para navegação Ir para pesquisar
(Criou página com '= Dataverse Vocabulários Externos = == Usando serviços de vocabulário externos == O software Dataverse possui um mecanismo para associar campos específicos definidos em b...')
(Sem diferença)

Edição das 11h16min de 27 de março de 2024

Dataverse Vocabulários Externos

Usando serviços de vocabulário externos

O software Dataverse possui um mecanismo para associar campos específicos definidos em blocos de metadados a vocabulário(s) gerenciado(s) por serviços externos. O mecanismo depende de Javascripts confiáveis ​​de terceiros. O mapeamento do tipo de campo para vocabulário(s) externo(s) é gerenciado através da configuração :CVocConf .
Esta funcionalidade é considerada ‘experimental’. Pode exigir um esforço significativo para configurar e provavelmente evoluirá em versões subsequentes do software Dataverse.

  • O efeito de configurar este mecanismo é semelhante ao de definir um campo em um bloco de metadados com 'allowControlledVocabulary=true':
  • Os usuários podem selecionar em uma lista controlada de valores.
  • Os valores podem ser mostrados em qualquer idioma em que o termo tenha sido definido.

Em geral, o mecanismo de suporte de vocabulário externo pode ser uma escolha melhor para vocabulários grandes, vocabulários hierárquicos/estruturados e/ou vocabulários gerenciados por terceiros. Além disso, o mecanismo de vocabulário externo difere do mecanismo de vocabulário controlado internamente em vários aspectos que podem torná-lo uma opção preferida:

  • O formato URI legível por máquina de um vocabulário é armazenado no banco de dados do Dataverse e pode ser incluído em arquivos de metadados exportados.
  • Os mapeamentos de vocabulário podem ser alterados sem alterar o bloco de metadados, possibilitando que diferentes instalações do Dataverse utilizem vocabulários diferentes no mesmo campo.
  • Mapeamentos podem associar um campo a mais de um vocabulário.
  • Os mapeamentos podem ser configurados para permitir também entradas de texto personalizado/livre, bem como valores de vocabulário.
  • Mapeamentos podem ser configurados para campos compostos e a seleção de um determinado valor de vocabulário pelo usuário pode ser usada para preencher campos filhos relacionados (por exemplo, a seleção de uma palavra-chave também pode preencher um campo de nome de vocabulário).
  • A remoção de um mapeamento não afeta os valores armazenados (o campo voltaria a permitir texto livre).

As especificações da interface do usuário para inserir/selecionar um termo do vocabulário e como esse termo é exibido são gerenciadas por Javascripts de terceiros. Os Javascripts iniciais criados fornecem preenchimento automático, exibindo uma lista de opções que correspondem ao que o usuário digitou até o momento, mas outras interfaces, como a exibição de uma árvore de opções para um vocabulário hierárquico, são possíveis. Da mesma forma, os scripts existentes fazem coisas relativamente simples para exibir um termo - mostrando o nome do termo no idioma apropriado e fornecendo um link para uma URL externa com mais informações, mas exibições mais sofisticadas são possíveis.

Scripts que suportam o uso de vocabulários de serviços que suportam o protocolo:

A configuração envolve a especificação de quais campos devem ser mapeados, se entradas de texto livre são permitidas, quais vocabulário(s) devem ser usados, em quais idiomas esse(s) vocabulário(s) estão disponíveis e vários parâmetros específicos de protocolo de serviço e instância de serviço. Todos eles são definidos na configuração :CVocConf como uma matriz JSON.
Detalhes sobre os elementos necessários, bem como exemplos de matrizes JSON estão disponíveis em https://github.com/gdcc/dataverse-external-vocab-support , junto com um exemplo de bloco de metadados que pode ser usado para teste. Os scripts necessários podem ser hospedados localmente ou recuperados dinamicamente em https://gdcc.github.io/ (semelhante ao funcionamento dos visualizadores do dataverse).

Observe que, além do :CVocConf descrito acima, uma alternativa é a configuração :ControlledVocabularyCustomJavaScript .