Biblioteca

Data on the Web Best Practices

Dados sobre as Boas Práticas na Web

W3C Recommendation 31 January 2017

Dados sobre as Boas Práticas na Web

Recomendação do W3C de 31 de janeiro de 2017

This version:

Esta versão:

https://www.w3.org/TR/2017/REC-dwbp-20170131/

Latest published version:

Última versão publicada:

https://www.w3.org/TR/dwbp/

Latest editor’s draft:

Última versão do editor:

http://w3c.github.io/dwbp/bp.html

Implementation report:

Relatório de Implementação:

http://w3c.github.io/dwbp/dwbp-implementation-report.html

Previous version:

Versão Anterior:

https://www.w3.org/TR/2016/PR-dwbp-20161215/

Editors:

Editores:

Bernadette Farias Lóscio, CIn – UFPE, Brazil

Caroline Burle, NIC.br, Brazil

Newton Calegari, NIC.br, Brazil

Contributors:

Colaboradores:

Annette Greiner

Antoine Isaac

Carlos Iglesias

Carlos Laufer

Christophe Guéretg

Deirdre Lee

Doug Schepers

Eric G. Stephan

Eric Kauz

Ghislain A. Atemezing

Hadley Beeman

Ig Ibert Bittencourt

João Paulo Almeida

Makx Dekkers

Peter Winstanley

Phil Archer

Riccardo Albertoni

Sumit Purohit

Yasodara Córdova

Changes:

Modificações:

Change History

Histórico de Modificações

Diff to previous version

Diff para a versão anterior

Please check the errata for any errors or issues reported since publication.

Favor verificar a errata para quaisquer erros ou problemas reportados a partir da publicação.

The English version of this specification is the only normative version. Non-normative translations may also be available.

A versão em inglês desta especificação é a única versão normativa. Traduções não normativas também podem estar disponíveis.

Copyright © 2017 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and document use rules apply.

Copyright © 2017 W3C® (MIT, ERCIM, Keio, Beihang). São aplicáveis as  regras de responsabilidade, marca registrada e uso de documento do W3C.

Abstract

This document provides Best Practices related to the publication and usage of data on the Web designed to help support a self-sustaining ecosystem. Data should be discoverable and understandable by humans and machines. Where data is used in some way, whether by the originator of the data or by an external party, such usage should also be discoverable and the efforts of the data publisher recognized. In short, following these Best Practices will facilitate interaction between publishers and consumers.

Abstract

Este documento apresenta as Boas Práticas relacionadas à publicação e ao uso de dados na Web, designados para oferecer suporte a um ecossistema autossustentável. Dados devem ser encontráveis e compreensíveis por humanos e máquinas. Em qualquer circunstância em que os dados sejam utilizados de uma determinada maneira, seja pelo criador original dos dados ou por uma parte externa, tal utilização deve  também ser encontrável  e os esforços do editor dos dados devem ser reconhecidos. Ou seja, o respeito a estas Boas Práticas facilitará a interação entre editores e consumidores.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this  document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

Status deste Documento

Esta seção descreve o status deste documento no momento de sua publicação. Outros documentos podem substituí-lo. Uma listagem das publicações atualizadas do W3C, assim como a última revisão deste relatório técnico, podem ser encontradas no W3C technical reports index em https://www.w3.org/TR/.

The Data on the Web Best Practices Working Group was chartered to develop the open data ecosystem, facilitating better communication between developers and publishers; to provide guidance to publishers that will improve consistency in the way data is managed, thus promoting the reuse of data; to foster trust in the data among developers, whatever technology they choose to use, increasing the potential for genuine innovation. This best practice document is complemented by the Data Quality and Dataset Usage vocabularies.

O Grupo de Trabalho Dados sobre as Boas Práticas na Web foi criado para desenvolver o ecossistema de dados abertos de maneira a facilitar uma comunicação mais qualificada entre os desenvolvedores e os editores. Da mesma forma o Grupo de Trabalho também visa orientar os editores que irão aperfeiçoar a consistência do gerenciamento de dados e, portanto, promover a reutilização de dados, além de nutrir a confiança nos dados entre os desenvolvedores, seja qual for a tecnologia que estes escolham utilizar, potencializando inovações genuínas. Este documento de boas práticas é complementado pelos vocabulários Qualidade de Dados e Uso de Dados.

This document was published by the Data on the Web Best Practices Working Group as a Recommendation. If you wish to make comments regarding this document, please send them to public-dwbp-comments@w3.org (subscribe, archives). All comments are welcome.

Please see the Working Group’s implementation report.

Este documento foi publicado pelo Grupo de Trabalho Dados sobre as Boas Práticas na Web como uma Recomendação. Caso haja interesse em enviar comentários sobre este documento favor enviá-los para public-dwbp-comments@w3.org (assinatura, arquivos). Todos os comentários são bem-vindos. Favor consultar o relatório de implementação do Grupo de Trabalho.

This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. W3C’s role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web.

Este documento foi revisado pelos Membros do W3C, por desenvolvedores de software além de outros grupos e partes interessadas do W3C; e foi endossado pelo Diretor como uma Recomendação do W3C. É um documento estável e pode ser utilizado como material de referência e citado em outro documento. O papel do W3C ao emitir uma Recomendação é chamar atenção à especificação e promover sua ampla implantação. Isto aperfeiçoa a funcionalidade e a interoperabilidade da Web.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 1 September 2015 W3C Process Document.

Este documento foi produzido por um grupo operacional em conformidade com a Política de Patentes do W3C de 5 de fevereiro de 2004. O W3C mantém uma listagem pública de quaisquer divulgações de patentes realizadas em conexão com os trabalhos entregues pelo grupo, e tal página também contém as instruções para divulgação de patentes.. Um indivíduo que tenha conhecimento de uma patente que acredite conter Reivindicações Essenciais deverá divulgar as informações de acordo com a seção 6 da Política de Patentes do W3C.

Este documento é regido pelo Documento Processual de 1º  de setembro de 2015.

TABLE OF CONTENTS

ÍNDICE

  • 1. Introduction
    • Introdução

2. Audience

  • Público 
  • 3. Scope
    • Escopo
  • 4. Context
    • Contexto
  • 5. Namespaces
    • Espaços de Nome
  • 6. Best Practices Template
    • Modelo de Boas Práticas
  • 7. Best Practices Summary
    • Sumário de Boas Práticas
  • 8. The Best Practices
    • As Boas Práticas

8.1 Running Example

  • Exemplo de Execução

8.2 Metadata

  • Metadados

8.3 Data Licenses

  • Licenciamento de Dados

8.4 Data Provenance

  • Proveniência de Dados

8.5 Data Quality

  • Qualidade de Dados

8.6 Data Versioning

  • Versionamento de Dados

8.7 Data Identifiers

  • Identificadores de Dados

8.8 Data Formats

  • Formatos de Dados

8.9 Data Vocabularies

Vocabulários de Dados

8.10 Data Access

  • Acesso de Dados

8.10.1 Data Access APIs

APIs de Acesso de Dados

8.11 Data Preservation

  • Preservação de Dados

8.12 Feedback

Feedback

8.13 Data Enrichment

  • Enriquecimento de Dados

8.14 Republication

  • Republicação
  • 9. Glossary
    • Glossário
  • 10. Data on the Web Challenges
    • Dados sobre os Desafios da Web

11. Best Practices Benefits

  • Benefícios das Boas Práticas

12. Use Cases Requirements x Best Practices

  • Requisitos de Casos de Uso x Boas Práticas
  • A. Acknowledgements
    • Agradecimentos
  • B. Change history
    • Histórico de Modificações
  • C. References
    • Referências

C.1 Informative references

  • Referências Informativas

1. Introduction

This section is non-normative.

1.Introdução

Esta seção não é normativa.

The Best Practices described below have been developed to encourage and enable the continued expansion of the Web as a medium for the exchange of data. The growth in online sharing of open data by governments across the world [OKFN-INDEX] [ODB], the increasing online publication of research data encouraged by organizations like the Research Data Alliance [RDA], the harvesting, analysis and online publishing of social media data, crowd-sourcing of information, the increasing presence on the Web of important cultural heritage collections such as at the Bibliothèque nationale de France [BNF] and the sustained growth in the Linked Open Data Cloud [LODC], provide some examples of this growth in the use of Web for publishing data.

As Boas Práticas abaixo descritas foram desenvolvidas com o objetivo de encorajar e possibilitar a expansão da Web como um meio para a troca de dados. O crescimento do compartilhamento de dados abertos online por parte de governos de todo o mundo [OKFN-INDEX] [ODB], a crescente publicação online de dados de pesquisa encorajada por organizações tais como a Aliança por Dados de Pesquisa (RDA), a coleta, análise e publicação online de dados de mídias sociais, crowdsourcing de informações, a progressiva presença na Web de coleções de importante patrimônio cultural, tais como o acervo da Biblioteca Nacional da França (BNF) e o crescimento sustentado na Nuvem de Dados Abertos Conectados [LODC] são alguns dos exemplos desse crescimento no uso da Web para a publicação de dados.

However, this growth is not consistent in style and in many cases does not make use of the full potential of the Open Web Platform’s ability to link one fact to another, to discover related resources and to create interactive visualizations.

No entanto, em termos de estilo esse crescimento não é consistente e em muitos casos não faz pleno uso do potencial e da habilidade da Plataforma Aberta da Web para estabelecer conexões entre fatos, descobrir recursos relacionados e criar visualizações interativas. 

In broad terms, data publishers aim to share data either openly or with controlled access. Data consumers (who may also be producers themselves) want to be able to find, use and link to the data, especially if it is accurate, regularly updated and guaranteed to be available at all times. This creates a fundamental need for a common understanding between data publishers and data consumers. Without this agreement, data publishers’ efforts may be incompatible with data consumers’ desires.

Em termos gerais os editores de dados visam compartilhar dados, seja de forma aberta ou por meio de acesso controlado. Por sua vez, os consumidores de dados (que também podem eles mesmos ser produtores) querem ser capazes de encontrar, usar e conectar-se aos dados – especialmente se estes forem precisos, regularmente atualizados  e contem com disponibilidade garantida a qualquer momento. Isto produz uma necessidade crucial de alcançar um entendimento comum entre os editores e os consumidores de dados. Sem tal concordância, os esforços dos editores de dados podem tornar-se incompatíveis com os desejos dos consumidores de dados. 

The openness and flexibility of the Web create new challenges for data publishers and data consumers, such as how to represent, describe and make data available in a way that it will be easy to find and to understand. In contrast to conventional databases, for example, where there is a single data model to represent the data and a database management system (DBMS) to control data access, data on the Web allows for the existence of multiple ways to represent and to access data. For more details about the challenges see the section Data on the Web Challenges.

A abertura e flexibilidade da Web cria novos desafios tanto para os editores quanto para os consumidores de dados tais como:de que modo representar, descrever e disponibilizar dados de forma que seja fácil encontrar e compreendê-los. Diferentemente de bases de dados convencionais, por exemplo, onde há um único modelo de dados para representá-los e um sistema de gerenciamento de base de dados (DBMS) para controlar o acesso aos dados, os dados na Web levam em conta a existência de múltiplas formas para representar e acessar dados. Para maiores detalhes sobre os desafios veja a seção Dados sobre os Desafios da Web.

In this context, it becomes crucial to provide guidance to publishers that will improve consistency in the way data is managed. Such guidance will promote the reuse of data and foster trust in the data among developers, whatever technology they choose to use, increasing the potential for genuine innovation.

Neste contexto torna-se fundamental orientar os editores que irão aprimorar a consistência na forma como os dados são administrados. Tais orientações irão estimular a reutilização dos dados, além de promover entre os desenvolvedores a confiança em tais dados – seja qual for a tecnologia que estes escolham – incrementando o potencial para  inovações genuínas.

Not all data and metadata should be shared openly, however. Security, commercial sensitivity and, above all, individuals’ privacy need to be taken into account. It is for data publishers to determine policy on which data should be shared and under what circumstances. Data sharing policies are likely to assess the exposure risk and determine the appropriate security measures to be taken to protect sensitive data, such as secure authentication and authorization.

Depending on circumstances, sensitive information about individuals might include full name, home address, email address, national identification number, IP address, vehicle registration plate number, driver’s license number, face, fingerprints, or handwriting, credit card numbers, digital identity, date of birth, birthplace, genetic information, telephone number, login name, screen name, nickname, health records etc. Although it is likely to be safe to share some of that information openly, and even more within a controlled environment, publishers should bear in mind that combining data from multiple sources may allow inadvertent identification of individuals.

Entretanto, nem todos os dados devem ser compartilhados abertamente. A segurança, a sensibilidade comercial e, acima de tudo, a privacidade dos indivíduos devem ser levadas em consideração. Cabe aos editores de dados determinar as políticas por meio das quais os dados devem ser compartilhados – e sob que circunstâncias. É provável que as políticas de compartilhamento de dados avaliem o risco de exposição e determinem as medidas de segurança apropriadas a serem adotadas para a proteção de dados sensíveis, tais como a autenticação segura e a autorização. Dependendo das circunstâncias, as informações sensíveis sobre os indivíduos podem incluir nome completo, endereço residencial, endereço eletrônico, número de identificação nacional, endereço de IP, número de registro de veículo, número de carteira de motorista, rosto, impressões digitais ou de caligrafia, números de cartão de crédito, identidade digital, local de nascimento, informação genética, número de telefone, nomes de login, nome de tela, apelido, históricos de saúde, etc. Embora

 seja provável qu compartilhar algumas destas informações abertamente seja seguro, é mais seguro ainda fazê-lo em ambientes controlados. Os editores devem ter em mente que a combinação de dados provenientes de múltiplas fontes pode permitir a identificação inadvertida de indivíduos.

A general Best Practice for publishing Data on the Web is to use standards. Different types of organizations specify standards that are specific to the publishing of datasets related to particular domains & applications, involving communities of users interested in that data. These standards define a common way of communicating information among the users of these communities. For example, there are two standards that can be used to publish transport timetables: the General Transit Feed Specification [GTFS] and the Service Interface for Real Time Information [SIRI]. These specify, in a mixed way, standardized terms, standardized data formats and standardized data access. Another general Best Practice is to use Unicode for handling character and string data. Unicode improves multilingual text processing and makes software localization easier.

Uma Boa Prática genérica para a publicação de dados na Web é o uso de padrões. Diferentes tipos de organizações especificam padrões que são particularmente dirigidos à publicação de conjuntos de dados relacionados a domínios e aplicações específicos, envolvendo comunidades de usuários interessados nesses dados. Estes padrões definem uma forma comum de comunicar informação entre os usuários destas comunidades. Por exemplo, existem dois padrões que podem ser utilizados para publicar horários de transporte público: a Especificação Geral sobre Feeds de Transporte [GTFS] e a Interface de Serviços para Informações em Tempo Real [SIRI]. Tais padrões especificam de maneira inter-relacionada termos padronizados, formatos de dados padronizados e a acesso padronizado a dados. Outra Boa Prática genérica é a utilização do Unicode no trato dos caracteres e dos dados em string. O Unicode aprimora o processamento de texto multilíngue e facilita a localização de software.

Best Practices cover different aspects related to data publishing and consumption, like data formats, data access, data identifiers and metadata. In order to delimit the scope and elicit the required features for Data on the Web Best Practices, the DWBP working group compiled a set of use cases [DWBP-UCR] that represent scenarios of how data is commonly published on the Web and how it is used. The set of requirements derived from these use cases were used to guide the development of the Best Practices, which are domain & application independent. However, they can be extended or complemented by other Best Practices documents or standards that cover more specialized contexts. Considering vocabularies, for example, the W3C Best Practices for Publishing Linked Data [LD-BP] is a useful reference. 

As Boas Práticas abarcam diferentes aspectos relacionados à publicação e ao consumo de dados, como formatos de dados, acesso de dados, identificadores de dados e metadados.Com a intenção de delimitar o escopo e elicitar as características necessárias para a elaboração de Dados sobre as Boas Práticas na Web, o grupo de trabalho DBPW compilou uma série de casos de uso [DWBP-UCR] que representam cenários sobre como os dados são comumente publicados na Web e como são utilizados. Esta série de requisitos derivada dos casos de uso foi utilizada para orientar o desenvolvimento das Boas Práticas que independem do domínio e da aplicação. No entanto, elas podem ser estendidas ou complementadas por outros documentos ou padrões de Boas Práticas que tratem de contextos mais específicos. No que diz respeito aos vocabulários, por exemplo, as Boas Práticas para a Publicação de Dados Conectados [LD-BP] são uma referência útil. 

There are specific recommendations for expressing licenses and other permissions and obligations statements in ODRL [ODRL-model], a suite of standards related to provenance [PROV-Overview], and the best practices presented here have been extended to cover more specific advice around the discoverability, accessibility and interoperability of spatial and temporal data by the Spatial Data on the Web Best Practices [SDW-BP].

Existem recomendações específicas para expressar licenciamentos, outras permissões e declarações de obrigações em ODRL [ODRL- model], um conjunto de padrões relacionados a proveniência [PROV-Overview] e as Boas Práticas aqui apresentadas foram estendidas para abarcar orientações mais específicas acerca da encontrabilidade, acessibilidade e interoperabilidade de dados espaciais e temporais pelas Boas Práticas para Dados Espaciais na Web [SDW-BP].

Whilst DWBP recommends the use of Linked Data, it also promotes best practices for data on the Web in other open formats such as CSV. Methods for sharing tabular data, including CSV files, in a way that maximizes the potential of the Web to make links between data points, are described in the Tabular Data Primer [Tabular-Data-Primer].

Mesmo que o DBPW recomende o uso de Dados Conectados, este também promove boas práticas para dados na Web em outros formatos abertos tais como o CSV.  Métodos para o compartilhamento de dados tabulares, inclusive arquivos CSV, de modo a maximizar o potencial da Web para estabelecer links entre pontos de dados, são descritos no Primer de Dados Tabulares [Tabular-Data-Primer].

In order to encourage data publishers to adopt the DWBP, a number of distinct benefits were identified: comprehension; processability; discoverability; reuse; trust; linkability; access; and interoperability. They are described and related to the Best Practices in the section Best Practices Benefits.

OddPage

Com o objetivo de encorajar os editores de dados a adotarem o DBPW, uma série de Benefícios distintos foram identificados: entendimento, processabilidade, encontrabilidade, reutilização, confiança, conectividade, acesso; e interoperabilidade. Tais Benefícios foram descritos e relacionados às Boas Práticas na seção Benefícios das Boas Práticas.

2. Audience

This section is non-normative.

2. Público

Esta seção não é normativa

This document sets out Best Practices tailored primarily for those who publish data on the Web. The Best Practices are designed to meet the needs of information management staff, developers, and wider groups such as scientists interested in sharing and reusing research data on the Web. While data publishers are our primary audience, we encourage all those engaged in related activities to become familiar with it. Every attempt has been made to make the document as readable and usable as possible while still retaining the accuracy and clarity needed in a technical specification.

O presente documento estabelece as Boas Práticas primariamente dirigidas àqueles que publicam dados na Web. As Boas Práticas são elaboradas para vir ao encontro das necessidades dos times de gerenciamento de informações, desenvolvedores, além de grupos mais amplos, tais como cientistas que estejam interessados em compartilhar e reutilizar dados de pesquisa na Web. Mesmo que os editores de dados sejam o nosso público primário, encorajamos todos os envolvidos em atividades correlatas a familiarizar-se com o tema. Realizamos todos os esforços possíveis no sentido de tornar esse documento legível e utilizável – mantendo a precisão e a clareza que uma especificação técnica demanda. 

Readers of this document are expected to be familiar with some fundamental concepts of the architecture of the Web [WEBARCH], such as resources and URIs, as well as a number of data formats. The normative element of each Best Practice is the intended outcome. Possible implementations are suggested and, where appropriate, these recommend the use of a particular technology. A basic knowledge of vocabularies and data models would be helpful to better understand some aspects of this document.

Espera-se que os leitores deste documento estejam familiarizados com alguns conceitos fundamentais da arquitetura da Web [WEBARCH], tais como os recursos e os URIs, assim como com uma série de formatos de dados. O elemento normativo de cada Boa Prática é o resultado pretendido. Algumas implementações possíveis também são sugeridas e, quando apropriado, tais implementações recomendam a utilização de uma tecnologia específica. Um conhecimento básico de vocabulários e modelos de dados seria útil para entender melhor alguns aspectos deste documento.

3. Scope

This section is non-normative.

3.Escopo

Essa seção não é normativa.

This document is concerned solely with Best Practices that:

  • are specifically relevant to data published on the Web;
  • encourage publication or reuse of data on the Web;
  • can be tested by machines, humans or a combination of the two.

Este documento trata somente de Boas Práticas que:

  • sejam especificamente relevantes para os dados publicados na Web;
  • incentivem a publicação ou reutilização de dados na Web;
  • possam ser testadas por máquinas, humanos ou por uma combinação de ambos.

As noted above, whether a Best Practice has or has not been followed should be judged against the intended outcome, not the possible approach to implementation which is offered as guidance. A best practice is always subject to improvement as we learn and evolve the Web together.

Conforme mencionado acima, se uma Boa Prática foi ou não seguida, a mesma deve ser julgada sob a luz do resultado pretendido e não sob a perspectiva da possível abordagem à implantação – que é oferecida como orientação. Uma Boa Prática está sempre sujeita à melhoramentos, uma vez que juntos aprendemos e desenvolvemos a Web.

4. Context

This section is non-normative.

4.Contexto

Esta seção não é normativa

The following diagram illustrates the context considered in this document. In general, the Best Practices proposed for publication and usage of Data on the Web refer to datasets and distributions. Data is published in different distributions, which are specific physical form of a dataset. By data, “we mean known facts that can be recorded and that have implicit meaning” [Navathe]. These distributions facilitate the sharing of data on a large scale, which allows datasets to be used for several groups of data consumers , without regard to purpose, audience, interest, or license. Given this heterogeneity and the fact that data publishers and data consumers may be unknown to each other, it is necessary to provide some information about the datasets and distributions that may also contribute to trustworthiness and reuse, such as: structural metadata, descriptive metadata, access information, data quality information, provenance information, license information and usage information.

O diagrama a seguir ilustra o contexto levado em consideração neste documento. Em geral, as Boas Práticas propostas para a publicação e o uso de Dados na Web tratam de conjuntos de dados e distribuições. Os dados são publicados em diversas distribuições que são a forma física específica de um conjunto de dados. Quando nos referimos à dados “queremos dizer: fatos conhecidos que podem ser registrados e que possuem significado implícito” [Navathe]. Tais distribuições facilitam o compartilhamento de dados em larga escala, o que viabiliza que conjuntos de dados sejam utilizados por diversos grupos de consumidores de dados, independentemente do propósito, público, interesse ou licença. Considerando a heterogeneidade e o fato de que os editores e consumidores de dados possam não se conhecer, faz-se necessário o fornecimento de algumas informações sobre os conjuntos de dados e as distribuições, de forma a promover a confiabilidade e a reutilização; tais como: metadados estruturais, metadados descritivos, informações de acesso, informações de qualidade de dados, informações de proveniência, informações de licença e informações de uso.

An important aspect of publishing and sharing data on the Web concerns the architectural basis of the Web [WEBARCH]. A relevant aspect of this is the identification principle that says that URIs should be used to identify resources. In our context, a resource may be a whole dataset or a specific item of given dataset. All resources should be published with stable URIs, so that they can be referenced and make links, via URIs, between two or more resources. Finally, to promote the interoperability among datasets it is important to adopt data vocabularies and standards.

Um aspecto importante da publicação e compartilhamento de dados na Web diz respeito à base arquitetônica da Web (WEBARCH). Um aspecto relevante desse fato é o princípio de identificação que diz que os URIs devem ser utilizados para identificar recursos. No nosso contexto um recurso pode ser um conjunto de dados completo ou um item específico de um determinado conjunto de dados. Todos os recursos devem ser publicados com URIs estáveis, de forma a que possam ser referenciados e compor conexões, por meio de URIs, entre dois ou mais recursos. Por último, para promover a interoperabilidade entre os conjuntos de dados, é importante adotar vocabulários de dados e padrões.

5. Namespaces

This section is non-normative.

The following namespace prefixes are used throughout this document.

5.Espaços de Nome

Essa seção não é normativa.

Os seguintes prefixos de espaços de nomes são utilizados ao longo de todo este documento.

PrefixNamespace IRIDescription
dcathttp://www.w3.org/ns/dcat#Data Catalog Vocabulary (DCAT)
dcthttp://purl.org/dc/terms/Dublin Core Metadata Initiative (DCMI) Metadata Terms
dqvhttp://www.w3.org/ns/dqv#DWBP Data Quality Vocabulary (DQV)
duvhttp://www.w3.org/ns/duv#DWBP Dataset Usage Vocabulary (DUV)
foafhttp://xmlns.com/foaf/0.1/Friend of a Friend (FOAF) Vocabulary
oahttp://www.w3.org/ns/oa#Web Annotation Ontology
owlhttp://www.w3.org/2002/07/owl#Web Ontology Language (OWL)
pavhttp://pav-ontology.github.io/pav/Provenance, Authoring and Versioning (PAV)
provhttp://www.w3.org/ns/prov#Provenance Ontology (PROV)
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#Resource Description Framework (RDF)
rdfshttp://www.w3.org/2000/01/rdf-schema#RDF Schema vocabulary (RDFS)
skoshttp://www.w3.org/2004/02/skos/core#Simple Knowledge Organization System (SKOS)
PrefixoEspaço de Nome IRIDescrição
dcathttp://www.w3.org/ns/dcat#Data Catalog Vocabulary (DCAT)
dcthttp://purl.org/dc/terms/Dublin Core Metadata Initiative (DCMI) Metadata Terms
dqvhttp://www.w3.org/ns/dqv#DWBP Data Quality Vocabulary (DQV)
duvhttp://www.w3.org/ns/duv#DWBP Dataset Usage Vocabulary (DUV)
foafhttp://xmlns.com/foaf/0.1/Friend of a Friend (FOAF) Vocabulary
oahttp://www.w3.org/ns/oa#Web Annotation Ontology
owlhttp://www.w3.org/2002/07/owl#Web Ontology Language (OWL)
pavhttp://pav-ontology.github.io/pav/Provenance, Authoring and Versioning (PAV)
provhttp://www.w3.org/ns/prov#Provenance Ontology (PROV)
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#Resource Description Framework (RDF)
rdfshttp://www.w3.org/2000/01/rdf-schema#RDF Schema vocabulary (RDFS)
skoshttp://www.w3.org/2004/02/skos/core#Simple Knowledge Organization System (SKOS)

Namespaces used in the document

Espaços de Nome utilizados no documento

6. Best Practices Template

This section presents the template used to describe Data on the Web Best Practices.

This section exists simply to put the example at the same level in the doc outline as the actual BPs

6. Modelo de Boas Práticas

Esta seção apresenta o modelo utilizado para descrever Dados sobre Boas Práticas na Web.

A existência desta seção se justifica simplesmente por apresentar um exemplo no mesmo nível do esboço em doc tal qual as BPs uso efetivo.

Best Practice Template

Short description of the BP

Modelo de Boa Prática

Breve descrição da BP

Why

Por que

This section answers two crucial questions:

  • Why this is specifically relevant to publishing or reusing data on the Web?
  • How does this encourage publication or reuse of data on the Web?

Essa seção responde a duas perguntas cruciais:

  • Por que este tema é especificamente relevante para a publicação ou para a reutilização de dados na Web?
  • Como esta iniciativa encoraja a publicação ou a reutilização de dados na Web?

A full text description of the problem addressed by the Best Practice may also be provided. It can be any length but is likely to be no more than a few sentences.

Um texto com a descrição completa do problema abordado pela Boa Prática também pode ser fornecido. Tal texto pode ser de qualquer extensão, mas é provável que não tenha mais que algumas sentenças.

Intended Outcome

What it should be possible to do when a data publisher follows the Best Practice.

Resultado Pretendido

O que deveria ser possível alcançar quando um editor de dados segue as Boas Práticas.

Possible Approach to Implementation

A description of a possible implementation strategy is provided. This represents the best advice available at the time of writing but specific circumstances and future developments may mean that alternative implementation methods are more appropriate to achieve the intended outcome.

Sugestão de uma Possível Abordagem para a Implementação

Fornecemos uma descrição de uma possível estratégia de implementação. Esta representa a melhor recomendação disponível no momento em que este documento foi escrito, mas circunstâncias específicas e desenvolvimentos futuros poderão denotar que métodos alternativos de implementação sejam mais apropriados para se obter o resultado pretendido.

How to Test

Information on how to test the BP has been met. This might or might not be machine testable.

Como Testar

Informações sobre como testar a BP foram cumpridas. Estas podem ou não ser testáveis por máquinas.

Evidence

Information about the relevance of the BP. It is described by one or more relevant requirements as documented in the Data on the Web Best Practices Use Cases & Requirements document [DWBP-UCR]

Evidência

Informações sobre a relevância da BP. Esta se encontra descrita por um ou mais requisitos relevantes, tal qual registrado no documento Dados sobre Requisitos e Casos de Uso das Boas Práticas na Web [DWBP-UCR]. 

Benefits

A benefit represents an improvement in the way how datasets are available on the Web. A Best Practice can have one or more benefits.

This text list is replaced by the icons by scripting

Benefícios

Um benefício representa uma melhoria na forma pela qual os conjuntos de dados são disponibilizados na Web. Uma Boa Prática pode ter um ou mais Benefícios.

Esta lista de texto é substituída pelos ícones por scripting. 

7. Best Practices Summary

7. Sumário de Boas Práticas

  • Boa Prática 1: Fornecer metadados
  • Boa Prática 2: Fornecer metadados descritivos
  • Boa Prática 3: Fornecer metadados estruturais
  • Boa Prática 4: Fornecer informações de licenciamento de dados
  • Boa Prática 5: Fornecer informações sobre a proveniência dos dados
  • Boa Prática 6: Fornecer informações sobre a qualidade dos dados
  • Boa Prática 7: Fornecer um indicador de versão
  • Boa Prática 8: Fornecer histórico de versão
  • Boa Prática 9: Utilizar URIs constantes como identificadores de conjuntos de dados
  • Boa Prática 10: Utilizar URIs constantes como identificadores dentro dos conjuntos de dados 
  • Boa Prática 11: Designar URIs para versões e séries de conjuntos de dados 
  • Boa Prática 12: Utilizar formatos de dados padronizados e inteligíveis por máquinas
  • Boa Prática 13: Utilizar representações de dados de localidade neutra
  • Boa Prática 14: Fornecer dados em formatos múltiplos
  • Boa Prática 15: Reutilizar vocabulários preferencialmente padronizados
  • Boa Prática 16: Escolher o nível correto de formalização 
  • Boa Prática 17: Fornecer download em massa
  • Boa Prática 18: Fornecer subconjuntos para conjuntos de dados extensos
  • Boa Prática 19: Utilizar a negociação de conteúdo para disponibilizar dados em formatos múltiplos
  • Boa Prática 20: Fornecer acesso em tempo real
  • Boa Prática 21: Fornecer dados atualizados
  • Boa Prática 22: Fornecer uma justificativa para dados não disponíveis
  • Boa Prática 23: Disponibilizar dados por meio de uma API
  • Boa Prática 24: Utilizar padrões da Web como a base para as APIs
  • Boa Prática 25: Fornecer a documentação completa para sua API
  • Boa Prática 26: Evitar modificações que quebrem sua API
  • Boa Prática 27: Preservar os identificadores
  • Boa Prática 28: Avaliar a cobertura do conjunto de dados
  • Boa Prática 29: Coletar feedback de consumidores de dados
  • Boa Prática 30: Disponibilizar feedback
  • Boa Prática 31: Enriquecer dados por meio da geração de novos dados
  • Boa Prática 32: Fornecer apresentações complementares
  • Boa Prática 33: Fornecer feedback ao editor original
  • Boa Prática 34: Seguir os termos de licenciamento
  • Boa Prática 35: Citar a publicação original

8. The Best Practices

8. As Boas Práticas

This section contains the Best Practices to be used by data publishers in order to help them and data consumers to overcome the different challenges faced when publishing and consuming data on the Web. One or more Best Practices were proposed for each one of the challenges, which are described in the section Data on the Web Challenges.

Each BP is related to one or more requirements from the Data on the Web Best Practices Use Cases & Requirements document [DWBP-UCR] which guided their development. Each Best Practice has at least one of these requirements as evidence of its relevance.

Esta seção contém as Boas Práticas a serem utilizadas por editores de dados para auxiliar tanto estes quanto aos consumidores de dados a superarem os diferentes desafios enfrentados ao se publicar e consumir dados na Web. Para cada um dos desafios, uma ou mais Boas Práticas foram propostas conforme descritas na seção Dados sobre os Desafios da Web. Cada BP é relacionada a um ou mais requisitos provenientes do documento Dados sobre Requisitos e Casos de Uso das Boas Práticas na Web [DWBP-UCR], que serviu de guia para o seu desenvolvimento. Cada Boa Prática apresenta pelo menos um destes requisitos como prova de sua relevância. 

8.1 Running Example

8.1 Exemplo de Execução

Adrian works for the Transport Agency of MyCity and is in charge of publishing data about public transport. Adrian wants to publish this data for different types of data consumers such as developers interested on creating applications and also for software agents. It is important that both humans and software agents can easily understand and process the data which should be kept up to date and be easily discoverable on the Web.

RDF examples of the application of some Best Practices are shown using Turtle [Turtle] or JSON-LD [JSON-LD].

Adrian trabalha para a Agência de Transportes MyCity e é responsável pela publicação de dados sobre transporte público. Adrian quer publicar esses dados para diferentes tipos de consumidores de dados, tais como desenvolvedores interessados em criar aplicações e também para agentes de software. É importante que tanto humanos quanto agentes de software possam facilmente compreender e processar os dados, que por sua vez devem ser mantidos atualizados e facilmente encontráveis na Web.

Exemplos em RDF da aplicação de algumas Boas Práticas são demonstrados utilizando Turtle [Turtle] ou JSON-LD [JSON-LD].

8.2 Metadata

8.2 Metadados

The Web is an open information space, where the absence of a specific context, such a company’s internal information system, means that the provision of metadata is a fundamental requirement. Data will not be discoverable or reusable by anyone other than the publisher if insufficient metadata is provided. Metadata provides additional information that helps data consumers better understand the meaning of data, its structure, and to clarify other issues, such as rights and license terms, the organization that generated the data, data quality, data access methods and the update schedule of datasets. Publishers are encouraged to provide human-readable information in multiple languages, and, as much as possible, provide the information in the language(s) that the intended users will understand.

A Web é um espaço aberto  de informações, onde a ausência de um contexto específico, tal como o sistema de informações interno de uma empresa, significa que a provisão de metadados é um requisito fundamental. Os dados não serão encontráveis ou reutilizáveis por ninguém além do próprio editor, caso a provisão de metadados seja insuficiente. Os metadados proveem informações adicionais que auxiliam os consumidores de dados a compreender melhor o significado dos dados e sua estrutura, além de clarificar outros temas, tais como direitos e termos de licenciamento, a organização que gerou os dados, a qualidade dos dados, os métodos de acesso aos dados e o agendamento da atualização dos conjuntos de dados. Os editores são incentivados a fornecer informações que sejam inteligíveis por humanos em diversos idiomas e, na medida do possível, oferecer as informações por meio de uma linguagem (ou linguagens) que os usuários possam compreender. 

Metadata can be used to help tasks such as dataset discovery and reuse, and can be assigned considering different levels of granularity from a single property of a resource to a whole dataset, or all datasets from a specific organization. Metadata can also be of different types. These types can be classified in different taxonomies, with different grouping criteria. For example, a specific taxonomy could define three metadata types according to descriptive, structural and administrative features. A different taxonomy could define metadata types with a scheme according to tasks where metadata are used, for example, discovery and reuse.

Os metadados podem ser utilizados para auxiliar na realização de tarefas tais como a descoberta e reutilização de conjuntos de dados, e podem ser designados de forma a considerar diferentes níveis de granularidade; desde uma propriedade singular de um recurso até um conjunto de dados completo, ou até mesmo todos os conjuntos de dados de uma organização específica. Os metadados também podem ser de diversos tipos. Estes tipos podem ser classificados em taxonomias diferentes, seguindo diferentes critérios de agrupamento. Por exemplo, uma taxonomia específica poderia definir três tipos de metadados de acordo com características descritivas, estruturais e administrativas. Uma taxonomia diferente poderia, por sua vez, definir tipos de metadados com uma esquema de acordo com as tarefas nas quais os metadados são utilizados, como por exemplo, a descoberta e reutilização.   

Best Practice 1: Provide metadata

