Skip to content
This repository was archived by the owner on Feb 8, 2023. It is now read-only.
This repository was archived by the owner on Feb 8, 2023. It is now read-only.

Linked Data Platform (LDP) Service on IPLD #178

Open
@flyingzumwalt

Description

@flyingzumwalt

This is a sketch.

Create an LDP "Service" that

  • exposes the LDP APIs
  • persists data as IPLD

Why do this?

  • Sanity check for the IPLD Spec
  • Provides a path for people who already use LDP to adopt IPLD

Things that might be hard:

  • returns valid Linked Data (this means it needs to mint and persist valid HTTP URIs for all references between objects)

Things that would be awesome

  • Make it serverless - run the service as a local node or even a library that munges data and persists to an IPFS node
  • Cache sub-graphs locally so you can perform batches of local edits to the graph and then write the results to IPFS

Examples

Example: IIIF Create, Update and Delete

The Maintainers of IIIF are talking about creating a REST API for Creating, Updating and Deleting IIIF Manifests, Canvases and Annotations. This will allow researchers and curators to build and modify representations of Image, Audio and Video content along with annotations of that content.

The IIIF data is all JSON-LD. If you provide a clear, clean way for them to persist this data to IPLD, you can provide a distributed peer-to-peer path for creating, managing and curating that content.

This distributed approach would be a big break from the server-based REST-centric approach.

Example: Fedora 4 Repositories

Fedora Repositories persist data using LDP. Frameworks like the Hydra Framework provide a stack of services for creating, indexing and managing that LDP content.

If we convert this LDP content to IPLD and expose an LDP service on top of it, this will enable distributed hosting and management of this content. It will also allow us to test IPLD's ability to grapple with complex real-world data models.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions