Linked Data Notifications

Last updated
Linked Data Notifications
AbbreviationLDN
Status W3C Recommendation
Year started2016;7 years ago (2016) [1] [2]
First publishedJuly 26, 2016;7 years ago (2016-07-26) [1] [2]
Latest versionW3C Recommendation
May 2, 2017;6 years ago (2017-05-02) [3]
Preview versionEditor's Draft
April 30, 2017;6 years ago (2017-04-30)
Organization
CommitteeSocial Web Working Group
Editors
  • Sarven Capadisli [3]
  • Amy Guy [3]
Base standards
Related standards
Domain Semantic Web, communications protocol
Website www.w3.org/TR/ldn/

Linked Data Notifications (LDN) [3] is a W3C Recommendation that describes a communications protocol based on HTTP, URI, and RDF on how servers (receivers) can receive messages pushed to them by applications (senders), as well as how other applications (consumers) may retrieve those messages. Any web resource (like a HTML page) can advertise a receiving endpoint (inbox) for notification messages. Messages are expressed in RDF, and can contain arbitrary data.

Contents

Motivation

The web is a decentralized system of web resources, published by multiple organizations and individuals. Web resources, such as web pages and more formally structured linked data, frequently include links to other resources across the web, and may comment or describe them in various ways. The receiving end, however, are not generally notified of such link creation, and thus are unable to provide backlinks without manual intervention. Interactions within social media platforms, such as comments on a news article, are currently "locked" within the platform and hard to access across the web.

Several linkback mechanisms exists, and are commonly used between blog systems, e.g. a "response" post in blog B about a post in blog A causes B's platform to send a pingback to be shown on the original blog A. These mechanisms are, however, generally limited in which structured information can be sent, and the notifications themselves do not form part of the decentralized web and may be difficult to consume by any third party application.

A key motivation for LDN is to support notifications between decentralized Web applications, [4] including web browsers who - not having their own HTTP server - are unable to generate a HTTP link for their reply messages. Another motivation is to structure notifications as RDF statements using any Controlled vocabulary - so that any consuming application can select the particular information they understand.

Protocol

At each stage, the sender and consumer may perform content negotiation to send or receive in any mutually agreed RDF serialization format, but a compliant LDN receiver must support at least JSON-LD.

Examples

A sender or consumer discovers the inbox for a given URI, in this example using the HEAD method:

HEADhttps://example.org/article/5HTTP/1.1
HTTP/1.1200OKLink:<https://example.org/inbox/7>; rel="http://www.w3.org/ns/ldp#inbox"

A sender sends a notification to the discovered inbox, in this example using the Schema.org vocabulary:

POSThttps://example.org/inbox/7HTTP/1.1Content-Type:application/ld+json{"@context":"http://schema.org","@type":"ReviewAction","object":{"@id":"https://example.org/article/5"},"agent":{"@type":"Person","name":"Alice"},"result":{"@type":"Review","reviewBody":"This article is the best I've ever seen!"}}
HTTP/1.1201CreatedLocation:http://example.org/inbox/f44f3f11

A consumer lists the content of the discovered inbox to find 3 notifications:

GEThttps://example.org/inbox/7HTTP/1.1Content-Type:application/ld+json
HTTP/1.1200OKContent-Type:application/ld+json{"@context":"http://www.w3.org/ns/ldp","@id":"https://example.org/inbox/7","contains":["https://example.org/inbox/5c6ca040","https://cdn.example.org/inbox/92d72f00","https://example.org/inbox/f44f3f11",]}

Note that the URIs of the original resource, inbox and notifications are not required to be hosted on the same HTTP server (e.g. they may be on a CDN). The consumer follows the links for any notifications they wish to retrieve.

In this example, the consumer retrieves the new f44f3f11 notification, with content negotiation to prefer the Turtle RDF format:

GEThttps://example.org/inbox/f44f3f11HTTP/1.1Accept:application/ld+json;q=0.9, text/turtle;q=1.5
HTTP/1.1200OKContent-Type:text/turtle @prefixschema:<http://schema.org/>.[aschema:ReviewAction;schema:agent[aschema:Person;schema:name"Alice"];schema:object<https://example.org/article/5>;schema:result[aschema:Review;schema:reviewBody"This article is the best I've ever seen!"]].

