6. Vocabulários e Ontologias

Nos capítulos anteriores vimos as tecnologias da Web Semântica que são relacionadas à forma como sintaticamente os metadados podem ser agregados às informações. Uma parte fundamental para que se alcance o objetivo de fazer com que o significado pretendido pelo publicador dos dados seja o mesmo que o significado entendido pelo consumidor dos dados é o uso de vocabulários que possuam uma semântica bem definida. Um fator que facilita enormemente o sucesso desse objetivo é a utilização de vocabulários de referência, ou vocabulários de uso mais comum. Neste documento os termos vocabulário e ontologia são utilizados de forma intercambiável. Não existe na literatura uma separação clara dos dois conceitos, sendo que, em muitos casos, o termo vocabulário é utilizado para o caso de ontologias mais simples.

Fazendo uma analogia com a comunicação cotidiana, podemos perceber que cada grupo particular de pessoas utiliza vocabulários específicos nas suas conversas, nas suas trocas de mensagens. As pessoas se agrupam por diversos motivos: localização geográfica, relação familiar, profissional, social, e um sem número de outras situações e características. Dois médicos conversando sobre um determinado procedimento cirúrgico utilizarão termos de um vocabulário específico. Da mesma forma, a descrição dos valores nutricionais de um pacote de salgadinhos utiliza o seu próprio vocabulário. Diversos vocabulários foram criados nas conversas das redes sociais, incluindo vocabulários gráficos, como os emoticons .

Para que o cenário da Web Semântica fique completo é preciso que se estabeleça um conjunto de vocabulários de referência, como maneira de facilitar a comunicação dos metadados. O leitor deve estar ciente de que para cada publicação específica, deve ser feita uma busca de vocabulários existentes que possam ser utilizados. Existem alguns catálogos que podem auxiliar o usuário na busca de ontologias, entre eles o LOV [75], o BioPortal [72] e o JoinUp [76]. Nos casos em que nenhum vocabulário satisfaça as necessidades de expressividade dos metadados, uma nova ontologia pode ser criada, com o cuidado em reutilizar o maior número possível de elementos de ontologias já existentes, evitando assim a duplicação de referências diferentes aos mesmos conceitos.

Cada vocabulário é descrito por um documento apontado por uma URI. Por exemplo, o vocabulário FOAF tem a URI “http://xmlns.com/foaf/0.1/”. A URI de referência às classes e às propriedades de cada um dos vocabulários é construída a partir da concatenação da URI do vocabulário com o nome da respectiva classe ou propriedade. Por exemplo, a propriedade “name” de FOAF tem a URI “http://xmlns.com/foaf/0.1/name”. Nas seções a seguir serão apresentados alguns dos vocabulários de referência mais populares e históricos.

6.1 Dublin Core

A Dublin Core Metadata Initiative [77] (DCMI) teve o seu evento inicial em 1995 e é uma das primeiras iniciativas a pensar na definição de um vocabulário para a descrição de metadados, tendo como premissas que as descrições tenham independência em relação à sintaxe e tenham uma semântica bem definida. É um vocabulário adequado para a descrição de recursos (documentos), e começou como um conjunto básico de 15 propriedades, que tinham uma ideia análoga a dos elementos de catalogação de bibliotecas:

• title – nome do recurso.

• creator – nome do criador do recurso.

• subject – tópico do recurso.

• description – descrição do recurso, que pode ser um resumo, um sumário, etc.

• publisher – entidade responsável por tornar o recurso disponível.

• contributor – nome dos contribuidores do recurso.

• date – data associada ao recurso.

• type – tipo do recurso.

• format – formato de arquivo, meio físico de armazenamento ou dimensões do recurso.

• identifier – uma referência única ao recurso dentro de um determinado contexto.

• source – fonte que originou o recurso, como, por exemplo, o resultado de um serviço.

• language – linguagem do recurso.

• relation – relação entre dois recursos.

• coverage – cobertura temporal ou espacial do recurso, por exemplo, uma jurisdição.

• rights – direitos associados ao recurso.

Esse vocabulário tem como uma de suas utilizações a documentação de páginas da Web. A figura 6.1 apresenta um exemplo de uso do vocabulário com a utilização do tag <meta> de HTML. As propriedades de Dublin Core são muito reutilizadas em outras ontologias.

