- A web semântica é a antiga Web 3.0. Antes de "Web 3.0" passar a significar "coisas como cripto", ela significava "sites legíveis por máquina (Machine-Readable)"
- Eu achava que o conceito de web semântica já não era mais usado, mas descobri que ela agora foi adotada de forma muito ampla, a ponto de não ser exagero dizer que já estamos usando a Web 3.0
- Se a Web 3.0 já existe, onde ela está? Na maior parte do tempo, escondida no markup
Postagem de blog com JSON-LD
- É possível incluir metadados JSON-LD adicionando um elemento
<script type="application/ld+json"> ao <head> de uma página HTML
- JSON-LD é o principal formato para codificar metadados da web semântica
- Exemplo: descrição usando o tipo BlogPosting
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "From Shell to Excel - with a little bit of HTTPS",
"url": "https://csvbase.com/blog/10",
"description": "Write once, read everywhere",
"author": {
"@type": "Person",
"name": "Cal Paterson",
"email": "cal@calpaterson.com",
"url": "https://calpaterson.com/about.html"
},
"image": "https://csvbase.com/blog-static/excel.png",
"datePublished": "2024-08-12",
"dateCreated": "2024-08-12",
"dateModified": "2024-08-12"
}
- Chaves que começam com @ são metadados (meta-metadados?)
@context indica o namespace, e @type indica o tipo de classe
- As demais chaves são itens permitidos no tipo BlogPosting
- O valor de uma chave pode ser de outro tipo (como o Person na chave author)
O que eu ganho com isso?
- Quem lê isso? Muitos bots fazem parsing de metadados JSON-LD
- Postagens de blog com metadados da web semântica podem exibir prévias de links em redes sociais, aumentando a taxa de cliques
- Crawlers de mecanismos de busca usam esses metadados para mostrar mais informações nos resultados de pesquisa
- Agregadores automáticos de links usam esses dados para mostrar posts aos usuários (como o Android exibindo vários sites na tela de notícias)
- Metadados da web semântica não exigem permissão e são neutros em relação a fornecedores
Isso é difícil?
- Não, JSON-LD é muito simples
- JSON-LD é apenas uma forma de organizar, para que o computador possa ler, informações que já estão na página
- Se você consegue escrever um app frontend, também consegue entender JSON-LD com facilidade
Outros tipos de JSON-LD
- Além de BlogPosting, existem tipos como Event, LocalBusiness, JobPosting, Product e Recipe
- O csvbase usa o tipo Dataset para descrever dados tabulares.
{
"@context": ["https://schema.org", {"csvw": "https://www.w3.org/ns/csvw#"}],
"@type": "Dataset",
"name": "stock-exchanges",
"url": "https://csvbase.com/meripaterson/stock-exchanges",
"isAccessibleForFree": true,
"distribution": [
{
"@type": "DataDownload",
"contentUrl": "https://csvbase.com/meripaterson/stock-exchanges.csv",
"encodingFormat": "text/csv",
"contentSize": "16222"
},
{
"@type": "DataDownload",
"contentUrl": "https://csvbase.com/meripaterson/stock-exchanges.parquet",
"encodingFormat": "application/parquet",
"contentSize": "10751"
},
{
"@type": "DataDownload",
"contentUrl": "https://csvbase.com/meripaterson/stock-exchanges.xlsx",
"encodingFormat": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"contentSize": "15500"
},
{
"@type": "DataDownload",
"contentUrl": "https://csvbase.com/meripaterson/stock-exchanges.jsonl",
"encodingFormat": "application/x-jsonlines",
"contentSize": "38627"
}
],
"dateCreated": "2022-04-25T13:43:24.746075+01:00",
"dateModified": "2023-04-02T20:27:33.255648+01:00",
"maintainer": {
"@type": "Person",
"name": "meripaterson",
"url": "https://csvbase.com/meripaterson"
},
"description": "The world's stock exchanges...",
"mainEntity": {
"@type": "csvw:Table",
"csvw:tableSchema": {
"csvw:columns": [
{"csvw:name": "csvbase_row_id", "csvw:datatype": "integer"},
{"csvw:name": "Continent", "csvw:datatype": "string"},
{"csvw:name": "Country", "csvw:datatype": "string"},
{"csvw:name": "Name", "csvw:datatype": "string"},
{"csvw:name": "MIC", "csvw:datatype": "string"},
{"csvw:name": "Last changed", "csvw:datatype": "date"}
]
}
}
}
Isso tudo é mesmo necessário? A IA não vai resolver tudo?
- Grandes modelos de linguagem (LLMs) frequentemente cometem erros
- É importante fornecer metadados para garantir precisão
- Usar LLMs sai caro, e é preciso GPU para ler páginas da web
Alternativas
- Open Graph Protocol: padrão criado pelo Facebook, usado principalmente para descrever conteúdo
- Microdata: simples, mas difícil de fazer parsing
- Twitter Cards: descrevem como o conteúdo deve ser exibido no Twitter
- Padrões antigos baseados em XML: têm suporte profundo em sistemas de bibliotecas e arquivos
Tecnologia chata (Boring technology)
- É muito surpreendente que a web semântica seja tão low-key assim. Inúmeros sites já configuraram esse tipo de metadado
- "A web semântica já se espalhou amplamente; ela só não teve seu momento de vitória"
Resumo do GN⁺
- A web semântica é uma tecnologia para criar sites legíveis por máquina e já é amplamente usada.
- JSON-LD é o principal formato para codificar metadados da web semântica e oferece suporte a vários tipos, como postagens de blog, eventos e produtos.
- Metadados da web semântica ajudam redes sociais e mecanismos de busca a melhorar prévias de links e resultados de pesquisa.
- Usar IA para extrair metadados automaticamente pode ser caro e impreciso.
- Existem várias alternativas, como Open Graph Protocol, Microdata e Twitter Cards.
4 comentários
Para quem tem curiosidade sobre a história da Web Semântica e sua posição atual, recomendo este ensaio.
https://lespetitescases.net/why-I-dont-use-semantic-web-technologies-a…
Eu não acho que o JSON-LD seja o núcleo ou a tecnologia central da web semântica, mas concordo bastante com a ideia de que "a web semântica já está amplamente difundida; só não teve um momento de vitória"..!
Opinião do Hacker News
Problemas dos padrões da Web Semântica
Experiência de falha em uma tentativa
Comparação entre JSON-LD e RSS
O significado de LLM e da Web Semântica
Estado atual da Web Semântica
Ausência de conceitos importantes
Metadados de PDF
Importância do HTML
IA e metadados
JSON-LD e SEO