Implementations

Several LDN implementations exists, [4] [5] covering senders, consumers and receivers, including:

Any Linked Data Platform (LDP) implementations are also conforming Linked Data Notification receivers as LDN is a strict subset of LDP. [4]

Related Research Articles

<span class="mw-page-title-main">Semantic Web</span> Extension of the Web to facilitate data exchange

The Semantic Web, sometimes known as Web 3.0, is an extension of the World Wide Web through standards set by the World Wide Web Consortium (W3C). The goal of the Semantic Web is to make Internet data machine-readable.

The Resource Description Framework (RDF) is a World Wide Web Consortium (W3C) standard originally designed as a data model for metadata. It has come to be used as a general method for description and exchange of graph data. RDF provides a variety of syntax notations and data serialization formats, with Turtle currently being the most widely used notation.

Web annotation refers to

  1. online annotations of web resources such as web pages or parts of them, and
  2. a set of W3C standards developed for this purpose.
<span class="mw-page-title-main">JSON</span> Open standard file format and data interchange

JSON is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays. It is a common data format with diverse uses in electronic data interchange, including that of web applications with servers.

SPARQL is an RDF query language—that is, a semantic query language for databases—able to retrieve and manipulate data stored in Resource Description Framework (RDF) format. It was made a standard by the RDF Data Access Working Group (DAWG) of the World Wide Web Consortium, and is recognized as one of the key technologies of the semantic web. On 15 January 2008, SPARQL 1.0 was acknowledged by W3C as an official recommendation, and SPARQL 1.1 in March, 2013.

<span class="mw-page-title-main">FOAF</span> Semantic Web ontology to describe relations between people

FOAF is a machine-readable ontology describing persons, their activities and their relations to other people and objects. Anyone can use FOAF to describe themselves. FOAF allows groups of people to describe social networks without the need for a centralised database.

RDFa or Resource Description Framework in Attributes is a W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within Web documents. The Resource Description Framework (RDF) data-model mapping enables its use for embedding RDF subject-predicate-object expressions within XHTML documents. It also enables the extraction of RDF model triples by compliant user agents.

<span class="mw-page-title-main">RDFLib</span> Python library to serialize, parse and process RDF data

RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information. This library contains parsers/serializers for almost all of the known RDF serializations, such as RDF/XML, Turtle, N-Triples, & JSON-LD, many of which are now supported in their updated form. The library also contains both in-memory and persistent Graph back-ends for storing RDF information and numerous convenience functions for declaring graph namespaces, lodging SPARQL queries and so on. It is in continuous development with the most recent stable release, rdflib 6.1.1 having been released on 20 December 2021. It was originally created by Daniel Krech with the first release in November, 2002.

In computing, Terse RDF Triple Language (Turtle) is a syntax and file format for expressing data in the Resource Description Framework (RDF) data model. Turtle syntax is similar to that of SPARQL, an RDF query language. It is a common data format for storing RDF data, along with N-Triples, JSON-LD and RDF/XML.

Semantic publishing on the Web, or semantic web publishing, refers to publishing information on the web as documents accompanied by semantic markup. Semantic publication provides a way for computers to understand the structure and even the meaning of the published information, making information search and data integration more efficient.

<span class="mw-page-title-main">Linked data</span> Structured data and method for its publication

In computing, linked data is structured data which is interlinked with other data so it becomes more useful through semantic queries. It builds upon standard Web technologies such as HTTP, RDF and URIs, but rather than using them to serve web pages only for human readers, it extends them to share information in a way that can be read automatically by computers. Part of the vision of linked data is for the Internet to become a global database.

N-Triples is a format for storing and transmitting data. It is a line-based, plain text serialisation format for RDF graphs, and a subset of the Turtle format. N-Triples should not be confused with Notation3 which is a superset of Turtle. N-Triples was primarily developed by Dave Beckett at the University of Bristol and Art Barstow at the World Wide Web Consortium (W3C).

Microdata is a WHATWG HTML specification used to nest metadata within existing content on web pages. Search engines, web crawlers, and browsers can extract and process Microdata from a web page and use it to provide a richer browsing experience for users. Search engines benefit greatly from direct access to this structured data because it allows them to understand the information on web pages and provide more relevant results to users. Microdata uses a supporting vocabulary to describe an item and name-value pairs to assign values to its properties. Microdata is an attempt to provide a simpler way of annotating HTML elements with machine-readable tags than the similar approaches of using RDFa and microformats.