Provide metadata for both human users and computer applications.

Boa Prática 1: Fornecer metadados

Fornecer metadados tanto para usuários humanos quanto para aplicações de computadores.

Why

Providing metadata is a fundamental requirement when publishing data on the Web because data publishers and data consumers may be unknown to each other. Then, it is essential to provide information that helps human users and computer applications to understand the data as well as other important aspects that describes a dataset or a distribution.

Por que

Fornecer metadados é um requisito fundamental na publicação de dados na Web, porque os editores de dados e os consumidores de dados podem não se conhecer mutuamente. Portanto, é essencial fornecer informações que auxiliem usuários humanos e aplicações de computadores a compreenderem os dados, assim como outros aspectos importantes que descrevam o conjunto de dados ou a distribuição.

Intended Outcome

Humans will be able to understand the metadata and computer applications, notably user agents, will be able to process it.

Resultado Pretendido

Os humanos serão capazes de compreender os metadados e as aplicações de computadores, especialmente agentes de usuários, serão capazes de processá-los.

Possible Approach to Implementation

Possible approaches to provide human-readable metadata:

  • to provide metadata as part of an HTML Web page
  • to provide metadata as a separate text file

Possível Abordagem para a Implementação

Abordagens possíveis para fornecer metadados legíveis por humanos:

  • fornecer metadados como parte de uma página Web HTML
  • fornecer metadados como um arquivo de texto em separado

Possible approaches to provide machine-readable metadata:

  • machine-readable metadata may be provided in a serialization format such as Turtle and JSON, or it can be embedded in the HTML page using [HTML-RDFA] or [JSON-LD]. If multiple formats are published separately, they should be served from the same URL using content negotiation and made available under separate URIs, distinguished by filename extension. Maintenance of multiple formats is best achieved by generating each available format on the fly based on a single source of the metadata.

Possíveis abordagens para o fornecimento de metadados inteligíveis por máquina:

  • metadados inteligíveis por máquinas podem ser fornecidos em um formato seriado, tal como o Turtle ou o JSON, ou podem ser incorporados na página de HTML utilizando [HTML-RDFA] ou [JSON-LD]. Caso múltiplos formatos forem publicados separadamente, devem ser fornecidos a partir do mesmo URL por meio de negociação de conteúdo e disponibilizados sob URIs em separado, distintos pelo nome de extensão do arquivo. A manutenção de múltiplos formatos é mais facilmente alcançada por meio da geração de cada formato disponível on-the-fly, com base em uma única fonte de metadados.
  • when defining machine-readable metadata, reusing existing standard terms and popular vocabularies are strongly recommended. For example, Dublin Core Metadata (DCMI) terms [ DCTERMS] and Data Catalog Vocabulary [VOCAB-DCAT] can be used to provide descriptive metadata. Such vocabularies are designed to be very flexible so it is often helpful to use a specific profile of a vocabulary such as the European Commission’s DCAT-AP
  • ao definir os metadados inteligíveis por máquinas, recomenda-se fortemente reutilizar termos de padrões e vocabulários populares já existentes. Por exemplo, nos termos [DCTERMS] Dublin Core Metadata (DCMI) , e no Vocabulário de Catálogo de Dados [VOCAB-DCAT] podem ser utilizados para fornecer metadados descritivos. Tais vocabulários foram projetados para ser extremamente flexíveis, e portanto é frequentemente útil utilizar um perfil específico ou um vocabulário tal qual o (DCAT-AP) da Comissão Europeia.

EXAMPLE 1

EXEMPLO 1

Human-readable

Example page with a human-readable description of an available dataset.

Dados inteligíveis por humanos

Página de exemplo apresentando uma descrição inteligível por humanos de um conjunto de dados disponível.

Machine-readable

Example file with a machine-readable description of an available dataset.

Inteligível por máquina

Arquivo de exemplo apresentando uma descrição inteligível por máquina de um conjunto de dados disponível.

How to Test

Check if human-readable metadata is available.

Check if the metadata is available in a valid machine-readable format and without syntax error.

Como testar

Verifique se os metadados inteligíveis por humanos estão disponíveis.

Verifique se os metadados estão disponíveis em um formato válido inteligível por máquina e sem erros de sintaxe. 

Evidence

Relevant requirements: R-MetadataAvailable, R-MetadataDocum, R-MetadataMachineRead

Evidência

Requisitos relevantes: R-MetadataAvailable, R-MetadataDocum, R-MetadataMachineRead

Benefits

Benefícios

R- Reutilização

C – Compreensão

D – Encontrabilidade

P- Processabilidade

Best Practice 2: Provide descriptive metadata

Provide metadata that describes the overall features of datasets and distributions.

Boa Prática 2: Fornecer metadados descritivos

Fornecer metadados que descrevam as características gerais dos conjuntos de dados e das distribuições. 

Why

Explicitly providing dataset descriptive information allows user agents to automatically discover datasets available on the Web and it allows humans to understand the nature of the dataset and its distributions.

Por que

Fornecer explicitamente informações descritivas de conjuntos de dados possibilita que os agentes usuários descubram automaticamente conjuntos de dados disponíveis na Web; e isto viabiliza que humanos compreendam a natureza do conjunto de dados e suas distribuições.  

Intended Outcome

Humans will be able to interpret the nature of the dataset and its distributions, and software agents will be able to automatically discover datasets and distributions.

Resultado Pretendido

Os humanos serão capazes de interpretar a natureza do conjunto de dados e suas distribuições, e os agentes de software poderão automaticamente descobrir conjuntos de dados e distribuições.

Possible Approach to Implementation

Descriptive metadata can include the following overall features of a dataset:

Possível abordagem de Implementação

Os metadados descritivos podem incluir as seguintes características genéricas de um conjunto de dados:

  • The title and a description of the dataset.
  • The keywords describing the dataset.
  • The date of publication of the dataset.
  • The entity responsible (publisher) for making the dataset available.
  • The contact point for the dataset.
  • The spatial coverage of the dataset.
  • The temporal period that the dataset covers.
  • The date of last modification of the dataset.
  • The themes/categories covered by a dataset.
  • O título e a descrição do conjunto de dados.
  • As palavras-chave que descrevem o conjunto de dados.
  • A data de publicação do conjunto de dados.
  • A entidade responsável (editor) por disponibilizar o conjunto de dados.
  • O ponto de contato para o conjunto de dados.
  • A cobertura espacial do conjunto de dados.
  • O período temporal coberto pelo conjunto de dados.
  • A data da última modificação do conjunto de dados.
  • Os temas/categorias cobertos por um conjunto de dados.

Descriptive metadata can include the following overall features of a distribution:

  • The title and a description of the distribution.
  • The date of publication of the distribution.
  • The media type of the distribution.

Os metadados descritivos podem incluir as seguintes características genéricas de uma distribuição:

  • O título e a descrição da distribuição.
  • A data da publicação da distribuição.
  • O formato de mídia da distribuição.

The machine-readable version of the descriptive metadata can be provided using the vocabulary recommended by W3C to describe datasets, i.e. the Data Catalog Vocabulary [ VOCAB-DCAT]. This provides a framework in which datasets can be described as abstract entities.

A versão inteligível por máquina dos metadados descritivos pode ser disponibilizada utilizando o vocabulário recomendado pelo W3C para descrever conjuntos de dados; por exemplo, o Vocabulário de Catálogo de Dados (VOCAB-DCAT). Essa ação estabelece um marco no qual os conjuntos de dados podem ser descritos como entidades abstratas.

EXAMPLE 2

Machine-readable

EXEMPLO 2

Inteligível por máquina

The example below shows how to use [VOCAB-DCAT] to provide the machine-readable discovery metadata for the bus stops dataset (stops-2015-05-05). The dataset has one CSV distribution (stops-2015-05-05.csv) that is also described using the [VOCAB-DCAT]. The dataset is classified under the domain represented by the relative URI mobility. This domain may be defined as part of a set of domains identified by the URI themes. To describe both concepts and schema concepts, Adrian used SKOS . To express frequency of update an instance from the Content-Oriented Guidelines developed as part of the W3C Data Cube 

Vocabulary efforts was used. Adrian chose to describe the spatial and temporal coverage of the example dataset using URIs from Geonames and the Time Intervals dataset from data.gov.uk, respectively.

O exemplo abaixo demonstra como utilizar [VOCAB-DCAT] para fornecer metadados de descoberta inteligíveis por máquina para o conjunto de dados dos pontos de ônibus (stops-2015-05-05). O conjunto de dados possui uma distribuição CSV (stops-2015-05-05.csv) que também é descrita utilizando o (VOCAB-DCAT). O conjunto de dados é então classificado sob o domínio representado pela mobilidade URI relativa. Este domínio pode ser definido como parte de um conjunto de domínios identificado pelos temas URI. Para descrever tanto o conceito quanto o esquema de conceitos, Adrian utilizou SKOS. Para expressar a frequência de atualização foi usada uma instância do Content-Oriented Guidelines desenvolvida como parte dos esforços do Vocabulário do Cubo de Dados do W3C. Adrian escolheu descrever as coberturas espacial e temporal do conjunto de dados do exemplo utilizando URIs do Geonames e  o Time Intervals dataset do data.gov.uk, respectivamente.

  :stops-2015-05-05

      a dcat:Dataset ;

      dct:title “Bus stops of MyCity” ;

      dcat:keyword “transport”,”mobility”,”bus” ;

      dct:issued “2015-05-05″^^xsd:date ;

      dcat:contactPoint <http://data.mycity.example.com/transport/contact> ;

      dct:temporal <http://reference.data.gov.uk/id/year/2015> ;

      dct:spatial <http://sws.geonames.org/3399415> ;

      dct:language <http://id.loc.gov/vocabulary/iso639-1/en> ;

      dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-A> ;

      dcat:theme :mobility ;

      dcat:distribution :stops-2015-05-05.csv

.

  :mobility

      a skos:Concept ;

      skos:inScheme :themes ;

      skos:prefLabel “Mobility”@en ;

      skos:prefLabel “Mobilidade”@pt

      .

  :themes

      a skos:ConceptScheme ;

      skos:prefLabel “A set of domains to classify documents”

      .

  :stops-2015-05-05.csv

      a dcat:Distribution ;

      dct:title “CSV distribution of stops-2015-05-05 dataset” ;

      dct:description “CSV distribution of the bus stops dataset of MyCity” ;

      dcat:mediaType “text/csv;charset=UTF-8”

      .

Human-readable

Example page with human-readable description of dataset is available.

Inteligível por humanos

Página de exemplo disponibilizada com a descrição do conjunto de dados inteligível por humanos 

How to Test

Check if the metadata for the dataset itself includes the overall features of the dataset in a human-readable format.

Check if the descriptive metadata is available in a valid machine-readable format.

Como testar

Verifique se os metadados para o conjunto de dados em si inclui as características genéricas do conjunto de dados em formato inteligível por humanos.

Verifique se os metadados descritivos estão disponíveis em um formato válido inteligível por máquina.

Evidence

Relevant requirements: R-MetadataAvailable, R-MetadataMachineRead, R-MetadataStandardized

Evidência

Requisitos relevantes: R-MetadataAvailable, R-MetadataMachineRead, R-MetadataStandardized

Benefits

Benefícios

R – Reutilização

C – Compreensão

D – Encontrabilidade

Best Practice 3: Provide structural metadata

Provide metadata that describes the schema and internal structure of a distribution.

Boa Prática 3: Fornecer metadados estruturais

Fornecer metadados que descrevam o esquema e a estrutura interna de uma distribuição. 

Why

Providing information about the internal structure of a distribution is essential for others wishing to explore or query the dataset. It also helps people to understand the meaning of the data.

Por que

Fornecer informações sobre a estrutura interna de uma distribuição é fundamental para outros que desejem explorar ou consultar o conjunto de dados. Também auxilia as pessoas a compreender o significado dos dados.

Intended Outcome

Humans will be able to interpret the schema of a dataset and software agents will be able to automatically process distributions.

Resultado Pretendido

Os humanos serão capazes de interpretar o esquema de um conjunto de dados e os agentes de software serão capazes de processar as distribuições automaticamente.

Possible Approach to Implementation

Human-readable structural metadata usually provides the properties or columns of the dataset schema.

Machine-readable structural metadata is available according to the format of a specific distribution and it may be provided within separate documents or embedded into the document. For more details, see the links below.

Possível Abordagem de Implementação

Os metadados estruturais inteligíveis por humanos geralmente fornecem as propriedades ou as colunas do esquema do conjunto de dados.

Os metadados estruturais inteligíveis por máquina são disponibilizados de acordo com o formato de uma distribuição específica e podem ser fornecidos dentro de documentos em separado ou incorporados ao documento. Para maiores detalhes, acesse os links abaixo:

EXAMPLE 3

EXEMPLO 3

Machine-readable

Adrian used the Model for Tabular Data and Metadata on the Web for publishing the CSV distribution of the bus stops dataset (stops-2015-05-05.csv). The example below presents the structural metadata for this distribution.

Inteligível por máquina

Adrian utilizou o Modelo para Dados Tabulares e Metadados na Web para a publicação da distribuição CSV para o conjunto de dados de pontos de ônibus (stops-2015-05-05.cvs). O exemplo abaixo apresenta os metadados estruturais para essa distribuição. 

{

  “@context”: [“https://www.w3.org/ns/csvw”, {

    “@language”: “en”

  }],

  “url”: “http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05.csv”,

  “dct:title”: “CSV distribution of stops-2015-05-05 dataset”,

  “dcat:keyword”: [“bus”, “stop”, “mobility”],

  “dct:publisher”: {

    “schema:name”: “Transport Agency of MyCity”,

    “schema:url”: {

      “@id”: “http://example.org”

    }

  },

  “dct:license”: {

    “@id”: “http://opendefinition.org/licenses/cc-by/”

  },

  “dct:issued”: {

    “@value”: “2015-05-05”,

    “@type”: “xsd:date”

  },

  “tableSchema”: {

    “columns”: [{

      “name”: “stop_id”,

      “titles”: “Identifier”,

      “dct:description”: “An identifier for the bus stop.”,

      “datatype”: “string”,

      “required”: true

    }, {

      “name”: “stop_name”,

      “titles”: “Name”,

      “dct:description”: “The name of the bus stop.”,

      “datatype”: “string”

    }, {

      “name”: “stop_desc”,

      “titles”: “Description”,

      “dct:description”: “A description for the bus stop.”,

      “datatype”: “string”

    }, {

      “name”: “stop_lat”,

      “titles”: “Latitude”,

      “dct:description”: “The latitude of the bus stop.”,

      “datatype”: “number”

    }, {

      “name”: “stop_long”,

      “titles”: “Longitude”,

      “dct:description”: “The longitude of the bus stop.”,

      “datatype”: “number”

    }, {

      “name”: “zone_id”,

      “titles”: “ZONE”,

      “dct:description”: “An identifier for the zone where the bus stop is located.”,

      “datatype”: “string”

    }, {

      “name”: “stop_url”,

      “titles”: “URL”,

      “dct:description”: “URL that identifies the bus stop.”,

      “datatype”: “anyURI”

    }],

    “primaryKey”: “stop_id”

  }

}

Human-readable

Example page with human-readable structural metadata is available.

inteligível por humanos

Página de exemplo disponibilizada com a descrição do conjunto de dados inteligível por humanos 

How to Test

Check if the structural metadata is provided in a human-readable format.

Check if the metadata of the distribution includes structural information about the dataset in a machine-readable format and without syntax errors.

Como testar

Verifique se os metadados estruturais estão disponibilizados em um formato inteligível por humanos.

Verifique se os metadados da distribuição incluem as informações estruturais sobre o conjunto de dados em um formato inteligível por máquina e sem apresentar erros de sintaxe.

Evidence

Relevant requirements: R-MetadataAvailable

Evidências

Requisitos relevantes: R-MetadataAvailable

Benefits

Benefícios

R – Reutilização

C – Compreensão

P – Processabilidade

8.3 Data Licenses

8.3 Licenciamento de Dados

A license is a very useful piece of information to be attached to data on the Web. According to the type of license adopted by the publisher, there might be more or fewer restrictions on sharing and reusing data. In the context of data on the Web, the license of a dataset can be specified within the metadata, or outside of it, in a separate document to which it is linked. 

O licenciamento é uma peça de informação muito útil e deve ser anexada aos dados na Web. Dependendo do tipo de licenciamento adotado pelo editor, pode haver mais ou menos restrições no que diz respeito ao compartilhamento e à reutilização dos dados. No contexto dos dados na Web, o licenciamento de um conjunto de dados pode ser especificado dentro dos metadados, ou fora dos mesmos, em um documento em separado ao qual esteja conectado.

Best Practice 4: Provide data license information

Provide a link to or copy of the license agreement that controls use of the data.

Boa Prática 4: Fornecer informações de licenciamento de dados

Fornecer um link ou uma cópia do acordo de licenciamento que controla a utilização dos dados

Why

The presence of license information is essential for data consumers to assess the usability of data. User agents may use the presence/absence of license information as a trigger for inclusion or exclusion of data presented to a potential consumer.

Por que

A presença das informações de licenciamento é fundamental para que os consumidores de dados avaliem a usabilidade dos dados. Os agentes dos usuários podem utilizar a presença/ausência das informações de licenciamento como um gatilho para a inclusão ou exclusão dos dados apresentados a um consumidor em potencial. 

Intended Outcome

Humans will be able to understand data license information describing possible restrictions placed on the use of a given distribution, and software agents will be able to automatically detect the data license of a distribution.

Resultados pretendidos

Os humanos serão capazes de compreender as informações de licenciamento de dados que descrevem as possíveis restrições impostas ao uso de uma dada distribuição, e os agentes de software poderão detectar automaticamente os dados de licenciamento de uma distribuição.

Possible Approach to Implementation

Data license information can be available via a link to, or embedded copy of, a human-readable license agreement. It can also be made available for processing via a link to, or embedded copy of, a machine-readable license agreement.

Possível Abordagem para Implementação

As informações sobre os dados de licenciamento podem ser disponibilizadas por meio de um link enviado ou uma cópia embutida de um acordo de licenciamento inteligível por humanos.Também podem ser disponibilizadas para processamento por meio de um link enviado ou cópia embutida de um acordo de licenciamento inteligível por máquina..

One of the following vocabularies that include properties for linking to a license can be used:

  • Dublin Core [DCTERMS] (dct:license)
  • Creative Commons [CCREL] (cc:license)
  • schema.org [SCHEMA-ORG] (schema:license)
  • XHTML [XHTML-VOCAB] (xhtml:license)

There are also a number of machine-readable rights languages, including:

  • The Creative Commons Rights Expression Language [CCREL]
  • The Open Digital Rights Language [ODRL-model]
  • The Open Data Rights Statement Vocabulary [ODRS]

Pode-se utilizar um dos seguintes vocabulários que incluem  propriedades para a adicionar um link de uma licença:

  • Dublin Core [DCTERMS] (dct:license)
  • Creative Commons [CCREL] (cc:license)
  • schema.org [SCHEMA-ORG] (schema:license)
  • XHTML [XHTML-VOCAB] (xhtml:license)

Também há a uma série de linguagens de direitos inteligíveis por máquinas que incluem:

  • O Creative Commons Rights Expression Language [CCREL]
  • O Open Digital Rights Language [ODRL-model]
  • O Open Data Rights Statement Vocabulary [ODRS]

EXAMPLE 4

EXEMPLO 4

Machine-readable

The CSV distribution of the bus stops dataset (stops-2015-05-05.csv) will be published under the Creative Commons Attribution-ShareAlike 3.0 Unported license. The property dct:license is used to include this information as part of the distribution metadata. In this case, the license is not written in a machine-readable language, but the property dct:license allows a software agent to automatically detect the data license of the distribution.

Inteligível por máquina

A distribuição CSV de um conjunto de dados referentes aos pontos de ônibus (stops-2015-05-05.csv) será publicada sob o licenciamento Creative Commons Attribution-ShareAlike 3.0 Unported. O licenciamento proprietário dct.licence é utilizado para incluir esta informação como parte da distribuição dos metadados. Neste caso o licenciamento não é escrito em uma linguagem inteligível por máquinas, porém o licenciamento proprietário dct:licence permite que um agente de software detecte automaticamente o licenciamento de dados de uma dada distribuição.

  :stops-2015-05-05.csv

      a dcat:Distribution ;

      dct:title “CSV distribution of stops-2015-05-05 dataset” ;

      dct:description “CSV distribution of the bus stops dataset of MyCity” ;

      dcat:mediaType “text/csv;charset=UTF-8” ;

      dct:license <http://creativecommons.org/licenses/by-sa/3.0/>

      .

Human-readable

Example page with human-readable data license information of the distribution.

Inteligível por humanos

Página de exemplo com as informações de licenciamento de dados inteligível por humanos da distribuição.

How to Test

Check if the metadata for the dataset itself includes the data license information in a human-readable format.

Check if a user agent can automatically detect or discover the data license of the dataset.

Como testar

Verifique se os metadados para o conjunto de dados em si incluem as informações de licenciamento de dados em um formato inteligível por humanos.

Verifique se um agente usuário pode automaticamente detectar ou descobrir o licenciamento de dados do conjunto de dados. 

Evidence

Relevant use cases: R-LicenseAvailable, R-MetadataMachineRead, R-LicenseLiability

Evidência

Casos de uso relevantes:  R-LicenseAvailable, R-MetadataMachineRead, R-LicenseLiability

Benefits

Benefícios

R – Reutilização

C – Confiabilidade

8.4 Data Provenance

The Web brings together business, engineering, and scientific communities creating collaborative opportunities that were previously unimaginable. The challenge in publishing data on the Web is providing an appropriate level of detail about its origin. The data producer may not necessarily be the data publisher and so collecting and conveying this corresponding metadata is particularly important. Without provenance, consumers have no inherent way to trust the integrity and credibility of the data being shared. Data publishers in turn need to be aware of the needs of prospective consumer communities to know how much provenance detail is appropriate.

8.4 Proveniência de Dados

A Web congrega negócios, engenharia, comunidades científicas e cria oportunidades colaborativas anteriormente inimagináveis. O desafio da publicação de dados na Web é fornecer um nível apropriado de detalhamento sobre sua origem. O produtor de dados pode não ser necessariamente o editor de tais  dados e portanto é particularmente importante coletar e transmitir os metadados correspondentes. Sem a proveniência, os consumidores não possuem nenhum modo inerente de confiar na integridade e credibilidade dos dados que estão sendo compartilhados. Por sua vez, os editores de dados precisam estar cientes das necessidades das potenciais comunidades de consumidores para saber adequar a quantidade dos detalhes de proveniência.

Best Practice 5: Provide data provenance information

Provide complete information about the origins of the data and any changes you have made.

Boa Prática 5: Fornecer informações sobre a proveniência dos dados

Fornecer informações completas sobre as origens dos dados e de quaisquer alterações que você tenha feito.

Why

Provenance is one means by which consumers of a dataset judge its quality. Understanding its origin and history helps one determine whether to trust the data and provides important interpretive context.

Por que

A proveniência é uma das maneiras por meio das quais os consumidores de um conjunto de dados julgam sua qualidade. Entender sua origem e história auxilia a determinar se o dado é  confiável e fornece um contexto interpretativo importante.

Intended Outcome

Humans will know the origin and history of the dataset and software agents will be able to automatically process provenance information.

Resultado Pretendido

Os humanos saberão a origem e o histórico do conjunto de dados e os agentes de software poderão automaticamente processar a informação de proveniência. 

Possible Approach to Implementation

The machine-readable version of the data provenance can be provided using an ontology recommended to describe provenance information, such as W3C’s Provenance Ontology [PROV-O].

Possível Abordagem para Implementação

A versão inteligível por máquina da proveniência de dados pode ser disponibilizada por meio de uma ontologia recomendada para descrever informações de proveniência, tais como a Ontologia de Proveniência do W3C [PROV-O].

EXAMPLE 5

EXEMPLO 5

Machine-readable

The example below shows the machine-readable metadata for the bus stops dataset with the inclusion of the provenance metadata. The properties dct:creator, dct:publisher and dct:issued are used to give information about the origin of the dataset. The property prov:actedOnBehalfOf is used to designate that Adrian acted on behalf of the Transport Agency of MyCity.

Inteligível por máquina

O exemplo abaixo demonstra os metadados inteligíveis por máquina para o conjunto de dados das paradas de ônibus com a inclusão dos metadados de proveniência. As propriedades dct:creator, dct:publisher e dct:issued são utilizadas para fornecer informações sobre a origem do conjunto de dados. A propriedade prov:actedOnBehalfOf é utilizada para designar que Adrian agiu em nome do Departamento de Transportes MyCity.

  :stops-2015-05-05

      a dcat:Dataset, prov:Entity ;

      dct:title “Bus stops of MyCity” ;

      dcat:keyword “transport”, “mobility”, “bus” ;

      dct:issued “2015-05-05″^^xsd:date ; 

      dcat:contactPoint <http://data.mycity.example.com/transport/contact> ;

      dct:temporal <http://reference.data.gov.uk/id/year/2015> ;

      dct:spatial <http://sws.geonames.org/3399415> ;

      dct:publisher :transport-agency-mycity ; 

      dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-A> ;

      dct:language <http://id.loc.gov/vocabulary/iso639-1/en> ;

      dct:creator :adrian 

      .

  :adrian

      a foaf:Person, prov:Agent ;

      foaf:givenName “Adrian” ;

      foaf:mbox <mailto:adrian@mycitytransport.org> ;

      prov:actedOnBehalfOf :transport-agency-mycity 

      .

  :transport-agency-mycity

      a foaf:Organization, prov:Agent ;

      foaf:name “Transport Agency of Mycity”

      .

Human-readable

Example page with human-readable provenance information about the bus stops dataset is available.

Inteligível por humanos

Encontra-se disponível uma página de exemplo com informações de proveniência inteligíveis por humanos sobre o conjunto de dados das paradas de ônibus. 

How to Test

Check that the metadata for the dataset itself includes the provenance information about the dataset in a human-readable format.

Check if a computer application can automatically process the provenance information about the dataset.

Como testar

Verifique se os metadados para o conjunto de dados em si incluem informações de proveniência sobre o conjunto de dados em um formato inteligível por humanos. 

Verifique se a aplicação do computador pode processar automaticamente as informações sobre a proveniência do conjunto de dados.

Evidence

Relevant requirements: R-ProvAvailable, R-MetadataAvailable

Evidência

Requisitos relevantes: R-ProvAvailable, R-MetadataAvailable

Benefits

Benefícios

R – Reutilização

C – Compreensão

C – Confiabilidade 

8.5 Data Quality

The quality of a dataset can have a big impact on the quality of applications that use it. As a consequence, the inclusion of data quality information in data publishing and consumption pipelines is of primary importance. Usually, the assessment of quality involves different kinds of quality dimensions, each representing groups of characteristics that are relevant to publishers 

and consumers. The Data Quality Vocabulary defines concepts such as measures and metrics to assess the quality for each quality dimension [VOCAB-DQV]. There are heuristics designed to fit specific assessment situations that rely on quality indicators, namely, pieces of data content, pieces of data meta-information, and human ratings that give indications about the suitability of data for some intended use.

8.5 Qualidade de Dados

A qualidade de um conjunto de dados pode ter um grande impacto na qualidade das aplicações que o utilizam. Como consequência é de fundamental importância a inclusão de informações sobre a qualidade dos dados na publicação de dados e nos pipelines de consumo. Normalmente, a avaliação da qualidade envolve diferentes tipos de dimensões de qualidade, cada qual representando grupos de características que são relevantes para editores e consumidores. O Vocabulário de Qualidade de Dados define conceitos tais como as medidas e métricas para avaliação da qualidade de cada dimensão [VOCAB-DQV]. Existem heurísticas projetadas para adequarem-se a situações específicas de avaliação que dependem de indicadores de qualidade, mais especificamente, fragmentos de conteúdos de dados, fragmentos de dados de metainformação, e classificações realizadas por humanos que  forneçam indicadores sobre a aptidão dos dados para alguns dos usos pretendidos. 

Best Practice 6: Provide data quality information

Provide information about data quality and fitness for particular purposes.

Boa Prática 6: Fornecer informações sobre a qualidade dos dados

Fornecer informações sobre a qualidade dos dados e adequação para propósitos específicos.

Why

Data quality might seriously affect the suitability of data for specific applications, including applications very different from the purpose for which it was originally generated. Documenting data quality significantly eases the process of dataset selection, increasing the chances of reuse. Independently from domain-specific peculiarities, the quality of data should be documented and known quality issues should be explicitly stated in metadata.

Por que

A qualidade dos dados pode afetar seriamente a adequação dos dados para aplicações específicas, incluindo aplicações bem diferentes do propósito para o qual estas foram originalmente criadas. Documentar a qualidade dos dados facilita significativamente o processo de seleção de conjuntos de dados, aumentando as chances de reutilização dos dados. Independentemente das peculiaridades específicas do domínio, a qualidade dos dados deve ser documentada e os problemas de qualidade conhecidos devem ser explicitamente declarados nos metadados.

Intended Outcome

Humans and software agents will be able to assess the quality and therefore suitability of a dataset for their application.

Resultado Pretendido

Humanos e os agentes de software serão capazes de avaliar a qualidade e portanto a adequação de um conjunto de dados para suas aplicações.

Possible Approach to Implementation

The machine-readable version of the dataset quality metadata may be provided using the Data Quality Vocabulary developed by the DWBP working group [VOCAB-DQV].

Possível abordagem para Implementação

A versão inteligível por máquina dos metadados de qualidade do conjunto de dados pode ser fornecida utilizando o Vocabulário de Qualidade de Dados desenvolvido pelo grupo de trabalho DBPW  [VOCAB-DQV].

EXAMPLE 6

EXEMPLO 6

Machine-readable

The example below shows the metadata for the CSV distribution of the bus stops dataset with the inclusion of the data quality metadata. The metadata was defined according to the Data Quality Vocabulary. Further examples can be found in the Data Quality Vocabulary document [VOCAB-DQV].

Inteligível por máquina

O exemplo abaixo demonstra os metadados para a distribuição CSV do conjunto de dados de paradas de ônibus com a inclusão de metadados de qualidade de dados. Os metadados foram definidos de acordo com o Vocabulário de Qualidade de Dados. Mais exemplos podem ser encontrados no documento Vocabulário de Qualidade de Dados [VOCAB-DQV].

  :stops-2015-05-05.csv

      a dcat:Distribution ;

      dcat:downloadURL <http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05.csv> ;

      dct:title “CSV distribution of stops-2015-05-05 dataset” ;

      dct:description “CSV distribution of the bus stops dataset of MyCity” ;

      dcat:mediaType “text/csv;charset=UTF-8” ;

      dct:license <http://creativecommons.org/licenses/by-sa/3.0/> ;

      dqv:hasQualityMeasurement :measure1, :measure2  

      .

  :measure1

      a dqv:QualityMeasurement ;

      dqv:computedOn :stops-2015-05-05.csv ;

      dqv:isMeasurementOf :downloadURLAvailabilityMetric ;

      dqv:value “true”^^xsd:boolean 

      .

  :measure2

      a dqv:QualityMeasurement ;

      dqv:computedOn :stops-2015-05-05.csv ;

      dqv:isMeasurementOf :csvCompletenessMetric ;

      dqv:value “0.5”^^xsd:double 

      .

#definition of dimensions and metrics

  :availability

      a dqv:Dimension ;

      skos:prefLabel “Availability”@en ;

      skos:definition “Availability of a dataset is the extent to which data (or some portion of it) is present, obtainable and ready for use.”@en ;

      dqv:inCategory :accessibility 

      .

  :completeness

      a dqv:Dimension ;

      skos:prefLabel “Completeness”@en ;

      skos:definition “Completeness refers to the degree to which all required information is present in a particular dataset.”@en ;

      dqv:inCategory :intrinsicDimensions

      .

  :downloadURLAvailabilityMetric

      a dqv:Metric ;

      skos:definition “It checks if dcat:downloadURL is available and if its value is dereferenceable.”@en ;

      dqv:inDimension :availability

      .

  :csvCompletenessMetric

      a dqv:Metric ;

      skos:definition “Ratio between the number of objects represented in the cvs and the number of objects expected to be represented according to the declared dataset scope.”@en ;

      dqv:inDimension :completeness

      .

Human-readable

Example page with human-readable data quality information.

Inteligível por humanos

Página de exemplo com informação de qualidade de dados inteligível por humanos

How to Test

Check that the metadata for the dataset itself includes quality information about the dataset.

Check if a computer application can automatically process the quality information about the dataset.

Como testar

Verifique se os metadados para o conjunto de dados em si incluem informações sobre a qualidade desse determinado conjunto de dados.

Verifique se a aplicação do próprio computador pode processar automaticamente as informações sobre a qualidade do conjunto de dados.

Evidence

Relevant Requirements: R-QualityMetrics, R-DataMissingIncomplete, R-QualityOpinions

Evidência

Requisitos relevantes: R-QualityMetrics, R-DataMissingIncomplete, R-QualityOpinions

Benefits

Benefícios

R – Reutilização

C – Confiabilidade

8.6 Data Versioning

8.6 Versionamento de Dados

Datasets published on the Web may change over time. Some datasets are updated on a scheduled basis, and other datasets are changed as improvements in collecting the data make updates worthwhile. In order to deal with these changes, new versions of a dataset may be created. Unfortunately, there is no consensus about when changes to a dataset should cause it to be considered a different dataset altogether rather than a new version. In the following, we present some scenarios where most publishers would agree that the revision should be considered a new version of the existing dataset.

Os conjuntos de dados publicados na Web podem mudar ao longo do tempo. Alguns conjuntos de dados são atualizados regularmente e outros são alterados à medida que melhorias na coleta de dados fazem as atualizações valer a pena. Com o objetivo de lidar com essas mudanças, novas versões de um conjunto de dados podem ser criadas. Infelizmente não há consenso sobre em que momento as alterações a um conjunto de dados devem ser consideradas como um conjunto de dados completamente diferente e não somente uma nova versão. A seguir, apresentamos alguns cenários onde a maioria dos editores concordaria que a revisão deve ser considerada uma nova versão de um conjunto de dados já existente.

  • Scenario 1: a new bus stop is created and it should be added to the dataset;
  • Scenario 2: an existing bus stop is removed and it should be deleted from the dataset;
  • Scenario 3: an error was identified in one of the existing bus stops stored in the dataset and this error must be corrected.
  • Cenário 1: foi instalada uma nova parada de ônibus que deve ser adicionada ao conjunto de dados;
  • Cenário 2: uma parada de ônibus já existente foi removida e deve ser excluída do conjunto de dados;
  • Cenário 3: foi identificado um erro em uma das paradas de ônibus existentes armazenada no conjunto de dados e este erro deve ser corrigido.

In general, multiple datasets that represent time series or spatial series, e.g. the same kind of data for different regions or for different years, are not considered multiple versions of the same dataset. In this case, each dataset covers a different set of observations about the world and should be treated as a new dataset. This is also the case with a dataset that collects data about weekly weather forecasts for a given city, where every week a new dataset is created to store data about that specific week.

Em geral, múltiplos conjuntos de dados que representam séries temporais ou espaciais – por exemplo, o mesmo tipo de dados para diferentes regiões ou para anos diferentes – não são considerados múltiplas versões do mesmo conjunto de dados. Neste caso cada conjunto de dados cobre um conjunto diferente de observações sobre o mundo e deve ser tratado como um novo conjunto de dados. Este também é o caso de um conjunto de dados que coleta dados sobre as previsões meteorológicas semanais para uma determinada cidade, onde toda semana um novo conjunto de dados é criado para armazenar dados sobre aquela semana especificamente.

Scenarios 1 and 2 might trigger a major version, whereas Scenario 3 would likely trigger only a minor version. But how you decide whether versions are minor or major is less important than that you avoid making changes without incrementing the version indicator. Even for small changes, it is important to keep track of the different dataset versions to make the dataset trustworthy. Publishers should remember that a given dataset may be in use by one or more data consumers, and they should take reasonable steps to inform those consumers when a new version is released. For real-time data, an automated timestamp can serve as a version identifier. For each dataset, the publisher should take a consistent, informative approach to versioning, so data consumers can understand and work with the changing data.

Os Cenários 1 e 2 podem desencadear uma versão majoritária, enquanto que o Cenário 3 provavelmente desencadearia somente uma versão minoritária. No entanto, decidir se as versões devem ser majoritárias ou minoritárias é menos importante do que evitar realizar qualquer alteração sem incrementar o indicador de versão. Até mesmo para pequenas alterações é importante que se mantenha um registro das diferentes versões do conjuntos de dados de forma a tornar o conjunto de dados confiável. Os editores devem lembrar que um determinado conjunto de dados pode ser utilizado por um ou mais consumidores de dados e devem tomar medidas sensatas para informar os consumidores quando uma nova versão é lançada. Para dados em tempo real, uma marca temporal automatizada pode servir como identificador de versão. Para cada conjunto de dados o editor deve abordar o versionamento de forma consistente e informativa de modo que os consumidores de dados possam compreender e trabalhar com os dados alterados. 