<head>
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/">
<meta name="DC.title" content="Guia de Web Semântica">
<meta name="DC.creator" content="Carlos Laufer">
<meta name="DC.subject" content="Web Semântica">
<meta name="DC.subject" content="Dados Conectados">
<meta name="DC.description" content="Introdução ao Ecossistema e às Tecnologias de Web Semântica e Dados Conectados">
<meta name="DC.publisher" content="W3C Brasil">
<meta name="DC.date" content="21/01/2015">
</head>
Figura 6.1 - Exemplo de Uso do Vocabulário Dublin Core

Com a evolução do projeto, o vocabulário foi estendido com a criação de um conjunto maior de propriedades e de classes [78]. Entre as propriedades acrescentadas estão: “abstract”, “ audience ”, “conformsTo”, “hasVersion”, “ replaces ”, “ requires ”, etc. Entre as classes criadas estão “FileFormat”, “ Jurisdiction ”, “ Location ”, “ProvenanceStatem”, “MediaType”, etc.

6.2 FOAF

O vocabulário Friend of a Friend [79] (FOAF) surgiu no início do ano 2000 e é um vocabulário adequado para a definição de metadados sobre pessoas, seus interesse, seus relacionamentos e suas atividades. O vocabulário [13] tem um conjunto central de classes (primeira letra maiúscula) e propriedades (primeira letra minúscula):

• Agent – coisas que realizam algo, que podem ser pessoas, organizações, robôs, etc. Tem como subclasses “ Person ”, “ Organization ” e “ Group ”.

• Person – entidade central do vocabulário: representa as pessoas.

• name – cadeia de caracteres com um nome.

• title – forma de tratamento, como, por exemplo, “Sr.”, “Sra.”, etc.

• img – uma imagem que representa uma pessoa.

• depiction ( depicts ) – relaciona alguma coisa a uma imagem.

• familyName – descreve parte do nome de uma pessoa (sobrenome).

• givenName – descreve parte do nome de uma pessoa (primeiro nome).

• knows – relaciona duas pessoas.

• based _ near – relação espacial entre duas coisas.

• age – a idade da pessoa.

• made ( maker ) – alguma coisa feita por alguém.

• primaryTopic ( primaryTopicOf ) – principal tópico de um documento.

• Project – um projeto.

• Organization – uma organização.

• Group – um grupo.

• Member – um membro de um grupo.

• Document – um documento.

• Image – uma imagem.

Além desse núcleo central, existe uma extensão de classes e propriedades relacionadas às características sociais da Web, tais como, “ nick ”, “ mbox ” (e-mail), “ homepage ”, “ publications ”, “ account ”, etc.

Uma das ideias criadas com o vocabulário FOAF foi a de que cada pessoa poderia definir um arquivo, chamado arquivo FOAF, com suas informações pessoais, por exemplo, o arquivo FOAF de Tim Berners-Lee [80]. A figura 6.2 reproduz parte das informações contidas nesse arquivo, em formato Turtle.

@prefix dc11: <http://purl.org/dc/elements/1.1/> .
@prefix cc: <http://creativecommons.org/ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<http://dig.csail.mit.edu/2008/webdav/timbl/foaf.rdf>
  cc:license <http://creativecommons.org/licenses/by-nc/3.0/> ;
  dc11:title "Tim Berners-Lee’s FOAF file" ;
  a foaf:PersonalProfileDocument ;
  foaf:maker <http://www.w3.org/People/Berners-Lee/card#i> ;
  foaf:primaryTopic <http://www.w3.org/People/Berners-Lee/card#i> .
<http://www.w3.org/People/Berners-Lee/card#i>
  foaf:img <http://www.w3.org/Press/Stock/Berners-Lee/2001-europaeum-eighth.jpg>;
  foaf:knows
   <http://bblfish.net/people/henry/card#me> ,
   <http://danbri.org/foaf#danbri> ,
   <http://dbpedia.org/resource/John_Gage> ,
   <http://dbpedia.org/resource/John_Klensin> ,
   <http://dbpedia.org/resource/John_Markoff> ,
   <http://dbpedia.org/resource/John_Seely_Brown> ,
   <http://dbpedia.org/resource/Tim_Bray> ,
   <http://dig.csail.mit.edu/2007/wiki/people/JoeLambda#JL> ,
   <http://dig.csail.mit.edu/2007/wiki/people/RobertHoffmann#RMH> ,
   <http://norman.walsh.name/knows/who#norman-walsh> ,
   <http://www.cs.umd.edu/~hendler/2003/foaf.rdf#jhendler> ,
   <http://www.mindswap.org/2004/owl/mindswappers#Jennifer.Golbeck> ,
   <http://www.w3.org/People/Jacobs/contact.rdf#IanJacobs> .
