JSON-LD
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
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
- ↑ «JSON-LD Syntax 1.1». 16 de julho de 2010. Consultado em 10 de dezembro de 2020
- ↑ «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.
- ↑ «JSON for Linking Data Community Group». json-ld.org
- ↑ «RDF Working Group». w3.org
- ↑ 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
- ↑ «JSON-LD Working Group». w3.org
- ↑ «Linked Data Patterns, Chapter 5: Follow Your Nose». 27 de dezembro de 2011. Consultado em 30 de dezembro de 2011
- ↑ «Data Model». Schema.org (em inglês). Consultado em 20 de junho de 2018
- ↑ «Understanding structured data». Bendev Junior
- ↑ «Method Entities in Search». Google Developers (em inglês). Consultado em 17 de outubro de 2017
- ↑ 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 5796402. PMID 29390967. doi:10.1186/s12859-018-2041-5
- ↑ Tallon, Jessica (Jan 2018). «ActivityPub». W3C Recommendation – via W3C
- ↑ «Web of Things (WoT) Thing Description, W3C Proposed Recommendation». www.w3.org. Consultado em 26 de março de 2020