LDP Implementations

From W3C Wiki

This is community-maintained page listing planned and existing implementations of the Linked Data Platform (LDP). If you are associated with such an implementation (planned or complete), please make sure it is correctly listed on this page. See the LDP compliance reports for those implementations who have supplied testing results.

Disclaimer: The contents of this page have not necessarily been reviewed by the LDP Working Group. Things listed on this page might not actually be LDP implementations. (But please do try to keep it limited to things which aim to be full or partial LDP implementations.)

Active

TrellisLDP (Server)

Summary
A horizontally-distributable (share-nothing) high-performance LDP implementation. Also supports Memento, WebAccessControl and ActivityStreams.
Website
https://www.trellisldp.org
Contact
info@trellisldp.org
Status
Initial release 2018, under active development
Timeline
Full LDP 1.0 compliance since 2018
License
Apache 2.0
Platform
JavaEE/MicroProfile
Language
Java

LDP.js (Server)

Summary
A simple Node.js based implementation that leverages MongoDB for storage and Express.js for REST framework, along with some utilities to assist with Turtle and JSON-LD. This only implements Basic and Direct Containers.
Website
http://ldpjs.mybluemix.net - https://github.com/spadgett/LDPjs
Contact
Sam Padgett, Steve Speicher
Status
Code completed.
Timeline
Done.
License
Apache License 2.0
Platform
Node.js and MongoDB
Language
JavaScript

LDP4j (Client and Server)

Summary
An open source Java-based framework for the development of read-write Linked Data applications based on the W3C Linked Data Platform 1.0 (LDP) specification and available under the Apache 2.0 license.
Website
http://www.ldp4j.org/
Contact
contact@ldp4j.org
Raúl García-Castro, Miguel Esteban-Gutiérrez, Nandana Mihindukulasooriya
Status
In progress
Timeline
During 2014
License
Apache 2
Platform
Java EE 6
Language
Java

Apache Marmotta (Client and Server)

Summary
Apache Marmotta is an Open Platform for Linked Data..
Website
http://marmotta.apache.org
Contact
dev@marmotta.apache.org
Status
Full release
Timeline
work-in-progress alignment of the current implementation with the current version of the specification.
License
Open Source (Apache 2)
Platform
JavaEE
Language
Java (Server); Java, PHP and Javascript (Client)

Callimachus (Client and Server)

