decentralized-id.github.io/_posts/specs-standards/2020-01-04-JSON-LD.md

14 KiB
Raw Blame History

date title layout permalink canonical_url categories tags last_modified_at
2020-01-04 JSON-LD single /specs-standards/JSON-LD/ https://decentralized-id.com/specs-standards/JSON-LD/
Specs-Standards
Digital Bazaar
RDF
JSON-LD
Credentials Community Group
Veres One
2020-01-05

Publishing JSON-LD for Developers - Hacker News JSON-LD and Why I Hate the Semantic Web - Hacker News

WebOfTrustInfo/ld-signatures-java WebOfTrustInfo/ld-signatures-python w3c-ccg/ocap-ld - WORK ITEM: Linked Data Object Capabilities specification - w3c-ccg/ocap-ld w3c-ccg/ld-cryptosuite-registry - REGISTRY: Linked Data Keys Registry (managed by W3C Credentials Community Group) - w3c-ccg/ld-cryptosuite-registry

Design Issues - LinkedData -w3.org

The Semantic Web isn't just about putting data on the web. It is about making links, so that a person or machine can explore the web of data. With linked data, when you have some of it, you can find other, related, data.

Like the web of hypertext, the web of data is constructed with documents on the web. However, unlike the web of hypertext, where links are relationships anchors in hypertext documents written in HTML, for data they links between arbitrary things described by RDF,. The URIs identify any kind of object or concept. But for HTML or RDF, the same expectations apply to make the web grow:

  • Use URIs as names for things
  • Use HTTP URIs so that people can look up those names.
  • When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL)
  • Include links to other URIs. so that they can discover more things.

RDF.js: The new RDF and Linked Data JavaScript library

A diverse web requires decentralized data storage and maintenance. According to MITs Tim Berners-Lee, “it is about making links, so that a person or machine can explore the web of data. With Linked Data, when you have some of it, you can find other, related, data”.

Zazukos CTO Thomas Bergwinkl adds that “Linked Data is built on top of the web stack and the programming language of the web is JavaScript. It is crucial for Web Developers to have access to well-designed JavaScript libraries to work with RDF and Linked Data”.

The RDFJS W3C Community Group did a tremendous job in defining a standard to represent Linked Data in JavaScript. Several individuals and groups started to implement the RDFJS specification.

Comparison of RDFJS libraries

Linked Data Capabilities By Christopher Lemmer Webber and Mark S. Miller

Linked Data Signatures enable a method of asserting the integrity of linked data documents that are passed throughout the web. The object capability model is a powerful system for ensuring the security of computing systems. In this paper, we explore layering an object capability model on top of Linked Data Signatures via chains of signed proclamations. fn:1 We call this system "Linked Data Capabilities", or "ld-ocap" for short.

Identity as Linked Data on Immutable Ledgers

Content creators on the Web are getting a raw deal. They get a fraction of a cent for an ad played on YouTube, and nothing on Facebook, for filling these sites with traffic-driving content. Its hard to make a living when youre a creative. Licensing is hard; the user experience is bad, so lawyers and middlemen extract the most value. In the music industry, more money flows into the pockets of distributors than creatives. Consumers are often happy to pay for their content. Instead, they're forced to sit through ads.

Blockchain Extensions for Linked Data Signatures by Manu Sporny, Harlan Wood, Noah Thorp, Wayne Vaughn, Christopher Allen, Jason Bukowski, and Dave Longley

The term Linked Data is used to describe a recommended best practice for exposing, sharing, and connecting information on the Web using standards, such as URLs, to identify things and their properties. When information is presented as Linked Data, other related information can be easily discovered and new information can be easily linked to it. Linked Data is extensible in a decentralized way, greatly reducing barriers to large scale integration.

With the increase in usage of Linked Data for a variety of applications, there is a need to be able to verify the authenticity and integrity of Linked Data documents. The Linked Data Signatures specification added authentication and integrity protection to linked data documents through the use of public/private key cryptography without sacrificing Linked Data features such as extensibility and composability.

Resource Integrity Proofs by Ganesh Annan and Kim Hamilton Duffy

Cryptographic linking provides discoverability, integrity, and scheme agility Contributors: Manu Sporny, Dave Longley, David Lehn, and Bohdan Andriyiv

Currently, the Web provides a simple yet powerful mechanism for the dissemination of information via links. Unfortunately, there is no generalized mechanism that enables verifying that a fetched resource has been delivered without unexpected manipulation. Would it be possible to create an extensible and multipurpose cryptographic link that provides discoverability, integrity, and scheme agility?

Cryptographic linking solutions today have yet to provide a generalized mechanism for creating tamper-evident links. The Subresource Integrity standard limits this guarantee to script and link resources loaded on Web pages via the use of HTML attributes. IPFS provides a verification mechanism that is constrained to hash-based, content-addressable links, with no ability to complete content negotiation. RFC6920 proposes another mechanism that cannot be applied to existing links: it recommends the use of named information hashes and a resolution method that creates a content addressable URL [1]. Resource Integrity Proofs incorporates ideas from these standards and solutions to provide a new data format for cryptographic links that is fit for the open world.

Recent happenings with Linked Data Capabilities

Veres One's architecture has been adjusted to take full advantage of Linked Data Capabilities as its primary mechanism for granting authority to perform operations on the ledger as well as on DID Documents. permission to update key materials can be conditionally handed out to an entity (or entities) and later revoked if deemed appropriate using Linked Data Capabilities' design.

As for ledger updates, Accelerators also make use of Linked Data Capabilities. To prevent spamming the ledger, the costs of an update must somehow be accounted for. The traditional way to do this on a blockchain is to use proof of work, and this is also an option in Veres One, but for those use cases where expending time and energy on proof of work is less desirable users can use an "accelerator".

An accelerator is an entity that has been granted a capability to perform updates on the ledger more quickly. Accelerators may likewise take advantage of Linked Data Capabilities' support for delegation, with or without caveats.

Designing a Linked Data developer experience

Making decentralized Web app development fun

While the Semantic Web community was fighting its own internal battles, we failed to gain traction with the people who build apps that are actually used: front-end developers. Ironically, Semantic Web enthusiasts have failed to...

What Is JSON-LD Markup and Why Is It Better than Schema.org?

If you understand how to use schema.org, but do not dare to mark pages up because of the complexity of the process, this article is for you. There is an effective and easy-to-use alternative - the JSON-LD format.

Libre Lounge: Episode 17: ActivityPub Part 2 on Apple Podcasts - Part 1 - Part 3

In our ongoing series about ActivityPub, Chris and Serge explore the world of JSON-LD and the ActivityStreams vocabulary.

Links: ActivityPub Specification (w3c) - ActivityStreams (w3c) - JSON-LD (json-ld.org) JSON-LD Playground (json-ld.org) - Cyc (wikipedia) - RDF (w3c)

JSON-LD Articles and Presentations (source)

Introductory Material

Presentations

Blog Posts

Website content released under a Creative Commons CC0 Public Domain Dedication except where an alternate is specified. Part of the PaySwarm standardization initiative.