Best Practice 7: Provide a version indicator

Assign and indicate a version number or date for each dataset.

Boa Prática 7: Fornecer um indicador de versão

Designar e indicar um número de versão ou data para cada conjunto de dados.

Why

Version information makes a revision of a dataset uniquely identifiable. Uniqueness can be used by data consumers to determine whether and how data has changed over time and to determine specifically which version of a dataset they are working with. Good data versioning enables consumers to understand if a newer version of a dataset is available. Explicit versioning allows for repeatability in research, enables comparisons, and prevents confusion. Using unique version numbers that follow a standardized approach can also set consumer expectations about how the versions differ.

Por que

As informações sobre a versão tornam a revisão de um conjunto de dados singularmente identificável. A singularidade pode ser utilizada pelos consumidores de dados para determinar especificamente com qual versão de um conjunto de dados estão trabalhando. O bom versionamento de dados possibilita aos consumidores entender se uma nova versão de um conjunto de dados está disponível. O versionamento explícito leva em conta a repetibilidade na pesquisa, permite comparações e evita confusão. A utilização de números de versão singulares que seguem uma abordagem padronizada pode também definir as expectativas do consumidor sobre como as versões diferem.

Intended Outcome

Humans and software agents will easily be able to determine which version of a dataset they are working with.

Resultado Pretendido

Os humanos e os agentes de software poderão facilmente determinar com qual versão do conjunto de dados estão trabalhando.

Possible Approach to Implementation

The best method for providing versioning information will vary according to the context; however, there are some basic guidelines that can be followed, for example:

Possível Abordagem para Implementação

O melhor método para o fornecimento de informações sobre o versionamento irá variar de acordo com o contexto; no entanto, existem algumas diretrizes básicas que podem ser seguidas, como por exemplo:

  • Include a unique version number or date as part of the metadata for the dataset.
  • Incluir um único número de versão ou data como parte dos metadados para o conjunto de dados.
  • Use a consistent numbering scheme with a meaningful approach to incrementing digits, such as [SchemaVer].
  • Utilizar uma esquematização numérica consistente com uma abordagem significativa para incrementar dígitos, tal como [SchemaVer]. 
  • If the data is made available through an API, the URI used to request the latest version of the data should not change as the versions change, but it should be possible to request a specific version through the API.
  • Caso os dados estejam sendo disponibilizados por meio de uma API, o URI utilizado para solicitar a versão mais recente dos dados não deve ser alterado à medida em que as versões se modifiquem. Porém deve ser possível requisitar uma versão específica por meio de uma API.
  • Use Memento [RFC7089], or components thereof, to express temporal versioning of a dataset and to access the version that was operational at a given datetime. The Memento protocol aligns closely with the approach for assigning URIs to versions that is used for W3C specifications, described below.
  • Utilizar Memento [RFC7089] ou seus componentes, para evidenciar o versionamento temporal de um conjunto de dados e para acessar a versão que estava operante em uma determinada data e hora. O protocolo Memento alinha-se intimamente com a abordagem para designação de URIs para versões que são utilizadas para as especificações W3C descritas abaixo.

The Web Ontology Language [OWL2-QUICK-REFERENCE] and the Provenance, Authoring and versioning Ontology [PAV] provide a number of annotation properties for version information.

A Ontologia de Linguagens Web  [OWL2-QUICK-REFERENCE]  e a Ontologia de Proveniência, Autoria e Versionamento [PAV] fornecem uma série de propriedades de anotações para a informação sobre versões.

EXAMPLE 7

EXEMPLO 7

Machine-readable

Inteligível por máquina

The example below shows the metadata for bus stops with the inclusion of the versioning metadata. The properties owl:versionInfo and pav:version are used to denote the version of the dataset.

O exemplo abaixo traz os metadados para as paradas de ônibus com a inclusão dos metadados de versionamento. As propriedades owl:versionInfo e pav:version são utilizadas para denotar a versão do conjunto de dados.

  :stops-2015-05-05

      a dcat:Dataset ;

      dct:title “Bus stops of MyCity” ;

      dcat:keyword “transport”,”mobility”,”bus” ;

      dct:issued “2015-05-05″^^xsd:date ;

      dcat:contactPoint <http://data.mycity.example.com/transport/contact> ;

      dct:temporal <http://reference.data.gov.uk/id/year/2015> ;

      dct:spatial <http://sws.geonames.org/3399415> ;

      dct:publisher :transport-agency-mycity ;

      dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-A> ;

      dct:language <http://id.loc.gov/vocabulary/iso639-1/en> ;

      dct:creator :adrian ;

      owl:versionInfo “1.0” ; 

      pav:version “1.0” 

      .

Using Memento

Utilizando Memento

Assume:

Considere:

  • http://data.mycity.example.com/transport/dataset/bus/stops is the “generic URI” at which the current version of a dataset is always available
  • http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-17 is the versioned URI for the current dataset
  • http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05 is the versioned URI of the prior version of the dataset
  • http://data.mycity.example.com/transport/dataset/bus/stops é a “URI genérica” na qual a atual versão do conjunto de dados sempre está disponível
  • http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-17 é o URI versionada para o presente banco de dados
  • http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05 é o URI versionada da versão anterior do conjunto de dados

In the Memento protocol, the versioned URIs provide HTTP response header information to express their version datetime and their relation to the generic URI:

curl -I http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-17

No protocolo Memento, os URIs versionados fornecem informações de cabeçalho de resposta HTTP para expressar sua versão de data e hora e sua relação com o URI genérico:

curl -I http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-17

HTTP/1.1 200 OK
Memento-Datetime: Thu, 17 Dec 2015 00:00:00 GMT
Link:<http://data.mycity.example.com/transport/dataset/bus/stops>;
rel=“original”

The generic URI provides a link to a TimeGate, which supports datetime negotiation as a means to determine which version of a dataset was operational at a given datetime. Since the generic URI is not versioned, no version datetime is provided in the headers.

O URI genérico fornece um link para um TimeGate que dá suporte a uma negociação de data e hora como uma forma de determinar qual versão de um determinado conjunto de dados estava operante em um determinado momento no tempo. Uma vez que o URI genérico não é versionado, nenhuma versão de data e hora é fornecida nos cabeçalhos.

curl -i -H http://data.mycity.example.com/transport/dataset/bus/stops

HTTP/1.1 200 OK
Link: <http://data.mycity.example.com/transport/dataset/bus/timegate/stops>;
rel=“timegate”

The versioned URIs can also provide a link to a TimeGate:

Os URIs versionados também podem fornecer um link para um TimeGate:

curl -I http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05

HTTP/1.1 200 OK
Memento-Datetime: Tue, 05 May 2015 00:00:00 GMT
Link: <http://data.mycity.example.com/transport/dataset/bus/stops>;
rel=“original”,
<http://data.mycity.example.com/transport/dataset/bus/timegate/stops>;
rel=“timegate”

This is how a client determines which dataset version was operational on June 20 2015:

É assim que um cliente determina qual versão do conjunto de dados estava operacional em 20 de junho de 2015:

curl -I -H “Accept-Datetime: Sat, 20 Jun 2015  12:00:00 GMT” http://data.mycity.example.com/transport/dataset/bus/timegate/stops

HTTP/1.1 302 Found
Vary: accept-datetime
Location: http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05
Link: <http://data.mycity.example.com/transport/dataset/bus/stops>
rel=”original”

Human-readable

Example page with human-readable data versioning information.

Inteligível por humanos

Página de exemplo com informações sobre o versionamento de dados inteligíveis por humanos.

How to Test

Check if the metadata for the dataset/distribution provides a unique version number or date in a human-readable format.

Check if a computer application can automatically detect/discover and process the unique version number or date of a dataset or distribution.

Como testar

Verifique se os metadados para o conjunto de dados/distribuição fornece um número de versão ou data específicos em um formato inteligível por humanos.

Verifique se a aplicação do computador pode detectar/descobrir automaticamente e processar o número de versão ou data específicos  de um conjunto de dados ou uma distribuição.

Evidence

Relevant requirements: R-DataVersion

Evidência

Requisitos relevantes: R-DataVersion

Benefits

Benefícios

R – Reutilização

C – Confiabilidade 

Best Practice 8: Provide version history

Provide a complete version history that explains the changes made in each version.

Boa Prática 8: Fornecer histórico de versão

Fornecer um histórico completo de versão que explique as alterações feitas em cada versão.

Why

In creating applications that use data, it can be helpful to understand the variability of that data over time. Interpreting the data is also enhanced by an understanding of its dynamics. Determining how the various versions of a dataset differ from each other is typically very laborious unless a summary of the differences is provided.

Por que

Ao criar aplicações que utilizam dados é útil compreender a variabilidade destes ao longo do tempo. A interpretação de dados também é potencializada pela compreensão de sua dinâmica. Determinar como diversas versões de um conjunto de dados diferem umas das outras é tipicamente muito trabalhoso a não ser que um sumário destas diferenças seja fornecido.

Intended Outcome

Humans and software agents will be able to understand how the dataset typically changes from version to version and how any two specific versions differ.

Resultado Pretendido

Os humanos e os agentes de software serão capazes de entender como o conjunto de dados se altera tipicamente de versão à versão, assim como poderão especificar como duas versões em particular diferem uma da outra. 

Possible Approach to Implementation

Provide a list of published versions and a description for each version that explains how it differs from the previous version. An API can expose a version history with a single dedicated URL that retrieves the latest version of the complete history.

Possível Abordagem para Implementação

Fornecer uma lista de versões publicadas e uma descrição para cada versão que explique como esta difere da anterior. Uma API pode demonstrar o histórico da versão como um único URL dedicado que recupere a última versão a partir do histórico completo.

EXAMPLE 8

EXEMPLO 8

Machine-readable

Suppose that a new bus stop was created and a new dataset (stops-2015-12-17) is published to keep the data up to date. The new dataset is a version of stops-2015-05-05. The machine-readable metadata of the new dataset is shown below with the corresponding versioning history information.

Inteligível por máquina

Suponha que uma nova parada de ônibus foi criada e que um novo conjunto de dados (stops-2015-12-17) seja publicado com o objetivo de manter os dados atualizados. O novo conjunto de dados é uma versão de stops-2015-05-05. Os metadados inteligíveis por máquina do novo conjunto de dados são demonstrados abaixo com as informações do seu histórico de versionamento correspondente.

  :stops-2015-12-17

      a dcat:Dataset ;

      dct:title “Bus stops of MyCity” ;

      dcat:keyword “transport”,”mobility”,”bus” ;

      dct:issued “2015-12-17″^^xsd:date ;

      dcat:contactPoint <http://data.mycity.example.com/transport/contact> ;

      dct:temporal <http://reference.data.gov.uk/id/year/2015> ;

      dct:spatial <http://sws.geonames.org/3399415> ;

      dct:publisher :transport-agency-mycity ;

      dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-A> ;

      dct:language <http://id.loc.gov/vocabulary/iso639-1/en> ;

      dct:creator :adrian ;

       …

      dct:isVersionOf :stops-2015-05-05 ;

      pav:previousVersion :stops-2015-05-05 ;

      rdfs:comment “The bus stops dataset was updated to reflect the creation of a new bus stop at 1115 Pearl Street.” ;

      owl:versionInfo “1.1” ;

      pav:version “1.1” 

      .

Using Memento:

Assume: 

Ao Utilizar Memento

Assuma:

  • http://data.mycity.example.com/transport/dataset/bus/stops is the “generic URI” at which the current version of a dataset is always available
  • http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-17 is the versioned URI for the current dataset
  • http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05 is the versioned URI of the prior version of the dataset
  • http://example.org/stops-2015-01-01 is the versioned URI of the first version of the dataset
  • http://data.mycity.example.com/transport/dataset/bus/stops é um “URI genérico” na qual a versão corrente do conjunto de dados está sempre disponível.
  • http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-17 é o URI versionado para o atual conjunto de dados
  • http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05 é o URI versionado para a versão anterior do conjunto de dados
  • http://example.org/stops-2015-01-01 é o URL versionado da primeira versão do conjunto de dados

The versioned URIs, the generic URI, and the TimeGate can provide a link to a TimeMap that provides an overview of all temporal versions of the dataset:

curl -I http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05

Os URIs versionados, o URI genérico e o TimeGate podem fornecer um link para o TimeMap que fornece um panorama de todas as versões temporais do conjunto de dados:

curl -I http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05

HTTP/1.1 200 OK

Memento-Datetime: Tue, 05 May 2015 00:00:00 GMT

Link: <http://data.mycity.example.com/transport/dataset/bus/stops>;

rel=“original”,

 <http://data.mycity.example.com/transport/dataset/bus/timemap/stops>;

rel=“timemap”;

 type=”application/link-format” 

This is how the TimeMap is retrieved:

O TimeMap é recuperado dessa forma:

curl -I http://data.mycity.example.com/transport/dataset/bus/timemap/stops

HTTP/1.1 200 OK

Memento-Data e Hora:terça, 05 maio 2015 00:00:00 GMT

Link: <http://data.mycity.example.com/transport/dataset/bus/stops>;

rel=“original”,

 <http://data.mycity.example.com/transport/dataset/bus/timemap/stops>;

rel=“timemap”;

 type=”application/link-format” 

This is how the TimeMap is retrieved:

curl -I http://data.mycity.example.com/transport/dataset/bus/timemap/stops

HTTP/1.1 200 OK

Content-Type: application/link-format

<http://data.mycity.example.com/transport/dataset/bus/stops>;rel=”original”,

<http://data.mycity.example.com/transport/dataset/bus/timegate/stops>;rel=”timegate”,

<http://data.mycity.example.com/transport/dataset/bus/timemap/stops>;rel=”timemap”;

 type=”application/link-format”,

<http://data.mycity.example.com/transport/dataset/bus/stops-2015-01-01>;

rel=“first memento”; datetime=”Thu, 01 Jan 2015 00:00:00 GMT”,

<http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05>;

rel=“memento”; datetime=“Tue, 05 May 2015 00:00:00 GMT”

<http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-07>;

rel=“last memento”; datetime=”Thu, 17 Dec 2015 00:00:00 GMT”

The versioned URI can provide information regarding relations with other dataset versions:

O URI versionado pode fornecer informações sobre as relações com outras versões do conjunto de dados:

curl -I http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05

HTTP/1.1 200 OK
Memento-Datetime: Tue, 05 May 2015 00:00:00 GMT
Link: <http://data.mycity.example.com/transport/dataset/bus/stops>;
rel=“original”,
<http://data.mycity.example.com/transport/dataset/bus/stops-2015-01-01>;
rel=“prev first memento”;
datetime=”Thu, 01 Jan 2015 00:00:00 GMT”,
<http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-17>;
rel=“next last memento”;
datetime=”Thu, 17 Dec 2015 00:00:00 GMT”

Human-readable

Example page with human-readable data versioning history information.

Inteligível por humanos

Página de Exemplo com informações do histórico de versionamento de dados inteligíveis por humanos. 

How to Test

Check that a list of published versions is available as well as a change log describing precisely how each version differs from the previous one.

Como testar

Verifique se uma lista das versões já publicadas está disponível assim como o changelog. Este último deve descrever exatamente em que cada uma das novas versões difere da versão anterior.

Evidence

Relevant requirements: R-DataVersion

Evidência

Requisitos relevantes: R-DataVersion

Benefits

Benefícios

R – Reutilização

C – Confiabilidade 

8.7 Data Identifiers

Identifiers take many forms and are used extensively in every information system. Data discovery, usage and citation on the Web depends fundamentally on the use of HTTP (or HTTPS) URIs: globally unique identifiers that can be looked up by dereferencing them over the Internet [RFC3986]. It is perhaps worth emphasizing some key points about URIs in the current context.

8.7 Identificadores de Dados

Os identificadores assumem diversas formas e são extensivamente utilizados em todos os sistemas de informação. A descoberta de dados, o uso e a citação na Web dependem fundamentalmente do uso de URIs HTTP (ou HTTPS): identificadores globalmente únicos que podem ser buscados ao serem desreferenciados por meio da Internet [RFC3986]. Talvez seja válido enfatizar alguns pontos-chave sobre os URIs no presente contexto:

  1. URIs are ‘dumb strings’, that is, they carry no semantics. Their function is purely to identify a resource.

URIs são “strings burros”, o que quer dizer que não carregam nenhuma semântica. Sua função é puramente identificar um recurso.

  1. Although the previous point is accurate, it would be perverse for o URI such as http://example.com/dataset.csv to return anything other than a CSV file. Human readability is helpful.

Embora seja verdadeiro o ponto anterior,  seria perverso para um URI tal qual http://example.com/dataset.csv retornar nada além de do que um arquivo CSV. É recomendável que seja inteligível por humanos.

  1. When de-referenced (looked up), a single URI may offer the same resource in more than one format. http://example.com/dataset may offer the same data in, say, CSV, JSON and XML. The server returns the most appropriate format based on content negotiation .

Ao ser desreferenciado (buscado), um único URI pode oferecer o mesmo recurso em mais de um formato. http://example.com/dataset pode oferecer os mesmos dados em, digamos, CSV, JSON e XML. O servidor retorna o formato mais apropriado com base na negociação de conteúdo.

  1. One URI may redirect to another.

Um URI pode redirecionar-se a outro.

  1. De-referencing o URI triggers a computer program to run on a server that may do something as simple as return a single, static file, or it may carry out complex processing. Precisely what processing is carried out, i.e. the software on the server, is completely independent of the URI itself.

Desreferenciar um URI aciona um programa de computador para ser executado em um servidor que pode fazer algo tão simples como retornar um arquivo único e estático, ou pode realizar processamentos complexos. Precisamente qual processamento é realizado – por exemplo, o software no servidor – é completamente independente do URI em si.

Best Practice 9: Use persistent URIs as identifiers of datasets

Identify each dataset by a carefully chosen, persistent URI.

Boa Prática 9: Utilizar URIs constantes como identificadores de conjuntos de dados

Identificar cada conjunto de dados por meio de um URI constante e cuidadosamente escolhido.

Why

Adopting a common identification system enables basic data identification and comparison processes by any stakeholder in a reliable way. They are an essential pre-condition for proper data management and reuse.

Developers may build URIs into their code and so it is important that those URIs persist and that they dereference to the same resource over time without the need for human intervention.

Por que

Adotar um sistema de identificação comum permite a básica identificação dos dados e comparação dos processos por qualquer um dos atores envolvidos de forma confiável. São pré-condições essenciais para o gerenciamento dod dados e a reutilização adequados. 

Os desenvolvedores podem construir URIs dentro de seus códigos e portanto é importante que tais URIs sejam constantes e que desreferenciem para o mesmo recurso ao longo do tempo, sem a necessidade de intervenção humana.

Intended Outcome

Datasets or information about datasets will be discoverable and citable through time, regardless of the status, availability or format of the data.

Resultado Pretendido

Os conjuntos de dados ou as informações sobre os conjuntos de dados serão encontráveis e citáveis ao longo do tempo, independentemente do status, da disponibilidade ou do formato dos dados.

Possible Approach to Implementation

To be persistent, URIs must be designed as such. A lot has been written on this topic, see, for example, the European Commission’s Study on Persistent URIs [PURI] which in turn links to many other resources.

Possível Abordagem para Implementação

Para serem persistentes os URIs devem ser designados como tal. Muito já foi escrito sobre esse tópico – acesse, por exemplo, o Estudo da Comissão Europeia sobre URIs Constantes [PURI], que por sua vez propõe conexões a muitos outros recursos. 

Where a data publisher is unable or unwilling to manage a URI space directly for persistence, an alternative approach is to use a redirection service such as Permanent Identifiers for the Web or purl.org. These provide persistent URIs that can be redirected as required so that the eventual location can be ephemeral. The software behind such services is freely available so that it can be installed and managed locally if required.

No caso de um editor de dados ser incapaz ou estiver relutante em gerenciar um espaço URI diretamente para constância, uma abordagem alternativa seria utilizar um serviço de redirecionamento tal qual Identificadores Constantes para a Web ou purl.org. Estes oferecem URIs constantes que podem ser redirecionados conforme necessário de forma que a localização eventual possa ser efêmera. O software por trás desses serviços se encontra disponível gratuitamente e portanto pode ser instalado e gerenciado localmente, caso necessário.

Digital Object Identifiers (DOIs) offer a similar alternative. These identifiers are defined independently of any Web technology but can be appended to a ‘URI stub.’ DOIs are an important part of the digital infrastructure for research data and libraries.

Identificadores de Objetos Digitais (DOIs) oferecem uma alternativa similar. Estes identificadores são definidos independentemente de qualquer tecnologia Web, mas podem ser anexados a um “URI stub”. Os DOIs são parte importante da infraestrutura digital para a pesquisa de dados e bibliotecas. 

EXAMPLE 9

The URI http://data.mycity.example.com/transport/dataset/bus/stops has several features that support persistence:

EXEMPLO 9

O URI http://data.mycity.example.com/transport/dataset/bus/stops possui diversas características que oferecem suporte à constância:

  • All names are subject to change over time but in choosing a domain name, it is reasonable for Adrian to assume that MyCity will continue to exist and that it will continue to have a government. Therefore, while cases like Yugoslavia prove that even country names change and top level domains disappear (like .yu), a domain name based on the city’s name is as persistent as any domain name can be.
  • Todos os nomes estão sujeitos a mudanças ao longo do tempo, no entanto ao escolher um nome de domínio é razoável que Adrian assuma que MyCity vá continuar a existir e que continuará a ter um governo. Portanto, enquanto casos como a Iugoslávia comprovam que até mesmo nomes de países mudam e que domínios de nível superior podem desaparecer (tal como .yu), um nome de domínio baseado no nome da própria cidade é tão persistente quanto qualquer nome de domínio pode ser. 
  • By putting data on the data.mycity.example.com subdomain, Adrian is creating a specific domain that can be managed independently of any particular department.
  • Ao inserir dados no subdomínio data.mycity.example.com, Adrian está criando um domínio específico que pode ser gerenciado independentemente de qualquer departamento em particular.
  • It is not safe to assume that a specific department will persist. The authorities in MyCity might very well decide that the Transport Agency should be merged with another to create the Transport and Environment Agency. It is right, therefore, not to include the name of the Transport Agency in the URI, but to include the task from which the data comes, in this case that of providing public transport.
  • Não é seguro assumir que um departamento específico vá persistir. As autoridades em MyCity podem muito bem decidir que o Departamento de Transportes deve fundir-se com outro departamento e criar, por exemplo, o Departamento de Transportes e Meio Ambiente. Está correto, portanto, não inserir o nome do Departamento de Transportes no URI, mas sim inserir a tarefa para a qual os dados são designados, neste caso o fornecimento de transporte público.
  • The /dataset path segment is an indication that the URI identifies a dataset, rather than, say, a specific bus route.
  • O segmento de caminho /dataset é um indicativo de que o URI identifica um conjunto de dados em vez de, digamos, uma rota de ônibus específica.
  • Likewise, the path segment of /bus take us further towards the specific dataset for which Adrian is responsible.
  • Da mesma forma o segmento de caminho /bus nos leva mais além em direção ao conjunto de dados específico pela qual Adrian é responsável.
  • Finally, /stops leads us to the dataset concerning bus stops in MyCity.
  • Finalmente, /stops nos conduz ao conjunto de dados que diz respeito às paradas de ônibus em MyCity.
  • In DCAT terms, this would be the identifier for the dataset. Specific distributions of the dataset are likely to be identified by adding the relevant file extension to the URI, such 
  • Em termos DCAT este seria o identificador para o conjunto de dados. Distribuições específicas do conjunto de dados serão provavelmente identificadas pela adição de extensões de arquivo relevantes ao URI, tais como

http://data.mycity.example.com/transport/dataset/bus/stops.csv, http://data.mycity.example.com/transport/dataset/bus/stops.json, http://data.mycity.example.com/transport/dataset/bus/stops.ttl etc.

How to Test

Check that each dataset is identified using a URI that has been designed for persistence. Ideally the relevant Web site includes a description of the design scheme and a credible pledge of persistence should the publisher no longer be able to maintain the URI space themselves.

Como testar

Verifique se cada conjunto de dados encontra-se identificado utilizando um URI que tenha sido designado para ser constante. Idealmente o site Web relevante inclui uma descrição de uma esquema de design e uma promessa crível de constância caso o editor já não puder manter o espaço URI por sí só. 

Evidence

Relevant requirements: R-UniqueIdentifier, R-Citable

Evidência

Requisitos relevantes: R-UniqueIdentifier, R-Citable

Benefits

Benefícios

C – Compreensão

C – Confiabilidade 

A – Acessibilidade

I – Interoperabilidade   

Best Practice 10: Use persistent URIs as identifiers within datasets

Reuse other people’s URIs as identifiers within datasets where possible.

Boa Prática 10: Utilizar URIs constantes como identificadores dentro dos conjuntos de dados

Quando possível reutilizar os URIs de terceiros como identificadores dentro dos conjuntos de dados.

Why

The power of the Web lies in the Network effect. The first telephone only became useful when the second telephone meant there was someone to call; the third telephone made both of them more useful yet. Data becomes more valuable if it refers to other people’s data about the same thing, the same place, the same concept, the same event, the same person, and so on.

Por que

O poder da Web reside no efeito de Rede. O primeiro telefone somente tornou-se útil quando um segundo telefone denotou que havia alguém para telefonar; o terceiro telefone tornou os dois primeiros ainda mais úteis. Os dados tornam-se mais valiosos caso refiram-se a dados de outras pessoas sobre o mesmo tema, o mesmo local, o mesmo conceito, o mesmo evento, a mesma pessoa, e assim por diante.

That means using the same identifiers across datasets and making sure that your identifiers can be referred to by other datasets. When those identifiers are HTTP URIs, they can be looked up and more data discovered.

Isto significa utilizar os mesmos identificadores por meio de diversos conjuntos de dados e garantir que os seus identificadores possam ser referidos por outros conjuntos de dados. Quando tais identificadores são URIs HTTP, estes podem ser consultados e mais dados descobertos.

These ideas are at the heart of the 5 Stars of Linked Data where one data point links to another, and of Hypermedia where links may be to further data or to services that can act on or relate to the data in some way.

That’s the Web of Data.

Estas ideias estão no centro de As Cinco Estrelas dos Dados Conectados, onde um ponto de dados conecta-se a outro, e no Hypermedia, onde links podem ser utilizados para levar dados adiante ou a serviços que possam agir sobre ou relacionar-se de alguma forma com os dados.

Intended Outcome

Data items will be related across the Web creating a global information space accessible to humans and machines alike.

Resultado Pretendido

Os itens de dados serão relacionados por meio da Web criando um espaço de informação global igualmente acessível a humanos e máquinas. 

Possible Approach to Implementation

This is a topic in itself and a general document such as this can only include superficial detail.

Developers know that very often the problem they are trying to solve will have already been solved by other people. In the same way, if you are looking for a set of identifiers for obvious things like countries, currencies, subjects, species, proteins, cities and regions, Nobel prize winners and products – someone’s done it already. The steps described for discovering existing vocabularies [LD-BP] can readily be adapted.

  • ensure URI sets you use are published by a trusted group or organization;
  • ensure URI sets have persistent URIs.

If you can not find an existing set of identifiers that meet your needs then you will need to create your own, following the patterns for URI persistence so that others will add value to your data by linking to it.

Possível Abordagem para Implementação

Este é um tópico em si mesmo e um documento genérico como este comporta somente um detalhamento superficial. Os desenvolvedores sabem que muito frequentemente o problema que estão tentando resolver já foi solucionado por outras pessoas. Da mesma forma caso você esteja buscando um conjunto de identificadores para coisas óbvias tais como países, moedas correntes, disciplinas, espécies, proteínas, cidades e regiões, ganhadores de Prêmios Nobel e produtos – alguém já percorreu o mesmo caminho. Os passos descritos em “descobrindo vocabulários já existentes” [LD-BP] podem ser prontamente adaptados.

  • certifique-se de que os conjuntos de URI que você utiliza tenham sido publicados por um grupo ou uma organização confiável;
  • certifique-se de que os conjunto de URIs são de URIs constantes.

Caso não seja possível encontrar um conjunto de identificadores já existente e que atenda às suas necessidades, será preciso criar o seu próprio conjunto seguindo os padrões para constância URI de forma a que outros possam adicionar valor aos seus dados ao estabelecerem conexões com eles.

EXAMPLE 10