Figura 6.2 - Informações do arquivo FOAF de Tim Berners-Lee (Turtle)

6.3 SKOS

Simple Knowledge Organization System (SKOS) [81] é uma recomendação do W3C que fornece uma maneira de representar esquemas de classificação, tais como vocabulários controlados, taxonomias e tesauros. Muitos desses sistemas compartilham uma estrutura semelhante e são usados em aplicações similares. SKOS captura grande parte dessas semelhanças e as torna explícitas, de forma a permitir o compartilhamento de dados entre essas diversas aplicações. Em SKOS, conceitos podem ser identificados por meio de URIs, com rótulos em uma ou mais línguas, e ser documentados com diferentes tipos de notas. Os diversos conceitos podem ser relacionados semanticamente entre si, em hierarquias e redes de associação informais, e também agrupados em esquemas conceituais. A seguir são apresentados os principais elementos de SKOS [82].

• Concept

É o elemento fundamental de SKOS. É uma classe que define que um determinado recurso é um conceito.

@prefix ex: .
ex:animals rdf:type skos:Concept.

• prefLabel, altLabel

São rótulos que permitem fazer referência aos conceitos em linguagem natural: “prefLabel” é o rótulo preferido a ser exibido e “altLabel”é um rótulo alternativo, utilizado, por exemplo, para sinônimos.

ex:animals rdf:type skos:Concept ;
  skos:prefLabel "animals" ;
  skos:altLabel "creatures" .

• broader , narrower

O significado de um conceito é definido não apenas pelas palavras em linguagem natural dos seus rótulos, mas, também, por suas ligações com outros conceitos do vocabulário. “ broader ” indica que um conceito é mais abrangente que um outro (um conceito que engloba o outro conceito). “ narrower ” é o inverso de “ broader ”.

ex:animals rdf:type skos:Concept ;
  skos:prefLabel "animals" ;
  skos:narrower ex:mammals .
ex:mammals rdf:type skos:Concept ;
  skos:prefLabel "mammals" ;
  skos:broader ex:animals .

• related

Indica uma relação associativa entre dois conceitos.

ex:ornithology rdf:type skos:Concept ;
  skos:prefLabel "ornithology" .
ex:birds rdf:type skos:Concept ;
  skos:prefLabel "birds" ;
  skos:related ex:ornithology

• note

Indica uma observação a respeito do conceito. “ note “ indica uma nota genérica, mas existe a possibilidade de qualificar diferentes tipos de observações, utilizando “scopeNote“, “historyNote”, “editorialNote“ e ˜changeNote˜, relativas ao escopo, história, questões editoriais, e mudanças efetuadas, respectivamente.

ex:microwaveFrequencies
  skos:scopeNote "Used for frequencies between 1GHz to 300Ghz"@en .
ex:tomato
  skos:changeNote "Moved from 'fruits' to 'vegetables'" .

• definition

Fornece uma definição do conceito.

ex:documentation rdf:type skos:Concept ;
  skos:definition "the process of storing and retrieving information in all fields of knowledge" .

• ConceptScheme

Conceitos podem ser criados e usados como entidades independentes. Entretanto, conceitos geralmente vêm em vocabulários cuidadosamente organizados, como tesauros ou esquemas de classificação. Esses esquemas podem ser representados em SKOS por meio da classe “ConceptScheme”.

ex:animalThesaurus rdf:type skos:ConceptScheme ;
  dct:title "Simple animal thesaurus" ;
  dct:creator ex:antoineIsaac .
ex:mammals rdf:type skos:Concept ;
  skos:inScheme ex:animalThesaurus .
ex:cows rdf:type skos:Concept;
  skos:broader ex:mammals ;
  skos:inScheme ex:animalThesaurus .
ex:fish rdf:type skos:Concept ;
  skos:inScheme ex:animalThesaurus .

