JSON-LD

Origem: Wikipédia, a enciclopédia livre.
JSON-LD
Extensão do arquivo .jsonld
MIME application/ld+json
Variante de JSON
Padronização JSON-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[editar | editar código-fonte]

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[editar | editar código-fonte]

{
 "@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[editar | editar código-fonte]

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[editar | editar código-fonte]

  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