A análise de metadados do schema.org é uma forma de extrair dados estruturados de páginas web utilizando padrões de esquema web. A comunidade por trás do schema.org gere estes padrões e promove a utilização de esquemas para dados estruturados na web.
A análise de metadados do Schema.org pode ser útil por várias razões, tais como encontrar informações atualizadas sobre eventos ou para investigadores que recolhem dados para estudos. Além disso, sites que agregam dados como anúncios imobiliários, ofertas de emprego e previsões meteorológicas também podem beneficiar da análise de dados do Schema.org.
Existem diferentes formatos de schema que pode utilizar, incluindo JSON-LD, RDFa e Microdata.
O JSON-LD (JavaScript Object Notation for Linked Data) é um formato para codificar dados ligados utilizando JSON. O design deste padrão facilita a leitura e escrita por humanos e a análise e geração por máquinas.
Eis como ficaria o JSON-LD numa página web sobre um livro:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Book",
"name": "The Adventures of Tom Sawyer",
"author": "Mark Twain",
"datePublished": "1876-12-01",
"description": "The Adventures of Tom Sawyer is a novel about a young boy growing up along the Mississippi River in the mid-1800s. It is a classic of American literature and has been loved by generations of readers.",
"publisher": "Penguin Books",
"image": "https://www.example.com/images/tom_sawyer.jpg"
}
</script>
A recomendação do World Wide Web Consortium (W3C) é o RDFa, ou Resource Description Framework in Attributes, utilizado para incorporar declarações RDF em XML e HTML.
Pode ver abaixo como o RDFa ficaria dentro de uma página HTML. Pode observar como os atributos das tags são usados para armazenar os dados adicionais.
<!DOCTYPE html>
<html>
<head>
<title>RDFa Example</title>
</head>
<body>
<div about="http://example.com/books/the-great-gatsby" typeof="schema:Book">
<h1 property="schema:name">The Great Gatsby</h1>
<div property="schema:author" typeof="schema:Person">
<span property="schema:name">F. Scott Fitzgerald</span>
</div>
<div property="schema:review" typeof="schema:Review">
<span property="schema:author" typeof="schema:Person">
<span property="schema:name">John Doe</span>
</span>
<span property="schema:reviewBody">
A classic novel that explores themes of wealth, love, and the decline of the American Dream.
</span>
<span property="schema:ratingValue">4.5</span>
</div>
</div>
</body>
</html>
Microdata é uma especificação HTML do WHATWG utilizada para aninhar metadados dentro de conteúdo existente em páginas web e pode utilizar schema.org ou vocabulários personalizados.
Aqui está um exemplo de Microdata em HTML:
<div itemscope itemtype="http://schema.org/Product">
<span itemprop="name">Shiny new gadget</span>
<img itemprop="image" src="shinygadget.jpg" alt="A shiny new gadget" />
<div itemprop="offerDetails" itemscope itemtype="http://schema.org/Offer">
<span itemprop="price">$19.99</span>
<link itemprop="availability" href="http://schema.org/InStock" />
</div>
</div>
Existem muitas ferramentas disponíveis para analisar esquemas em diferentes linguagens, tais como o Extruct da Zyte e a biblioteca RDFLib, facilitando a extração de dados estruturados de páginas web utilizando padrões de esquemas web.