SKOS fornece ainda meios para fazer o mapeamento entre diferentes esquemas conceituais, a partir da relação entre os diversos conceitos desses esquemas. Esse mapeamento qualifica o grau de proximidade dessas relações.

6.4 Schema.org

Schema.org fornece uma coleção de vocabulários que podem ser utilizados para embutir metadados em páginas Web, e são entendidas pelas principais máquinas de busca: Google, Microsoft, Yandex e Yahoo!. Os metadados podem ser embutidos utilizando microdados, RDFa ou JSON-LD.

Atualmente existe mais de uma centena de vocabulários definidos em Schema.org, segundo uma estrutura hierárquica. Cada um dos vocabulários define um tipo. “ Thing “ é o tipo raiz e é relativo a qualquer item genérico. Um item do tipo “ Thing ” aceita propriedades como, por exemplo, “nome”, “descrição”, “imagem” e “URL”. No segundo nível da hierarquia existem dez tipos especializados, cada um com seu próprio vocabulário:

• Action

• BroadcastService

• CreativeWork

• Event

• Intangible

• MedicalEntity

• Organization

• Person

• Place

• Product

Cada um desses tipos tem suas próprias especializações, como, por exemplo,

• Organization

• Airline

• Corporation

• EducationalOrganization

• GovernmentOrganization

• LocalBusiness

• NGO

• PerformingGroup

• SportsOrganization

O site Schema.org [83] apresenta detalhadamente cada um dos vocabulários com a apresentação de exemplos e as codificações em microdados, RDFa e JSON-LD. As figuras 6.3 e 6.4 apresentam um exemplo utilizando os vocabulários para pessoas e endereços.

Jane Doe
<img src="janedoe.jpg" alt="Photo of Jane Joe"/>
Professor
20341 Whitworth Institute
405 Whitworth
Seattle WA 98052
(425) 123-4567
<a href="mailto:jane-doe@xyz.edu">jane-doe@illinois.edu</a>
Jane’s home page:
<a href="http://www.janedoe.com">janedoe.com</a>
Graduate students:
<a href="http://www.xyz.edu/students/alicejones.html">Alice Jones</a>
<a href="http://www.xyz.edu/students/bobsmith.html">Bob Smith</a>
Figura 6.3 - Exemplo de utilização de vocabulários do Schema.org (sem metadados)
<div itemscope itemtype="http://schema.org/Person">
  <span itemprop="name">Jane Doe</span>
  <img src="janedoe.jpg" itemprop="image" alt="Photo of Jane Joe"/>
  <span itemprop="jobTitle">Professor</span>
  <div itemprop="address" itemscope
     itemtype="http://schema.org/PostalAddress">
   <span itemprop="streetAddress">
     20341 Whitworth Institute
     405 Whitworth
   </span>
   <span itemprop="addressLocality">Seattle</span>,
   <span itemprop="addressRegion">WA</span>
   <span itemprop="postalCode">98052</span>
  </div>
  <span itemprop="telephone">(425) 123-4567</span>
  <a href="mailto:jane-doe@xyz.edu"
     itemprop="email">jane-doe@xyz.edu</a>
  Jane’s home page:
  <a href="http://www.janedoe.com"
     itemprop="url">janedoe.com</a>Graduate students:
  <a href="http://www.xyz.edu/students/alicejones.html"
     itemprop="colleague">Alice Jones</a>
  <a href="http://www.xyz.edu/students/bobsmith.html"
     itemprop="colleague">Bob Smith</a>
</div>
Figura 6.4 - Exemplo de utilização de vocabulários do Schema.org (microdados)

6.5 PROV

Quando dados são publicados, existem conjuntos de metadados que são relativos a aspectos indiretos em relação aos dados em si, como, por exemplo, qual a licença de uso dos dados, direitos do uso, etc. Não são metadados que visam esclarecer a estrutura ou a semântica da informação propriamente dita. Um tipo importante de informação sobre dados publicados refere-se à proveniência dos dados, quem gerou esses dados, como foram gerados, quais foram as fontes, etc.

Proveniência é obter informações sobre entidades, atividades e pessoas envolvidas na produção de alguma coisa, que podem ser utilizadas para as avaliações sobre confiabilidade, qualidade, veracidade, etc. A ontologia PROV [84] de documentos define um modelo, serializações correspondentes e outras definições para permitir o intercâmbio de informações de proveniência na Web.

