Business Intelligence & Business Analytics Tags

Melhores práticas: Dados Na Web – #1 Forneça Metadados!

Metadata is a note love to the future

Com base no documento de Melhores Práticas para Dados na Web, produzidas pelo WG DWBP, vamos comentar uma Melhor Prática por dia.

Pois bem, hoje é dia da primeira:

BP1: Forneça Metadados

Os metadados podem ser considerados etiquetas que ajudam as máquinas e pessoas a identificar do que se trata e o que tem dentro dos datasets. Para entender porque eles são necessários, imagine um depósito do Wall Mart cheio de caixas empilhadas com produtos para vender. Agora, imagine que a Web é o interior da loja e você é o encarregado de colocar tudo nas prateleiras, organizando por tipo de produto. Pra otimizar o seu trabalho, os encarregados de empilhar as caixas no depósito deixaram tudo etiquetado, identificando o conteúdo de cada caixa, evitando que você tenha que abrir tudo para ver o que tem dentro antes de começar a arrumar. Pois bem, esses encarregados que etiquetaram tudo deixaram metadados pra você.

Assim fica fácil entender porque fornecer metadados quando colocar seus dados na Web é tão importante!

Forneça metadados para que humanos e aplicações de computador possam ler

Fornecer metadados é importante quando se publica dados na web porque publicadores de dados e consumidores de dados podem não se conhecer. Por causa disso é preciso prover informação que ajude humanos e computadores a entenderem os dados publicados, assim como outros importantes aspectos que podem ser descritos usando metadados.

Resultado esperado

Humanos poderão entender os metadados, assim como aplicações de computador – especialmente os user agents, serão capazes de processa-los.

Possível Implementação

Para dados que voê quer que humanos leiam, você pode fornecer metadados como parte de uma página HTML ou prover metadados em um arquivo-texto em separado.

Para dados legíveis por máquina, você pode utilizar um formato de serialização, tipo Turtle ou JSON ou pode embedar no html usando o HTML-RDFAou JSON-LDSe múltiplos formatos forem publicados separadamente, eles devem vir da mesma URL usando negociação de conteúdo (ou conneg) e ficar disponíveis em URIs diferentes, diferenciadas pela exptensão do nome do arquivo. A Manutenção de múltiplos formatos fica melhor se você puder gerar cada formato “on the fly” se baseando numa fonte única de metadados.

Além disso, quando você quiser tornar disponível dados sobre datasets para máquinas, é bom que você use padrões que já existem ou vocabulários que muitos outros publicadores já usam. Por exemplo, os termos do Dublin Core Metadata (DCMI), chamados de DCMI Metadata Terms e o Data Catalog Vocabulary

fonte

Melhores práticas: Dados Na Web – #2 Forneça Metadados Descritivos!

Metadados são um recado de amor pro futuro

Ontem saiu o post sobre a Primeira Melhor Prática, que é Forneça Metadados. A segunda melhor prática do documento Melhores Práticas para Dados na Web, produzidas pelo WG DWBP, comento hoje.

BP2: Forneça metadados descritivos

Forneça metadados que descrevam as funcionalidades em geral dos datasets e distribuições.

Fornecer informação descritiva sobre os datasets permite que os user agents descubram automaticamente os datasets disponíveis na Web, além de permitir aos humanos entender a natureza do dataset e suas distribuições.

Resultado esperado

Fazendo isso os humanos serão capazes de interpretar a natureza dos dados no dataset e suas distribuições. Além disso os software agents vão descobrir automaticamente os datasets e suas distribuições.

Dados em uma publicação WEB

Possível Implementação

Metadados descritivos podem incluir as seguintes funcionalidades de um dataset:

  • O título e a descrição do dataset
  • Palavras-chave que descrevem o conteúdo
  • A data da publicação do dataset
  • A entidade responsável por tornar os dados disponíveis
  • O ponto de contato sobre o dataset
  • A cobertura geográfica do dataset
  • O período temporal que o dataset cobre
  • os temas ou categorias de um determinado dataset

Metadados descritivos podem incluir as seguintes funcionalidades de uma distribuição:

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

A versão legível por máquinas dos dados descritivos pode ser fornecida utilizando algum vocabulário recomendado pelo W3C, feito específicamente para descrever datasets. Por exemplo o Data Catalog Vocabulary. Ele fornece um framework para descrever no qual datasets podem ser descritos como entidades abstratas.

