JSON-LD

JSON-LD
Extensão de arquivo
.jsonld
Tipo de mídia da Internet
application/ld+json
Estendido deJSON
PadrãoJSON-LD 1.1 / JSON-LD 1.1 API

JSON-LD (JavaScript Object Notation for Linked Data) é um método de codificação de dados vinculados (linked data) usando o formato JSON. O JSON-LD foi criado no intuito de exigir o menor esforço possível para que desenvolvedores transformem seu JSON existente em JSON-LD[1] O JSON-LD permite que os dados sejam serializados de maneira semelhante ao JSON tradicional. [2] Foi inicialmente desenvolvido pelo grupo da comunidade JSON for Linking Data[3] antes de ser transferido para o grupo de trabalho RDF[4] para revisão, melhoria e padronização, [5] e atualmente é mantido pelo JSON-LD Working Group.[6] JSON-LD é atualmente uma recomendação do Consórcio World Wide Web (W3C).

Projeto

JSON-LD é projetado em torno do conceito de um "contexto" para fornecer mapeamentos adicionais de JSON para um modelo RDF. O contexto vincula as propriedades dos objetos em um documento JSON a conceitos em uma ontologia. Para mapear a sintaxe JSON-LD para RDF, o JSON-LD permite que os valores sejam transformados em um tipo especificado ou marcados com uma linguagem. Um contexto pode ser incorporado diretamente em um documento JSON-LD ou colocado em um arquivo separado e referenciado de diferentes documentos (de documentos JSON tradicionais por meio de um cabeçalho de link HTTP).

Exemplo

{
 "@context": {
  "nome": "http://xmlns.com/foaf/0.1/name",
  "pagina_inicial": {
   "@id": "http://xmlns.com/foaf/0.1/workplaceHomepage",
   "@type": "@id"
  },
  "Pessoa": "http://xmlns.com/foaf/0.1/Person"
 },
 "@id": "https://eu.example.com",
 "@type": "Person",
 "nome": "John Smith",
 "pagina_inicial": "https://www.example.com/"
}

O exemplo acima descreve uma pessoa, com base na ontologia FOAF (amigo de um amigo) . Primeiro, as duas propriedades JSON nome e pagina_inicial e o tipo Pessoa são mapeadas para conceitos no vocabulário FOAF e o valor da propriedade pagina_inicial é especificado para ser do tipo @id. Em outras palavras, o id da página inicial é especificado como um IRI na definição de contexto. Com base no modelo RDF, isso permite que a pessoa descrita no documento seja identificada de forma inequívoca por um IRI. O uso de IRIs resolvíveis permite que documentos RDF que contenham mais informações sejam transcluídos, o que permite que os clientes descubram novos dados simplesmente seguindo esses links; esse princípio é conhecido como Follow Your Nose.[7]

Tendo todos os dados anotados semanticamente como no exemplo, um processador RDF pode identificar que o documento contém informações sobre uma pessoa ( @type ) e se o processador entender o vocabulário FOAF pode determinar quais propriedades especificam o nome e a página inicial da pessoa.

Uso

A codificação é usada pelo Schema.org,[8] Google Knowledge Graph,[9][10] e principalmente para atividades de otimização de mecanismos de pesquisa. Também tem sido usada para aplicações como informática biomédica[11]. É também a base do Activity Streams, um formato para "a troca de informações sobre atividades potenciais e concluídas", e é usado no ActivityPub, o protocolo federado de redes sociais.[12] Além disso, é usado no contexto da Internet das Coisas (em inglês, a sigla IoT), onde existe uma "descrição de coisa"[13] que é um documento JSON-LD, que descreve as interfaces de rede de dispositivos dispositivos IoT.

Referências

  1. ↑ «JSON-LD Syntax 1.1». 16 de julho de 2010. Consultado em 10 de dezembro de 2020
  2. ↑ «On Using JSON-LD to Create Evolvable RESTful Services», M. Lanthaler and C. Gütl in Proceedings of the 3rd International Workshop on RESTful Design (WS-REST 2012) at WWW2012.
  3. ↑ «JSON for Linking Data Community Group». json-ld.org
  4. ↑ «RDF Working Group». w3.org
  5. ↑ JSON-LD 1.0, A JSON-based Serialization for Linked Data, W3C Recommendation 16 January 2014, 16 de janeiro de 2014, consultado em 10 de dezembro de 2020
  6. ↑ «JSON-LD Working Group». w3.org
  7. ↑ «Linked Data Patterns, Chapter 5: Follow Your Nose». 27 de dezembro de 2011. Consultado em 30 de dezembro de 2011
  8. ↑ «Data Model». Schema.org (em inglês). Consultado em 20 de junho de 2018
  9. ↑ «Understanding structured data». Bendev Junior
  10. ↑ «Method Entities in Search». Google Developers (em inglês). Consultado em 17 de outubro de 2017
  11. ↑ Xin, Jiwen; Afrasiabi, Cyrus; Lelong, Sebastien; Adesara, Julee; Tsueng, Ginger; Su, Andrew I.; Wu, Chunlei (1 de fevereiro de 2018). «Cross-linking BioThings APIs through JSON-LD to facilitate knowledge exploration». BMC Bioinformatics. 19 (1). 30 páginas. PMC 5796402Acessível livremente. PMID 29390967. doi:10.1186/s12859-018-2041-5
  12. ↑ Tallon, Jessica (Jan 2018). «ActivityPub». W3C Recommendation – via W3C
  13. ↑ «Web of Things (WoT) Thing Description, W3C Proposed Recommendation». www.w3.org. Consultado em 26 de março de 2020