delightful linked data
A curated list of linked data resources for developers.
TODO: Improve layout and structure (see #1).
Contents
- Introduction
- Specifications
- Information topics
- Tools
- Libraries
- Applications
- Maintainers
- Contributors
- License
Introduction
After the hype surrounding the Semantic Web subsided in 2006 the use of Linked Data remained mostly restricted to scientific circles and for use in SEO, popularized by Google. Much of the power of Linked Data remains untapped.. until 2018 when - with the rise of the ActivityPub-based Fediverse and initiatives such as Tim Berners-Lee Solid Project and Rebooting The Web of Trust - there is renewed interest and growing popularity of Linked Data-based technology.
This curated list, which is part of the delightful project, aims to help developers find the best resources available to create new Linked Data applications. The entries in this list are carefully selected from a technology landscape that is still strewn with leftovers from the Semantic Web era that should be avoided. This list offers you the code projects and information resources that are relevant today.
Please help improve this list
Did you find something that should be part of the list? We'd love :heart: your contribution in the form of an issue on the tracker, or - better yet - a Pull Request to the repo. Contributors can list themselves as delightful contributors. Read here how to do that.
Important: Many projects are under active development. To be part of this list your submission should at least have some level of direct applicability and usability / production-readiness. Experimental and alpha-stage codebases are probably not eligible. When in doubt create an issue first, before sending your PR.
Specifications
Core specifications
- W3C Standards and Drafts - Overview of all W3C standards and drafts.
W3C specifications that define the Resource Description Framework.
- W3C RDF 1.1 Primer - This primer is designed to provide the reader with the basic knowledge required to effectively use RDF.
- W3C RDF 1.1 Concepts and Abstract Syntax - Representing information in the Web, key concepts and terminology.
- W3C RDF Schema 1.1 - Data-modelling vocabulary for RDF data, and is an extension of the basic RDF vocabulary.
- W3C RDF 1.1 Turtle - Defines a textual syntax for RDF that allows an RDF graph to be written in a compact and natural text form.
- W3C RDFa Core 1.1 - A specification for attributes to express structured data in any markup language.
- W3C RDFa Lite 1.1 - A minimal subset of RDFa, the Resource Description Framework in attributes.
- W3C HTML+RDFa 1.1 - Rules and guidelines for adapting the RDFa Core 1.1 and RDFa Lite 1.1 for use in (X)HTML5.
- W3C SPARQL 1.1 Overview - Facilitate querying and manipulating of RDF graph content on the Web or in an RDF store.
W3C specifications that define OWL or the Web Ontology Language.
- W3C OWL 2 Overview - An introduction to OWL 2 and the various other OWL 2 documents.
- W3C OWL 2 Primer - An approachable introduction to OWL 2.
- W3C OWL 2 Quick Reference Guide - A quick reference guide to the OWL 2 language, with links to other documents.
- W3C OWL 2 Specification - An ontology language for the Semantic Web with formally defined meaning.
- W3C OWL 2 Manchester Syntax - A user-friendly compact syntax for OWL 2 ontologies.
W3C specifications that define JSON-LD or JSON-based Linked Data.
- W3C JSON-LD 1.1 - A JSON-based format to serialize Linked Data.
- W3C JSON-LD 1.1 Processing Algorithms and API - Defines a set of algorithms for programmatic transformations of JSON-LD documents.
- W3C JSON-LD 1.1 Framing - Allows developers to query by example and force a specific tree layout to a JSON-LD document.
- W3C Streaming JSON-LD - A set of guidelines for efficiently serializing and deserializing JSON-LD in a streaming way.
Fediverse specifications
- W3C Activity Streams 2.0 - Details a model for representing potential and completed activities using the JSON format.
- W3C Activity Vocabulary -Provides a foundational vocabulary for activity structures for use with ActivityStreams 2.0.
- W3C ActivityPub - A decentralized social networking protocol based upon the ActivityStreams 2.0 data format.
Solid specifications
Note: As of 2020 the Solid ecosystem specifications are undergoing significant refactoring. The entries below are early drafts and subject to change.
The Solid ecosystem provides a set of specifications that work together.
- Solid Ecosystem - Provide applications with secure and permissioned access to externally stored data in an interoperable way.
The individual Solid specifications are:
- Web Access Control - A mechanism for fine-grained access control to resources on the Web.
- WebID-OIDC - An authentication mechanism based on the OpenID Connect protocol.
- WebID-TLS - A mechanism for authenticating agents with a WebID through the OpenID Connect protocol.
- Data Pod Management - An RDF-driven Web API for managing users and data pods of a Solid pod server.
- Data Footprints - A description model to decide where new resources are stored and how they are wired up.
Hydra specifications
Hydra stands for interoperable Hypermedia-Driven Web APIs. The Hydra working group aims to simplify the development of Hydra APIs and clients.
- Hydra Core Vocabulary - A lightweight vocabulary to create hypermedia-driven Web APIs and enable the creation of generic API clients.
- Linked Data Fragments - A uniform view on all possible interfaces to publish Linked Data.
Information topics
Linked Data
This list contains generic information resources to working with Linked Data.
- Introduction to LDP - An introduction to the concept of Linked Data and how to get started with the Linked Data Platform.
- A data engineer’s guide to semantic modelling - Get started with this eBook, or refresh your memory.
JSON-LD
- W3C-CG Building JSON-LD APIs: Best Practices - Best practices for publishing data using JSON-LD and interacting with such services.
- Publishing JSON-LD for Developers - A case for publishing JSON-LD regardless whether you are working with linked data or RDF.
- Modeling Schema.org Schema with TypeScript - Showing the power and limitations of the TypeScript type system.
RDF
[TODO]
Ontologies
- ODapps: Ontology-driven apps - Combining Knowledge Graphs and Ontologies for Dynamic Apps.
Tools
[TODO]
Libraries
[TODO]
Typescript
- react-schemaorg - A component for inserting type-checked Schema.org JSON-LD in your React apps.
Python
- pyld - Python implementation of JSON-LD algorithms. Currently unmaintained and has some problems with default document loading, e.g. for ActivityStreams and schema.org.
- rdflib convert JSON-LD into other formats, e.g. RDF/XML or turtle. Documentation for parser and serializer and here for available options.
Applications
[TODO]
Databases
- TerminusDB - A model driven in-memory graph database designed for the web-age using JSON-LD exchange format.
Maintainers
If you have questions or feedback regarding this list, then please create an Issue in our tracker, and optionally @mention
one or more of our maintainers:
Contributors
With delight we present you some of our delightful contributors (please add yourself if you are missing).