Veja o exemplo abaixo que traz dados legíveis por máquinas:

Ele mostra como utilizar o Data Catalog Vocabulary(DCAT) para fornecer dados que possam ser lidos por máquina para o dataset sobre paradas de ônibus (stops-2015-05-05). O dataset tem uma distribuição em .csv (stops-2015-05-05.csv) que também é descrita utilizando o >Data Catalog Vocabulary(DCAT).O dataset está classificado sobre o domínio representado pela URI relativa “mobilidade”.
Este domínio pode ser definido como parte de um set de domínios identificados pelos temas da URI. Para descrever ambos os conceitos e os conceitos do esquema, John utilizou o SKOS. Para expressar frequência de atualização, uma instância das “Content-Oriented Guidelines”, desenvolvidas como parte do vocabulário do W3C “Data Cube” foi utilizada. John escolher descrever a cobertura espacial e temporal do dataset usando URIs do Geonames e o Interval 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://www.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 ;
.
: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" ;
.

Aqui você pode também dar uma olhada em um exemplo de metadados descritivos direcionados ao entendimento de humanos.

Viu? A segunda melhor prática do documento também não é um bicho de sete cabeças. Na verdade, a prática do uso de metadados descritivo é promessa de ganho ao longo do tempo, uma vez que, quanto mais metadados, quanto mais ricos eles são e quanto mais padronizados, mais fácil de utilizá-los para fazer cruzamentos e leituras dos mesmos.

fonte

Melhores práticas: Dados Na Web – #3 Forneça metadados com parâmetros de localidade

Exemplo de imagem de localização

Continuando a série de posts (que iniciou com as BP1 e BP2) sobre o documento do grupo do W3C, o WG DWBP, vou comentar traduzindo a terceira melhor prática.

BP3: Forneça metadados com parâmetros de localidade

Forneça metadados com parâmetros de localidade, ou seja, que descrevem data, hora e formatos de número, bem como linguagem em que os dados estão publicados.

Fornecer parâmetros de localidade ajuda humanos e aplicações de computador a funcionarem com precisão na hora de interpretar dados que identificam datas, moedas e números que podem parecer semelhantes, mas têm significados diferentes em diferentes localidades. Por exemplo, o ‘date’ 4/7 pode ser lido como 07 de abril ou 04 de julho, dependendo de onde os dados foram criados. Da mesma forma € 2.000 é ou dois mil euros ou uma representação de dois Euros com zeros em excesso. Tornando o local e linguagem explícita você dá a chance dos usuários descobrirem quais são os dados e a que se referem, interpretando-os de acordo com normas locais. Isso também tem o mesmo efeito sobre os serviços de tradução automática.

Ao lado, um exemplo de imagem de aplicativo que utiliza metadados de parâmetros de localidade para identificar funções para o usuário. Retirado de: https://flic.kr/p/68xJNx

Resultado esperado

Os seres humanos e os agentes de software vão poder interpretar o datasets que contem datas, horas, moedas,  números etc, com precisão. 

Possível Implementação

Alguns exemplos de parâmetros de localidade são:

O(s) idioma(s) do conjunto de dados;

Os formatos utilizados para valores numéricos, datas e hora. A versão legível por máquina dos metadados pode ser fornecida de acordo com o vocabulário recomendado pelo W3C para descrever conjuntos de dados, ou seja, o catálogo para vocabulários de dados, ou VOCAB-DCAT.

Veja o exemplo abaixo que traz metadados de localidade:

O dataset abaixo traz dados das paradas de ônibus (stops-2015-05-05) com a inclusão de metadados de parâmetros de localidade. A propriedade dct:language é utilizada para declarar as linguagens nas quais um dataset está publicado. Se o dataset está disponível em múltiplas linguagens, use múltiplos valores para esta propriedade. A propriedade dct:conformsTo é utilizada para especificar o padrão adotado para formato de data e hora.


: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://www.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> ;
      dct:language <http://id.loc.gov/vocabulary/iso639-1/pt> ;
      dct:conformsTo <http://www.iso.org/iso/home/standards/iso8601.htm> ; 
.

Aqui você confere um exemplo com esse tipo de metadados em formato legível por humanos.