Summary
Callimachus (kəlĭm'əkəs) is a framework for data-driven applications based on Linked Data principles. Callimachus allows Web authors to quickly and easily create semantically-enabled Web applications.
Website
http://callimachusproject.org
Contact
David Wood
Status
Full release
Timeline
Ongoing; tracking the LDP specification
License
Open Source (Apache 2)
Platform
Java 1.6.0 (Linux/Mac/Windows), prefers browsers with HTML5 features
Language
Java

Carbon LDP (Client and Server)

Summary
Carbon LDP is an enterprise-class Linked Data Platform that helps artists and engineers create and extend web applications with ease. Information can be modeled and managed without creating database schema or modifying those of existing apps. Carbon significantly reduces the need for complex SQL queries and compiled deployments when building sophisticated systems. Existing enterprise apps can be extended and better integrated. New apps can be created to be future-proof, with all the benefits of Linked Data and the RDF data model. Data is managed through a simple JSON/REST API or with the aid of the Carbon LDP JavaScript SDK. Carbon LDP is nearly fully compliant with the LDP 1.0 specification. Among other features, it provides security authentication and authorization, an app developer Workbench (GUI), SPARQL support with a SPARQL client (GUI), and LDAP integration.
Website
http://carbonldp.com
Contact
Cody Burleson of Base22
Status
BETA
Timeline
Docker container for on-prem beta deployment available now.
License
Custom (Grants perpetual, worldwide, non-exclusive, no-charge, and royalty-free use.)
Platform
The platform is available as a Docker container for on-prem deployment.
Language
Application developers can use LDP REST API or the Carbon LDP JavaScript SDK. Early documentation for the JavaScript SDK can be found here. There is also a set of helper classes that simplify the integration of Angular 2 apps; see: angular2-carbonldp. Early product documentation available at carbonldp.com.

Eclipse Lyo (Server, Software Lifecycle)

Summary
Eclipse Lyo provides various open source assets (SDK, reference implementation, test suites, adapters, ...) to help adopt Linked Lifecycle Data and OSLC (Open Services for Lifecycle Collaboration) compliant tools. This reference implementation support Basic and Direct Containers, non-RDF Sources, Prefer, etc. It is built leveraging JAX-RS and Apache Jena library for syntax parsing&generate and RDF storage.
Website
https://wiki.eclipse.org/Lyo/LDPImpl
Contact
Sam Padgett, Steve Speicher
Status
Completed
Planning
N/A
Timeline
2Q2014
License
EPL 1.0
Platform
JEE (Tomcat, Jena, etc)
Language
Java

RWW.IO

Summary
Read/write Linked Data platform for applications and their data. Also supports WebAccessControl and WebID. Details here.
Website
https://rww.io
Contact
Andrei Sambra
Status
LDPC:
BasicContainer
GET, POST, PUT, DELETE, HEAD, OPTIONS
Full paging through Link headers
Prefer header
Accept-Post header
LDPR:
GET, POST, PUT, DELETE, HEAD, OPTIONS
If-Match and ETag
Pending:
PATCH
DirectContainer and IndirectContainer
Ordering/sorting
Timeline
-
License
MIT
Platform
Linux, Windows, etc. (anything that can run PHP)
Language
PHP

OpenLink Data Spaces (Hosted Service; LDP Client & Server)

Summary
OpenLink Data Spaces (ODS) is an industry standards-compliant data space platform that includes a broad collection of distributed collaborative applications covering blogs, wikis, shared bookmarks, file management, calendaring, email, photo galleries, discussion forums, polls, and more. :Every item of data within an ODS instance is denoted by a URL, enabling any HTTP-compatible client to obtain a negotiated representation of the description of any ODS data item.
Website
http://ods.openlinksw.com
Contact
Ted Thibodeau or http://www.openlinksw.com/contact
Status
Full release
Timeline
Full compatibility with LDP-WG output awaits that output...
License
Open Source
Platform
client-side - Browser-based via Javascript.
server-side - Currently Virtuoso-specific. Back-end agnosticism coming soon.
Language
Javascript

OpenLink Virtuoso (Data Server; LDP Client & Server)

Summary
OpenLink Virtuoso is a hybrid data store and application server, which can generally act as a client for the same data models, access mechanisms, and interaction protocols as it serves. These include (but are not limited to) SPARQL, RDF and other graph model data, SQL, RDBMS data, HTTP, LDAP, SMTP, IMAP4, POP3, ODBC, JDBC, OLE DB, ADO.NET, and others.
Website
http://virtuoso.openlinksw.com/
Contact
Ted Thibodeau or http://www.openlinksw.com/contact
Status
Full release
Timeline
Full compatibility with LDP-WG output awaits that output...
License
Open Source and Commercial
Platform
AIX, HP-UX, Linux, Mac OS X, Solaris, Windows, other Unix-like
Language
C/C++ (extensible with Java, C/C++, PHP, Perl, Python, Ruby, and others)

rdflib.js (Client Library)

Summary
Linked Data API for JavaScript, used by some LDP implementations
Website
https://github.com/linkeddata/rdflib.js
Contact
?
Status
Last commit on 29 Mar 2015
Timeline
?
License
MIT
Platform
Web-browser or node.js
Language
JavaScript

rdf.sh (Client)

Summary
A multi tool for doing Semantic Web jobs on the command line, incl. LDP client jobs
Website
https://github.com/seebi/rdf.sh
Contact
Sebastian Tramp
Status
v0.6
Timeline
get, delete, put, ...
License
Open Source (GPL2+)
Platform
Command Line
Language
bash

RWW Play Server

Summary
Server written in Scala implementing LDP, WebID, and WebAccessControl
Website
https://github.com/read-write-web/rww-play
Contact
Henry Story
Status
early development
Timeline
End of November implement working version of current spec
License
Apache 2.0
Platform
Play2.0 framework using Banana-RDF
Language
Scala

Tabulator (Client)

Summary
The Tabulator project is a generic data browser and editor. Using outline and table modes, it provides a way to browse RDF data on the web.
Website
http://www.w3.org/2005/ajar/tab - https://github.com/linkeddata/tabulator
Contact
Tim Berners-Lee <timbl@w3.org>
Status
complete functionality, but not in sync with LDP spec (as of 2 Nov 2012)
Timeline
Initially released 2005. LDP conformance expected before or during CR.
License
? missing information: https://github.com/linkeddata/tabulator/issues/5
Platform
Browser (Firefox only?)
Language
JavaScript

TopBraid Live (Client and Server)

Summary
TopBraid Live ('TBL') is an enterprise SOA-capable Semantic Web application platform. TBL is optimized for delivering dynamic SWT (Semantic Web Technologies) -driven applications that realize the Linked Data Platform.
Website
http://topquadrant.com/products/TB_Live.html
Contact
Ralph Hodgson, W3C wiki profile at http://www.w3.org/wiki/User:Rhodgson
Status
First version was released in 2008, currently shipping release 4.2.
Timeline
Full LDP conformance expected before or during CR. POST and GET available now.
License
Open Source and TopQuadrant Licensing
Platform
Java
Language
Java (Server); Java, Javascript (Client), SWA (SPARQL Web Applications - http://topquadrant.com/swp/#SWPAppComp )/ SWP (SPARQL Web Pages - http://topquadrant.com/swp/ ) and SPIN (http://www.w3.org/Submission/spin-overview/ ).

Fedora Commons Repository (Server)

Summary
Fedora is a robust, modular, open source repository system for the management and dissemination of digital content. It is especially suited for digital libraries and archives, both for access and preservation. It is also used to provide specialized access to very large and complex digital collections of historic and cultural materials as well as scientific data. Fedora has a worldwide installed user base that includes academic and cultural heritage organizations, universities, research institutions, university libraries, national libraries, and government agencies. The Fedora community is supported by the stewardship of the DuraSpace organization.
Website
https://wiki.duraspace.org/display/FF/Fedora+Repository+Home
http://fedora-commons.org/
Contact
Andrew Woods, W3C wiki profile at http://www.w3.org/wiki/User:awoods
Status
First version was released in 2003, currently shipping releases.
Timeline
Full LDP conformance since November, 2014 and the production release of 4.0.0.
License
Apache 2.0
Platform
Java
Language
Java (Server); Java (Client)

Glutton (Server)

Summary
A LDP server in Python3 using asyncio, aiohttp and api_hour
Website
http://commonsdev.github.io/glutton/
Contact
Guillaume Libersat
Status
In developement, see LDP Test suite report for compliance progress.
Timeline
Full LDP 1.0 standard conformance mid 2015, stable and optimized release for end of 2015.
License
GNU AGPL v3; other licensing terms may be available later.
Platform
Any
Language
Python3

gold (Server)

Summary
Linked Data server for Go
Website
https://github.com/linkeddata/gold
Contact
?
Status
Living (May 2015)
Timeline
?
License
MIT
Platform
?
Language
Go

ldnode (Server)

Summary
Linked Data Platform server based on rdflib.js and node.js
Website
https://github.com/linkeddata/ldnode
Contact
?
Status
Living (May 2015)
Timeline
?
License
MIT
Platform
node.js, using rdflib.js
Language
JavaScript

Inactive or invisible

Bygle (Client and Server)

Summary
Bygle - Build Your Graph in a Linked Environment
Website
http://bygle.net - https://github.com/regestaexe/bygle-ldp/
Contact
Diego Valerio Camarda
Status
Server full release - Client under update
Timeline
updating LDP interface to last recommendation, writing documentation
License
MIT for Client - Commercial for Server
Platform
JavaEE
Language
Java (Server); Java, HTML5 and Javascript (Client)

Genboree (Client and Server)

Summary
A suite of servers and clients for managing genomic data and biomedical knowledge developed at Baylor College of Medicine.
Website
http://www.genboree.org
Contact
Aleksandar Milosavljevic amilosav@bcm.edu
Status
Genboree HTTP REST APIs are being redesigned to meet the LDP 1.0 standard.
Timeline
Compliance with the LDP 1.0 standard in anticipated within 3 months of LDP 1.0 achieving W3C Recommendation status.
License
GNU 2/3 GPL licensing anticipated in early 2015; other licensing terms also available
Platform
virtual (OVF, VMware) and physical appliance anticipated in early 2015
Language
clients: JavaScript, servers: Ruby, Java, C++

ldpy (Client)

Summary
A simple LDP client for Python. Very prototypical, initially written for cross-testing Apache Marmotta reference implementation.
Website
https://github.com/wikier/ldpy
Contact
Sergio Fernández
Status
Alpha
Timeline
Full LDP conformance expected by end of 2014.
License
Apache 2.0
Platform
Any
Language
Python

node_ldp (Server)

Summary
Implementation of the Linked Data Platform for Node.
Website
https://github.com/AKSW/node_ldp
Contact
AKSW, Contributors
Status
Inactive. No commits since 22 May 2013 (May 2015). Started 01/2013, some issues open
Timeline
put, post, delete, container, ... implemented, webid, pingback, other features in roadmap
License
???
Platform
node.js
Language
JavaScript

APPENDIX: Instructions for modifying this page

Please help keep this page up to date. Ideally, entries include the following information, when applicable:

  • Implementation name (in entry header)
  • Client, Server, Both, Something Else (in entry header)
  • Summary blurb
  • Link to project/implementation Website. (Ideally this page should include DOAP information and be the doap:homepage of that project.]
  • Contact information
  • Status
  • Timeline (when release/conformance expected)
  • Software license
  • Platform (eg Unix, Android, Browser)
  • Programming Language(s) used in implementation
  • Other notes, features, qualifications


The following template may be helpful:

== Template (Client? Server?) ==

;Summary
:?
;Website
:?
;Contact
:?
;Status
:?
;Timeline
:?
;License
:?
;Platform
:?
;Language
:?