The URI given as an example in the previous Best Practice (http://data.mycity.example.com/transport/dataset/bus/stops) identifies a dataset. Much of the URI can be reused to identify bus stops, routes and the type of bus used on a given service.

EXEMPLO 10

O URI utilizado como exemplo na Boa Prática anterior (http://data.mycity.example.com/transport/dataset/bus/stops) identifica um conjunto de dados. Uma parte significativa do URI pode ser reutilizada para identificar paradas de ônibus, rotas, além do tipo de ônibus utilizado em um determinado serviço. 

For example, a suitable persistent URI for the ‘Airport – Bullfrog’ route would be:

http://data.mycity.example.com/transport/route/bus/id/AB

This has the same initial structure as for the dataset but rather than /dataset it now includes the path segment /route so that humans can see that the type of thing identified is a bus route.

 Por exemplo, um URI constante e adequado para a rota “Aeroporto – Bullfrog” seria: http://data.mycity.example.com/transport/route/bus/id/AB

Este URI tem a mesma estrutura inicial do conjunto de dados, mas em vez de /dataset ele agora inclui o path segment /route  de forma que humanos possam ver que o que está sendo identificado é uma rota de ônibus. 

The /id segment indicates that the URI identifies something that is not an information resource, i.e. something you cannot retrieve over the Internet, and /AB is the local identifier for the actual bus route. This is consistent with advice from GS1’s SmartSearch Implementation Guideline [GS1] which says that where standard identifiers are used for a product, location etc., it is recommended that the URI includes the type of identifier being used. For example, if a GTIN is being used to identify a product then the URI should be of the form: 

O segmento /id indica que o URI identifica algo que não é um recurso de informação, por exemplo, algo que não se pode recuperar por meio da Internet, e /AB é o identificador local para a rota de ônibus real. Isto é consistente com a recomendação dada pela Diretriz de Implementação SmartSearch GS1, que declara que onde os identificadores padrão forem utilizados para um produto, uma localidade, etc., é recomendável que o URI inclua o tipo de identificador que está sendo utilizado. Por exemplo, caso um GTIN esteja sendo utilizado para identificar um produto, então o URI deve seguir o seguinte formato:

http://data.myproduct.example.com/gtin/05011476100885. Dereferencing URIs for non-information resources should result in an HTTP 303 redirect to a similar URL such as  http://data.mycity.example.com/transport/route/bus/doc/AB  that describes, i.e. gives information about, the AB bus route (note the substitution of /doc for /id). Jeni Tennison’s work on URLs in Data has more to say on this topic [URLs-in-data].

http://data.myproduct.example.com/gtin/05011476100885. Desreferenciar URIs para recursos não informativos deve resultar em um HTTP 303 redirecionado a um URL similar tal como http://data.mycity.example.com/transport/route/bus/doc/AB que descreva, ou seja, forneça informaçoes sobre, a rota de ônibus AB (observe a substituição de /doc por /id). O trabalho de Jeni Tennison sobre os URLs em Dados tem muito a acrescentar a este tópico (URLs-in-data).

In offering this advice, it is recognized that URIs can be long. In a dataset of even moderate size, storing each URI is likely to be repetitive and obviously wasteful. Instead, define locally unique identifiers for each element (such as AB in this example) and provide data that allows them to be converted to globally unique URIs programmatically. The Metadata Vocabulary for Tabular Data [Tabular-Metadata] provides mechanisms for doing this within tabular data such as CSV files, in particular using URI template properties such as the about URL property.

Ao sugerir esta recomendação, reconhecemos que URIs podem ser extensos. Em um conjunto de dados, mesmo os de tamanho moderado, armazenar cada URI será provavelmente repetitivo e obviamente um desperdício. Alternativamente, defina localmente identificadores únicos para cada elemento (tal qual AB neste exemplo) e forneça dados que os permita serem convertidos em URIs únicos globais programaticamente. O Vocabulário de Metadados para Dados Tabulares  [Tabular-Metadata] fornece mecanismos para fazê-lo dentro de dados tabulares tais como arquivos CSV, particularmente utilizando propriedades  de modelo de URI, tais como a propriedade sobre URL.

How to Test

Check that within the dataset, references to things that do not change or that change slowly, such as countries, regions, organizations and people, are referred to by URIs or by short identifiers that can be appended to a URI stub. Ideally the URIs should resolve, however, they have value as globally scoped variables whether they resolve or not.

Como testar

Verifique se dentro do conjunto de dados as referências a coisas que não se modificam ou que se modificam lentamente, como países, regiões, organizações e pessoas são referenciados por meio de URIs ou por identificadores curtos que possam ser anexados a um stub URI. Idealmente os URIs deveriam solucionar, no entanto eles possuem valor como variáveis de escopo global caso sejam capazes de resolver ou não.  

Evidence

Relevant requirements: R-UniqueIdentifier

Evidência

Requisitos relevantes: R-UniqueIdentifier

Benefits

Benefícios

C – Compreensão

C – Confiabilidade 

A – Acessibilidade

P – Processabilidade

Best Practice 11: Assign URIs to dataset versions and series

Assign URIs to individual versions of datasets as well as to the overall series.

Boa Prática 11: Designar URIs para versões e séries de conjuntos de dados 

Designar URIs a versões individuais de conjuntos de dados assim como a séries em geral

Why

Like documents, many datasets fall into natural series or groups. For example:

  • bus stops in MyCity (that change over time);
  • a list of elected officials in MyCity
  • evolving versions of a document through to completion.

In different circumstances, it will be appropriate to refer to the current situation (the current set of bus stops, the current elected officials etc.). In others, it may be appropriate to refer to the situation as it existed at a specific time.

Por que

Tal como em documentos, muitos conjuntos de dados são naturalmente categorizáveis em séries ou grupos. Por exemplo:

  • paradas de Ônibus em MyCity (que se modificam ao longo do tempo);
  • uma listagem dos representantes eleitos em MyCity;
  • versões de um documento em progresso até sua conclusão.

Em circunstâncias diferentes seria apropriado fazer uma referência à situação corrente (o conjunto de paradas de ônibus atuais, os representantes eleitos atuais, etc.) Em outras circunstâncias pode ser apropriado fazer referências à situação tal como ela se apresentava em um momento específico. 

Intended Outcome

Humans and software agents will be able to refer to specific versions of a dataset and to concepts such as a ‘dataset series’ and ‘the latest version’.

Resultado Pretendido

Humanos e agentes de software serão capazes de recorrer a versões específicas de um conjunto de dados e a conceitos tais como “séries de conjuntos de dados” e “a versão mais recente”. 

Possible Approach to Implementation

The W3C provides a good example of how to do this. The (persistent) URI for this document is https://www.w3.org/TR/2016/PR-dwbp-20161215/. That identifier points to an immutable snapshot of the document on the day of its publication. The URI for the ‘latest version’ of this document is https://www.w3.org/TR/dwbp/ which is an identifier for a series of closely related documents that are subject to change over time. At the time of publication, these two URIs both resolve to this document. However, when the next version of this document is published, the ‘latest version’ URI will be changed to point to that, but the dated URI remains unchanged.

Possível Abordagem para Implementação

O W3C fornece um bom exemplo sobre como fazê-lo. O URI (constante) para este documento é https://www.w3.org/TR/2016/PR-dwbp-20161215/. Este identificador aponta para um snapshot deste documento no dia de sua publicação. O URI para a “versão mais recente” deste documento é https://www.w3.org/TR/dwbp/, o qual é um identificador para documentos estreitamente relacionados, que estão sujeitos a alterações ao longo do tempo. No momento da publicação ambos os URIs  solucionam para este documento. No entanto, quando a próxima versão deste documento for publicada, o URI da “versão mais recente” será alterada e redirecionada a esta; porém, o URI datado permanecerá inalterado.

EXAMPLE 11

Suppose that a new bus stop is created. To keep stops-2015-05-05 up to date, a new version of the dataset (stops-2015-12-17) is created. stops-2015-12-17 includes all the data from stops-2015-05-05 plus the data about the new bus stop. The two versions can be identified by the following URIs:

http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05 is the versioned URI of the first version of the dataset

http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-17 is the version URI of the updated version of the dataset

http://data.mycity.example.com/transport/dataset/bus/stops always resolves to the latest version so it resolved to stops-2015-05-05 until 17 December 2015 when the server configuration was updated to point that URL to stops-2015-12-17.

Exemplo 11

Suponha que uma nova parada de ônibus tenha sido criada. Para manter stops-2015-05-05 atualizado, uma nova versão do conjunto de dados (stops-2015-12-17) é criada. stops-2015-12-17 inclui todos os dados das paradas de ônibus stops-2015-05-05 além dos dados sobre a nova parada de ônibus. Ambas as versões podem ser identificadas pelos seguintes URIs:

http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05 é o URI versionado da primeira versão do conjunto de dados

http://data.mycity.example.com/transport/dataset/bus/stops-2015-12-17 é a versão do URI da versão atualizada do conjunto de dados

http://data.mycity.example.com/transport/dataset/bus/stops sempre redireciona para a última versão e portanto redirecionou para stops-2015-05-05 até 17 de dezembro de 2015, quando a configuração do servidor foi atualizada de forma a direcionar aquela URL para stops-2015-12-17.

How to Test

Check that each version of a dataset has its own URI, and that there is also a “latest version” URI.

Como testar

Verifique se cada versão do conjunto de dados possui seu próprio URI e também se a “versão mais recente” do URI está disponível.

Evidence

Relevant requirements: R-UniqueIdentifier, R-Citable

Evidência

Requisitos relevantes:  R-UniqueIdentifier, R-Citable

Benefits

Benefícios

R – Reutilização

E – Encontrabilidade

C – Confiabilidade 

8.8 Data Formats

The format in which data is made available to consumers is a key aspect of making that data usable. The best, most flexible access mechanism in the world is pointless unless it serves data in formats that enable use and reuse. Below we detail Best Practices in selecting formats for your data, both at the level of files and that of individual fields. W3C encourages the use of formats that can be used by the widest possible audience and processed most readily by computing systems. Source formats, such as database dumps or spreadsheets, used to generate the final published format, are out of scope. This document is concerned with what is actually published rather than internal systems used to generate the published data.

8.8 Formatos de Dados

O formato no qual os dados são disponibilizados aos consumidores é um aspecto-chave para a usabilidade dos dados. O melhor e  mais flexível mecanismo do mundo é inútil a não ser que ofereça os dados em formatos que permitam o uso e a reutilização. Abaixo iremos detalhar as Boas Práticas ao selecionar formatos para os seus dados, tanto em nível de arquivos quanto de campos individuais. O W3C encoraja o uso de formatos que possam ser utilizados por um público o mais amplo possível e processados mais facilmente por sistemas de computação. Os formatos de fontes, tais como os depósitos de descarte de bases de dados ou de planilhas, utilizados para gerar o formato final a ser publicado, estão fora do escopo. Este documento trata do que de fato foi publicado e não de sistemas internos utilizados para gerar os dados publicados.  

Best Practice 12: Use machine-readable standardized data formats

Make data available in a machine-readable, standardized data format that is well suited to its intended or potential use.

Boa Prática 12: Utilizar formatos de dados padronizados inteligíveis por máquinas

Disponibilize os dados em um formato padronizado e inteligível por máquinas que seja bem apropriado para seu propósito ou uso em potencial.

Why

As data becomes more ubiquitous, and datasets become larger and more complex, processing by computers becomes ever more crucial. Posting data in a format that is not machine-readable places severe limitations on the continuing usefulness of the data. Data becomes useful when it has been processed and transformed into information. Note that there is an important distinction between formats that can be read and edited by humans using a computer and formats that are machine-readable. The latter term implies that the data is readily extracted, transformed and processed by a computer.

Using non-standard data formats is costly and inefficient, and the data may lose meaning as it is transformed. By contrast, standardized data formats enable interoperability as well as future uses, such as remixing or visualization, many of which cannot be anticipated when the data is first published. It is also important to note that most machine-readable standardized formats are also locale-neutral.

Por que

À medida que os dados passam a ser mais ubíquos e os conjuntos de dados maiores e mais complexos, o processamento por computadores torna-se a cada dia mais relevante. Postar dados em um formato que não seja inteligível por máquinas impõe severas limitações para o seguimento da utilidade dos dados. Os dados tornam-se úteis ao serem processados e transformados em informação. Observe que há uma importante distinção entre formatos que podem ser lidos e editados por humanos utilizando um computador e formatos que são inteligíveis por máquinas. O último termo implica que os dados sejam prontamente extraídos, transformados e processados por um computador.

Utilizar formatos de dados não padronizados é caro e ineficiente, e os dados podem perder significado enquanto são transformados. Em contraste, formatos de dados padronizados viabilizam tanto a interoperatividade quanto usos futuros, tais como a remixagem ou a visualização, muitos dos quais não podem ser antecipados quando os dados são publicados pela primeira vez.Também é importante observar que a maior parte dos formatos padronizados inteligíveis por máquinas também são neutros no que se refere à localidade.

Intended Outcome

Machines will easily be able to read and process data published on the Web and humans will be able to use computational tools typically available in the relevant domain to work with the data.

Resultado Pretendido

As máquinas serão capazes de ler e processar facilmente os dados publicados na Web e os humanos poderão utilizar ferramentas computacionais normalmente disponíveis no domínio relevante para trabalhar com dados.  

Possible Approach to Implementation

Make data available in a machine-readable standardized data format that is easily parseable including but not limited to CSV, XML, HDF5, JSON and RDF serialization syntaxes like RDF/XML, JSON-LD, or Turtle.

Possível Abordagem para Implementação

Torne os dados disponíveis em um formato de dados padronizado e inteligível por máquinas que seja facilmente analisável e inclua, mas não se limite, à serialização de sintaxes CSV, XML, HDF5, JSON e RDF como RDF/XML, JSON-LD ou Turtle.

EXAMPLE 12

Adrian knows that tabular data is commonly used on the Web and he decides to use CSV as the data format for one of the distributions of the bus stops dataset. To facilitate data processing, he uses the Model for Tabular Data and Metadata on the Web for publishing the CSV distribution (stops-2015-05-05.csv). The example below presents a fragment of the CSV distribution which complies with the structural metadata defined in Example 4.

Identifier,Name,Description,Latitude,Longitude,ZONE,URL 

345,Castle Avenue,Sunset Drive,-3.731862,-38.526670,x20,http://data.mycity.example.com/transport/road/bus/stop/id/345

483,Main Street,Lily Park,-3.731541,-38.535157,x20,http://data.mycity.example.com/transport/road/bus/stop/id/483

EXEMPLO 12

Adrian sabe que dados tabulares são comumente utilizados na Web e decide utilizar CSV como o formato de dados para uma das distribuições do conjunto de dados dos pontos de ônibus. Para facilitar o processamento de dados, ele utiliza o Modelo para Dados Tabulares e Metadados na Web para a publicação da distribuição CSV (stops-2015-05-05.csv). O exemplo abaixo apresenta um fragmento da distribuição CSV que está de acordo com os metadados estruturais definidos no Exemplo 4.

Identificador, Nome, Descrição, Latitude, Longitude, ZONA, URL

345,Castle Avenue,Sunset Drive,-3.731862,-38.526670,x20,http://data.mycity.example.com/transport/road/bus/stop/id/345

483,Main Street,Lily Park,-3.731541,-38.535157,x20,http://data.mycity.example.com/transport/road/bus/stop/id/483

How to Test

Check if the data format conforms to a known machine-readable data format specification.

Como testar

Verifique se o formato de dados está em conformidade com as especificações de um formato de dados inteligível por máquinas. 

Evidence

Relevant requirements: R-FormatMachineRead, R-FormatStandardized R-FormatOpen

Evidência

Requisitos relevantes: R-FormatMachineRead, R-FormatStandardized R-FormatOpen

Benefits

Benefícios

R – Reutilização

P – Processabilidade

Best Practice 13: Use locale-neutral data representations

Use locale-neutral data structures and values, or, where that is not possible, provide metadata about the locale used by data values.

Boa Prática 13: Utilizar representações de dados de localidade neutra

Utilize estruturas e valores de dados de localidade neutra ou, quando isso não for possível, forneça metadados sobre a localidade utilizada pelos valores de dados.

Why

Data values that are machine-readable and not specific to any particular language or culture are more durable and less open to misinterpretation than values that use one of the many different cultural representations. Things like dates, currencies and numbers may look similar 

but have different meanings in different locales. For example, the ‘date’ 4/7 can be read as 7th of April or the 4th of July depending on where the data was created. Similarly, €2,000 is either two thousand Euros or an over-precise representation of two Euros. By using a locale-neutral format, systems avoid the need to establish specific interchange rules that vary according to the language or location of the user. When the data is already in a locale-specific format, making the locale and language explicit by providing locale parameters allows users to determine how readily they can work with the data and may enable automated translation services.

Por que

Os valores de dados que são inteligíveis por máquinas e não são específicos de nenhum idioma ou cultura em particular são mais duráveis e menos suscetíveis a más interpretações do que valores que usam uma das muitas e diversas interpretações culturais. Coisas como datas, moedas e números podem soar parecidas, mas têm significados diferentes em locais distintos. Por exemplo, a “data” 4/7 tanto pode ser lida como 07 de abril ou 04 de julho, dependendo de onde os dados foram criados. Da mesma forma, €2,000 pode tanto significar dois mil Euros quanto uma representação excessivamente precisa de dois Euros. Ao utilizar um formato de localidade neutra, os sistemas evitam a necessidade de estabelecer regras intercambiáveis específicas que variam de acordo com o idioma ou a localização do usuário.  

Quando os dados já estão em um formato de localidade específica, tornam explícitas a localidade e a linguagem por meio do fornecimento de parâmetros que permitem aos usuários determinar quão prontamente poderão trabalhar com os dados e habilitar serviços de tradução automatizados. 

Intended Outcome

Humans and software agents will be able to interpret the meaning of strings representing dates, times, currencies and numbers etc. accurately.

Resultado Pretendido

Humanos e agentes de software serão capazes de interpretar o significado de strings que representam datas, horários, moedas, números, etc, de forma precisa. 

Possible Approach to Implementation

Most common data serialization formats are locale-neutral. For example, XML Schema types such as xsd:integer and xsd:date are intended for locale-neutral data interchange. Using locale-neutral representations allows the data values to be processed accurately without complex parsing or misinterpretation and also allows the data to be presented in the format most comfortable for the consumer of the data in any locale. For example, rather than storing “€2000,00” as a string, it is strongly preferred to exchange a data structure such as:

“price” {

    “value”: 2000.00,

    “currency”: “EUR”

}

Some datasets contain values that are not or cannot be rendered into a locale-neutral format. This is particularly true of any natural language text values. For each data field that can contain locale-affected or natural-language text, there should be an associated language tag used to indicate the language and locale of the data. This locale information can be used in parsing the data or to ensure proper presentation and processing of the value by the consumer. BCP47 [BCP47] provides the standard for language and locale identification and, informatively, CLDR [CLDR] is the source for both representing specific localized formats and as a reference for specific locale data values.

Possível Abordagem para Implementação

Os formatos de serialização de dados mais comuns são de localidade neutra. Por exemplo, tipos XML Schema como xsd:integer e xsd:date destinam-se a intercâmbios de dados de localidade neutra. Utilizar representações de localidade neutra permite que os valores dos dados sejam processados de forma precisa sem análises complexas ou más interpretações e também permite que os dados sejam apresentados em um formato mais confortável aos consumidores de dados em qualquer localidade. Por exemplo, em vez de armazenar “€2000,00” como um string é altamente preferível intercambiar uma estrutura de dados tal como:

“price” {

    “value”: 2000.00,

    “currency”: “EUR”

}

Alguns conjuntos de dados contêm valores que não são ou não podem ser renderizados em um formato de localidade neutra. Isto é particularmente verdadeiro para todos os valores de texto em idioma natural. Para cada campo de dados que possa conter textos de localidade afetada ou de idioma natural, deveria haver uma aba de idioma associada, utilizada para indicar o idioma e a localização do dado. Essa informação de localidade pode ser utilizada ao analisar os dados ou para assegurar a apresentação e o processamento adequados do valor por parte do consumidor. BCP47 [BCP47] fornece o padrão para a identificação do idioma e da localidade e, informativamente, CLDR [CLDR] é a fonte de ambos, representando formatos especificamente localizados e a referência para os valores de dados de localidade específica. 

EXAMPLE 13

EXEMPLO 13

Machine-readable

The example below shows the machine-readable metadata for the bus stops dataset (stops-2015-05-05) with the inclusion of the locale parameters metadata. The property dct:language is used to declare the languages the dataset is published in. If the dataset is available in multiple languages, use multiple values for this property. The property dct:conformsTo is used to specify the standard adopted for date and time formats.

Inteligível por máquinas

O exemplo abaixo demonstra os metadados inteligíveis por máquinas para o conjunto de dados dos pontos de ônibus (stops-2015-05-05),  com a inclusão de metadados de parâmetros de localidade. A propriedade dct:language é utilizada para declarar os idiomas nos quais o conjunto de dados foi publicado. Caso o conjunto de dados esteja disponível em diversos idiomas, utilize valores múltiplos para essa propriedade. A propriedade dct:conformsTo é utilizada para especificar o padrão adotado para os formatos de datas e horários. 

  :stops-2015-05-05

      a dcat:Dataset ;

      dct:title “Bus stops of MyCity” ;

      dcat:keyword “transport”,”mobility”,”bus” ;

      dct:issued “2015-05-05″^^xsd:date ;

      dcat:contactPoint <http://data.mycity.example.com/transport/contact> ;

      dct:temporal <http://reference.data.gov.uk/id/year/2015> ;

      dct:spatial <http://sws.geonames.org/3399415> ;

      dct:publisher :transport-agency-mycity ;

      dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-A> ;

      dcat:theme :mobility ;

      dcat:distribution :stops-2015-05-05.csv ;

      dct:language <http://id.loc.gov/vocabulary/iso639-1/en> ,

                   <http://id.loc.gov/vocabulary/iso639-1/pt> ;

      dct:conformsTo <http://www.iso.org/iso/home/standards/iso8601.htm>

      .

The example below shows a locale-neutral representation of bus fare data.

  fare_id,price,currency_type,payment_method,transfers,transfer_duration

  p,1.25,USD,0,0,0

  a,5.25,USD,0,0,0

O exemplo abaixo demonstra uma representação de localidade neutra de uma tarifa de ônibus.

 tarifa_id,preço,tipo_moeda,método_pagamento,transfências,duração_transferência

  p,1.25,USD,0,0,0

  a,5.25,USD,0,0,0

Human-readable

Example page with human-readable description of dataset is available.

Inteligível por humanos

Encontra-se disponível uma página de exemplo com uma descrição de conjunto de dados inteligível por humanos. 

How to Test

Check that locale-sensitive data values are represented in a locale-neutral format or that, if this is not possible, relevant locale metadata is provided.

Como testar

Verifique se os valores dos dados sensíveis à localização estão representados em um formato de localidade neutra ou que, caso isso não seja possível, sejam fornecidos metadados de localidade relevante. 

Evidence

Relevant requirements: R-FormatLocalize, R-MetadataAvailable, R-GeographicalContext, R-FormatMachineRead

Evidência

Requisitos relevantes: R-FormatLocalize, R-MetadataAvailable, R-GeographicalContext, R-FormatMachineRead

Benefits

Benefícios:

R – Reutilização

C – Compreensão

Best Practice 14: Provide data in multiple formats

Make data available in multiple formats when more than one format suits its intended or potential use.

Boa Prática 14: Fornecer dados em formatos múltiplos

Disponibilize dados em formatos múltiplos quando mais de um formato for adequado ao uso pretendido ou potencial.

Why

Providing data in more than one format reduces costs incurred in data transformation. It also minimizes the possibility of introducing errors in the process of transformation. If many users need to transform the data into a specific data format, publishing the data in that format from the beginning saves time and money and prevents errors many times over. Lastly it increases the number of tools and applications that can process the data.

Por que

Disponibilizar dados em mais de um formato reduz os custos decorrentes da transformação de dados e minimiza a possibilidade de introduzir erros no processo de transformação. Caso muitos usuários precisem transformar os dados em um formato específico, publicá-los neste formato desde o início poupa tempo, dinheiro e evita erros com maior eficiência. Por último, aumenta o número de instrumentos e aplicações que podem processar os dados. 

Intended Outcome

As many users as possible will be able to use the data without first having to transform it into their preferred format.

Resultado Pretendido

O maior número possível de usuários será capaz de utilizar os dados sem ter que primeiramente transformá-los para seu formato de preferência.

Possible Approach to Implementation

Consider the data formats most likely to be needed and consider alternatives that are likely to be useful in the future. Data publishers must balance the effort required to make the data available in many formats against the cost of doing so, but providing at least one alternative will greatly increase the usability of the data. In order to serve data in more than one format you can use content negotiation as described in Best Practice Use content negotiation for serving data available in multiple formats.

A word of warning: local identifiers within the dataset, which may be exposed as fragment identifiers in URIs, must be consistent across the various formats.

Possível Abordagem para Implementação

Considere os formatos de dados mais prováveis de serem necessários e alternativas que possivelmente serão úteis no futuro. Os editores de dados devem equilibrar o esforço necessário para disponibilizar os dados em muitos formatos em relação ao custo de fazê-lo; no entanto, fornecer pelo menos uma alternativa aumentará significativamente a usabilidade dos dados. Para disponibilizar dados em mais de um formato você pode utilizar negociação de conteúdo conforme descrito no documento Usos das Boas Práticas sobre negociações de conteúdo para o fornecimento de dados em formatos múltiplos. 

Uma palavra de advertência: identificadores de localidade dentro de conjuntos de dados que possam ser expostos como identificadores de fragmento em URIs devem ser consistentes através dos diversos formatos. 

EXAMPLE 14

In order to reach a larger number of data consumers, Adrian decides to also provide a JSON distribution of the bus stops dataset. In the following example, the property dcat:distribution is used to associate the dataset stops-2015-05-05 with its two distributions:

EXEMPLO 14

Para alcançar uma ampla gama de consumidores de dados, Adrian decide também fornecer uma distribuição JSON do conjunto de dados dos pontos de ônibus. No exemplo a seguir a propriedade dcat:distribution é utilizada para associar o conjunto de dados stops-2015-05-05 com suas duas distribuições:

stops-2015-05-05.csv and stops-2015-05-05.json.

  :stops-2015-05-05

      a dcat:Dataset ;

      dcat:distribution :stops-2015-05-05.csv ;

      dcat:distribution :stops-2015-05-05.json

      .

  :stops-2015-05-05.csv

      a dcat:Distribution ;

      dcat:downloadURL <http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05.csv> ;

      dct:title “CSV distribution of stops-2015-05-05 dataset” ;

      dct:description “CSV distribution of the bus stops dataset of MyCity” ;

      dcat:mediaType “text/csv;charset=UTF-8” ;

      dct:license <http://creativecommons.org/licenses/by-sa/3.0/>

      .

  :stops-2015-05-05.json

      a dcat:Distribution ;

      dcat:downloadURL <http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05.json> ;

      dct:title “JSON distribution of stops-2015-05-05 dataset” ;

      dct:description “JSON distribution of the bus stops dataset of MyCity” ;

      dcat:mediaType “application/json” ;

      dct:license <http://creativecommons.org/licenses/by-sa/3.0/>

      .

How to Test

Check if the complete dataset is available in more than one data format.

Como testar

Verifique se o conjunto de dados completo está disponível em mais de um formato de dados.

Evidence

Relevant requirements: R-FormatMultiple

Evidência

Requisitos relevantes: R-FormatMultiple

Benefits

Benefícios

R – Reutilização

P – Processabilidade 

8.9 Data Vocabularies

8.9 Vocabulários de Dados

Vocabularies define the concepts and relationships (also referred to as “terms” or “attributes”) used to describe and represent an area of interest. They are used to classify the terms that can be used in a particular application, characterize possible relationships, and define possible constraints on using those terms. Several near-synonyms for ‘vocabulary’ have been coined, for example, ontology, controlled vocabulary, thesaurus, taxonomy, code list, semantic network.

Vocabulários definem os conceitos e as relações (também conhecidas como “termos” ou “atributos”) utilizados para descrever e representar uma área de interesse. São utilizados para classificar os termos que podem ser utilizados em uma aplicação específica, caracterizar possíveis relações e definir possíveis limitações na utilização destes termos. Vários sinônimos próximos de “vocabulário” já foram cunhados, como por exemplo, ontologia, vocabulário controlado, tesauro, taxonomia, lista de códigos, rede semântica. 

There is no strict division between the artifacts referred to by these names. “Ontology” tends however to denote the vocabularies of classes and properties that structure the descriptions of resources in (linked) datasets. In relational databases, these correspond to the names of tables and columns; in XML, they correspond to the elements defined by an XML Schema.

Não há uma divisão precisa entre os artefatos referidos por estas denominações. No entanto, “Ontologia” tende a denotar vocabulários de classes e propriedades que estruturam as descrições de recursos em conjuntos de dados (conectados). Em bases de dados relacionais, estes correspondem a nomes de tabelas e colunas; em XML, correspondem aos elementos definidos por um Schema XML.

Ontologies are the key building blocks for inference techniques on the Semantic Web. The first means offered by W3C for creating ontologies is the RDF Schema [RDF-SCHEMA] language. It is possible to define more expressive ontologies with additional axioms using languages such as those in The Web Ontology Language [ OWL2-OVERVIEW].

As ontologias são os principais blocos de construção para técnicas de inferência na Web Semântica. O primeiro meio oferecido pelo W3C para a criação de ontologias é RDF Schema [RDF-SCHEMA]. É possível definir ontologias mais expressivas com axiomas adicionais utilizando linguagens tais como aquelas da Ontologia de Linguagens Web 

[OWL2-OVERVIEW].

On the other hand, “controlled vocabularies”, “concept schemes” and “knowledge organization systems” enumerate and define resources that can be employed in the descriptions made with the former kind of vocabulary, i.e. vocabularies that structure the descriptions of resources in (linked) datasets. A concept from a thesaurus, say, “architecture”, will for example be used in the subject field for a book description (where “subject” has been defined in an ontology for books). For defining the terms in these vocabularies, complex formalisms are most often not needed. Simpler models have thus been proposed to represent and exchange them, such as the ISO 25964 data model [ISO-25964] or W3C’s Simple Knowledge Organization System [SKOS-PRIMER].

Por outro lado, “vocabulários controlados”, “esquematizações conceituais” e “sistemas de organização de conhecimento” enumeram e definem recursos que podem ser empregados nas descrições realizadas com o tipo de vocabulário prévio, por exemplo, vocabulários que estruturam as descrições de recursos em conjuntos de dados (concectados). Um conceito advindo de um tesauro, digamos, “arquitetura”, será utilizado, por exemplo, no campo de assunto para a descrição de um livro, (onde “assunto” tenha sido definido em uma ontologia para livros). Geralmente não são necessários formalismos complexos para definir os termos nestes vocabulários. Modelos mais simples foram propostos para representá-los e permutá-los, tais como o modelo de dados ISO 25964  [ISO-25964] ou o Sistema Simples de Organização de Conhecimento do W3C [SKOS-PRIMER].

Best Practice 15: Reuse vocabularies, preferably standardized ones

Use terms from shared vocabularies, preferably standardized ones, to encode data and metadata.

Boa Prática 15: Reutilizar vocabulários preferencialmente padronizados

Utilize termos advindos de vocabulários compartilhados, preferencialmente os padronizados, para codificar dados e metadados. 

Why

Use of vocabularies already in use by others captures and facilitates consensus in communities. It increases interoperability and reduces redundancies, thereby encouraging reuse of your own data. In particular, the use of shared vocabularies for metadata (especially structural, provenance, quality and versioning metadata) helps the comparison and automatic processing of both data and metadata. In addition, referring to codes and terms from standards helps to avoid ambiguity and clashes between similar elements or values.

Por que

A utilização de vocabulários já em uso por outros captura e facilita o consenso em comunidades. Aumenta a interoperabilidade e reduz as redundâncias, incentivando assim a reutilização de seus próprios dados. Particularmente, a utilização de vocabulários compartilhados para metadados (especialmente os metadados estruturais, de proveniência, de qualidade e de versionamento) auxilia o processo de comparação e o processamento automático – tanto dos dados quanto dos metadados. Além disso, a referência a códigos e termos de padrões ajuda a evitar ambiguidade e conflitos entre elementos e valores similares.  

Intended Outcome

Interoperability and consensus among data publishers and consumers will be enhanced.

Resultado Pretendido

A interoperabilidade e o consenso entre os editores de dados e consumidores serão melhorados.

Possible Approach to Implementation

The Vocabularies section of the W3C Best Practices for Publishing Linked Data [LD-BP] provides guidance on the discovery, evaluation and selection of existing vocabularies.

Organizations such as the Open Geospatial Consortium (OGC), ISO, W3C, WMO, libraries and research data services, etc. provide lists of codes, terminologies and Linked Data vocabularies that can be used by everyone. A key point is to make sure the dataset, or its documentation, provides enough (human- and machine-readable) context so that data 

consumers can retrieve and exploit the standardized meaning of the values. In the context of the Web, using unambiguous, Web-based identifiers (URIs) for standardized vocabulary resources is an efficient way to do this, noting that the same URI may have multilingual labels attached for greater cross-border interoperability. The European Union’s multilingual thesaurus, Eurovoc, provides a prime example.

Possível abordagem para Implementação

A seção de Vocabulários no documento Boas Práticas para a Publicação de Dados Conectados [LD-BP] do W3C fornece orientação sobre a descoberta, avaliação e seleção de vocabulários existentes. Organizações tais como o Consórcio Geoespacial Aberto (OGC),  ISO, W3C, WMO, bibliotecas e serviços de pesquisa de dados, etc., fornecem listagens de códigos, terminologias e vocabulários de Dados Conectados que podem ser utilizados por todos. Uma questão fundamental é garantir que o conjunto de dados – ou a sua documentação – forneça contextualização suficiente (em formatos inteligíveis por humanos e por máquinas) para que os consumidores de dados possam recuperar e explorar o significado padronizado dos valores. No contexto da Web uma forma eficiente de fazer isto é utilizar identificadores (URIs) baseados na Web para recursos de vocabulário padronizado, tendo em mente que o mesmo URI pode ter rótulos multilíngues anexados para uma maior interoperabilidade por diversas fronteiras. O tesauro multilíngue da União Europeia, o Eurovoc, fornece um exemplo primoroso.

EXAMPLE 15

Exemplo 15

  1. The DCAT vocabulary expresses metadata concerning datasets [VOCAB-DCAT] and re-uses elements from several pre-existing vocabularies: Dublin Core, FOAF, SKOS and vCard. Reusing Dublin Core properties like dct:title instead of creating new ones (say, dcat:title) enables DCAT-based metadata to be consumed by any application that can read and manipulate Dublin Core statements.

O vocabulário DCAT expressa os metadados referentes aos conjuntos de dados [VOCAB-DCAT] e reutiliza elementos de diversos vocabulários pré-existentes: Dublin Core, FOAF, SKOS e vCard. Reutilizar as propriedades do Dublin Core, tais como dct:title, em vez de criar novos (digamos, dcat:title) possibilita que os metadados com base em DCAT possam ser consumidos por qualquer aplicação que seja capaz de ler e manipular as declarações do Dublin Core.

  1. In the digital culture sector, the data model for Europeana (EDM) also makes extensive uses of existing shared vocabularies like Dublin Core, FOAF, SKOS, etc. This has facilitated adoption of EDM by Europeana’s data providers and helped position it as a Best Practice for similar initiatives in the same sector. For instance, the metadata application profile from the Digital Public Library of America reuses EDM and thus the various vocabularies that EDM builds on. As a result, large amounts of digital culture data have become more interoperable within the sector. That data is also easier to reuse by consumers from other communities, who are not familiar with the traditional models and terminologies used by library, archives and museums.

No setor da cultura digital o modelo de dados para a Europeana (EDM) também faz extenso uso de vocabulários compartilhados existentes, como Dublin Core, FOAF, SKOS, etc. Isto facilitou a adoção do EDM pelos fornecedores de dados da Europeana e auxiliou a posicioná-la como uma Boa Prática para iniciativas similares no mesmo setor. Por exemplo, o perfil de aplicação de metadados da Biblioteca Pública Digital Americana reutiliza o EDM e, portanto, emprega os diversos vocabulários em que o EDM se baseia. Como resultado grandes quantidades de dados da cultura digital tornaram-se mais interoperáveis dentro do setor. Estes dados também são mais fáceis de reutilizar por consumidores de outras comunidades que não estejam familiarizados como os modelos e as terminologias tradicionais utilizados pelas bibliotecas, arquivos e museus.

  1. The Library of Congress publishes lists of ISO 639 languages as Linked Data (see [ISO639-1-LOC] for two-letter codes):

:stops

  dct:language <http://id.loc.gov/vocabulary/iso639-1/en> 

4. A Biblioteca do Congresso publica listagens de idiomas ISO 639 como Dados Conectados (consulte [ISO639-1-LOC] para códigos de dois dígitos)

:stops

 dct:language <http://id.loc.gov/vocabulary/iso639-1/en> 

  1. Australia’s Solid Earth and Environment Grid publishes a reference list of URIs for geologic timescale elements from the International Commission on Stratigraphy’s Chronostratigraphic Chart, such as http://resource.geosciml.org/classifier/ics/ischart/Paleozoic for the Paleozoic Era:

:dataset-005 a dcat:Dataset ;

dct:temporal <http://resource.geosciml.org/classifier/ics/ischart/Paleozoic> 

A Rede Terra Sólida e Meio Ambiente da Austrália publica uma listagem de referências de URIs para elementos de escalas temporais geológicas da Comissão Internacional de Tabelas Cronostratigráfica de Estratigrafia, tais como:

http://resource.geosciml.org/classifier/ics/ischart/Paleozoic para a Era Paleozóica:

:dataset-005 a dcat:Dataset ;

dct:temporal <http://resource.geosciml.org/classifier/ics/ischart/Paleozoic> 

  1. Google maintains the General Transit Feed Specification that defines a format for publishing public transportation data. This format relies on a set of fields like route_short_name or route_type that are carefully defined and exposed to constant community feedback in order to facilitate consensus. Definitions include specifications of coded values, as the ones used with route_type:

0 – Tram, Streetcar, Light rail. Any light rail or street level system within a metropolitan area.

1 – Subway, Metro. Any underground rail system within a metropolitan area.

2 – Rail. Used for intercity or long-distance travel.

6. O Google mantém a Especificação de Feed de Trânsito Geral que define um formato para a publicação de dados de transporte público. Este formato se baseia em um conjunto de campos tais como, nome_atalho_rota ou tipo_rota, que são cuidadosamente definidos e expostos a constantes feedbacks da comunidade para facilitar o consenso. As definições incluem especificações de valores codificados tais como os utilizados em tipo_rota:

0 – Bondes, veículos leves sobre trilhos. Qualquer sistema  de veículo leve sobre trilhos ou no nível da rua dentro de uma área metropolitana.

1 – Metrô, transporte subterrâneo. Qualquer tipo de sistema de transporte por trilhos dentro de uma área metropolitana.

2 – Trilhos. Utilizados para transporte intermunicipal e viagem de longa distância.

Note that in a non-Linked Data fashion, these fields and codes have no individual Web identifiers nor machine-readable semantics. Exploiting them thus requires implementers to parse the documentation and encode interpretations in each individual application consuming the data.

Observe que em uma modalidade de Dados não Conectados estes campos e códigos não possuem identificadores Web individuais, nem tampouco uma semântica inteligível por máquinas. Portanto,  explorá-los demanda que os implementadores analisem a documentação e codifiquem interpretações em cada aplicação individual que consome os dados. 

How to Test

Using vocabulary repositories like the Linked Open Vocabularies repository or lists of services mentioned in technology-specific Best Practices such as the Best Practices for Publishing Linked Data [LD-BP], or the Core Initial Context for RDFa and JSON-LD, check that classes, properties, terms, elements or attributes used to represent a dataset do not replicate those defined by vocabularies used for other datasets.

Check if the terms or codes in the vocabulary to be used are defined in a standards development organization such as IETF, OGC & W3C etc., or are published by a suitable authority, such as a government agency.]

Como testar

Utilize repositórios de vocabulários como o repositório de Vocabulários Abertos Conectados ou listagens de serviços mencionados em Boas Práticas específicas de tecnologia, tais como as  Boas Práticas para a Publicação de Dados Conectados [LD-BP] ou o Contexto Inicial Fundamental para RDfs e JSON-LD; certifique-se de que as classes, propriedades, termos, elementos ou atributos utilizados para representar um conjunto de dados não repliquem aqueles definidos por vocabulários utilizados para outros conjuntos de dados.

Verifique se os termos ou códigos no vocabulário a serem utilizados estão definidos em uma organização de desenvolvimento de padrões tal como IETF, OGC e W3C, etc., ou tenham sido publicados por uma autoridade adequada, tais como agências governamentais.

Evidence

Relevant requirements: R-MetadataStandardized, R-MetadataDocum, R-QualityComparable, R-VocabOpen, R-VocabReference

Evidência

Requisitos relevantes: R-MetadataStandardized, R-MetadataDocum, R-QualityComparable, R-VocabOpen, R-VocabReference

Benefits

Benefícios

C – Conectividade

E – Encontrabilidade

A – Acessibilidade

Best Practice 16: Choose the right formalization level

Opt for a level of formal semantics that fits both data and the most likely applications.

Boa Prática 16: Escolher o nível correto de formalização

Opte por um nível de semântica formal que se ajuste tanto aos dados quanto às aplicações mais prováveis. 

Why

Por que

As Albert Einstein may or may not have said: everything should be made as simple as possible, but not simpler.

Como Albert Einstein pode ou não ter dito: tudo deve ser feito da forma mais simples o possível, mas não de forma simplória.

Formal semantics help to establish precise specifications that convey detailed meaning and using a complex vocabulary (ontology) may serve as a basis for tasks such as automated reasoning. On the other hand, such complex vocabularies require more effort to produce and understand, which could hamper their reuse, comparison and linking of datasets that use them.

A semântica formal auxilia a estabelecer especificações precisas que transmitem significados detalhados e utilizar um vocabulário complexo (ontologia) pode servir como base para tarefas tais como o raciocínio automatizado. Por outro lado, tais vocabulários complexos exigem mais esforço de produção e compreensão, o que poderia dificultar sua reutilização, comparação e conexão por bases de dados que deles fazem uso.

If the data is sufficiently rich to support detailed research questions (the fact that A, B and C are true, and that D is not true, leads to the conclusion E) then something like an OWL Profile would clearly be appropriate [OWL2-PROFILES].

Caso os dados sejam suficientemente ricos para conter perguntas de pesquisa detalhadas (o fato de A, B e C serem verdadeiros e D, falso, leva à conclusão E), então algo semelhante ao Perfil OWL é claramente apropriado [OWL2-PROFILES].

But there is nothing complicated about a list of bus stops.

Choosing a very simple vocabulary is always attractive but there is a danger: the drive for simplicity might lead the publisher to omit some data that provides important information, such as the geographical location of the bus stops that would prevent showing them on a map. Therefore, a balance has to be struck, remembering that the goal is not simply to share your data, but for others to reuse it.

No entanto, não há nada de complicado em listas de pontos de ônibus.

Escolher um vocabulário muito simples é sempre atrativo, mas há um perigo: o desejo de manter a simplicidade pode induzir o editor a omitir alguns dados que fornecem informações importantes, tais como a localização geográfica dos pontos de ônibus, o que impediria que fossem mostrados em um mapa. Portanto, o equilíbrio deve ser atingido tendo em mente que o objetivo não é simplesmente compartilhar seus dados, mas sim sua reutilização por outros.

Intended Outcome

The most likely application cases will be supported with no more complexity than necessary.

Resultado Pretendido

Os casos de aplicação mais prováveis serão suportados sem um grau de complexidade maior  que o necessário. 

Possible Approach to Implementation

Possível Abordagem para Implementação

Look at what your peers do already. It is likely you will see that there is a commonly used vocabulary that matches, or nearly matches, your current needs. That is probably the one to use.

Observe o que os seus pares já vêm fazendo. É provável que você irá se deparar com um vocabulário comumente utilizado, que vem ao encontro de suas necessidades – mesmo que de forma aproximada. Provavelmente este é o vocabulário a ser utilizado.

You may find a vocabulary that you’d like to use but you notice a semantic constraint that makes it difficult to do so, such as a domain or range restriction that does not apply to your case. In that scenario, it is often worth contacting the vocabulary publisher and talking to them about it. They may well be able to lift that restriction and provide further guidance on how the vocabulary is used more broadly.

Talvez você encontre um vocabulário que gostaria de utilizar, mas perceba uma restrição semântica que dificulta fazê-lo, como um domínio ou gama de restrições que não se aplica ao seu caso. Neste cenário é geralmente válido contatar os editores do vocabulário e conversar sobre o caso. Eles podem muito bem ser capazes de remover essa restrição e proporcionar  orientação adicional sobre como o vocabulário é utilizado de forma mais ampla. 

W3C operates a mailing list at public-vocabs@w3.org [archive] where issues around vocabulary usage and development can be discussed.

O W3C opera uma lista de discussão em public-vocabs@w3.org [arquivo] onde questões referentes ao uso e desenvolvimento dos vocabulários podem ser discutidas.

If you are creating a vocabulary of your own, keep the semantic restrictions to the minimum that works for you, again, so as to increase the possibility of reuse by others. As an example, the designers of the (very widely used) SKOS ontology itself have minimized its ontological commitment by questioning all formal axioms that were suggested for its classes and properties. Often they were rejected because their use, while beneficial to many applications, would have created formal inconsistencies for the data from other applications, making SKOS not usable at all for these. As an example, the property skos:broader was not defined as a transitive property, even though it would have fitted the way hierarchical links between concepts are created for many thesauri [SKOS-DESIGN]. Look for evidence of that kind of “design for wide use” when selecting a vocabulary.

Caso esteja criando seu próprio vocabulário, mantenha as restrições semânticas ao mínimo que atenda às suas necessidades e, novamente, de forma a incentivar a possibilidade de reutilização por terceiros. Como exemplo, os designers da própria (muito utilizada) ontologia SKOS, minimizaram seu compromisso ontológico questionando todos os axiomas formais sugeridos para suas classes e propriedades. Frequentemente estes foram rejeitados porque seu uso, embora benéfico para muitas aplicações, teria criado inconsistências formais para os dados de outras aplicações, o que tornaria o SKOS inteiramente não utilizável para estas. Como exemplo, a propriedade skos:broader não foi definida como uma propriedade transitiva, muito embora teria se adequado à forma como links hierárquicos  entre conceitos são criados em muitos tesauros [SKOS-DESIGN]. Ao selecionar um vocabulário busque evidências do tipo “design para amplo uso”.

Another example of this “design for wide use” can be seen in schema.org. Launched in June 2011, schema.org was massively adopted in a very short time in part because of its informative rather than normative approach for defining the types of objects that properties can be used with. For instance, the values of the property author are only “expected” to be of type Organization or Person. author “can be used” on the type CreativeWork but this is not a strict constraint. Again, that approach to design makes schema.org a good choice as a vocabulary to use when encoding data for sharing.

Outro exemplo deste “design para amplo uso” pode ser encontrado no schema.org. Lançado em junho de 2011, schema.org foi adotado massivamente em pouco tempo, em parte por conta de sua abordagem informativa – e não normativa – para a definição de tipos de objetos  com que as propriedades podem ser utilizadas. Por exemplo, apenas “espera-se” que os valores da propriedade autor sejam do tipo Organização ou Pessoa. Autor “pode ser usado” no tipo CreativeWork, mas esta não é uma restrição rigorosa. Novamente, esta abordagem ao design torna o schema.org uma boa escolha como vocabulário para usar ao codificar dados para compartilhamento.

EXAMPLE 16

Adrian encodes the bus stop data using GTFS [GTFS] because:

  • it is in widespread use;
  • it offers a level of detail that matches his data;
  • a motivation for publishing bus stop data is to support the development of applications to help bus users and GTFS is designed for just that purpose.

EXEMPLO 16

Adrian codifica os dados dos pontos de ônibus utilizando GTFS [GTFS] devido ao:

  • seu uso generalizado;
  • oferece um nível de detalhamento que ajusta-se aos seus dados;
  • a motivação para publicar dados dos pontos de ônibus é oferecer suporte para o desenvolvimento de aplicações que auxiliem usuários de ônibus e a GTFS é elaborada justamente com esse propósito.

How to Test

This is almost always a matter of subjective judgment with no objective test. As a general guideline:

  • Are common vocabularies used such as Dublin Core and schema.org?
  • Are simple facts stated simply and retrieved easily?
  • For formal knowledge representation languages, applying an inference engine on top of the data that uses a given vocabulary does not produce too many statements that are unnecessary for target applications.

Como testar

Esta é quase sempre uma questão de julgamento subjetivo para a qual não há um teste objetivo. Como diretriz geral:

  • Estão sendo utilizados vocabulários comuns como o Dublin Core e o schema.org?
  • Os fatos simples estão declarados de forma simples e podem ser facilmente recuperados?
  • Para idiomas de representação de conhecimento formal, aplicar um mecanismo de inferência sobre dados que utilize um determinado vocabulário e não produza declarações demasiadas e desnecessárias para as aplicações de destino.

Evidence

Relevant requirements: R-VocabReference, R-QualityComparable

Evidência

Requisitos relevantes: R-VocabReference, R-QualityComparable

Benefits

Benefícios 

8.10 Data Access

Providing easy access to data on the Web enables both humans and machines to take advantage of the benefits of sharing data using the Web infrastructure. By default, the Web offers access using Hypertext Transfer Protocol (HTTP) methods. This provides access to data at an atomic transaction level. This might be through the simple bulk download of a file or, where data is distributed across multiple files or requires more sophisticated retrieval methods, through an API. The two basic methods, bulk download and API, are not mutually exclusive.

In the bulk download approach, data is generally pre-processed server side where multiple files or directory trees of files are provided as one downloadable file. When bulk data is being retrieved from non-file system solutions, depending on the data user communities, the data publisher can offer APIs to support a series of retrieval operations representing a single transaction.

8.10 Acesso de Dados

Fornecer acesso fácil aos dados na Web permite que tanto humanos quanto máquinas possam beneficiar-se do compartilhamento de dados utilizando a infraestrutura da Web. Por padrão, a Web oferece acesso utilizando os métodos do Protocolo de Transferência de Hipertexto (HTTP). Isto proporciona acesso aos dados em um nível atômico de transação; e pode ocorrer por meio de um simples download em massa de um arquivo ou, quando os dados são distribuídos por meio de arquivos múltiplos ou requerem métodos de recuperação mais sofisticados, por meio de uma API. Estes dois métodos básicos – download em massa e API – não são mutuamente excludentes. Na abordagem de download em massa os dados geralmente são o lado do servidor pré-processado, onde múltiplos arquivos ou árvores de diretório de arquivos são fornecidos como um único arquivo para download. Quando dados em massa estão sendo recuperados a partir de soluções de sistema que não são arquivos, dependendo das comunidades de usuários de dados, o editor de dados pode oferecer APIs para dar suporte a séries de operações de recuperação que representam uma única transação. 

For data that is generated in real time or near real time, data publishers should use an automated system to enable immediate access to time-sensitive data, such as emergency information, weather forecasting data, or system monitoring metrics. In general, APIs should be available to allow third parties to automatically search and retrieve such data.

Aside from helping to automate real-time data pipelines, APIs are suitable for all kinds of data on the Web. Though they generally require more work than posting files for download, publishers are increasingly finding that delivering a well documented, standards-based, stable API is worth the effort.

Para dados que são gerados em tempo real – ou quase em tempo real – os editores devem utilizar um sistema automatizado que permita acesso imediato a dados cronologicamente sensíveis, tais como informações sobre emergências, dados de previsão do tempo ou métricas de monitoramento do sistema. Em geral, as APIs devem estar disponíveis para permitir que terceiros pesquisem e recuperem automaticamente estes dados. Além de auxiliar a automatizar as pipelines de dados em tempo real, as APIs são adequadas para todos os tipos de dados na Web. Embora geralmente demandem mais trabalho em relação à postagem de arquivos para download, os editores vêm progressivamente considerando que a entrega de uma API estável, bem documentada e baseada em padrões vale o esforço.

For some data publishers, it is important to know who has downloaded the data and how they have used it. There are two possible approaches to gathering this information. First, publishers can invite users to provide it, the user’s motivation for doing so being that it encourages the continued publication of the data and promotes their own work. A second and less user-friendly approach is to require registration before data is accessed. In both cases, the Dataset Usage Vocabulary [VOCAB-DUV] provides a structure for representing such information. When collecting data from users, the publisher should explain why and how information gathered from users (either explicitly or implicitly) will be used. Without a clear policy users might be fearful of providing information and thus the value of the dataset is reduced.

Para alguns editores de dados, é importante saber quem fez download dos dados e como os utilizaram. Existem duas abordagens possíveis para reunir estas informações. Primeiramente, os editores podem convidar os usuários a fornecê-las; sendo o incentivo da publicação continuada dos dados e a promoção de seu próprio trabalho as motivações do usuário para fazê-lo. Uma segunda abordagem menos amistosa é exigir o registro antes que os dados possam ser acessados. Em ambos os casos o Vocabulário de Utilização de Conjuntos de Dados [VOCAB-DUV] fornece uma estrutura para a representação de tais informações. Ao coletar dados dos usuários, o editor deve explicar por que e como as informações coletadas dos usuários (explícita ou implicitamente) serão utilizadas. Sem uma política clara, os usuários podem ter receio de fornecer informações, o que resultaria na redução do valor do conjunto de dados.

Best Practice 17: Provide bulk download

Enable consumers to retrieve the full dataset with a single request.

Boa Prática 17: Fornecer download em massa

Permitir que os consumidores recuperem o conjunto de dados completo em uma única solicitação.

Why

When Web data is distributed across many URIs but might logically be organized as one container, accessing the data in bulk can be useful. Bulk access provides a consistent means to handle the data as one dataset. Individually accessing data over many retrievals can be cumbersome and, if used to reassemble the complete dataset, can lead to inconsistent approaches to handling the data.

Por que

Quando dados da Web estiverem distribuídos através de de muitas URIs, mas podem ser organizados logicamente como um container, acessar os dados em massa pode ser útil. Acesso em massa fornece um meio consistente de tratar os dados como um conjunto de dados. Acessar dados individualmente ao longo de muitas recuperações pode ser difícil e, caso utilizado para reagrupar o conjunto de dados completo, pode levar a abordagens inconsistentes ao tratamento dos dados.

Intended Outcome

Large file transfers that would require more time than a typical user would consider reasonable will be possible via dedicated file-transfer protocols.

Resultado Pretendido

Transferências de arquivos grandes, que exigiriam mais tempo do que um usuário típico consideraria razoável, serão possíveis por meio de protocolos de transferência de arquivos dedicados.

Possible Approach to Implementation

Depending on the nature of the data and consumer needs, possible approaches could include the following:

  • For datasets that exist initially as multiple files, preprocessing a copy of the data into a single file and making the data accessible for download from one URI. For larger datasets, the file can also be compressed.
  • Hosting an API that includes the ability to retrieve a bulk download in addition to dynamic queries. This approach is useful for capturing a complete snapshot of dynamic data.
  • For very large datasets, bulk file transfers can be enabled via means other than http, such as bbcp or GridFTP.

Possível Abordagem para Implementação

Dependendo da natureza dos dados e das necessidades dos consumidores, abordagens possíveis poderiam incluir o seguinte:

  • Para conjuntos de dados que existem inicialmente como arquivos múltiplos, o pré-processamento de uma cópia dos dados em um único arquivo tornando-os acessíveis para download a partir de uma URI. Para conjuntos de dados maiores, o arquivo também pode ser comprimido.
  • Hospedagem de uma API que inclua a habilidade de recuperar um download em massa, além de consultas dinâmicas. Esta abordagem é útil para que seja possível capturar um único snapshot dos dados dinâmicos.
  • Para conjuntos de dados muito grandes, transferências de arquivos em massa podem ser viabilizados por outros meios que não HTTP,  como bbcp ou GridFTP.

The bulk download should include the metadata describing the dataset. Discovery metadata [VOCAB-DCAT] should also be available outside the bulk download.

O download em massa deve incluir os metadados que descrevem o conjunto de dados. Metadados de descoberta [VOCAB-DCAT] também devem ser disponibilizados além do download em massa.

EXAMPLE 17

The MyCity transit agency may have a large dataset with arrival times for the various transit modes that was collected over an entire year. The data might be stored as a CSV file for each month. Suppose the agency wants to make that data available as a bulk download containing all the CSV files, for a hackathon. Since all the arrival data for all the transit services would be a lot of data, and they want to provide all the months together as one dataset, they might offer it as a single-file, compressed archive (tarred and gzipped).

EXEMPLO 17

O Departamento de Trânsito MyCity pode possuir um conjunto de dados extenso, com horários de chegada para diversos modais de transporte coletados ao longo de um ano inteiro. Os dados podem ser armazenados na forma de um arquivo CSV para cada mês. Suponha que o departamento queira disponibilizar os dados por meio de um download em massa que contenha todos os arquivos CSV para uma hackatona. Uma vez que todos os dados de chegada para todos os serviços de trânsito seriam uma quantidade enorme de dados e que eles querem fornecer todos os meses do ano como um único conjunto de dados, devem oferecê-lo como um único arquivo comprimido (tarred e gzipped).

How to Test

Check if the full dataset can be retrieved with a single request.

Como testar

Verifique se o conjunto de dados completo pode ser recuperado com uma única solicitação.

Evidence

Relevant requirements: R-AccessBulk

Evidência

Requisitos relevantes:  R-AccessBulk

Benefits

Benefícios

Best Practice 18: Provide Subsets for Large Datasets

If your dataset is large, enable users and applications to readily work with useful subsets of your data.

Boa Prática 18: Fornecer Subconjuntos para Conjuntos de Dados Extensos

Caso seu conjunto de dados seja extenso, permita que usuários e  aplicações trabalhem prontamente por meio do uso de subconjuntos de seus dados.

Why

Large datasets can be difficult to move from place to place. It can also be inconvenient for users to store or parse a large dataset. Users should not have to download a complete dataset if they only need a subset of it. Moreover, Web applications that tap into large datasets will perform better if their developers can take advantage of “lazy loading”, working with smaller pieces of a whole and pulling in new pieces only as needed. The ability to work with subsets of the data also enables offline processing to work more efficiently. Real-time applications benefit in particular, as they can update more quickly.

Por que

Conjuntos de dados muito extensos podem ser difíceis de mover de um lugar a outro. Também pode ser inconveniente para os usuários armazenar ou analisar um conjunto de dados extenso. Os usuários não deveriam ter que fazer download de um conjunto de dados completo se apenas necessitam de um subconjunto do mesmo. Além do mais as aplicações da Web que acessam conjuntos de dados extensos operarão com melhor desempenho caso seus desenvolvedores possam apropriar-se das vantagens do “carregamento lento”, trabalhando com porções menores de um todo e irem puxando novas porções apenas quando necessário. A habilidade de trabalhar com subconjuntos de dados também permite que o processamento offline funcione com mais eficiência. As aplicações em tempo real beneficiam-se particularmente, pois podem ser atualizadas mais rapidamente.

Intended Outcome

Humans and applications will be able to access subsets of a dataset, rather than the entire thing, with a high ratio of needed to unneeded data for the largest number of users. Static datasets that users in the domain would consider to be too large will be downloadable in smaller pieces. APIs will make slices or filtered subsets of the data available, the granularity depending on the needs of the domain and the demands of performance in a Web application.

Resultado Pretendido

Humanos e aplicações serão capazes de acessar subconjuntos de um conjunto de dados em vez de todo ele, com uma proporção maior de dados necessitados em relação a não necessitados para o maior número de usuários. Conjuntos de dados estáticos que os usuários no domínio considerariam extensos demais serão descarregáveis em porções menores. As APIs formarão fatias ou subconjuntos filtrados de dados disponíveis, a granularidade dependendo das necessidades do domínio e das demandas de desempenho na aplicação da Web.

Possible Approaches to Implementation

Consider the expected use cases for your dataset and determine what types of subsets are likely to be most useful. An API is usually the most flexible approach to serving subsets of data, as it allows customization of what data is transferred, making the available subsets much more likely to provide the needed data – and little unneeded data – for any given situation. The granularity should be suitable for Web application access speeds. (An API call that returns within one second enables an application to deliver interactivity that feels natural. Data that takes more than ten seconds to deliver will likely cause users to suspect failure.)

Possíveis Abordagens à Implementação

Considere os casos de uso esperados para o seu conjunto de dados e determine quais  tipos de subconjuntos são provavelmente os mais úteis. Uma API é normalmente a abordagem mais flexível para servir subconjuntos de dados, pois permite a personalização dos dados transferidos, tornando os subconjuntos disponíveis muito mais propensos a fornecer os dados necessitados – e poucos dados não necessitados –  para qualquer situação. A granularidade deve ser adequada para velocidades de acesso de aplicações Web. (Uma  chamada API que retorna dentro de um segundo permite que uma aplicação apresente uma interatividade que pareça natural. Dados que demoram mais do que dez segundos provavelmente farão com que os usuários suspeitem de falha).

Another way to subset a dataset is to simply split it into smaller units and make those units individually available for download or viewing.

Outra forma de formar subconjuntos a partir de um conjunto de dados é dividi-lo em unidades menores e tornar tais unidades disponíveis para download, ou para visualização de forma individualizada.

 It can also be helpful to mark up a dataset so that individual sections through the data (or even smaller pieces, if expected use cases warrant it) can be processed separately. One way to do that is by indicating “slices” with the RDF Data Cube Vocabulary.

Também pode ser útil marcar um conjunto de dados de forma que seções individuais (ou até mesmo porções ainda menores, se por acaso os casos de uso assim o justifiquem) possam ser processadas em separado por meio de dados. Uma forma de fazê-lo é indicando “fatias” utilizando Vocabulário do  Cubo de Dados RDF.

EXAMPLE 18

The MyCity transit agency has been collecting detailed data about passenger usage for several years. This is a very large dataset, containing values for numbers of passengers by transit type, route, vehicle, driver, entry stop, exit stop, transit pass type, entry time, etc. They have found that a wide variety of stakeholders are interested in downloading various subsets of the data. The folks who run each transit system want only the data for their transit mode, the city planners only want the numbers of entries and exits at each stop, the city budget office wants only the numbers for the various types of passes sold, and others want still different subsets. The agency created a Web site where users can select which variables are of interest to them, set ranges on some variables, and download only the subset they need.

EXEMPLO 18

O Departamento de Trânsito MyCity vem coletando dados detalhados sobre utilização de passageiros há vários anos. Este é um conjunto de dados muito extenso, contendo valores de número de passageiros por tipo de trânsito veicular, rotas, veículos, motoristas, ponto de partida e de chegada, tipos de passes de transporte, horários de início dos serviços, etc. O departamento também descobriu que uma grande variedade de atores estão interessados em fazer downloads de diversos subconjuntos de tais dados. As pessoas que gerenciam cada um desses sistemas de trânsito querem acessar somente os dados referentes ao seu próprio modal de transporte; os planejadores urbanos querem somente os números de embarque ou desembarque em cada parada, o departamento de finanças quer apenas os números dos diversos tipos de passes vendidos e outros atores querem ainda outros tipos de subconjuntos diversos. O departamento criou um site na Web onde os usuários podem selecionar quais variáveis são de seu interesse, definir intervalos entre algumas dessas variáveis e fazer download somente do subconjunto de que necessita.

How to Test

Check that the entire dataset can be recovered by making multiple requests that retrieve smaller units.

Como testar

Verifique se o conjunto de dados como um todo pode ser recuperado por meio de solicitações múltiplas que recuperem unidades menores.

Evidence

Relevant requirements: R-Citable, R-GranularityLevels, R-UniqueIdentifier, R-AccessRealTime

Evidência

Requisitos Relevantes: R-Citable, R-GranularityLevels, R-UniqueIdentifier, R-AccessRealTime

Benefits

Benefícios

Best Practice 19: Use content negotiation for serving data available in multiple formats

Use content negotiation in addition to file extensions for serving data available in multiple formats.

Boa Prática 19: Utilizar a negociação de conteúdo para disponibilizar dados em formatos múltiplos

Além de extensões de arquivos, utilize negociação de conteúdo para disponibilizar dados em formatos múltiplos.

Why

Por que

It is possible to serve data in an HTML page mixed with human-readable and machine-readable data, using RDFa for example. However, as the Architecture of the Web [WEBARCH] and DCAT [VOCAB-DCAT] make clear, a resource, such as a dataset, can have many representations. The same data might be available as JSON, XML, RDF, CSV and HTML. These multiple representations can be made available via an API, but should be made available from the same URL using content negotiation to return the appropriate representation (what DCAT calls a distribution). Specific URIs can be used to identify individual representations of the data directly, by-passing content negotiation.

É possível disponibilizar dados em uma página HTML com dados inteligíveis por humanos mesclados a dados inteligíveis por máquina usando RDFa, por exemplo. No entanto, como a Arquitetura da Web [WEBARCH] e o DCAT [VOCAB-DCAT] deixa claro, um recurso, (como por exemplo, um conjunto de dados) pode ter muitas representações. Os mesmos dados podem estar disponíveis como JSON, XML, RDF, CSV e HTML. Estas representações múltiplas podem ser disponibilizadas por meio de uma API, entretanto devem ser disponibilizadas a partir do mesmo URL utilizando-se a negociação de conteúdo para retornar a representação apropriada (o que o DCAT denomina uma distribuição). URIs específicos podem ser usados para identificar representações individuais dos dados diretamente, ignorando a negociação de conteúdo.

Intended Outcome

Content negotiation will enable different resources or different representations of the same resource to be served according to the request made by the client.

Resultado Pretendido

A negociação de conteúdo irá habilitar recursos diversos ou representações diferentes do mesmo recurso  a ser disponibilizado de acordo com a solicitação feita pelo cliente.

Possible Approach to Implementation

A possible approach to implementation is to configure the Web server to deal with content negotiation of the requested resource.

 Abordagem Possível para Implementação

Uma abordagem possível para implementação é configurar o servidor da Web para lidar com a negociação de conteúdo do recurso solicitado.

The specific format of the resource’s representation can be accessed by the URI or by the Content-type of the HTTP Request.

O formato específico da representação do recurso pode ser acessado pelo URI ou pelo tipo de conteúdo da solicitação HTTP. 

EXAMPLE 19

EXEMPLO 19

Different representations of the bus stops dataset can be served according to the specified content type of the HTTP Request:

Representações diferentes do conjunto de dados dos pontos de ônibus podem ser disponibilizadas conforme o tipo de conteúdo específico da Solicitação HTTP:

Using cURL to get the content of http://data.mycity.example.com/transport/dataset/bus/stops represented in CSV and in JSON-LD format.

Utilizar cURL para obter o conteúdo de http://data.mycity.example.com/transport/dataset/bus/stops representado nos formatos CSV e JSON-LD.

curl -L -H “Accept: text/csv” http://data.mycity.example.com/transport/dataset/bus/stops

curl -L -H “Accept: application/ld+json” http://data.mycity.example.com/transport/dataset/bus/stops

How to Test

Como testar

Check the available representations of the resource and try to get them specifying the accepted content on the HTTP Request header.

Verifique as representações disponíveis do recurso e tente obtê-las especificando o conteúdo aceito no cabeçalho da Requisição HTTP.

Evidence

Evidência

Relevant requirements: R-FormatMachineRead, R-FormatMultiple

Requisitos Relevantes:  R-FormatMachineRead, R-FormatMultiple

Benefits

Benefícios

R – Reutilização

A – Acessibilidade

 Best Practice 20: Provide real-time access

When data is produced in real time, make it available on the Web in real time or near real-time.

Boa Prática 20: Fornecer acesso em tempo real

Quando os dados forem produzidos em tempo real, disponibilize-os na Web em tempo real ou quase em tempo real.

Why

Por que

The presence of real-time data on the Web enables access to critical time sensitive data, and encourages the development of real-time Web applications. Real-time access is dependent on real-time data producers making their data readily available to the data publisher. The necessity of providing real-time access for a given application will need to be evaluated on a case by case basis considering refresh rates, latency introduced by data post processing steps, infrastructure availability, and the data needed by consumers. In addition to making data accessible, data publishers may provide additional information describing data gaps, data errors and anomalies, and publication delays.

A presença de dados em tempo real na Web viabiliza o acesso a dados críticos sensíveis ao tempo e incentiva o desenvolvimento de aplicações Web em tempo real. O acesso em tempo real depende de que os produtores de dados em tempo real disponibilizem seus dados prontamente ao editor de dados. A necessidade de fornecer acesso em tempo real para uma determinada aplicação precisará ser avaliada caso a caso, considerando as taxas de atualização, a latência introduzida pelos passos de pós-processamento de dados, a disponibilidade de infraestrutura e os dados de que os consumidores necessitam. Além de tornar os dados acessíveis, os editores de dados podem fornecer informações adicionais descrevendo lacunas, erros e anomalias de dados e atrasos de publicações.

Intended Outcome

Applications will be able to access time-critical data in real time or near real time, where real-time means a range from milliseconds to a few seconds after the data creation.

Resultado Pretendido

As aplicações serão capazes de acessar dados temporalmente críticos em tempo real ou quase em tempo real, onde tempo real significa um intervalo de milissegundos até poucos segundos após a criação dos dados. 

Possible Approach to Implementation

A possible approach to implementation is for publishers to configure a Web Service that provides a connection so as real-time data is received by the Web Service it can be instantly made available to consumers by polling or streaming. If data is checked infrequently by consumers, real-time data can be polled upon consumer request for the most recent data through an API. The data publishers will provide an API to facilitate these read-only requests. If data is checked frequently by consumers, a streaming data implementation may be more appropriate where data is pushed through an API. While streaming techniques are beyond the scope of this best practice, there are many standard protocols and technologies available (for example Server-sent Events, WebSocket, EventSourceAPI) for clients receiving automatic updates from the server.

Abordagem Possível para Implementação

Uma possível abordagem para implementação é que os editores configurem um Serviço da Web que forneça uma conexão de forma que, ao receberem dados em tempo real pelo Serviço da Web, estes possam ser instantaneamente disponibilizados aos consumidores por polling ou streaming. Caso os dados sejam verificados com pouca frequência pelos consumidores, os dados em tempo real poderão ser consultados após solicitação do consumidor para os dados dados mais recentes por meio de uma API. Os editores de dados fornecerão uma API para facilitar estas solicitações somente de leitura. Caso os dados sejam verificados com frequência pelos consumidores, uma implementação de dados por streaming poderá ser mais apropriada quando os dados forem enviados por meio de uma API. Embora as técnicas de streaming estejam além do escopo desta boa prática, há muitos protocolos e tecnologias padronizados disponíveis (por exemplo, Eventos Enviados pelo Servidor, WebSocket, EventSourceAPI) para clientes que recebem atualizações automáticas do servidor.

EXAMPLE 20

In this example the Transport Agency of MyCity keeps track of all bus GPS data. The API provides consumers real-time status information using a REST API. The API allows the consumer to select:

EXEMPLO 20

Neste exemplo, o Departamento de Transportes de MyCity mantém um registro de todos os dados GPS dos ônibus. A API fornece aos consumidores informações de status em tempo real usando uma API REST. A API permite que o consumidor selecione:

  • Current position of the bus
  • Bus arrival time
  • Bus status
  • Atual localização do ônibus
  • Tempo de chegada do ônibus
  • Status do ônibus

 API Description

 Descrição da API

DescriptionDescriçãoAPIParametersParâmetros
Bus positionPosição do ônibus{root}/bus/position/currentbus_id
Bus arrival time to some stopTempo de chegada do ônibus a um determinado ponto de ônibus{root}/bus/arrival_timebus_id, stop_id
Bus statusStatus do ônibus(Possible return: “on-schedule”, “delay”, “out-of-service”)(Possibilidade de retorno: “no horário”, “atrasado”, “fora de serviço”){root}/bus/statusbus_id

How to Test

Como Testar

To adequately test real time data access, data will need to be tracked from the time it is initially collected to the time it is published and accessed. [PROV-O] can be used to describe these activities. Caution should be used when analyzing real-time access for systems that consist of multiple computer systems. For example, tests that rely on wall clock time stamps may reflect inconsistencies between the individual computer systems as opposed to data publication time latency.

Para testar acesso de dados em tempo real adequadamente, os dados terão que ser rastreados desde o instante em que são inicialmente coletados até o momento em que são publicados e acessados. [PROV-O] pode ser usado para descrever estas atividades. Deve-se tomar cuidado ao analisar acesso em tempo real para sistemas compostos de vários sistemas de computador. Por exemplo, testes que dependam de marcas temporais de relógios de parede podem refletir inconsistências entre os sistemas de computadores individuais em oposição à latência de tempo de publicação dos dados.

Evidence

Relevant requirements: R-AccessRealTime

Evidência

Requisitos Relevantes:  R-AccessRealTime

Benefits

Benefícios

R – Reutilização

A – Acessibilidade

Best Practice 21: Provide data up to date    

Make data available in an up-to-date manner, and make the update frequency explicit

Boa Prática 21: Fornecer dados atualizados

Disponibilize os dados de forma atualizada e torne explícita a frequência de atualização

Why     

The availability of data on the Web should closely match the data creation or collection time, perhaps after it has been processed or changed. Carefully synchronizing data publication to the update frequency encourages consumer confidence and data reuse.

Por que

A disponibilidade dos dados na Web deve corresponder rigorosamente à data de criação ou coleta dos dados, talvez após estes terem sido processados ou alterados. Sincronizar cuidadosamente a publicação dos dados com a frequência de atualização incentiva a confiança do consumidor e a reutilização dos dados.

Intended Outcome

Data on the Web will be updated in a timely manner so that the most recent data available online generally reflects the most recent data released via any other channel. When new data becomes available, it will be published on the Web as soon as practical thereafter.

Resultado Pretendido

Os dados na Web serão atualizados em tempo hábil para que os dados disponíveis mais recentes disponibilizados online reflitam em geral os dados mais recentes divulgados por qualquer outro canal. Quando novos dados estiverem disponíveis, serão publicados na Web o mais rapidamente possível.

Possible Approach to Implementation

New versions of the dataset can be posted to the Web on a regular schedule, following the Best Practices for Data Versioning. Posting to the Web can be made a part of the release process for new versions of the data. Making Web publication a deliverable item in the process and assigning an individual person as responsible for the task can help prevent data becoming out of date. To set consumer expectations for updates going forward, you can include human-readable text stating the expected publication frequency, and you can provide machine-readable metadata indicating the frequency as well.

Abordagem Possível para Implementação

Novas versões do conjunto de dados podem ser publicadas na Web em uma programação regular, seguindo as Boas Práticas para Versionamento de Dados. A publicação na Web pode fazer parte do processo de liberação de novas versões dos dados. Tornar a publicação na Web um item a ser entregue neste processo e nomear uma pessoa específica como responsável para esta tarefa pode ajudar a prevenir que os dados fiquem desatualizados. Para limitar as expectativas do consumidor por atualizações futuras, você pode incluir um texto inteligível por humanos com a frequência esperada de publicação e também fornecer metadados inteligíveis por máquinas indicando a frequência.

EXAMPLE 21

EXEMPLO 21

Suppose that the update frequency of the bus stops dataset is annual. In order to describe the frequency with which new data is added to the dataset, the property dct:accrualPeriodicity can be used. A new version of the dataset (stops-2016-05-05) is created to reflect the update schedule of the data. It is important to note that new versions can be created sooner than the schedule calls for, but the publisher should ensure that extra versions are published to the Web as quickly as their scheduled counterparts.

Suponha que a frequência de atualização do conjunto de dados dos pontos de ônibus seja anual. Para descrever a frequência com que novos dados são adicionados ao conjunto de dados, pode ser utilizada a propriedade dct:accrualPeriodicity. Para refletir o cronograma atualizado dos dados, é criada uma nova versão do conjunto de dados (stops-2016-05-05). É importante notar que novas versões podem ser criadas antes da data programada, porém o editor deve assegurar-se de que versões adicionais sejam publicadas na Web tão prontamente quanto as versões equivalentes programadas.

:stops-2016-05-05

     a dcat:Dataset ;

     dct:title “Bus stops of MyCity” ; Pontos de parada de MyCity

     dcat:keyword “transport”,”mobility”,”bus” ;

     dct:issued “2016-05-05″^^xsd:date ;

     …

     dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-A> ;

     …

     dct:isVersionOf :stops-2015-05-05 ;

     pav:previousVersion stops-2015-12-17 ;

rdfs:comment “O conjunto de dados entitulado pontos de ônibus (bus stops) foi atualizado para refletir a criação de novos pontos de parada de ônibus e para acompanhar seguir a frequência das atualizações”

     owl:versionInfo “1.2” ;

     pav:version “1.2”

     .

How to Test

Check that the update frequency is stated and that the most recently published copy on the Web is no older than the date predicted by the stated update frequency.

Como testar

Verifique se a frequência das atualizações encontra-se declarada e a última cópia publicada na Web não seja mais antiga do que a data prevista pela frequência de atualização declarada.

Evidence

Relevant requirements: R-AccessUptodate

Evidência

Requisitos relevantes: R-AccessUptodate

Benefits

Benefícios

R- Reutilização

A – Acessibilidade

Best Practice 22: Provide an explanation for data that is not available

For data that is not available, provide an explanation about how the data can be accessed and who can access it.

Boa Prática 22: Fornecer uma justificativa para dados não disponíveis

Para dados não disponibilizados, forneça uma explicação como podem ser acessados e quem pode fazê-lo.

Why

Por que

Publishing online documentation about unavailable data provides a means for publishers to explicitly identify knowledge gaps. This provides a contextual explanation for consumer communities thus encouraging use of the data that is available.

Publicar documentação online sobre dados não disponíveis fornece meios para que os editores identifiquem explicitamente lacunas de conhecimento. Isto fornece uma explicação contextual para comunidades de consumidores e desta forma incentiva o uso dos dados que estão disponíveis.

Intended Outcome

Consumers will know that data that is referred to from the current dataset is unavailable or only available under different conditions.

Resultado Pretendido

Os consumidores saberão que os dados referidos, extraídos do conjunto de dados corrente, não estão disponíveis ou podem ser disponibilizados sob condições diferentes.

Possible Approach to Implementation

Abordagem Possível para Implementação

Depending on the machine/human context there are a variety of ways to indicate data unavailability. Data publishers may publish an HTML document that gives a human-readable explanation for data unavailability. From a machine application interface perspective, appropriate HTTP status codes with customized human-readable messages can be used. Examples of status codes include: 303 (see other), 410 (permanently removed), 503 (service *providing data* unavailable).

Dependendo do contexto máquina/humanos, existem várias maneiras de indicar indisponibilidade de dados. Os editores de dados podem publicar um documento em HTML –  que dá uma explicação inteligível por humanos para a indisponibilidade de dados. Da perspectiva da interface de aplicação de uma máquina, podem ser utilizados códigos de status HTTP apropriados, com mensagens personalizadas e inteligíveis por humanos. Exemplos dos códigos de status incluem: 303 (veja outros), 410 (removido permanentemente), 503 (serviço *fornecer dados* não disponível).

EXAMPLE 22

EXEMPLO 22

The dataset created for the bus stops can contain sensitive data, for instance, information about the bus driver. In this case, the publisher provides an explanation informing potential users that the personal data about the bus driver is not available.

O conjunto de dados criado para os pontos de ônibus pode conter dados sensíveis de informações sobre o motorista do ônibus, por exemplo. Neste caso o editor fornece uma justificativa informando aos usuários em potencial que os dados pessoais sobre o motorista de ônibus não estão disponíveis.

How to Test

Where the dataset includes references to data that is no longer available or is not available to all users, check that an explanation of what is missing and instructions for obtaining access (if possible) are given. Check if a legitimate http response code in the 400 or 500 range is returned when trying to get unavailable data.

Como testar

Onde o  conjunto de dados incluir referências a dados que não estejam mais disponíveis ou não estejam disponíveis para todos os usuários, verifique se são concedidas explicações sobre o que está faltando e instruções para obter acesso (se possível). Verifique se um código de resposta HTTP legítimo é recebido na faixa de 400 ou 500 ao tentar obter dados indisponíveis.

Evidence

Relevant requirements: R-AccessLevel, R-SensitivePrivacy, R-SensitiveSecurity

Evidência

Requisitos Relevantes:  R-AccessLevel, R-SensitivePrivacy, R-SensitiveSecurity

Benefits

Benefícios

R- Reutilização

C – Confiança

8.10.1 Data Access APIs

8.10.1 APIs de Acesso de Dados

Best Practice 23: Make data available through an API

Offer an API to serve data if you have the resources to do so.

Boa Prática 23: Disponibilizar dados por meio de uma API

Ofereça uma API para servir os dados caso você tenha recursos para tanto.

Why

An API offers the greatest flexibility and processability for consumers of your data. It can enable real-time data usage, filtering on request, and the ability to work with the data at an atomic level. If your dataset is large, frequently updated, or highly complex, an API is likely to be the best option for publishing your data.

Por que

Uma API oferece aos consumidores de seus dados maior flexibilidade e processabilidade. Ela pode habilitar o uso de dados em tempo real, realizar filtragens a partir de solicitações e tem a capacidade de trabalhar com os dados em um nível atômico. Caso o seu conjunto de dados seja extenso, frequentemente atualizado ou altamente complexo, é provável que uma API seja a melhor opção para publicar seus dados.

Intended Outcome

Developers will have programmatic access to the data for use in their own applications, with data updated without requiring effort on the part of consumers. Web applications will be able to obtain specific data by querying a programmatic interface.

Resultado Pretendido

Os desenvolvedores terão acesso programático aos dados para usar em suas próprias aplicações, com os dados atualizados e sem exigir esforço por parte dos consumidores. As aplicalções da Web terão a capacidade de obter dados específicos consultando uma interface programática.

Possible Approach to Implementation

Creating an API is a little more involved than posting data for download. It requires some understanding of how to build a Web application. One need not necessarily to build one from scratch, however. If you use a data management platform, such as CKAN, you may be able to enable an existing API. Many Web development frameworks include support for APIs, and there are also frameworks written specifically for building custom APIs.

Rails (Ruby), Django (Python), and Express (NodeJS) are some example Web development frameworks that offer support for building APIs. Examples of API frameworks include Swagger, Apigility, Restify, and Restlet.

Abordagem possível para implementação

Criar uma API é um pouco mais complexo do que publicar dados para download. Demanda algum conhecimento de como construir uma aplicação da Web. No entanto, não é necessário construir uma a partir do zero. Caso utilizar uma plataforma de gerenciamento de dados, tal como a CKAN, você poderá habilitar uma API já existente. Muitas estruturas de desenvolvimento da Web incluem suporte para APIs e também existem estruturas projetadas especificamente para a construção de APIs personalizadas.

Rails (Ruby), Django (Python) e Express (NodeJS) são alguns exemplos de estruturas de desenvolvimento da Web que oferecem suporte para criação de APIs. Exemplos de estruturas API incluem Swagger, Apigility, Restify e Restlet.

EXAMPLE 23

EXEMPLO 23

Besides providing bulk downloads of data about public transport, Adrian decides to offer a more flexible data access mechanism. For this, he develops an API to offer access to bus stops, bus routes and real-time information about bus stops. See the examples of its use.

Além de fornecer downloads de dados em massa sobre transporte público, Adrian decide oferecer um mecanismo mais flexível para o acesso aos dados. Para tanto ele desenvolve uma API para oferecer acesso aos pontos de ônibus, às rotas de ônibus e às informações em tempo real sobre os pontos de ônibus. Consulte os exemplos deste uso.

How to Test

Check if a test client can simulate calls and the API returns the expected responses.

Como testar

Verifique se um cliente de teste pode simular chamadas que a API responda como previsto.

Evidence

Relevant requirements: R-AccessRealTime, R-AccessUpToDate

Evidência

Requisitos Relevantes:  R-AccessRealTime, R-AccessUpToDate

Benefits

Benefícios

R – Reutilização

P – Processabilidade

I – Interoperabilidade

A – Acessibilidade

Best Practice 24: Use Web Standards as the foundation of APIs

When designing APIs, use an architectural style that is founded on the technologies of the Web itself.

Boa Prática 24: Utilizar Padrões da Web como base para as APIs 

Ao desenvolver APIs, utilize um estilo arquitetural que tenha por base as tecnologias da própria Web.

Why

APIs that are built on Web standards leverage the strengths of the Web. For example, using HTTP verbs as methods and URIs that map directly to individual resources helps to avoid tight coupling between requests and responses, making for an API that is easy to maintain and can readily be understood and used by many developers. The statelessness of the Web can be a strength in enabling quick scaling, and using hypermedia enables rich interactions with your API.

Por que

As APIs construídas nos padrões da Web alavancam as forças da Web. Por exemplo, utilizar verbos HTTP como métodos e URLs que se orientam diretamente a recursos individuais, ajuda a evitar o acoplamento estreito entre solicitações e respostas, assim produzindo uma API que é de simples manutenção e pode ser facilmente compreendida e utilizada por muitos desenvolvedores. A apatridia da Web pode ser um reforço na permissão de um escalonamento rápido, e o uso da hipermídia possibilita ricas interações com a sua API.

Intended Outcome

Developers who have some experience with APIs based on Web standards, such as REST, will have an initial understanding of how to use the API. The API will also be easier to maintain

Resultado Pretendido

Desenvolvedores com alguma experiência em APIs com base nos padrões da Web, como REST, terão um entendimento inicial de como utilizar a API. A manutenção da API será também mais fácil.

Possible Approaches to Implementation

REST (REpresentational State Transfer)[Fielding][Richardson] is an architectural style that, when used in a Web API, takes advantage of the architecture of the Web itself. A full discussion of how to build a RESTful API is beyond the scope of this document, but there are many resources and a strong community that can help in getting started. There are also many RESTful development frameworks available. If you are already using a Web development framework that supports building REST APIs, consider using that. If not, consider an API-only framework that uses REST.

Another aspect of implementation to consider is making a hypermedia API, one that responds with links as well as data. Links are what make the Web a web, and data APIs can be more useful and usable by including links in their responses. The links can offer additional resources, documentation, and navigation. Even for an API that does not meet all the constraints of REST, returning links in responses can make for a service that is rich and self-documenting.

Abordagens possíveis para implementação

REST (REpresentational State Transfer)[Fielding][Richardson] é um estilo arquitetônico que, quando usado em uma API da Web, tira proveito da arquitetura da própria Web. Uma discussão completa sobre como criar uma API RESTful está além do escopo deste documento, porém existem muitos recursos e uma comunidade forte que pode auxiliar a iniciar este trabalho. Ademais há muitas estruturas de desenvolvimento RESTful disponíveis. Caso você já esteja usando uma estrutura de desenvolvimento da Web que suporte a construção de APIs REST, considere o uso desta. Caso contrário, considere uma estrutura somente de API que utilize REST.

Outro aspecto da implementação a considerar é fazer uma API de hipermídia, uma que responda com links bem como com dados. São os links que tornam a Web uma rede e APIs de dados podem ser mais úteis e utilizáveis com a inclusão de links nas suas respostas. Os links podem oferecer recursos adicionais, documentação e navegação. Mesmo para uma API que não atenda a todas as restrições do REST, retornar links nas respostas pode resultar em um serviço rico e autodocumentado.      

EXAMPLE 24

An example response for information about a certain bus route from a hypermedia API might look like the following:

EXEMPLO 24

Um exemplo de resposta para a solicitação de informações sobre uma determinada rota de ônibus fornecida por uma API de hipermídia pode ter a seguinte aparência:

{

         “code”: “200”,

         “text”: “OK”,

         “data”: {

                     “update_time”: “2013-01-01T03:00:02Z”,

                     “route_id”: “52”,

                     “route_name”: “Lexington South”,

                     “route_description”: “Corredor da Lexington  sul da Market”,

                     “route_type”: “3”

         },

         “links”: [{

   “href”: “http://data.mycity.example.com/transport/api/v2/routes/52”,

                     “rel”: “self”,

                     “type”: “application/json”,

                     “method”: “GET”

         }, {

 “href”: “http://data.mycity.example.com/transport/api/v2/routes”,

                     “rel”: “collection”,

                     “type”: “application/json”,

                     “method”: “GET”

         }, {

   “href”: “http://data.mycity.example.com/transport/api/v2/schedules/52”,

                     “rel”: “describedby”,

                     “type”: “application/json”,

                     “method”: “GET”

         }, {

   “href”: “http://data.mycity.example.com/transport/api/v2/maps/52”,

                     “rel”: “describedby”,

                     “type”: “application/json”,

                     “method”: “GET”

         }]

}

How to Test

Check that the service avoids using http as a tunnel for calls to custom methods, and check that URIs do not contain method names.

Como testar

Verifique se o serviço evita a utilização do http como um canal de chamadas destinadas a métodos personalizados, e verifique se os URLs não contêm nomes de métodos.

Evidence

Relevant requirements: R-APIDocumented, R-UniqueIdentifier

Evidência

Requisitos Relevantes:  R-APIDocumented, R-UniqueIdentifier

Benefits

Benefícios

R – Reutilização

C – Conectividade

I – Interoperabilidade

E – Encontrabilidade

A – Acessibilidade

P – Processabilidade

Best Practice 25: Provide complete documentation for your API

Provide complete information on the Web about your API. Update documentation as you add features or make changes.

Boa Prática 25: Fornecer a documentação completa para sua API 

Forneça informações completas na Web sobre sua API. Atualize a documentação conforme adicionar características ou introduzir modificações.

Why

Developers are the primary consumers of an API and the documentation is the first clue about its quality and usefulness. When API documentation is complete and easy to understand, developers are probably more willing to continue their journey to use it. Providing comprehensive documentation in one place allows developers to code efficiently. Highlighting changes enables your users to take advantage of new features and adapt their code if needed.

Por que

Os desenvolvedores são os principais consumidores de uma API e a documentação é a primeira indicação sobre a qualidade e utilidade da mesma. Quando a documentação da API é completa e fácil de compreender, os desenvolvedores provavelmente ficarão mais dispostos a continuar utilizando-a. Fornecer a documentação de forma abrangente em um único lugar permite que os desenvolvedores possam codificar com eficiência.  Realçar as modificações proporciona aos usuários que aproveitem os novos recursos e ajustem seus próprios códigos, se necessário.

Intended Outcome

Developers will be able to obtain detailed information about each call to the API, including the parameters it takes and what it is expected to return, i.e., the whole set of information related to the API. The set of values — how to use it, notices of recent changes, contact information, and so on — should be described and easily browsable on the Web. It will also enables machines to access the API documentation in order to help developers build API client software.

Resultado Pretendido

Os desenvolvedores serão capazes de obter informações detalhadas sobre cada chamada à API, inclusive os parâmetros que suporta e quais se espera que retorne, como por exemplo, o conjunto completo das informações referentes à API. O conjunto de valores – como utilizá-la, aviso de modificações recentes, informações de contato e assim por diante – deve ser descrito e facilmente navegável na Web. Isto irá permitir também que as máquinas acessem a documentação da API de forma a auxiliar os desenvolvedores a construir um software API para os clientes.  

Possible Approach to Implementation

A typical API reference provides a comprehensive list of the calls the API can handle, describing the purpose of each one, detailing the parameters it allows and what it returns, and giving one or more examples of its use. One nice trend in API documentation is to provide a form in which developers can enter specific calls for testing, to see what the API returns for their use case. There are now tools available for quickly creating this type of documentation, such as Swagger, io-docs, OpenApis, and others. It is important to say that the API should be self-documenting as well, so that calls return helpful information about errors and usage. API users should be able to contact the maintainers with questions, suggestions, or bug reports.

The quality of documentation is also related to usage and feedback from developers. Try to get constant feedback from your users about the documentation.

Abordagem Possível para Implementação

Uma referência típica de API fornece uma lista abrangente das chamadas que a API pode suportar, com a descrição do propósito de cada uma, detalhando os parâmetros que esta permite, assim como quais retorna, e dando um ou mais exemplos de seu uso. Uma tendência interessante na documentação de API é fornecer um formulário no qual os desenvolvedores possam inserir chamadas específicas para testes, para ver o que a API retorna para seus casos de utilização. Já existem ferramentas disponíveis para criar este tipo de documentação de forma rápida, como  Swagger, io-docs, OpenApis e outras. É importante dizer que a API também deve ser autodocumentada, de forma que as chamadas retornem informações úteis sobre erros e utilização. Os usuários da API devem poder entrar em contato com os mantenedores com perguntas, sugestões ou relatórios de bugs. A qualidade da documentação também está relacionada ao uso e feedback dos desenvolvedores. Tente obter feedbacks constantes de seus usuários sobre documentação. 

EXAMPLE 25

In order to help developers, the transport agency offers a complete documentation about the API that provides access to data about bus stops and routes. The API documentation includes a list of the calls handled by the API, the corresponding parameters and some examples.

EXEMPLO 25

Visando ajudar os desenvolvedores, o Departamento de Transportes oferece uma documentação completa sobre a API que fornece acesso a dados sobre pontos de ônibus e rotas. A  documentação da API inclui uma lista das chamadas suportadas pela API, os respectivos parâmetros e alguns exemplos.

How to Test

Check that every call enabled by your API is described in your documentation. Make sure you provide details of what parameters are required or optional and what each call returns.

Check the Time To First Successful Call (i.e. being capable of doing a successful request to the API within a few minutes will increase the chances that the developer will stick to your API).

Como testar

Verifique se todas as chamadas habilitadas por sua API estão descritas na sua documentação. Assegure-se de estar fornecendo detalhes sobre quais parâmetros são necessários e quais são opcionais, e o que cada chamada retorna. Verifique o Tempo para a Primeira Chamada Bem Sucedida (por exemplo, ser capaz de fazer um pedido com sucesso à API em poucos minutos aumentará as possibilidades do desenvolvedor continuar a usar a sua API).

Evidence

Relevant requirements: R-APIDocumented

Evidência

Requisitos Relevantes:  R-APIDocumented

Benefits

Benefícios

R- Reutilização

C- Confiabilidade

Best Practice 26: Avoid Breaking Changes to Your API

Avoid changes to your API that break client code, and communicate any changes in your API to your developers when evolution happens.

Boa Prática 26: Evitar Modificações que Quebrem sua API

Evite modificações à sua API que quebrem o código do cliente e, quando houver evolução, informe seus desenvolvedores sobre quaisquer modificações feitas na sua API.

Why

When developers implement a client for your API, they may rely on specific characteristics that you have built into it, such as the schema or the format of a response. Avoiding breaking changes in your API minimizes breakage to client code. Communicating changes when they do occur enables developers to take advantage of new features and, in the rare case of a breaking change, take action.

Por que

Quando desenvolvedores implementam um cliente à sua API, podem estar contando com características específicas que você incorporou à API, tais como o esquema ou o formato de uma resposta. Evitar modificações que quebrem sua API minimiza a quebra no código do cliente. Comunicar as modificações quando estas ocorrerem permite aos desenvolvedores beneficiarem-se de novos recursos e, no caso raro em que haja uma modificação que quebre a API, tomem providências.

Intended Outcome

Developer code will continue to work. Developers will know of improvements you make and be able to make use of them. Breaking changes to your API will be rare, and if they occur, developers will have sufficient time and information to adapt their code. That will enable them to avoid breakage, enhancing trust. Changes to the API will be announced on the API’s documentation site.

Resultado Pretendido

O código do desenvolvedor continuará a operar. O desenvolvedor irá saber das melhorias que você implementou e poderá utilizá-las. Modificações que quebrem sua API serão raras e, caso sejam necessárias, os desenvolvedores terão tempo e informação suficientes para ajustar seus códigos. Isto os possibilitará evitar as quebras, aumentando a confiança. Modificações à API serão anunciadas no site de documentação da API.

Possible Approach to Implementation

When improving your API, focus on adding new calls or new options rather than changing how existing calls work. Existing clients can ignore such changes and will continue functioning.

Abordagem Possível para Implementação

Ao enriquecer sua API, concentre-se em adicionar novas chamadas ou novas opções em vez de modificar a maneira como as chamadas existentes operam. Os clientes existentes podem ignorar tais modificações e continuarão a funcionar.

If using a fully RESTful style, you should be able to avoid changes that affect developers by keeping resource URIs constant and changing only elements that your users do not code to directly. If you need to change your data in ways that are not compatible with the extension points that you initially designed, then a completely new design is called for, and that means changes that break client code. In that case, it’s best to implement the changes as a new REST API, with a different resource URI.

If using an architectural style that does not allow you to make moderately significant changes without breaking client code, use versioning. Indicate the version in the response header. Version numbers should be reflected in your URIs or in request “accept” headers (using content negotiation). When versioning in URIs, include the version number as far to the left as possible. Keep the previous version available for developers whose code has not yet been adapted to the new version.

Caso estiver usando um estilo RESTful de forma integral, você deve ser capaz de evitar modificações que afetam os desenvolvedores, mantendo URIs de recurso constantes e modificar somente elementos que seus usuários não codifiquem diretamente. Caso precise alterar seus dados de uma maneira não compatível com os pontos de extensão que você projetou inicialmente, então será necessário um design completamente novo – e isto significa modificações que quebram o código do cliente. Neste caso é melhor implementar as alterações como uma nova REST API, com um URI de recurso diferente. 

Se você está utilizando um estilo de arquitetura que não permite fazer alterações moderadamente significantes sem quebrar o código do cliente, utilize o versionamento. Indique a versão no cabeçalho de resposta. Os números da versão devem estar refletidos em seus URIs ou nos cabeçalhos de solicitação de “aceite” (usando negociação do conteúdo). Ao utilizar o versionamento nos URIs, inclua o número da versão o mais à esquerda o possível.  Mantenha a versão anterior disponível para os desenvolvedores cujos códigos ainda não foram adaptados à nova versão.

EXAMPLE 26

Some examples of breaking changes to an API include:

  • Removing a call;
  • Changing the method used to make a call;
  • Changing the URI of a resource used in a call;
  • Adding a required parameter for a call;
  • Changing the data type of a parameter;
  • Changing the name of a key in a key-value response;
  • Changing the structure of an XML response
  • Changing the data type of a value in a response, such as changing a string to an array;

EXEMPLO 26

Alguns exemplos de modificações que quebram uma API são:

  • Remover uma chamada;
  • Alterar o método usado para fazer uma chamada;
  • Alterar o URI de um recurso utilizado em uma chamada;
  • Adicionar um parâmetro necessário para uma chamada;
  • Alterar o tipo de dado de um parâmetro;
  • Alterar o nome de uma chave em uma resposta valor-chave;
  • Alterar a estrutura de uma resposta XML
  • Alterar o tipo de dado de um valor em uma resposta; como, por exemplo, alterar um string para um arranjo.

Suppose the MyCity transit agency’s API responds to a request for a certain bus’s arrival time at a single station as http://data.mycity.example.com/transport/api/arrivals/buses/53/stop/12, but the agency decides it wants to make it possible to query for a range of stops at once. Rather than change the form of the request to require a range, like http://data.mycity.example.com/transport/api/arrivals/buses/53/stop/12-12, the agency can keep the old API call and add a new one for multiple arrivals, like http://data.mycity.example.com/transport/api/arrivals/buses/53/stops/1-12.

To notify users directly of changes, it is a good idea to create a mailing list and encourage developers to join. You can then announce changes there, and this provides a nice mechanism for feedback as well. It also allows your users to help each other.

Suponha que a API do Departamento de Trânsito de MyCity responda a uma solicitação sobre o horário de chegada de um determinado ônibus a uma estação como  http://data.mycity.example.com/transport/api/arrivals/buses/53/stop/12, porém o Departamento decide que quer que seja possível consultar sobre diversas paradas de uma só vez. Em vez de alterar o formulário de solicitação para pedir uma série, como em http://data.mycity.example.com/transport/api/arrivals/buses/53/stop/12-12, o Departamento pode manter a antiga chamada da API e adicionar uma nova para chegadas múltiplas, como http://data.mycity.example.com/transport/api/arrivals/buses/53/stops/1-12

Para notificar aos usuários diretamente sobre as modificações, é uma boa ideia criar uma lista de discussão e incentivar os desenvolvedores a subscreverem-se. Por este meio, você poderá anunciar modificações e proporcionar também um bom mecanismo para receber feedbacks. Ademais a lista permite que os usuários ajudem-se mutuamente.

How to Test

Release changes initially to a test version of your API before applying them to the production version. Invite developers to test their applications on the test version and provide feedback.

Como testar

Libere modificações inicialmente para uma versão de teste da sua API antes de inseri-las na versão de produção. Convide os desenvolvedores a testar suas aplicações na versão de teste e  fornecer feedbacks.

Evidence

Relevant requirements: R-PersistentIdentification, R-APIDocumented:

Evidência

Requisitos Relevantes:  R-PersistentIdentification, R-APIDocumented

Benefits

Benefícios

C- Confiança

I – Interoperabilidade

8.11 Data Preservation

8.11 Preservação de Dados

The working group recognizes that it is unrealistic to assume that all data on the Web will be available on demand at all times into the indefinite future. For a wide variety of reasons, data publishers are likely to want or need to remove data from the live Web, at which point it moves out of scope for the current work and into the scope of data archivists. What is in scope here, however, is what is left behind, that is, what steps should publishers take to indicate that data has been removed or archived. Simply deleting a resource from the Web is bad practice. In that circumstance, dereferencing the URI would lead to an HTTP Response code of 404 that tells the user nothing other than that the resource was not found. The following Best Practices offer more productive approaches.

O grupo de trabalho reconhece que não é realista assumir que todos os dados da Web estarão disponíveis, sob demanda, o tempo todo até um futuro indefinido. Por uma ampla gama de motivos, os editores provavelmente irão querer ou precisar remover dados da Web ao vivo – ponto o qual foge do escopo do presente trabalho para entrar na área dos arquivistas de dados.O que faz parte do escopo aqui, no entanto, é o que é deixado para trás – isto é, quais passos devem ser dados pelos editores para indicar quais dados foram removidos ou arquivados. Simplesmente delatar um recurso da Web é uma má prática. Nesta circunstância, desreferenciar o URI conduziria a um código de resposta HTTP 404, que simplesmente informa ao usuário que o recurso não foi encontrado – nada além disto.  As Boas Práticas a seguir oferecem abordagens mais produtivas.

Best Practice 27: Preserve identifiers

When removing data from the Web, preserve the identifier and provide information about the archived resource.

Boa Prática 27: Preservar os identificadores

Ao remover dados da Web, preserve o identificador e forneça informações sobre o recurso arquivado. 

Why

URI dereferencing is the primary interface to data on the Web. If dereferencing a URI leads to the infamous 404 response code (Not Found), the user will not know whether the lack of availability is permanent or temporary, planned or accidental. If the publisher, or a third party, has archived the data, that archived copy is much less likely to be found if the original URI is effectively broken.

Por que

O desreferenciamento do URI é a interface primária para os dados na Web. Caso o desreferenciamento de um URI conduza ao infame código 404 (Não Encontrado), o usuário não saberá se a falta de disponibilidade é permanente ou temporária, planejada ou acidental. Caso o editor ou um terceiro tenha arquivado o dado, é muito menos provável que aquela cópia arquivada possa ser encontrada se o URI esteja efetivamente quebrado.

Intended Outcome

The URI of a resource will always dereference to the resource or redirect to information about it.

Resultado Pretendido

O URI de um recurso irá sempre desreferenciar para o recurso ou redirecionar para informações a respeito.

Possible Approach to Implementation

Abordagem Possível para Implementação

There are two scenarios to consider:

Há dois cenários a considerar:

  1. the resource has been deleted entirely and is no longer available via any route;

O recurso foi totalmente deletado e não está mais disponível através de nenhuma rota;

2.the resource has been archived and is only available through a request to the archive.

O recurso foi arquivado e está disponível somente por meio de uma solicitação ao arquivo.

In the first of these cases, the server should be configured to respond with an HTTP Response code of 410 (Gone). (From the specification:

No primeiro caso, o servidor deve ser configurado para responder com um código de Resposta HTTP 410 (Perdido).  A partir da especificação:

The 410 response is primarily intended to assist the task of Web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that resource be removed.

A resposta 410 destina-se principalmente a auxiliar na tarefa de manutenção da Web notificando o recipiente de que o recurso encontra-se intencionalmente indisponibilizado e os proprietários do servidor desejam que os links remotos para este recurso sejam removidos.

In the second case, where data has been archived, it is more appropriate to redirect requests to a Web page giving information about the archive that holds the data and how a potential user can access it.

No segundo caso, em que os dados tenham sido arquivados, é mais apropriado redirecionar as solicitações para uma página da Web que forneça informações sobre o arquivo no qual os dados estão armazenados e como um usuário em potencial pode acessá-lo.

In both cases, the original URI continues to identify the resource and leads to useful information, even though the data is no longer directly available.

Em ambos os casos, o URI original continua identificando o recurso e apontando para informações úteis – mesmo que o dado já não se encontre diretamente disponível.

EXAMPLE 27

Adrian decides to archive versions of the bus stop data that have been superseded by more recent versions for at least a year, such as the version from 2012-03-30. The server is configured such that requests for the March 2012 dataset are redirected, using HTTP Code 303, to a Web page that includes the following notice.

EXEMPLO 27

Adrian decide arquivar versões de dados de pontos de ônibus que tenham sido substituídas por versões mais recentes há pelo menos um ano – como a versão de 30-03-2012. O servidor é configurado de tal forma que as solicitações para o conjunto de dados de março de 2012 sejam redirecionadas a uma página da Web, utilizando um Código HTTP 303, que inclui a seguinte notificação:

Archived

Arquivado

The data you requested has been archived. This is inline with the MyCity policy of archiving data that was superseded more than 12 months ago. However, a copy can be requested at any time via the contact page.

Os dados que você solicitou foram arquivados. Isto está de acordo com a política de MyCity de arquivamento de dados substituídos há mais de 12 meses. No entanto, pode-se solicitar uma cópia a qualquer momento por meio da página de contato.

How to Test

Check that dereferencing the URI of a dataset that is no longer available returns information about its current status and availability, using either a 410 or 303 Response Code as appropriate.

Como Testar

Garanta que a desreferência de um URI de um conjunto de dados que não esteja mais disponível retorne informações tanto sobre a situação atual quanto sobre a disponibilidade do conjunto de dados em questão – seja utilizando o código de resposta 410 ou o código 303, conforme o mais apropriado.

Evidence

Relevant requirements:R-AccessLevel, R-PersistentIdentification

Evidência

Requisitos Relevantes: R-AccessLevel, R-PersistentIdentification

Benefits

Benefícios

R – Reutilização

C- Confiabilidade

Best Practice 28: Assess dataset coverage

Assess the coverage of a dataset prior to its preservation.

Boa Prática 28: Avaliar a cobertura do conjunto de dados

Avalie a cobertura de um conjunto de dados antes de sua preservação.

Why

A chunk of Web data is by definition dependent on the rest of the global graph. This global context influences the meaning of the description of the resources found in the dataset. Ideally, the preservation of a particular dataset would involve preserving all its context. That is the entire Web of Data.

Por Que

Uma bloco de dados da Web é, por definição, dependente do resto do gráfico global. Este contexto global influencia o sentido da descrição dos recursos encontrados no conjunto de dados. Idealmente, a preservação de um determinado conjunto de dados envolveria a conservação de todo o seu contexto. Ou seja, toda a Web dos Dados.

At the time of archiving, an evaluation of the linkage of the dataset dump to already preserved resources, and the vocabularies used, needs to be assessed. Datasets for which very few of the vocabularies used and/or resources pointed to are already preserved somewhere should be flagged as being at risk.

Na momento de arquivar é necessário avaliar as conexões do descarte do conjunto de dados para recursos já preservados e para os vocabulários utilizados. Conjuntos de dados os quais poucos dos vocabulários utilizados e/ou recursos apontados já se encontram  preservados em algum lugar devem ser assinalados como em risco.

Intended Outcome

Users will be able to make use of archived data well into the future.

 Resultado Pretendido

Os usuários poderão fazer uso dos dados arquivados por muito tempo.

Possible Approach to Implementation

Check whether all the resources used are either already preserved somewhere or need to be provided along with the dataset being considered for preservation.

Abordagem Possível para Implementação

Verifique se todos os recursos utilizados já se encontram preservados em algum lugar ou precisam ser fornecidos junto com o conjunto de dados que está sendo considerado para preservação.

EXAMPLE 28

An RDF dataset targeted for preservation is made of the following triples:

 http://data.mycity.example.com/transport/route/bus/ABtimetable

EXEMPLO 28

Um conjunto de dados RDF direcionado para preservação consiste dos seguintes  triplos: 

http://data.mycity.example.com/transport/route/bus/ABtimetable

      a gtfs:Route ;

  a gtfa Rota:

     gtfs:color “ff0000” ;

     gtfs:color “ff0000”;

     gtfs:shortname “10” ;

  gtfs:nome curta”10”

     gtfs:longName “Airport – Bullfrog” ;

  nome comprido “Airport-Bullfrog”

     gtfs:agency <http://data.mycity.example.com/transport-agency/DTA> ;

  gtfs:agency <http://data.mycity.example.com/transport-agency/DTA>

     gtfs:routeType ex:three ;

  gtfs:rota Tipo ex:três

     ex:usualVehicleType dbpedia:Routemaster ;

     foaf:isPrimaryTopicOf ex:Airport_Bullfrog

     .

 <http://data.mycity.example.com/ransport/route/bus/BFC>

     a gtfs:Route ;

     gtfs:color “ffff00” ;

     gtfs:shortname “20” ;

     gtfs:longName “Bullfrog – Furnace Creek Resort” ;

     gtfs:agency <http://data.mycity.example.com/transport-agency/DTA> ;

     gtfs:routeType ex:three ;

     ex:usualVehicleType dbpedia:Articulated_bus ;

     foaf:isPrimaryTopicOf ex:Bullfrog_Furnace_Creek_Resort

Those triples make use of the “gtfs” vocabulary and a custom one defined in the testing domain name “ex”. It also uses entities defined in “foaf”, “dbpedia” and “ex”. Although not formal standards, FOAF and GTFS [GTFS] are well established ontologies that are archived in several places on the Web (see, for instance, the LOV repository). Entities defined in DBpedia are also preserved through their Memento gateway and archived dumps of the dataset also exist. The risks associated to preserving the triple making use of those external resource is thus minimal. A bigger concern arises from the usage made of resources defined in “ex” which is a namespace that, by design, does not exist outside of the dataset. Unless the data describing “ex:usualVehicleType”, “ex:Airport_Bullfrog” and “ex:Bullfrog_Furnace_Creek_Resort” is preserved alongside those triples their contextual meaning will be lost.This is particularly critical for “ex:usualVehicleType” as without it the relationship between the described route and the dbpedia resources will be unknown to a consuming application (however obvious it may be to a human).

Estes triplos utilizam o vocabulário “gtfs” e um vocabulário personalizado definido no domínio de teste “ex”. Também utilizam entidades definidas em “foaf”, “dbpedia”  e “ex”. Embora não sejam padrões formais, FOAF e GTFS [GTFS] são ontologias bem estabelecidas, arquivadas em vários lugares na Web (veja, por exemplo,  o repositório LOV).  Entidades definidas em DBpedia são preservadas por meio de sua gateway Memento e também há descartes arquivados de conjuntos de dados. Os riscos relacionados à preservação do triplo fazendo uso deste recurso externo são mínimos. Uma preocupação maior surge da utilização de recursos definidos em “ex”, um espaço de nome que, por seu design, não existe fora do conjunto de dados. A não ser que as descrições dos dados “ex:usualVehicleType”, “ex:Airport_Bullfrog” e “ex:Bullfrog_Furnace_Creek_Resort”  sejam preservadas juntamente com os triplos, seu sentido contextual será perdido. Este fato é especialmente crítico  para “ex:usualVehicleType”, pois sem ele a relação entre a rota descrita e os recursos dboedia será desconhecida para uma aplicação de consumidor (por mais óbvio que possa ser para um humano).

Considering this assessment, a revised dataset including the definition of “ex:usualVehicleType” can be considered for preservation:

Considerando esta avaliação, um conjunto de dados revisado, incluindo a definição de “ex:usualVehicleType”, pode ser considerado para preservação:

<http://data.mycity.example.com/transport/route/bus/AB> a gtfs:Route;

     gtfs:color “ff0000” ;

     gtfs:shortname “10” ;

     gtfs:longName “Airport – Bullfrog” ;

     gtfs:agency <http://data.mycity.example.com/transport-agency/DTA> ;

     gtfs:routeType ex:three ;

     ex:usualVehicleType dbpedia:Routemaster ;

     foaf:isPrimaryTopicOf ex:Airport_Bullfrog

     .

 <http://data.mycity.example.com/transport/route/bus/BFC>

     a gtfs:Route;

     gtfs:color “ffff00”;

     gtfs:shortname “20”;

     gtfs:longName “Bullfrog – Furnace Creek Resort”;

     gtfs:agency <http://data.mycity.example.com/transport-agency/DTA>;

     gtfs:routeType ex:three;

     ex:usualVehicleType dbpedia:Articulated_bus;

     foaf:isPrimaryTopicOf ex:Bullfrog_Furnace_Creek_Resort

     .

 …

 # Custom vocabulary element

 ex:usualVehicleType

     a rdf:Property ;

     rdfs:subPropertyOf gtfs:routeType ;

     rdfs:range gtfs:Bus

     .

This second, more complete, dataset is better suited for preservation as it is more self-describing and only makes use of external entities whose preservation is trusted.

Este segundo e mais completo conjunto de dados adapta-se melhor à preservação, pois é mais autodescritivo e utiliza somente entidades externas, cuja preservação seja confiável.

How to Test

It is impossible to determine what will be available in, say, 50 years’ time. However, one can check that an archived dataset depends only on widely used external resources and vocabularies. Check that unique or lesser-used dependencies are preserved as part of the archive.

Como testar

Não é possível determinar o que estará disponível em, digamos, 50 anos.  No entanto, pode-se verificar se um conjunto de dados arquivado depende unicamente de recursos e vocabulários externos de ampla utilização. Verifique se as dependências exclusivas ou pouco utilizadas estão preservadas como parte do arquivo.

Evidence

Relevant requirements:R-VocabReference

Evidências

Requisitos Relevantes: R-VocabReference

Benefits

Benefícios

8.12 Feedback

8.12 Feedback

Publishing on the Web enables data sharing on a large scale to a wide range of audiences with different levels of expertise. Data publishers want to ensure that the data published is meeting the data consumer needs and for this purpose, user feedback is crucial. Feedback has benefits for both publishers and consumers, helping data publishers to improve the integrity of their published data, as well as encouraging the publication of new data. Feedback allows data consumers to have a voice describing usage experiences (e.g. applications using data), preferences and needs. When possible, feedback should also be publicly available for other data consumers to examine. Making feedback publicly available allows users to become aware of other data consumers, supports a collaborative environment, and allows user community experiences, concerns or questions are currently being addressed.

Publicar material na Web viabiliza o compartilhamento de dados em grande escala para uma diversidade de públicos com diferentes níveis de perícia. Os editores de dados querem garantir que os dados publicados atendam às necessidades dos consumidores de dados e, para esta finalidade, o feedback dos usuários é crucial. O feedback traz benefícios tanto para editores como consumidores, ajudando os primeiros a melhorar a integridade de seus dados publicados, assim como incentivando-os a publicar novos dados. O feedback permite aos consumidores de dados terem uma voz descrevendo experiências de uso (por exemplo, aplicações usando dados), preferências e necessidades. Quando possível, o feedback também deve ser disponibilizado publicamente para que outros consumidores de dados possam examiná-lo. Disponibilizar o feedback publicamente permite aos usuários conscientizarem-se de outros consumidores de dados, incentiva um ambiente colaborativo e possibilita que suas experiências comunitárias, preocupações ou perguntas sejam sempre atendidas.

From a user interface perspective there are different ways to gather feedback from data consumers, including site registration, contact forms, quality ratings selection, surveys and comment boxes for blogging. From a machine perspective the data publisher can also record metrics on data usage or information about specific applications that use the data. Feedback such as this establishes a communication channel between data publishers and data consumers. Publicly available feedback should be displayed in a human-readable form.

This section provides some Best Practices to be followed by data publishers in order to enable consumers to provide feedback. This feedback can be for humans or machines.

Da perspectiva da interface do usuário existem diversas maneiras para coletar feedback dos consumidores de dados, incluindo o registro no site, formulários de contato, seleção de avaliações de qualidade, pesquisas e caixas de comentários para blogs. Sob a perspectiva de de uma máquina, o editor pode também registrar métricas sobre utilização de dados ou informações sobre aplicações específicas que utilizam os dados. Feedbacks como estes estabelecem um canal de comunicação entre editores e consumidores de dados. Feedback disponibilizado publicamente deve ser exibido em um formato inteligível por humanos.

Esta seção fornece algumas Boas Práticas a serem seguidas por editores de dados visando possibilitar que os consumidores deem feedback. Tal feedback pode servir para humanos ou máquinas.

Best Practice 29: Gather feedback from data consumers

Provide a readily discoverable means for consumers to offer feedback.

Boa Prática 29: Coletar feedback de consumidores de dados

Fornecer meios facilmente encontráveis para que os consumidores deem feedback.

Why

Obtaining feedback helps publishers understand the needs of their data consumers and can help them improve the quality of their published data. It also enhances trust by showing consumers that the publisher cares about addressing their needs. Specifying a clear feedback mechanism removes the barrier of having to search for a way to provide feedback.

Por que

Receber feedback ajuda os editores a compreender as necessidades de seus consumidores de dados, além de auxiliá-los a melhorar a qualidade de seus dados publicados. Também aumenta a confiabilidade ao demonstrar aos consumidores que o editor se importa e preocupa-se em atender à suas necessidades. Especificar claramente um mecanismo de feedback remove a inconveniência para o consumidor de ter que procurar uma maneira de fornecer feedback.

Intended Outcome

Data consumers will be able to provide feedback and ratings about datasets and distributions.

Resultado Pretendido

Os consumidores de dados poderão fornecer feedback e avaliações sobre os conjuntos de dados e distribuições.

Possible Approach to Implementation

Provide data consumers with one or more feedback mechanisms including, but not limited to, a contact form, point and click data quality rating buttons, or a comment box. In order to make the most of feedback received from consumers, it is a good idea to collect the feedback with a tracking system that captures each item in a database, enabling quantification and analysis. It is also a good idea to capture the type of each item of feedback, i.e., its motivation (editing, classifying [rating], commenting or questioning), so that each item can be expressed using the Dataset Usage Vocabulary [VOCAB-DUV].

Abordagem Possível para implementação.

Forneça aos consumidores de dados um ou mais mecanismos para o envio de feedback, incluindo (mas não limitando a) um formulário de contato, teclas de apontar ou clicar para avaliação de qualidade de dados ou uma caixa de comentários. Para aproveitar ao máximo o feedback recebido de consumidores, uma boa ideia é coletá-lo por meio de um sistema de rastreamento que captura cada item em uma base de dados, assim permitindo quantificação e análise. Outra boa ideia é a captura por tipo de item de feedback; por exemplo, sua motivação (edição, classificação [avaliação], comentário ou questionamento), de maneira que cada item possa ser expresso utilizando o Vocabulário de Uso de Conjuntos de Dados [VOCAB-DUV].

EXAMPLE 29

Example feedback form

EXEMPLO 29

Exemplo de formulário de feedback

How to Test

Check that at least one feedback mechanism is provided and readily discoverable by data consumers.

Como testar

Verifique se pelo menos um mecanismo de feedback foi fornecido e se este pode ser facilmente encontrável por consumidores de dados.

Evidence

Relevant requirements: R-UsageFeedback, R-QualityOpinions

Evidência

Requisitos Relevantes:  R-UsageFeedback, R-QualityOpinions

Benefits

Benefícios

R – Reutilização

C- Compreensão

C – Confiabilidade

Best Practice 30: Make feedback available

Make consumer feedback about datasets and distributions publicly available.

Boa Prática 30: Disponibilizar feedback       

Disponibilize publicamente mecanismos de feedback de consumidor sobre conjuntos de dados e distribuições.

Why

By sharing feedback with consumers, publishers can demonstrate to users that their concerns are being addressed, and they can avoid submission of duplicate bug reports. Sharing feedback also helps consumers understand any issues that may affect their ability to use the data, and it can foster a sense of community among them.

Por que

Ao compartilhar feedback com consumidores, os editores demonstram aos usuários que suas considerações estão sendo levadas em conta, e podem evitar o envio de relatórios de bug duplicados. Compartilhar feedback também ajuda os consumidores a compreender quaisquer questões que possam afetar sua capacidade de utilizar dados, assim como fomenta um sentido de comunidade entre eles.

Intended Outcome

Consumers will be able to assess the kinds of errors that affect the dataset, review other users’ experiences with it, and be reassured that the publisher is actively addressing issues as needed. Consumers will also be able to determine whether other users have already provided similar feedback, saving them the trouble of submitting unnecessary bug reports and sparing the maintainers from having to deal with duplicates.

Resultado Pretendido

Os consumidores serão capazes de avaliar os tipos de erros que afetam o conjunto de dados, analisar as experiências de outros usuários com o mesmo e assegurar-se de que o editor está abordando ativamente os problemas conforme o necessário. Também poderão determinar se outros usuários já forneceram feedbacks semelhantes, aliviando-os do trabalho de enviar relatórios desnecessários e evitando que os mantenedores tenham que lidar com duplicidade. 

Possible Approach to Implementation

Feedback can be available as part of an HTML Web page, but it can also be provided in a machine-readable format using the Dataset Usage Vocabulary [VOCAB-DUV].

Abordagem Possível para a Implementação

O feedback pode ficar disponível como parte de uma página da Web em HTML, mas também pode ser fornecido em um formato inteligível por máquinas utilizando o Vocabulário de Uso de Conjuntos de Dados [VOCAB-DUV]

EXAMPLE 30

EXEMPLO 30

 :stops-2015-05-05

     a dcat:Dataset ;

     dct:title “Bus stops of MyCity” ;

     dcat:keyword “transport”,”mobility”,”bus” ;

     dct:issued “2015-05-05″^^xsd:date ;

     dcat:contactPoint <http://data.mycity.example.com/transport/contact> ;

     dct:temporal <http://reference.data.gov.uk/id/year/2015> ;

     dct:spatial <http://sws.geonames.org/3399415> ;

     dct:publisher :transport-agency-mycity ;

     dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-A> ;

     dcat:theme :mobility ;

     dcat:distribution :stops-2015-05-05.csv

     .

 :stops-2015-05-05.csv

     a dcat:Distribution ;

     dct:title “CSV distribution of stops-2015-05-05 dataset” ;

     dct:description “CSV distribution of the bus stops dataset of MyCity” ;

     dcat:mediaType “text/csv;charset=UTF-8”

     .

 :comment1Content

     a oa:TextualBody ;

     rdf:value “This dataset is missing stop 3”

     .

 :comment1

     a oa:Annotation ;

     a duv:UserFeedback ;

     oa:hasBody :comment1Content ;

     oa:hasTarget :stops-2015-05-05 ;

     dct:creator :localresident ;

     oa:motivatedBy oa:assessing

     .    

 :comment2Content

     a oa:TextualBody ;

     rdf:value “Are tab delimited formats also available?”

     .

 :comment2

     a oa:Annotation ;

     a duv:UserFeedback ;

     oa:hasBody :comment2Content ;

     oa:hasTarget :stops-2015-05-05.csv ;    

     dct:creator :localresident ;

     oa:motivatedBy oa:assessing

     .

 :localresident

     a foaf:Person ;

     foaf:Name “Alan Law”

     .

How to Test

Check that any feedback given by data consumers for a specific dataset or distribution is publicly available.

Como Testar

Verifique se qualquer feedback fornecido por consumidores de dados para um determinado conjunto de dados ou distribuição esteja publicamente disponível.

Evidence

Relevant requirements: R-UsageFeedback, R-QualityOpinions

Evidência

Requisitos Relevantes:   R-UsageFeedback, R-QualityOpinions

Benefits

Benefícios

R – Reutilização

C – Confiabilidade

8.13 Data Enrichment

Data enrichment refers to a set of processes that can be used to enhance, refine or otherwise improve raw or previously processed data. This idea and other similar concepts contribute to making data a valuable asset for almost any modern business or enterprise. It is a diverse topic in itself, details of which are beyond the scope of the current document. However, it is worth noting that some of these techniques should be approached with caution, as ethical concerns may arise. In scientific research, care must be taken to avoid enrichment that distorts results or statistical outcomes. For data about individuals, privacy issues may arise when combining datasets. That is, enriching one dataset with another, when neither contains sufficient information about any individual to identify them, may yield a combined dataset that compromises privacy. Furthermore, these techniques can be carried out at scale, which in turn highlights the need for caution.

Enriquecimento de dados

Enriquecimento de dados refere-se a um conjunto de processos que pode ser utilizado para aperfeiçoar, aprimorar ou de outro modo melhorar dados brutos ou dados previamente processados. Esta ideia e outros conceitos semelhantes contribuem para tornar os dados um bem valioso para quase todas as empresas ou empreendimentos modernos. É um tema diverso em si, cujos detalhes vão além do escopo deste documento. No entanto, vale a pena notar que algumas destas técnicas devem ser abordadas com cautela, pois preocupações éticas podem surgir. Na pesquisa científica, cuidados devem ser tomados para evitar que o enriquecimento distorça resultados ou conclusões estatísticas. Em se tratando de dados sobre indivíduos, questões de privacidade podem surgir quando conjuntos de dados são combinados. Ou seja, enriquecer um conjunto de dados com outro, quando nenhum dos dois contém informações suficientes sobre qualquer indivíduo a ponto de identificá-lo, pode resultar em um conjunto de dados combinado que comprometa a privacidade. Além disso, estas técnicas podem ser realizadas em escala, o que por sua vez realça a necessidade de cautela.

This section provides some advice to be followed by data publishers in order to enrich data.

Este seção fornece algumas recomendações a serem observadas por editores de dados com a finalidade de enriquecimento de dados.

Best Practice 31: Enrich data by generating new data

Enrich your data by generating new data when doing so will enhance its value.

Boa Prática 31: Enriquecer dados por meio da geração de novos dados

Enriqueça seus dados gerando novos dados, pois ao fazê-lo você estará aumentando o valor dos mesmos.

 Why

Enrichment can greatly enhance processability, particularly for unstructured data. Under some circumstances, missing values can be filled in, and new attributes and measures can be added from the existing raw data. Datasets can also be enriched by gathering additional results in the same fashion as the original data, or by combining the original data with other datasets. Publishing more complete datasets can enhance trust, if done properly and ethically. Deriving additional values that are of general utility saves users time and encourages more kinds of reuse. There are many intelligent techniques that can be used to enrich data, making the dataset an even more valuable asset.

Por que

O enriquecimento pode acentuar consideravelmente a processabilidade, especialmente no caso de dados não estruturados. Em algumas circunstâncias, valores faltantes podem ser adicionados e novas atribuições e mensurações podem ser acrescentadas a partir de dados brutos pré-existentes. Conjuntos de dados também podem ser enriquecidos por meio da coleta de resultados adicionais da mesma forma como os dados originais ou combinando dados originais  com outros conjuntos de dados. Publicar conjuntos de dados mais completos pode aumentar a confiabilidade, se feito de maneira adequada e ética. Derivar valores adicionais que sejam de utilidade geral economiza tempo para o usuário e incentiva mais tipos de reutilização. Há muitas técnicas inteligentes que podem ser usadas para enriquecer dados, tornando o conjunto de dados um bem ainda mais valioso.

Intended Outcome

Datasets with missing values will be enhanced by filling in those values. Structure will be conferred and utility enhanced if relevant measures or attributes are added, but only if the addition does not distort analytical results, significance, or statistical power.

Resultado Pretendido

Conjuntos de dados com dados faltantes serão melhorados por meio do preenchimento desses valores.  A estrutura será verificada e a utilidade aumentada caso providências ou atributos relevantes sejam adicionados, porém somente se a adição não distorcer os resultados analíticos, a significância ou a potência estatística.

Possible Approaches to Implementation

Techniques for data enrichment are complex and go well beyond the scope of this document, which can only highlight the possibilities.

Machine learning can readily be applied to the enrichment of data. Methods include those focused on data categorization, disambiguation, entity recognition, sentiment analysis and topification, among others. New data values may be derived as simply as performing a mathematical calculation across existing columns. Other examples include visual inspection to identify features in spatial data and cross-reference to external databases for demographic information. Lastly, generation of new data may be demand-driven, where missing values are calculated or otherwise determined by direct means.

Abordagem Possível para Implementação

As técnicas para o enriquecimento de dados são complexas e se estendem além do escopo deste documento, que pode somente sublinhar tais possibilidades.

A aprendizagem de máquina pode ser facilmente aplicada ao enriquecimento de dados. Os métodos incluem aqueles focalizados na categorização de dados, desambiguação, reconhecimento de entidades, análise de sentimentos e topificação, entre outros. Novos valores de dados podem ser derivados tão simplesmente quanto executar um cálculo matemático por meio de colunas existentes. Outros exemplos incluem a inspeção visual para identificar recursos em dados espaciais e a referência cruzada a bancos de dados externos para informações demográficas. E por último, a geração de novos dados pode ser impulsionada por demanda, onde valores faltantes são calculados ou determinados de forma direta.

Values generated by inference-based techniques should be labeled as such, and it should be possible to retrieve any original values replaced by enrichment.

Whenever licensing permits, the code used to enrich the data should be made available along with the dataset. Sharing such code is particularly important for scientific data.

Valores gerados a partir de técnicas com base em inferência devem ser etiquetados como tal, e deve ser possível recuperar qualquer valor original substituído por enriquecimento. 

Sempre que o licenciamento permitir, o código usado para enriquecer os dados deve estar disponível junto com o conjunto de dados. Compartilhar tal código é particularmente importante para dados científicos. 

Prioritization of enrichment activities should be based on value to the data consumer as well as the effort required. Value to the consumer can be gauged by measurement of demand. (e.g., through surveys or tracking direct requests).Documenting how you measure demand can make the increased value demonstrable.

If you make enrichments to someone else’s data, it’s a good idea to offer those enrichments back to the original publisher.

A priorização das atividades de enriquecimento deve ser determinada pelo valor para o consumidor de dados, bem como pelo esforço necessário. O valor para o consumidor pode ser avaliado pela mensuração da demanda (por exemplo, por meio de pesquisas ou pelo rastreio de pedidos diretos). Documentar como você mensura a demanda pode tornar demonstrável o valor agregado.

Caso você venha a enriquecer os dados de outra pessoa, seria prudente oferecer esses enriquecimentos de volta ao editor original.

EXAMPLE 31

EXEMPLO 31

  1. The MyCity transport agency has street addresses for each of its transit stops. It wants to make it easier for consumers of its data to combine the data with maps, so it adds latitude and longitude information for each stop by utilizing a geographic database.

O Departamento de Transportes de MyCity possui endereços físicos para cada um de seus pontos de ônibus. O Departamento quer facilitar a vida dos consumidores de seus dados ao combinar esta informação com mapas, de forma a adicionar informações de latitude e longitude para cada ponto, utilizando uma base de dados geográfica.  

2. The transit agency has a large collection of email correspondence from transit riders. Some of the correspondence is complimentary, some emails are complaints, and some are requests for information. The agency conducts a combination of sentiment analysis and categorization to extract metadata for each of the messages, such as transit mode, route number, and rider positivity, to create a semi-structured dataset.

O Departamento de Trânsito possui uma vasta coleção de correspondência de e-mails enviados por usuários. Parte destes e-mails contém elogios, outros reclamações e alguns são pedidos de informação. O Departamento realiza uma combinação de análise de sentimentos e categorização de forma a extrair metadados para cada uma das mensagens, tais como modal de transporte, numeração da rota e positividade do passageiro para criar um conjunto de dados semiestruturado.  

How to Test

Verify that there are no missing values in the dataset, or additional fields likely to be needed by others, that could readily be provided. Check that any data added by inferential enrichment techniques is identified as such and that any replaced data is still available.

Como Testar

Verifique se não há valores faltantes no conjunto de dados ou campos adicionais prováveis de serem necessitados por outros, que poderiam ser facilmente fornecidos. Verifique se qualquer dado adicionado por técnicas de enriquecimento inferencial esteja identificado como tal, e se quaisquer dados substituídos ainda estejam disponíveis.

Evidence

Relevant requirements: R-DataEnrichment, R-FormatMachineRead, R-ProvAvailable

Evidência

Requisitos Relevantes:  R-DataEnrichment, R-FormatMachineRead, R-ProvAvailable

Benefits

Benefícios

R- Reutilização

C – Compreensão

C – Confiabilidade

P – Processabilidade

Best Practice 32: Provide Complementary Presentations

Boa Prática 32: Fornecer Apresentações Complementares

Enrich data by presenting it in complementary, immediately informative ways, such as visualizations, tables, Web applications, or summaries.

Enriqueça seus dados apresentando-os em formas complementares e imediatamente informativas, tais como visualizações, tabelas, aplicações da Web ou resumos.

Why

Por que

Data published online is meant to inform others about its subject. But only posting datasets for download or API access puts the burden on consumers to interpret it. The Web offers unparalleled opportunities for presenting data in ways that let users learn and explore without having to create their own tools.

Dados publicados online destinam-se a informar terceiros sobre seu assunto. Porém, apenas publicar conjuntos de dados para download ou acesso à API relega ao consumidor o esforço de interpretá-los. A Web oferece oportunidades sem paralelos para a apresentação de dados de forma a permitir que os usuários aprendam e explorem sem ter que criar suas próprias ferramentas.

Intended Outcome

Resultado Pretendido

Complementary data presentations will enable human consumers to have immediate insight into the data by presenting it in ways that are readily understood.

Apresentações complementares dos dados irão permitir a consumidores humanos ter uma percepção imediata dos dados por meio de apresentações de fácil entendimento.

Possible Approaches to Implementation

Possível Abordagem para Implementação

One very simple way to provide immediate insight is to publish an analytical summary in an HTML page. Including summative data in graphs or tables can help users scan the summary and quickly understand the meaning of the data.

If you have the means to create interactive visualizations or Web applications that use the data, you can give consumers of your data greater ability to understand it and discover patterns in it. These approaches also demonstrate its suitability for processing and encourage reuse.

Uma maneira muito simples de proporcionar percepções imediatas é publicar um resumo analítico em uma página HTML. Incluir dados somativos em gráficos ou tabelas pode ajudar o usuário a explorar o resumo e entender rapidamente o sentido dos dados.

Caso você tenha meios de criar visualizações ou aplicações Web interativas que utilizem os dados, estará proporcionando aos seus consumidores uma capacidade ampliada de compreender e descobrir padrões em tais dados. Estas abordagens também demonstram a aptidão dos seus dados para o processamento e estimulam a reutilização.  

EXAMPLE 32

EXAMPLE 32

The MyCity transit agency publishes detailed data about all its transit lines through an API, but it also has many users who are not Web developers and who want to know how to use the system to move about the city. The transit agency could build a Web application that allows users to enter a departure address and a destination and receive step-by-step directions for making their journey via public transit.

 O Departamento de Trânsito de MyCity publica dados detalhados sobre todas as suas linhas de transporte por meio de uma API, porém o Departamento também tem muitos usuários que não são desenvolvedores da Web e querem saber como usar o sistema para se deslocar na cidade. O Departamento poderá construir uma aplicação Web que permita aos usuários entrar com um endereço de partida e um destino e receber orientações passo a passo para realizar sua viagem por meio do transporte público.

How to Test

Como Testar

Check that the dataset is accompanied by some additional interpretive content that can be perceived without downloading the data or invoking an API.

Verifique se o conjunto de dados se encontra acompanhado de algum conteúdo adicional interpretativo que pode ser percebido sem o download dos dados ou a necessidade de invocar uma API.

Evidence

Relevant requirements: R-DataEnrichment

Evidência

Requisitos Relevantes: R-DataEnrichment

Benefits

Benefícios

R – Reutilização

C – Compreensão

A – Acessibilidade

C – Confiabilidade

8.14 Republication

8.14 Republicação

Reusing data is another way of publishing data; it is simply republishing. It can take the form of combining existing data with other datasets, creating Web applications or visualizations, or repackaging the data in a new form, such as a translation. Data republishers have some responsibilities that are unique to that form of publishing on the Web. This section provides advice to be followed when republishing data.

Reutilizar dados é outra forma de publicar dados; é simplesmente republicá-los. Pode tomar a forma de uma combinação de dados existentes com outros conjuntos de dados, uma criação de aplicações ou visualizações Web, ou uma reembalagem de dados em um novo formato, como uma tradução. Os republicadores têm algumas responsabilidades que são exclusivas desta maneira de publicação na Web. Este seção fornece recomendações que devem ser observadas ao republicar dados.

Best Practice 33: Provide Feedback to the Original Publisher

Boa Prática 33: Fornecer Feedback ao Editor Original

Let the original publisher know when you are reusing their data. If you find an error or have suggestions or compliments, let them know.

Informe o editor original quando você está reutilizando seus dados. Informe-o caso encontre um erro ou tenha sugestões ou elogios a tecer.

.

Why

Por que

Publishers generally want to know whether the data they publish has been useful. Moreover, they may be required to report usage statistics in order to allocate resources to data publishing activities. Reporting your usage helps them justify putting effort toward data releases. Providing feedback repays the publishers for their efforts by directly helping them to improve their dataset for future users.

 Os editores geralmente querem saber se os dados que publicam têm sido úteis. Ademais, eles podem ser obrigados a relatar estatísticas de uso a fim de alocar recursos para atividades de publicação de dados.  Ao informar a destinação dos dados publicados você estará ajudando os editores originais a justificar a aplicação de recursos no lançamento de dados. Fornecer feedback recompensa os editores por seus esforços e os ajuda diretamente a melhorar seu conjunto de dados para futuros usuários.

Intended Outcome

Resultado Pretendido

Better communication will make it easier for original publishers to determine how the data they post is being used, which in turn helps them justify publishing the data. Publishers will also be made aware of steps they can take to improve their data. This leads to more and better data for everyone.

Uma melhor comunicação tornará mais fácil para os editores originais determinar como os dados que postaram estão sendo usados, o que por sua vez os ajuda a justificar a publicação dos dados. Eles também terão clareza sobre quais medidas podem adotar para melhorar seus dados. Isto conduz a mais e melhores dados para todos.

Possible Approach to Implementation

Possível Abordagem para Implementação

When you begin using a dataset in a new product, make a note of the publisher’s contact information, the URI of the dataset you used, and the date on which you contacted them. This can be done in comments within your code where the dataset is used. Follow the publisher’s preferred route to provide feedback. If they do not provide a route, look for contact information for the Web site hosting the data.

Quando iniciar a utilização de um conjunto de dados em um produto novo, faça uma nota com o endereço e contato dos editores, o URI do conjunto de dados que você utilizou e a data em que os contatou. Isto pode ser feito em comentários dentro do seu código, onde o conjunto de dados é usado. Siga a rota preferida dos editores para dar feedback. Caso não forneçam uma rota, procure esta informação de contato no site da Web que hospeda os dados.

EXAMPLE 33

EXEMPLO 33

# Calling the MyCity transit API, http://data.mycity.example.com/transport/api/docs/

# Published by MyCity Transit Agency,

# notified of our reuse by email to opendata@mycitytransit.example.org

# by Newton Calegari on 3/24/2016.

# Chamar a API de transporte de MyCity, http://data.mycity.example.com/transport/api/docs/

# Publicado pelo Departamento de Transportes de  MyCity,

# notificado de nossa reutilização por e-mail para opendata@mycitytransit.example.org

# por Newton Calegari em 24/03/2016.

How to Test

Check that you have a record of at least one communication informing the publisher of your use of the data.

Como Testar

Verifique se você tem um registro de pelo menos uma comunicação informando ao editor sobre a utilização de tais dados.

Evidence

Relevant requirements: R-TrackDataUsage, R-UsageFeedback, R-QualityOpinions

Evidência

Requisitos relevantes:  R-TrackDataUsage, R-UsageFeedback, R-QualityOpinions

Benefits

Benefícios

R- Reutilização

I – Interoperabilidade

C – Confiabilidade

Best Practice 34: Follow Licensing Terms

Find and follow the licensing requirements from the original publisher of the dataset

Boa Prática 34: Seguir os Termos de Licenciamento

Encontre e siga os requisitos de licenciamento fornecido pelo editor original do conjunto de dados.

Why

Por que

Licensing provides a legal framework for using someone else’s work. By adhering to the original publisher’s requirements, you keep the relationship between yourself and the publisher friendly. You don’t need to worry about legal action from the original publisher if you are following their wishes. Understanding the initial license will help you determine what license to select for your reuse.

O licenciamento fornece uma estrutura jurídica para utilizar o trabalho de outra pessoa. Ao respeitar os requisitos do editor original, você promove relações amigáveis entre você e o editor. Não é necessário preocupar-se com ações jurídicas caso respeite o que o editor original deseja. Além disso, compreender o licenciamento original ajudará a determinar qual licenciamento escolher para sua reutilização.

Intended Outcome

Resultado Pretendido

Data publishers will be able to trust that their work is being reused in accordance with their licensing requirements, which will make them more likely to continue to publish data. Reusers of data will themselves be able to properly license their derivative works.

Os editores de dados poderão confiar que seus trabalhos estarão sendo utilizados de acordo com as condições de licenciamento, o que provavelmente os estimulará a continuar publicando dados.  Reutilizadores de dados poderão eles próprios licenciar seus trabalhos derivados de maneira adequada.

Possible Approach to Implementation

Possível Abordagem para Implementação

Read the original license and adhere to its requirements. If the license calls for specific licensing of derivative works, choose your license to be compatible with that requirement. If no license is given, contact the original publisher and ask what the license is.

Leia o licenciamento original e respeite seus requisitos. Caso este solicitar licenciamento específico de trabalhos derivados, tome providências para que sua licença seja compatível com este requisito. Caso nenhuma licença seja fornecida, contate o editor original e pergunte a ele qual é o licenciamento aplicável. 

EXAMPLE 34

EXEMPLO 34

If a dataset you are using is licensed under the Creative Commons Attribution 3.0 License, you will need to meet the terms specified in that license agreement.

Caso o conjunto de dados que você está utilizando for licenciado sob os termos da Licença Creative Commons Attribution 3.0, você deverá respeitar os termos especificados neste acordo de licenciamento específico.

How to Test

Read through the original license and check that your use of the data does not violate any of the terms.

Como testar

Leia todo o licenciamento original e certifique-se de que sua utilização dos dados não viola qualquer um de seus termos.

Evidence

Relevant requirements: R-LicenseAvailable, R-LicenseLiability,

Evidência

Requisitos Relevantes:  R-LicenseAvailable, R-LicenseLiability,

Benefits

Benefícios

R – Reutilização

C- Confiabilidade

Best Practice 35: Cite the Original Publication

Acknowledge the source of your data in metadata. If you provide a user interface, include the citation visibly in the interface

Boa Prática 35: Citar a Publicação Original

Reconheça a fonte de seus dados nos metadados. Caso forneça uma interface de usuário, inclua a citação claramente na interface.

Why

Por que

Data is only useful when it is trustworthy. Identifying the source is a major indicator of trustworthiness in two ways: first, the user can judge the trustworthiness of the data from the reputation of the source, and second, citing the source suggests that you yourself are trustworthy as a republisher. In addition to informing the end user, citing helps publishers by crediting their work. Publishers who make data available on the Web deserve acknowledgment and are more likely to continue to share data if they find they are credited. Citation also maintains provenance and helps still others to work with the data.

Dados só são úteis quando confiáveis. Identificar a fonte é o maior indicativo de confiabilidade por dois motivos: em primeiro lugar, o usuário pode julgar a confiabilidade dos dados a partir da reputação da fonte e, em segundo, citar a fonte sugere que você mesmo é confiável como reeditor. Além de informar o usuário final, citar ajuda os editores dando crédito ao seu trabalho.  Editores que disponibilizam dados na Web merecem reconhecimento e ficam mais propensos a continuar compartilhando seus dados caso percebam que estão sendo creditados. A citação também mantém a proveniência e ainda ajuda outros a trabalhar com os dados.

Intended Outcome

End users will be able to assess the trustworthiness of the data they see and the efforts of the original publishers will be recognized. The chain of provenance for data on the Web will be traceable back to its original publisher.

Resultado Pretendido

Usuários finais poderão avaliar a confiabilidade dos dados que estão visualizando e os esforços dos editores originais serão reconhecidos. Também será possível rastrear a origem dos dados na Web até o editor original.

Possible Approach to Implementation

You can present the citation to the original source in a user interface by providing bibliographic text and a working link.

Possível Abordagem para Implementação

A citação da fonte original pode ser apresentada em uma interface de usuário fornecendo o texto bibliográfico e um link operável.

EXAMPLE 35

EXEMPLO 35

Data source: MyCity Transport Agency. “Bus timetable of MyCity” (series 1.2). MyCity. May 5, 2015. Available from: http://data.mycity.example.com/transport/dataset/bus/stops.

Fonte dos dados: Departamento de Transportes de MyCity. “Horário de ônibus de MyCity” (séries 1.2). MyCity. 05 de maio de 2015. Disponível em: http://data.mycity.example.com/transport/dataset/bus/stops.

How to Test

Check that the original source of any reused data is cited in the metadata provided.

Check that a human-readable citation is readily visible in any user interface.

Como testar

Verifique se a fonte original de quaisquer dados reutilizados se encontra citada nos metadados fornecidos. Verifique se há uma citação inteligível por humanos claramente visível em qualquer interface de usuário.

Evidence

Relevant requirements: R-Citable, R-ProvAvailable, R-MetadataAvailable, R-TrackDataUsage

Evidência:

Requisitos Relevantes: R-Citable, R-ProvAvailable, R-MetadataAvailable, R-TrackDataUsage

Benefits

Benefícios

R – Reutilização

E – Encontrabilidade

C – Confiabilidade

9. Glossary

9. Glossário

This section is non-normative

Esta seção não é normativa

Citation

Citação

 A Citation may be either direct and explicit (as in the reference list of a journal article), indirect (e.g. a citation to a more recent paper by the same research group on the same topic), or implicit (e.g. as in artistic quotations or parodies, or in cases of plagiarism).

Uma Citação pode ser direta e explícita (como uma lista de referências de um artigo de periódico), indireta (como, por exemplo, a citação a um documento mais recente do mesmo grupo de pesquisa sobre o mesmo assunto) ou implícita (como em citações artísticas, paródias ou em casos de plágio).

From: CiTO, the Citation Typing Ontology.

De:    CiTO, the Citation Typing Ontology.

Data archiving

Arquivamento de dados

Data Archiving is the set of practices around the storage and monitoring of the state of digital material over the years.

These tasks are the responsibility of a Trusted Digital Repository (TDR), also sometimes referred to as Long-Term Archive Service (LTA). Often such services follow the Open Archival Information System [OAIS] which defines the archival process in terms of ingest, monitoring and reuse of data.

O arquivamento de dados é um conjunto de práticas em torno do armazenamento e monitoramento do estado do material digital ao longo dos anos.

Estas tarefas são de responsabilidade de um Repositório Digital Confiável (TDR), também chamado ocasionalmente de Serviço de Arquivamento de Longo Prazo (LTA). Muitas vezes, tais serviços seguem o Sistema de Informação de Arquivos Abertos, que define o processo de arquivamento em termos de consumo, monitoramento e reutilização de dados.

Data consumer

Consumidor de Dados

For the purposes of this WG, a Data Consumer is a person or group accessing, using, and potentially performing post-processing steps on data.

From: Strong, Diane M., Yang W. Lee, and Richard Y. Wang. “Data quality in context.” Communications of the ACM 40.5 (1997): 103-110.  

Para os fins deste Grupo de Trabalho, um Consumidor de Dados é uma pessoa ou um grupo acessando, usando, e potencialmente executando passos pós-processamento nos dados. De: Strong, Diane M., Yang W. Lee, e Richard Y. Wang. Data quality in context. Communications of the ACM 40.5 (1997): 103-110.

Data format

Formato de Dados

Data Format defined as a specific convention for data representation i.e. the way that information is encoded and stored for use in a computer system, possibly constrained by a formal data type or set of standards.”

From: Digital Humanities Curation Guide

O Formato de Dados é definido como uma convenção específica para a representação de dados; por exemplo, a maneira em que os dados são codificados e armazenados  para utilização em  um sistema de computação, possivelmente constrito por um tipo formal de dados ou um grupo de padrões. 

De: Digital Humanities Curation Guide

Data Preservation

Preservação de dados

 Data Preservation is defined by the Alliance for Permanent Access Network as “The processes and operations in ensuring the technical and intellectual survival of objects through time”. This is part of a data management plan focusing on preservation planning and meta-data. Whether it is worthwhile to put effort into preservation depends on the (future) value of the data, the resources available and the opinion of the designated community of stakeholders.

A Preservação de Dados é definida pela Aliança pelo Acesso Permanente à Rede como “Os processos e operações para assegurar a sobrevivência técnica e intelectual de objetos através do tempo”. Isto faz parte de um plano de gerenciamento de dados com foco no planejamento da preservação e nos metadados. Avaliar se vale a pena esforçar-se pela preservação depende do valor (futuro) dos dados, dos recursos disponíveis e da opinião da comunidade designada de atores.

Data producer

Produtor de dados

Data Producer is a person or group responsible for generating and maintaining data.

From: Strong, Diane M., Yang W. Lee, and Richard Y. Wang. “Data quality in context.” Communications of the ACM 40.5 (1997): 103-110.

 O Produtor de Dados é uma pessoa ou um grupo responsável pela geração e manutenção de dados. De: Strong, Diane M., Yang W. Lee, e Richard Y. Wang. Data quality in context. Communications of the ACM 40.5 (1997): 103-110.

Data provenance

Proveniência de dados

Provenance originates from the French term “provenir” (to come from), which is used to describe the curation process of artwork as art is passed from owner to owner. Data provenance, in a similar way, is metadata that allows data providers to pass details about the data history to data users.

Proveniência deriva do termo francês provenir (vir de), usado para descrever o processo de curadoria  de objetos de arte quando são passados de proprietário para proprietário. De forma semelhante, a proveniência de dados é um metadado que permite que os provedores de dados passem detalhes sobre o histórico de dados aos usuários.

Data quality

Qualidade de dados

Data quality is commonly defined as “fitness for use” for a specific application or use case.

A qualidade de dados é habitualmente definida como “aptidão para uso” para uma aplicação específica ou um caso de uso.

Dataset

Conjunto de dados

 A dataset is defined as a collection of data, published or curated by a single agent, and available for access or download in one or more formats. A dataset does not have to be available as a downloadable file.

From: Data Catalog Vocabulary (DCAT) [VOCAB-DCAT]

Define-se um conjunto de dados como uma coleção de dados, publicados ou curados por um único operador e disponíveis para acesso ou download em um ou mais formatos. Um conjunto de dados não tem que ser disponibilizado como arquivo para download.

De:  Data Catalog Vocabulary (DCAT) (DCAT) [VOCAB-DCAT]

Distribution

Distribuição

A distribution represents a specific available form of a dataset. Each dataset might be available in different forms; these forms might represent different formats of the dataset or different endpoints. Examples of distributions include a downloadable CSV file, an API or an RSS feed

From: Data Catalog Vocabulary (DCAT) [VOCAB-DCAT]

Uma distribuição representa um determinado formato disponível de um conjunto de dados. Cada conjunto de dados pode ser disponibilizado em diferentes formatos; estes podem representar formatos diferentes do conjunto de dados ou pontos terminais diferentes. Exemplos de distribuições incluem um arquivo CSV para download, uma API ou um feed RSS. 

De:  Data Catalog Vocabulary (DCAT) [VOCAB-DCAT]

Feedback

Feedback

A feedback forum is used to collect messages posted by consumers about a particular topic. Messages can include replies to other consumers. Datetime stamps are associated with each message and the messages can be associated with a person or submitted anonymously.

From: Semantically-Interlinked Online Communities (SIOC) and the Annotation Model [Annotation-Model]

To better understand why an annotation was created, a SKOS Concept Scheme [SKOS-PRIMER] is used to show inter-related annotations between communities with more meaningful distinctions than a simple class/subclass tree.

Utiliza-se um fórum de feedback para coletar mensagens publicadas pelos consumidores sobre um assunto específico. Estas mensagens podem incluir respostas para outros consumidores. Marcas temporais de data são associadas a cada mensagem e as mensagens podem ser associadas a uma pessoa ou submetidas anonimamente.

De: Semantically-Interlinked Online Communities (SIOC) e Annotation Model [Annotation-Model].

Para compreender melhor por que uma anotação foi criada, um Esquema Conceitual SKOS [SKOS-PRIMER] é utilizado para mostrar anotações inter-relacionadas entre comunidades com diferenciações mais significativas do que uma simples árvore de classe e subclasse.

File format

Formato de Arquivo

File Format is a standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary or free and may be either unpublished or open.

Examples of file formats include: plain text (in a specified character encoding, ideally UTF-8), Comma Separated Variable (CSV) [RFC4180], Portable Document Format [PDF], XML, JSON [RFC4627], Turtle [Turtle] and HDF5.

O Formato de Arquivo é uma maneira padronizada por meio da qual a informação é codificada para armazenamento em um arquivo de computador. Ele especifica como os bits são usados para codificar informação em um meio digital de armazenamento. Formatos de arquivos podem ser proprietários ou livres  e também inéditos ou abertos. Exemplos de formatos de arquivos incluem: texto simples (em uma codificação de caracteres especificada, idealmente UTF-8), Comma Separated Variable (CSV) [RFC4180], Portable Document Format [PDF], XML,(v) JSON [RFC4627], Turtle [Turtle] e HDF5.

License

Licenciamento

A license is a legal document giving official permission to do something with the data with which it is associated.

From: DCTERMS [DCTERMS]

Um licenciamento é um documento jurídico que concede permissão oficial para fazer algo com dados a que se está associado.

De:  DCTERMS [DCTERMS]

Locale

Localidade

A collection of international preferences, generally related to a language and geographic region that a (certain category) of users require. These are usually identified by a shorthand identifier or token, such as a language tag, that is passed from the environment to various processes to get culturally affected behavior.

Uma coleção de preferências internacionais, normalmente relacionadas a um idioma e a uma região geográfica que uma (determinada categoria) de usuários necessita. São geralmente identificadas por um identificador abreviado ou token, tal como uma aba de idioma, que é passada a partir do ambiente para vários processos de forma a obter um comportamento culturalmente afetado.

De: Language Tags and Locale Identifiers for the World Wide Web [LTLI].

Machine-readable data

Dados Inteligíveis por máquinas

Machine-readable data is data in a standard format that can be read and processed automatically by a computing system. Traditional word processing documents and portable document format (PDF) files are easily read by humans but typically are difficult for machines to interpret and manipulate. Formats such as XML, JSON, HDF5, RDF and CSV are machine-readable data formats

Adapted from Wikipedia.

Dados inteligíveis por máquinas são dados em formato padronizado que podem ser lidos e processados automaticamente por um sistema computacional. Documentos tradicionais de processamento de palavras e formato de documento portátil (PDF) são facilmente lidos por humanos, porém normalmente são complicados para interpretação e manipulação por máquinas. Programas tais como XML, JSON, HDF5, RDF e CSV são formatos legíveis por máquinas.

Adaptado da Wikipedia

Near real-time

Quase em tempo real

The term “near real-time” or “nearly real-time” (NRT), in telecommunications and computing, refers to the time delay introduced by automated data processing or network transmission, between the occurrence of an event and the use of the processed data, such as for display or feedback and control purposes. For example, a near-real-time display depicts an event or situation as it existed at the current time minus the processing time, as nearly the time of the live event.

From: Wikipedia

A expressão “quase em tempo real” ou “praticamente em tempo real” usada em telecomunicações e computação refere-se ao atraso de tempo introduzido pelo processamento automatizado de dados  ou pela transmissão em rede, entre a ocorrência de um evento e o uso dos dados processados, tal como para a finalidade de exibição ou feedback e controle. Por exemplo, uma exibição em quase tempo real mostra um evento ou situação como se esta existisse no momento corrente menos o tempo de processamento, como praticamente no tempo do evento ao vivo.

De: Wikipedia

Sensitive data

Dados sensíveis

Sensitive data is any designated data or metadata that is used in limited ways and/or intended for limited audiences. Sensitive data may include personal data, corporate or government data, and mishandling of published sensitive data may lead to damages to individuals or organizations.

Dados sensíveis são quaisquer dados ou metadados designados de uso limitado e/ou destinados a públicos limitados. Podem incluir dados pessoais, dados corporativos ou governamentais. Maus tratos a dados sensíveis podem levar a danos a indivíduos ou organizações.

Standard

Padrão

A technical standard is an established norm or requirement in regard to technical systems. It is usually a formal document that establishes uniform engineering or technical criteria, methods, processes and practices. In contrast, a custom, convention, company product, corporate standard, etc. that becomes generally accepted and dominant is often called a de facto standard.

From: Wikipedia

Um padrão técnico é uma norma ou requisito estabelecido a respeito de sistemas técnicos. Normalmente é um documento formal que estabelece critérios técnicos ou de engenharia uniformes, métodos, processos e práticas. Em contraste, um costume, uma convenção, um produto de uma empresa, um padrão corporativo, etc., que se torna comumente aceito e dominante é frequentemente chamado de “padrão de fato”.

De: Wikipedia

Structured data

Dados Estruturados

Structured Data refers to data that conforms to a fixed schema. Relational databases and spreadsheets are examples of structured data.

Dados Estruturados referem-se a dados que estão em conformidade com um esquema fixo. Bancos de dados e planilhas relacionais são exemplos de dados estruturados.

Vocabulary

Vocabulário

A vocabulary is a collection of “terms” for a particular purpose. Vocabularies can range from simple such as the widely used RDF Schema [RDF-SCHEMA], FOAF [FOAF] and Dublin Core [DCTERMS] to complex vocabularies with thousands of terms, such as those used in healthcare to describe symptoms, diseases and treatments. Vocabularies play a very important role in Linked Data, specifically to help with data integration. The use of this term overlays with Ontology.

 From: Linked Data Glossary

Um vocabulário é uma coletânea de “termos” para uma determinada finalidade. Os vocabulários podem variar desde os mais simples, tais como os largamente utilizados RDF Schema [RDF-SCHEMA], FOAF [FOAF] e Dublin Core [DCTERMS] até vocabulários complexos, com milhares de termos, como aqueles usados nos cuidados de saúde para descrever sintomas, doenças e tratamentos. Os vocabulários têm um papel importante nos Dados Conectados, especialmente no suporte à integração de dados. O uso deste termo sobrepõe-se à Ontologia.

De: Linked Data Glossary

10. Data on the Web Challenges

10. Dados sobre os Desafios da Web

This section is non-normative.

Esta seção não é normativa

The following diagram summarizes some of the main challenges faced when publishing or consuming data on the Web. These challenges were identified from the DWBP Use Cases and Requirements [DWBP-UCR] and, as presented in the diagram, are addressed by one or more Best Practices.

O diagrama seguinte resume alguns dos principais desafios enfrentados ao publicar ou consumir dados na Web. Estes desafios foram identificados a partir do documento Casos de Uso e Requisitos do DBPW [DWBP-UCR]  e, como apresentado no diagrama, são mencionados por uma ou mais Boas Práticas.  

11. Best Practices Benefits

11. Benefícios das Boas Práticas

This section is non-normative.

 Esta seção não é normativa.

The list below describes the main benefits of applying the DWBP. Each benefit represents an improvement in the way how datasets are available on the Web.

 A lista abaixo descreve os principais benefícios da aplicação do DBPW. Cada benefício representa uma melhoria na maneira como os conjuntos de dados são disponibilizados na Web.

  • Comprehension: humans will have a better understanding about the data structure, the data meaning, the metadata and the nature of the dataset.
  • Compreensão: os humanos terão um melhor entendimento sobre a estrutura e o significado dos dados, os metadados e a natureza do conjunto de dados.
  • Processability: machines will be able to automatically process and manipulate the data within a dataset.
  • Processabilidade: as máquinas serão capazes de processar e manipular automaticamente os dados dentro de um conjunto de dados.
  • Discoverability machines will be able to automatically discover a dataset or data within a dataset.
  • Encontrabilidade: as máquinas serão capazes de descobrir automaticamente um conjunto de dados ou dados dentro de um conjunto de dados.
  • Reuse: the chances of dataset reuse by different groups of data consumers will increase.
  • Reutilização: aumentarão as possibilidades de reutilização do conjunto de dados por diferentes grupos de consumidores de dados.  
  • Trust: the confidence that consumers have in the dataset will improve.
  • Confiabilidade: a confiança que os clientes depositam no conjunto de dados se ampliará.
  • Linkability: it will be possible to create links between data resources (datasets and data items).
  • Conectividade: será possível criar conexões entre os recursos de dados (conjuntos de dados e itens de dados).
  •  
  • Access: humans and machines will be able to access up to date data in a variety of forms.
  • Acessibilidade: humanos e máquinas serão capazes de acessar dados atualizados de várias maneiras.
  • Interoperability: it will be easier to reach consensus among data publishers and consumers.
  •  Interoperabilidade: será mais fácil alcançar um consenso entre editores de dados e consumidores.

The following table relates Best Practices and Benefits

A tabela a seguir relaciona Boas Práticas e Benefícios

.

Best Practices and Benefits

Boas Práticas e Benefícios

Best PracticeBoa PráticaBenefitsBenefícios

this part is auto-generated by script

esta parte é gerada automaticamente por script.

Provide metadataFornecer metadados  
Provide descriptive metadataFornecer metadados descritivos
Provide structural metadataFornecer metadados estruturais.
Provide data license informationFornecer informações sobre licenciamento de dados
Provide data provenance informationFornecer informações sobre a proveniência dos dados
Provide data quality informationFornecer informações sobre a qualidade dos dados
Provide a version indicatorFornecer um indicador de versão
Provide version historyFornecer histórico de versionamento
Use persistent URIs as identifiers of datasetsUtilizar URIs constantes como identificadores de conjuntos de dados  
Use persistent URIs as identifiers within datasetsUtilizar URIs constantes como identificadores dentro dos conjuntos de dados  
Assign URIs to dataset versions and seriesDesignar URIs para versões e séries de conjuntos de dados 
Use machine-readable standardized data formatsUtilizar formatos de dados padronizados e inteligíveis por máquinas
Use locale-neutral data representationsUtilizar representações de dados de localidade neutra
Provide data in multiple formatsFornecer dados em formatos múltiplos.
Reuse vocabularies, preferably standardized onesReutilizar vocabulários preferencialmente padronizados
Choose the right formalization level.Escolher o nível correto de formalização 
Provide bulk downloadFornecer download em massa
Provide Subsets for Large DatasetsFornecer subconjuntos para conjuntos de dados extensos  
Use content negotiation for serving data available in multiple formats Utilizar a negociação de conteúdo para disponibilizar dados em formatos múltiplos
Provide real-time AccessFornecer acesso em tempo real
Provide data up to dateFornecer dados atualizados.
Provide an explanation for data that is not availableFornecer uma justificativa para dados não disponíveis
Make data available through an APIDisponibilizar dados por meio de uma API  
Use Web Standards as the foundation of APIsUtilizar padrões da Web como a base para as APIs    
Provide complete documentation for your APIFornecer a documentação completa para sua API
Avoid Breaking Changes to Your APIEvitar modificações que quebrem sua API
Preserve identifiers Preservar os identificadores
Assess dataset coverageAvaliar a cobertura do conjunto de dados
Gather feedback from data consumersColetar feedback de consumidores de dados
Make feedback availableDisponibilizar feedback
Enrich data by generating new data.Enriquecer dados por meio da geração de novos dados  
Provide Complementary PresentationsFornecer apresentações complementares  
Provide Feedback to the Original Publisher.Fornecer feedback ao editor original
Follow Licensing Terms.Seguir os termos de licenciamento
Cite the Original Publication.Citar a publicação original

Melhores Práticas e Benefícios

The figure below shows the benefits that data publishers will gain with adoption of the Best Practices.

A figura abaixo demonstra os benefícios que os editores de dados obterão ao optar pela adoção das Boas Práticas.

REUSE

REUTILIZAÇÃO

All Best Practices

Todas as Boas Práticas

ACCESS

ACESSIBILIDADE

  • Provide bulk download
  • Fornecer download em massa
  • Provide Subsets for Large Datasets
  • Fornecer subconjuntos para conjuntos de dados extensos
  • Use content negotiation for serving data available in multiple formats
  • Utilizar a negociação de conteúdo para disponibilizar dados em formatos múltiplos
  • Provide real-time access
  • Fornecer acesso em tempo real
  • Provide data up to date
  • Fornecer dados atualizados
  • Make data available through an API
  • Disponibilizar dados por meio de uma API
  • Use Web Standards as the foundation of APIs
  • Utilizar Padrões da Web como a base para as APIs
  • Provide Complementary Presentations.
  • Fornecer apresentações complementares

DISCOVERABILITY

ENCONTRABILIDADE

  • Provide metadata
  • Fornecer metadados
  • Provide descriptive metadata
  • Fornecer metadados descritivos
  • Use persistent URIs as identifiers of datasets
  • Utilizar URIs constantes como identificadores de conjuntos de dados
  • Use persistent URIs as identifiers within datasets
  • Utilizar URIs constantes como identificadores dentro dos conjuntos de dados
  • Assign URIs to dataset versions and series
  • Designar URIs para versões e séries de conjuntos de dados
  • Use Web Standards as the foundation of APIs
  • Utilizar padrões da Web como a base para as APIs
  • Cite the Original Publication
  • Citar a publicação original

PROCESSABILITY

PROCESSABILIDADE

  • Provide metadata
  • Fornecer metadados
  • Provide structural metadata
  • Fornecer metadados estruturais
  • Use machine-readable standardized data formats
  • Utilizar formatos de dados padronizados e inteligíveis por máquinas
  • Provide data in multiple formats
  • Fornecer dados em formatos múltiplos
  • Reuse vocabularies, preferably standardized ones
  • Reutilizar vocabulários preferencialmente padronizados
  • Provide Subsets for Large Datasets
  • Fornecer subconjuntos para conjuntos de dados extensos
  • Make data available through an API
  • Disponibilizar os dados por meio de uma API
  • Use Web Standards as the foundation of APIs
  • Utilizar os padrões da Web como a base para as APIs.
  • Enrich data by generating new data
  • Enriquecer dados por meio da geração de novos dados

TRUST

CONFIABILIDADE

  • Provide data license information
  • Fornecer informações de licenciamento de dados
  • Provide data provenance information
  • Fornecer informações sobre a proveniência dos dados
  • Provide data quality information
  • Fornecer informações sobre a qualidade dos dados
  • Provide a version indicator
  • Fornecer um indicador de versão
  • Provide version history
  • Fornecer histórico de versão
  • Assign URIs to dataset versions and series
  • Designar URIs para versões e séries de conjuntos de dados 
  • Reuse vocabularies, preferably standardized ones
  • Reutilizar vocabulários preferencialmente padronizados
  • Provide an explanation for data that is not available
  • Fornecer uma justificativa para dados não disponíveis
  • Provide complete documentation for your API
  • Fornecer a documentação completa para sua API
  • Avoid Breaking Changes to Your API
  • Evitar Modificações que Quebrem sua API
  • Preserve identifiers
  • Preservar os identificadores
  • Assess dataset coverage
  • Avaliar a cobertura do conjunto de dados
  • Gather feedback from data consumers
  • Coletar feedback de consumidores de dados
  • Make feedback available
  • Disponibilizar feedback
  • Enrich data by generating new data
  • Enriquecer os dados por meio da geração de novos dados
  • Provide Complementary Presentations
  • Fornecer apresentações complementares
  • Provide Feedback to the Original Publisher
  • Fornecer feedback ao editor original
  • Follow Licensing Terms
  • Seguir os termos de licenciamento
  • Cite the Original Publication
  • Citar a publicação original

INTEROPERABILITY

INTEROPERABILITY

  • Use persistent URIs as identifiers of datasets
  • Utilizar URIs constantes como identificadores de conjuntos de dados
  • Use persistent URIs as identifiers within datasets
  • Utilizar URIs constantes como identificadores dentro dos conjuntos de dados 
  • Reuse vocabularies, preferably standardized ones
  • Reutilizar vocabulários preferencialmente padronizados
  • Choose the right formalization level
  • Escolher o nível correto de formalização 
  • Make data available through an API
  • Disponibilizar dados por meio de uma API
  • Use Web Standards as the foundation of APIs
  • Utilizar padrões da Web como a base para as APIs
  • Avoid Breaking Changes to Your API
  • Evitar modificações que quebrem sua API
  • Provide Feedback to the Original Publisher
  • Fornecer feedback ao editor Original

LINKABILITY

CONECTIVIDADE

Use persistent URIs as identifiers of datasets

  • Utilizar URIs constantes como identificadores de conjuntos de dados
  • Use persistent URIs as identifiers within datasets
  • Utilizar URIs constantes como identificadores dentro dos conjuntos de dados
  • Provide Subsets for Large Datasets
  • Fornecer subconjuntos para conjuntos de dados extensos
  • Use Web Standards as the foundation of APIs
  • Utilizar padrões da Web como a base para as APIs

COMPREHENSION

COMPREENSÃO

  • Provide metadata
  • Fornecer metadados
  • Provide descriptive metadata
  • Fornecer metadados descritivos
  • Provide structural metadata
  • Fornecer metadados estruturais
  • Provide data provenance information
  • Fornecer informações sobre a proveniência dos dados
  • Use locale-neutral data representations
  • Utilizar representações de dados de localidade neutra
  • Reuse vocabularies, preferably standardized ones
  • Reutilizar vocabulários preferencialmente padronizados
  • Choose the right formalization level
  • Escolher o nível correto de formalização 
  • Gather feedback from data consumers
  • Coletar feedback de consumidores de dados
  • Enrich data by generating new data
  • Enriquecer dados por meio da geração de novos dados
  • Provide Complementary Presentations
  • Fornecer apresentações complementares

12. Use Cases Requirements x Best Practices

12. Requisitos de Casos de Uso x Boas Práticas

This section is non-normative.

Este seção não é normativa

RequirementRequisitosBest PracticesBoas Práticas
R-MetadataAvailableProvide metadataFornecer metadadosProvide descriptive metadataFornecer metadados descritivosProvide structural metadataFornecer metadados estruturaisProvide data provenance informationFornecer informações sobre a proveniência dos dadosUse locale-neutral data representationsUtilizar representações de dados de localidade neutraCite the Original PublicationCitar a publicação original
R-MetadataDocumProvide metadataFornecer metadadosReuse vocabularies, preferably standardized onesReutilizar vocabulários preferencialmente padronizados
R-MetadataMachineReadProvide metadataFornecer metadadosProvide descriptive metadataFornecer metadados descritivosProvide data license informationFornecer informações de licenciamento de dados
R-MetadataStandardizedProvide descriptive metadataFornecer metadados descritivosReuse vocabularies, preferably standardized onesReutilizar vocabulários preferencialmente padronizados
R-LicenseAvailableProvide data license informationFornecer informações de licenciamento de dadosFollow Licensing TermsSeguir os termos de licenciamento
R-LicenseLiabilityProvide data license informationFornecer informações de licenciamento de dadosFollow Licensing TermsSeguir os termos de licenciamento
R-ProvAvailableProvide data provenance informationFornecer informações sobre a proveniência dos dadosEnrich data by generating new dataEnriquecer dados por meio da geração de novos dadosCite the Original PublicationCitar a publicação original.
R-QualityMetricsProvide data quality informationFornecer informações sobre a qualidade dos dados
R-DataMissingIncompleteProvide data quality informationFornecer informações sobre a qualidade dos dados
R-QualityOpinionsProvide data quality informationFornecer informações sobre a qualidade dos dadosGather feedback from data consumersColetar feedback de consumidores de dadosMake feedback availableDisponibilizar feedbackProvide Feedback to the Original PublisherFornecer feedback ao editor original
R-DataVersionProvide a version indicatorFornecer um indicador de versãoProvide version historyFornecer histórico de versão
R-UniqueIdentifierUse persistent URIs as identifiers of datasetsUtilizar URIs constantes como identificadores de conjuntos de dadosUse persistent URIs as identifiers within datasetsUtilizar URIs constantes como identificadores dentro dos conjuntos de dadosAssign URIs to dataset versions and seriesDesignar URIs para versões e séries de conjuntos de dadosProvide Subsets for Large DatasetsFornecer subconjuntos para conjuntos de dados extensosUse Web Standards as the foundation of APIsUtilizar padrões da Web como a base para as APIs
R-CitableUse persistent URIs as identifiers of datasetsUtilizar URIs constantes como identificadores e conjuntos de dadosAssign URIs to dataset versions and seriesDesignar URIs para versões e séries de conjuntos de dadosProvide Subsets for Large DatasetsFornecer subconjuntos para conjuntos de dados extensosCite the Original PublicationCitar a publicação original
R-FormatMachineReadUse machine-readable standardized data formatsUtilizar formatos de dados padronizados inteligíveis por máquinas.Use locale-neutral data representationsUtilizar representações de dados neutros no que se refere à localidadeUse content negotiation for serving data available in multiple formatsUtilizar a negociação de conteúdo para fornecer dados que estejam disponíveis em formatos múltiplosEnrich data by generating new dataEnriquecer os dados por meio da geração de novos dados
R-FormatStandardizedUse machine-readable standardized data formatsUtilizar formatos de dados padronizados e inteligíveis por máquinas
R-FormatOpenUse machine-readable standardized data formatsUtilizar formatos de dados padronizados e inteligíveis por máquinas
R-FormatLocalizeUse locale-neutral data representationsUtilizar representações de dados de localidade neutra
R-GeographicalContextUse locale-neutral data representationsUtilizar representações de dados de localidade neutra
R-FormatMultipleProvide data in multiple formatsFornecer dados em formatos múltiplosUse content negotiation for serving data available in multiple formatsUtilizar a negociação de conteúdo para disponibilizar dados em formatos múltiplos
R-QualityComparableReuse vocabularies, preferably standardized onesReutilizar vocabulários preferencialmente padronizadosChoose the right formalization levelEscolher o nível correto de formalização 
R-VocabOpenReuse vocabularies, preferably standardized onesReutilizar vocabulários preferencialmente padronizados
R-VocabReferenceReuse vocabularies, preferably standardized onesReutilizar vocabulários preferencialmente padronizadosChoose the right formalization levelEscolher o nível correto de formalização Assess dataset coverageAvaliar a cobertura do conjunto de dados
R-AccessBulkProvide bulk downloadFornecer download em massa
R-GranularityLevelsProvide Subsets for Large DatasetsFornecer subconjuntos para conjuntos de dados extensos
R-AccessRealTimeProvide Subsets for Large DatasetsFornecer subconjuntos para conjuntos de dados extensosProvide real-time accessFornecer acesso em tempo realMake data available through an APIDisponibilizar dados por meio de uma API
R-AccessUpToDateProvide data up to dateFornecer dados atualizadosMake data available through an APIDisponibilizar dados por meio de uma API
R-AccessLevelProvide an explanation for data that is not availableFornecer uma justificativa para dados não disponíveisPreserve identifiersPreservar os identificadores
R-SensitivePrivacyProvide an explanation for data that is not availableFornecer uma justificativa para dados não disponíveis
R-SensitiveSecurityProvide an explanation for data that is not availableFornecer uma justificativa para dados não disponíveis
R-APIDocumentedUse Web Standards as the foundation of APIsUtilizar padrões da Web como a base para as APIsProvide complete documentation for your APIFornecer a documentação completa para sua APIAvoid Breaking Changes to Your APIEvitar modificações que quebrem sua API
R-PersistentIdentificationAvoid Breaking Changes to Your APIEvitar modificações que quebrem sua APIPreserve identifiersPreservar os identificadores
R-UsageFeedbackGather feedback from data consumersColetar feedback de consumidores de dadosMake feedback availableDisponibilizar feedbackProvide Feedback to the Original PublisherFornecer feedback ao editor original
R-DataEnrichmentEnrich data by generating new dataEnriquecer dados por meio da geração de novos dadosProvide Complementary PresentationsFornecer apresentações complementares.
R-TrackDataUsageProvide Feedback to the Original PublisherFornecer feedback ao editor originalCite the Original PublicationCitar a publicação original

A. Acknowledgements

A. Agradecimentos

The editors gratefully acknowledge the contributions made to this document by all members of the working group. Especially Annette Greiner’s great effort and the contributions received from Antoine Isaac, Eric Stephan and Phil Archer.

This document has benefited from inputs from many members of the Spatial Data on the Web Working Group. Specific thanks are due to Andrea Perego, Dan Brickley, Linda van den Brink and Jeremy Tandy. The editors would also like to thank comments received from Addison Phillips, Adriano Machado, Adriano Veloso, Andreas Kuckartz, Augusto Herrmann, Bart van Leeuwen, Christophe Gueret, Erik Wilde, Giancarlo Guizzardi, Gisele Pappa, Gregg Kellogg, Herbert Van de Sompel, Ivan Herman, Leigh Dodds, Lewis John McGibbney, Makx Dekkers, Manuel Tomas Carrasco-Benitez, Maurino Andrea, Michel Dumontier, Nandana Mihindukulasooriya, Nathalia Sautchuk Patrício, Peter Winstanley, Renato Iannella, Steven Adler, Vagner Diniz, and Wagner Meira.

The editors also gratefully acknowledge the chairs of this Working Group: Deirdre Lee, Hadley Beeman, Yaso Córdova and the staff contact Phil Archer.

Os editores agradecem as contribuições feitas a este documento por todos os membros do grupo de trabalho. Especialmente o grande esforço realizado por Annette Greiner e os subsídios recebidos de Antoine Isaac, Eric Stephan e Phil Archer.

Este documento beneficiou-se da colaboração de muitos membros do Grupo de Trabalho em Dados Espaciais na Web. Devemos agradecimentos especiais aos colegas Andrea Perego, Dan Brickley, Linda van den Brink e Jeremy Tandy. Os editores gostariam também de agradecer pelos comentários recebidos de Addison Phillips, Adriano Machado, Adriano Veloso, Andreas Kuckartz, Augusto Herrmann, Bart van Leeuwen, Christophe Gueret, Erik Wilde, Giancarlo Guizzardi, Gisele Pappa, Gregg Kellogg, Herbert Van de Sompel, Ivan Herman, Leigh Dodds, Lewis John McGibbney, Makx Dekkers, Manuel Tomas Carrasco-Benitez, Maurino Andrea, Michel Dumontier, Nandana Mihindukulasooriya, Nathalia Sautchuk Patrício, Peter Winstanley, Renato Iannella, Steven Adler, Vagner Diniz, e Wagner Meira.

Os editores também querem agradecer os presidentes deste Grupo de Trabalho: Deirdre Lee, Hadley Beeman, Yaso Córdova e o contato administrativo Phil Archer.

B. Change history

B.  Histórico de Modificações

Changes since the previous version:

 Modificações efetuadas desde a versão anterior:

  • The introduction was rearranged and slightly extended to make it clear that DWBP is a general document that is complemented by more detailed work in specific areas.
  • A introdução foi reorganizada e levemente ampliada para clarificar que o DBPW é um documento geral complementado de forma mais detalhada em áreas mais específicas.
  • Additional attributes were added to the SVG diagrams to increase their accessibility.
  • Atribuições adicionais foram adicionadas aos diagramas SVG para aumentar sua acessibilidade.
  • Descriptive names added to the namespaces table
  • Nomes descritivos foram adicionados à tabela de nomes de espaço.
  • The name used in the running example, John, changed for the more gender-neutral Adrian.
  • O nome usado no exemplo em execução, John, foi trocado para Adrian por ser mais neutro no que se refere a gênero.

C. References

C.1 Informative references

C. Referências

C.1 Referências Informativas

[]Annotation-Model

Robert Sanderson; Paolo Ciccarese; Benjamin Young. W3C. Web Annotation Data Model. 17 January 2017. W3C Proposed Recommendation. URL: https://www.w3.org/TR/annotation-model/

[BCP47]

A. Phillips; M. Davis. IETF. Tags for Identifying Languages. September 2009. IETF Best Current Practice. URL: https://tools.ietf.org/html/bcp47

[BNF]

Bibliothèque nationale de France. Reference information about authors, works, topics. URL: http://data.bnf.fr/

[CCREL]

Hal Abelson; Ben Adida; Mike Linksvayer; Nathan Yergler. W3C/Creative Commons. ccREL: The Creative Commons Rights Expression Language. 1 May 2008. W3C Member Submission. URL: http://www.w3.org/Submission/ccREL/

[CLDR]

Unicode Consortium. Unicode Common Locale Data Repository. URL: http://cldr.unicode.org/

[DCTERMS]

Dublin Core metadata initiative. DCMI Metadata Terms. 14 June 2012. DCMI Recommendation. URL: http://dublincore.org/documents/dcmi-terms/

[DWBP-UCR]

Deirdre Lee; Bernadette Farias Loscio; Phil Archer. W3C. Data on the Web Best Practices Use Cases & Requirements. 24 February 2015. W3C Note. URL: https://www.w3.org/TR/dwbp-ucr/

[FOAF]

Dan Brickley; Libby Miller. FOAF project. FOAF Vocabulary Specification 0.99 (Paddington Edition). 14 January 2014. URL: http://xmlns.com/foaf/spec/

[Fielding]

Roy Thomas Fielding. University of California, Irvine. Representational State Transfer (REST), Chapter 5 of Architectural Styles and the Design of Network-based Software Architectures. 2000. URL: https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm

[GS1]

Mark Harrison; Ken Traub. GS1. SmartSearch Implementation Guideline. November 2015. URL: http://www.gs1.org/gs1-smartsearch/guideline/gtin-web-implementation-guideline

[GTFS]

Pieter Colpaert; Andrew Byrd. General Transit Feed Specification. URL: http://vocab.gtfs.org/terms#

[HTML-RDFA]

Manu Sporny. W3C. HTML+RDFa 1.1 – Second Edition. 17 March 2015. W3C Recommendation. URL: https://www.w3.org/TR/html-rdfa/

[ISO-25964]

Stella Dextre Clarke et al. ISO/NISO. ISO 25964 – the international standard for thesauri and interoperability with other vocabularies. URL: http://www.niso.org/schemas/iso25964/

[ISO639-1-LOC]

Library of Congress. Ontology for ISO 639-1 Languages. URL: http://id.loc.gov/ontologies/iso639-1_Languages

[JSON-LD]

Manu Sporny; Gregg Kellogg; Markus Lanthaler. W3C. JSON-LD 1.0. 16 January 2014. W3C Recommendation. URL: https://www.w3.org/TR/json-ld/

[LD-BP]

Bernadette Hyland; Ghislain Auguste Atemezing; Boris Villazón-Terrazas. W3C. Best Practices for Publishing Linked Data. 9 January 2014. W3C Note. URL: https://www.w3.org/TR/ld-bp/

[LODC]

Max Schmachtenberg; Christian Bizer; Anja Jentzsch; Richard Cyganiak. The Linking Open Data Cloud Diagram. URL: http://lod-cloud.net/

[LTLI]

Felix Sasaki; Addison Phillips. W3C. Language Tags and Locale Identifiers for the World Wide Web. 23 April 2015. W3C Working Draft. URL: https://www.w3.org/TR/ltli/

[Navathe]

Ramez Elmasri; Shamkant B. Navathe. Addison Wesley. Fundamentals of Database Systems. 2010.

[OAIS]

ISO/TC 20/SC 13. ISO. Space data and information transfer systems — Open archival information system (OAIS) — Reference model. 21 August 2012. ISO Standard. URL: http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=57284

[ODB]

World Wide Web Foundation. Open Data Barometer. URL: http://opendatabarometer.org

[ODRL-model]

Renato Iannella; Serena Villata. W3C. ODRL Information Model. 21 July 2016. W3C Working Draft. URL: https://www.w3.org/TR/odrl-model/

[ODRS]

Leigh Dodds. The Open Data Institute. Open Data Rights Statement Vocabulary. 29 July 2013. URL: http://schema.theodi.org/odrs/

[OKFN-INDEX]

Open Knowledge Foundation. Global Open Data Index. URL: http://index.okfn.org/

[OWL2-OVERVIEW]

W3C OWL Working Group. W3C. OWL 2 Web Ontology Language Document Overview (Second Edition). 11 December 2012. W3C Recommendation. URL: https://www.w3.org/TR/owl2-overview/

[OWL2-PROFILES]

Boris Motik; Bernardo Cuenca Grau; Ian Horrocks; Zhe Wu; Achille Fokoue. W3C. OWL 2 Web Ontology Language Profiles (Second Edition). 11 December 2012. W3C Recommendation. URL: https://www.w3.org/TR/owl2-profiles/

[OWL2-QUICK-REFERENCE]

Jie Bao; Elisa Kendall; Deborah McGuinness; Peter Patel-Schneider. W3C. OWL 2 Web Ontology Language Quick Reference Guide (Second Edition). 11 December 2012. W3C Recommendation. URL: https://www.w3.org/TR/owl2-quick-reference/

[PAV]

Paolo Ciccarese; Stian Soiland-Reyes. PAV – Provenance, Authoring and Versioning. 28 August 2014. URL: http://purl.org/pav/

[PDF]

Document management — Portable document format — Part 1: PDF. ISO.

[PROV-O]

Timothy Lebo; Satya Sahoo; Deborah McGuinness. W3C. PROV-O: The PROV Ontology. 30 April 2013. W3C Recommendation. URL: https://www.w3.org/TR/prov-o/

[PROV-Overview]

Paul Groth; Luc Moreau. W3C. PROV-Overview. 30 April 2013. W3C Note. URL: https://www.w3.org/TR/prov-overview/

[PURI]

Phil Archer; Nikos Loutas; Stijn Goedertier; Saky Kourtidis. Study On Persistent URIs. 17 December 2012. URL: http://philarcher.org/diary/2013/uripersistence/

[RDA]

Research Data Alliance. URL: http://rd-alliance.org

[RDF-SCHEMA]

Dan Brickley; Ramanathan Guha. W3C. RDF Schema 1.1. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/rdf-schema/

[RFC3986]

T. Berners-Lee; R. Fielding; L. Masinter. IETF. Uniform Resource Identifier (URI): Generic Syntax. January 2005. Internet Standard. URL: https://tools.ietf.org/html/rfc3986

[RFC4180]

Y. Shafranovich. IETF. Common Format and MIME Type for Comma-Separated Values (CSV) Files. October 2005. Informational. URL: https://tools.ietf.org/html/rfc4180

[RFC4627]

D. Crockford. IETF. The application/json Media Type for JavaScript Object Notation (JSON). July 2006. Informational. URL: https://tools.ietf.org/html/rfc4627

[RFC7089]

H. Van de Sompel; M. Nelson; R. Sanderson. IETF. HTTP Framework for Time-Based Access to Resource States — Memento. December 2013. Informational. URL: https://tools.ietf.org/html/rfc7089

[Richardson]

Richardson L.; Sam Ruby. O’Reilly. RESTful Web Services. 2007. URL: http://restfulwebapis.org/rws.html

[SCHEMA-ORG]

Schema.org. URL: http://schema.org/

[SDW-BP]

Jeremy Tandy; Payam Barnaghi; Linda van den Brink. W3C. Spatial Data on the Web Best Practices. 5 January 2017. W3C Note. URL: https://www.w3.org/TR/sdw-bp/

[SIRI]

CEN. Service Interface for Real Time Information CEN/TS 15531 (prCEN/TS-OO278181 ). October 2006. URL: http://user47094.vs.easily.co.uk/siri/

[SKOS-DESIGN]

Tom Baker; Sean Bechhofer; Antoine Isaac; Alistair Miles; Guus Schreiber; Ed Summers. Elsevier. Key Choices in the Design of Simple Knowledge Organization System (SKOS). May 2013. Journal of Web Semanics 20: 35-49. URL: http://dx.doi.org/10.1016/j.websem.2013.05.001

[SKOS-PRIMER]

Antoine Isaac; Ed Summers. W3C. SKOS Simple Knowledge Organization System Primer. 18 August 2009. W3C Note. URL: https://www.w3.org/TR/skos-primer/

[SchemaVer]

Alex Dean. Introducing SchemaVer for semantic versioning of schemas. 2014. URL: http://snowplowanalytics.com/blog/2014/05/13/introducing-schemaver-for-semantic-versioning-of-schemas/

[Tabular-Data-Primer]

Jeni Tennison. W3C. CSV on the Web: A Primer. 25 February 2016. W3C Note. URL: https://www.w3.org/TR/tabular-data-primer/

[Tabular-Metadata]

Jeni Tennison; Gregg Kellogg. W3C. Metadata Vocabulary for Tabular Data. 17 December 2015. W3C Recommendation. URL: https://www.w3.org/TR/tabular-metadata/

[Turtle]

Eric Prud’hommeaux; Gavin Carothers. W3C. RDF 1.1 Turtle. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/turtle/

[URLs-in-data]

Jeni Tennison. W3C. URLs in Data Primer. 4 June 2013. W3C Working Draft. URL: https://www.w3.org/TR/urls-in-data/

[VOCAB-DCAT]

Fadi Maali; John Erickson. W3C. Data Catalog Vocabulary (DCAT). 16 January 2014. W3C Recommendation. URL: https://www.w3.org/TR/vocab-dcat/

[VOCAB-DQV]

Riccardo Albertoni; Antoine Isaac. W3C. Data on the Web Best Practices: Data Quality Vocabulary. 15 December 2016. W3C Note. URL: https://www.w3.org/TR/vocab-dqv/

[VOCAB-DUV]

Bernadette Farias Loscio; Eric Stephan; Sumit Purohit. W3C. Data on the Web Best Practices: Dataset Usage Vocabulary. 15 December 2016. W3C Note. URL: https://www.w3.org/TR/vocab-duv/

[WEBARCH]

Ian Jacobs; Norman Walsh. W3C. Architecture of the World Wide Web, Volume One. 15 December 2004. W3C Recommendation. URL: https://www.w3.org/TR/webarch/

[XHTML-VOCAB]

XHTML 2 Working Group. W3C. XHTML Vocabulary. 27 October 2010. URL: https://www.w3.org/1999/xhtml/vocab