O modelo de proveniência definido por PROV considera três elementos básicos: entidades, atividades e agentes. Esses três elementos estão conectados por meio de um conjunto de relações. Por exemplo, “uma entidade (uma página Web, um arquivo, etc.) foi gerada por uma atividade associada a um determinado agente”. A figura 6.5 9 apresenta um diagrama com uma relação básica entre os três elementos. O diagrama utiliza uma forma gráfica definida por PROV para a representação da ontologia.

fig6_5_entidade_atividade_e_agente_PROV.png

Como forma de ilustrar os princípios básicos da ontologia vamos supor a seguinte geração de dados [85]:

Derek, que trabalha na empresa "Chart Generations Inc, fez uma composição de informações provenientes de um conjunto de dados e de uma lista de regiões geográficas, e a partir do resultado dessa composição gerou uma ilustração na forma de um gráfico.

Essa descrição poderia ser representada pelo diagrama da figura 6.6 e pela representação em Turtle da figura 6.7.

fig6_6_exemplo_de_prov_diagrama.png
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix exc: <http://examplec.com/> .
@prefix exg: <http://exampleg.com/> .
exg:dataset1       a prov:Entity .
exc:regionList     a prov:Entity .
exc:composition1   a prov:Entity .
exc:chart1         a prov:Entity .
exc:compose1       a prov:Activity .
exc:illustrate1    a prov:Activity .
exc:compose1         prov:used exg:dataset1 ;
    prov:used exc:regionList1 .
exc:composition1    prov:wasGeneratedBy exc:compose1 .
exc:illustrate1    prov:used exc:composition1 .
exc:chart1    prov:wasGeneratedBy exc:illustrate1 .
exc:compose1    prov:wasAssociatedWith exc:derek .
exc:illustrate1    prov:wasAssociatedWith exc:derek .
exc:chart1    prov:wasAttributedTo exc:derek .
exc:derek   a prov:Agent ,
    prov:Person ;
    foaf:givenName "Derek"^^xsd:string ;
    foaf:mbox <mailto:derek@example.org> .
exc:chartgen   a prov:Agent ,
    a prov:Organization ;
    foaf:name "Chart Generators Inc" .
exc:derek   prov:actedOnBehalfOf exc:chartgen .
Figura 6.7 - Exemplo PROV (Turtle)

6.6 DCAT

As máquinas de busca foram uma das primeiras aplicações que surgiram com a Web. É natural que em um ambiente onde muitas informações são publicadas exista uma forma de catalogação que permita que uma busca seja realizada. A difusão crescente da ideia de abertura e publicação de dados torna necessário que se tenha uma forma de catalogar os conjuntos de dados e suas formas de distribuição.

DCAT [86] é uma recomendação do W3C que permite a criação de catálogos com descrições de conjuntos de dados. O uso de uma forma padrão para a descrição dos catálogos aumenta a capacidade de descoberta e permite que as aplicações possam encontrar metadados distribuídos em diferentes catálogos. Permite, também, a publicação descentralizada de catálogos e facilita a pesquisa federada de conjuntos de dados publicados em diferentes sites .

DCAT tem três classes principais:

• dcat: Catalog – representa o catálogo.

• dcat: Dataset – representa um conjunto de dados em um catálogo.

• dcat: Distribution – representa uma forma de acesso ao conjunto de dados, como, por exemplo, uma página da Web, um arquivo para download , um Web Service , uma Web API, um SPARQL endpoint , etc.

A figura 6.8 apresenta o diagrama de Classes de DCAT. É importante observar como a ontologia reutiliza propriedades dos vocabulários Dublin Core, FOAF e SKOS.

fig6_8_diagrama_de_classes_de_dcat.png

A figura 6.9 apresenta um exemplo de catálogo com 2 conjuntos de dados representados em DCAT (Turtle).

@base <http://example.org/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
:catalog a dcat:Catalog ;
  dct:title "Imaginary Catalog" ;
  rdfs:label "Imaginary Catalog" ;
  foaf:homepage <http://example.org/catalog> ;
  dct:publisher :transparency-office ;
  dct:language <http://id.loc.gov/vocabulary/iso639-1/en> ;
  dcat:dataset :dataset-001 , :dataset-002 .
:transparency-office a foaf:Organization ;
  rdfs:label "Transparency Office" .