In computing, Open Data Protocol (OData) is an open protocol that allows the creation and consumption of queryable and interoperable REST APIs in a simple and standard way. Microsoft initiated OData in 2007. Versions 1.0, 2.0, and 3.0 are released under the Microsoft Open Specification Promise. Version 4.0 was standardized at OASIS, with a release in March 2014. In April 2015 OASIS submitted OData v4 and OData JSON Format v4 to ISO/IEC JTC 1 for approval as an international standard. In December 2016, ISO/IEC published OData 4.0 Core as ISO/IEC 20802-1:2016 and the OData JSON Format as ISO/IEC 20802-2:2016.

XHTML+RDFa is an extended version of the XHTML markup language for supporting RDF through a collection of attributes and processing rules in the form of well-formed XML documents. XHTML+RDFa is one of the techniques used to develop Semantic Web content by embedding rich semantic markup. Version 1.1 of the language is a superset of XHTML 1.1, integrating the attributes according to RDFa Core 1.1. In other words, it is an RDFa support through XHTML Modularization.

Schema.org is a reference website that publishes documentation and guidelines for using structured data mark-up on web-pages. Its main objective is to standardize HTML tags to be used by webmasters for creating rich results about a certain topic of interest. It is a part of the semantic web project, which aims to make document mark-up codes more readable and meaningful to both humans and machines.

JSON-LD is a method of encoding linked data using JSON. One goal for JSON-LD was to require as little effort as possible from developers to transform their existing JSON to JSON-LD. JSON-LD allows data to be serialized in a way that is similar to traditional JSON. It was initially developed by the JSON for Linking Data Community Group before being transferred to the RDF Working Group for review, improvement, and standardization, and is currently maintained by the JSON-LD Working Group. JSON-LD is a World Wide Web Consortium Recommendation.

The European Legislation Identifier (ELI) ontology is a vocabulary for representing metadata about national and European Union (EU) legislation. It is designed to provide a standardized way to identify and describe the context and content of national or EU legislation, including its purpose, scope, relationships with other legislations and legal basis. This will guarantee easier identification, access, exchange and reuse of legislation for public authorities, professional users, academics and citizens. ELI paves the way for knowledge graphs, based on semantic web standards, of legal gazettes and official journals.

Linked Data Platform (LDP) is a linked data specification defining a set of integration patterns for building RESTful HTTP services that are capable of read/write of RDF data.

<span class="mw-page-title-main">Thing Description</span>

The Thing Description (TD) (or W3C WoT Thing Description (TD)) is a royalty-free, open information model with a JSON based representation format for the Internet of Things (IoT). A TD provides a unified way to describe the capabilities of an IoT device or service with its offered data model and functions, protocol usage, and further metadata. Using Thing Descriptions help reduce the complexity of integrating IoT devices and their capabilities into IoT applications.

References

  1. 1 2 "Linked Data Notifications Publication History - W3C". W3C. n.d. Retrieved 2021-04-21.
  2. 1 2 Capadisli, Sarven; Guy, Amy, eds. (2016-07-26). "Linked Data Notifications". W3C. Social Web Working Group. https://www.w3.org/TR/ldn/ . Retrieved 2021-04-21.
  3. 1 2 3 4 Capadisli, Sarven; Guy, Amy, eds. (2017-05-02). "Linked Data Notifications". W3C. Social Web Working Group. https://www.w3.org/TR/ldn/ . Retrieved 2021-04-21.
  4. 1 2 3 Capadisli, Sarven; Guy, Amy; Lange, Christoph; Auer, Sören; Sambra, Andrei; Berners-Lee, Tim (2017-05-28). "Linked Data Notifications: A Resource-Centric Communication Protocol". The Semantic Web. pp. 537–553. doi: 10.1007/978-3-319-58068-5_33 . ISBN   978-3-319-58067-8. http://csarven.ca/linked-data-notifications.{{cite book}}: |journal= ignored (help)
  5. "LDN Test Reports and Summary". linkedresearch.org. 2016-09-18. Retrieved 2017-05-26.