Antes de publicar seus dados, tenha a certeza de que os metadados incluem informação sobre os parâmetros de localidade em formato que seja legível por humanos. Além disso, cheque também se o dataset tem informação sobre localidade em formato legível por máquinas. Isso é importante para permitir a integração de produtos que utilizam estes dados em múltiplas plataformas (aplicativos, sites web, redes sociais), facilitando na entrega de dados ao usuário consumidor.

fonte

Melhores práticas: Dados Na Web – #4 Forneça metadados com informações estruturais

Metadados - Medialab Prado

E chegou a vez da quarta melhor prática que vai ser recomendada no documento de Melhores Práticas para Dados na Web, que ainda é sobre metadados. Se você ainda não leu as primeiras melhores práticas, elas estão aqui: BP1, BP2, BP3.

BP4: Forneça metadados com com informações estruturais

Forneça metadados que descrevam o esquema e a estrutura interna dos datasets que você vai distribuir.

O fornecimento de informações sobre a estrutura interna de uma distribuição é essencial para outros que desejem explorar ou consultar o conjunto de dados. Fornecer metadados com informações estruturais também ajuda as pessoas a compreender o significado dos dados.

Resultado esperado

Humanos serão capazes de interpretar o esquema de um conjunto de dados, bem como os software agents serão capazes de processar automaticamente estas informações.

Possível Implementação

Mas o que são metadados sobre a estrutura?

Metadados com informações estruturais que humans podem ler facilmente geralmente pfornecem propriedades ou nomes das colunas do esquema do dataset. Já dados com informações sobre a estrutura que são legíveis por máquina podem ser fornecidos em documentos separados, ou embedados dentro do próprio documento. A documentação do Tabular Metadata, do JSON-LD, do XML-SCHEMA ou do Datacube apresenta explicações completas e alternativas para uso na descrição da estrutura dos seus datasets.

Exemplos de uso desses metadados:

Legíveis por máquina:

John usou o Modelo para dados Tabulares e Metadados na Web para a publicação do CSV (dataset) sobre paradas de ônibus (stops-2015-05-05.csv). Veja como foram escritos os metadados para as estruturas dos dados no exemplo abaixo:


{
	"@context": ["http://www.w3.org/ns/csvw", {
		"@language": "en"
	}],
	"url": "http://data.mycity.example.com/transport/dataset/bus/stops-2015-05-05.csv",
	"dc:title": "CSV distribution of stops-2015-05-05 dataset",
	"dcat:keyword": ["bus", "stop", "mobility"],
	"dc:publisher": {
		"schema:name": "Transport Agency of MyCity",
		"schema:url": {
			"@id": "http://example.org"
		}
	},
	"dc:license": {
		"@id": "http://opendefinition.org/licenses/cc-by/"
	},
	"dc:modified": {
		"@value": "2015-05-05",
		"@type": "xsd:date"
	},
	"tableSchema": {
		"columns": [{
			"name": "stop_id",
			"titles": "Identifier",
			"dc:description": "An identifier for the bus stop.",
			"datatype": "string",
			"required": true
		}, {
			"name": "stop_name",
			"titles": "Name",
			"dc:description": "The name of the bus stop.",
			"datatype": "string"
		}, {
			"name": "stop_desc",
			"titles": "Description",
			"dc:description": "A description for the bus stop.",
			"datatype": "string"
		}, {
			"name": "stop_lat",
			"titles": ["Latitude"],
			"dc:description": "The latitude of the bus stop.",
			"datatype": "number"
		}, {
			"name": "stop_long",
			"titles": "Longitude",
			"dc:description": "The longitude of the bus stop.",
			"datatype": "number"
		}, {
			"name": "zone_id",
			"titles": "ZONE",
			"dc:description": "An identifier for the zone where the bus stop is located.",
			"datatype": "string"
		}, {
			"name": "stop_url",
			"titles": "URL",
			"dc:description": "URL that identifies the bus stop.",
			"datatype": "string"
		}],
		"primaryKey": "stop_id"
	}
}

Para um exemplo desse mesmo tipo de metadados com dados legíveis por humanos, veja esta página.

Para ter certeza de que está fazendo uso da 4a melhor prática, verifique sempre se os metadados do dataset estão em formato que humanos consigam interpretar. Confira se os metadados incluem informações sobre a estrutura dos seus datasets em formatos que sejam legíveis por máquina e sem erros de sintaxe, de preferência. :-)

fonte