:dataset-001 a dcat:Dataset ;
  dct:title "Imaginary dataset" ;
  dcat:keyword "accountability" , “transparency" , "payments" ;
  dct:issued "2011-12-05"^^xsd:date ;
  dct:modified "2011-12-05"^^xsd:date ;
  dcat:contactPoint <http://example.org/transparency-office/contact> ;
  dct:temporal <http://reference.data.gov.uk/id/quarter/2006-Q1> ;
  dct:spatial <http://www.geonames.org/6695072> ;
  dct:publisher :finance-ministry ;
  dct:language <http://id.loc.gov/vocabulary/iso639-1/en> ;   dct:accrualPeriodicity <http://purl.org/linked-data/sdmx/2009/code#freq-W> ;
  dcat:distribution :dataset-001-csv .
:dataset-001-csv a dcat:Distribution ;
  dcat:downloadURL <http://www.example.org/files/001.csv> ;
  dct:title "CSV distribution of imaginary dataset 001" ;
  dcat:mediaType "text/csv" ;
  dcat:byteSize "5120"^^xsd:decimal .
:dataset-002 a dcat:Dataset ;
  dcat:landingPage <http://example.org/dataset-002.html> ;
  dcat:distribution :dataset-002-csv , :dataset-002-xml ;
:dataset-002-csv a dcat:Distribution
  dcat:downloadURL <http://example.org/files/dataset-002.csv> ;
  dcat:mediaType "text/csv" .
:dataset-002-xml a dcat:Distribution ;
  dcat: downloadURL <http://example.org/files/dataset-002.xml> ;
  dcat:mediaType "text/xml" .
:catalog dcat:themeTaxonomy :themes .
:themes a skos:ConceptScheme ;
  skos:prefLabel "A set of domains to classify documents" .
:dataset-001 dcat:theme :accountability .
:accountability a skos:Concept ;
  skos:inScheme :themes ;
  skos:prefLabel "Accountability" .
Figura 6.79 - Exemplo de catálogo

O site do Open Data Institute [87] apresenta um exemplo [88] de como criar um catálogo de uma forma simples, por meio da criação de uma página Web, com links para o download de arquivos. Nesse caso, os metadados com as informações do catálogo são embutidos no código HTML, utilizando RDFa.

O projeto “ show me the money ” [89] fornece informações sobre o mercado de empréstimos no Reino Unido. As figuras 6.10 e 6.11 apresentam,mrespectivamente, a página do projeto onde é possível fazer o download dos dados [90] , e parte do código HTML dessa página, com as informações do catálogo em DCAT embutidas em RDFa.

Fig6_10_Projeto_show_me_the_money_pagina_de_download_de_arquivos.png
<!DOCTYPE html>
<html prefix="dct: http://purl.org/dc/terms/
     rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
     dcat: http://www.w3.org/ns/dcat#
     odrs: http://schema.theodi.org/odrs#">
...
<div resource='http://p2p.labs.theodi.org/download'
     typeof='dcat:Catalog'>
  <p>Want to get at the data for this project? As well as the full data,
     we've also got data files for specific regions:</p>
  <span content='http://id.loc.gov/vocabulary/iso639-1/en'
     property='dct:language'></span>
   <div property='dcat:dataset'
     resource='http://p2p.labs.theodi.org/download/#full'
     typeof='dcat:Dataset'>
    <h3 property='dct:title'>Full data</h3>
    <div property='dcat:distribution' typeof='dcat:Distribution'><ul>
     <li><strong>Format</strong><span
         content='text/csv'
         property='dcat:mediaType'>CSV</span></li>
     <li><strong>Size</strong><span
         content='240585277' datatype='xsd:decimal'
         property='dcat:byteSize'>229MB</span></li>
     <li><strong>Coverage</strong><span
         content='http://dbpedia.org/resource/United_Kingdom'
         property='dct:spatial'>UK</span></li></ul>
    <p><a class='btn btn-primary'
     href='http://4feb814f800c80231150-8876dec7442c825b72049e4e2a169344.
r56.cf3.rackcdn.com/complete.no.postcodes.csv.zip'
     property='dcat:accessURL'>Download the full dataset</a></p>
   </div>
  </div>
  ...
Figura 6.11 - Exemplo de Catálogo embutido em página Web (RFDa)