Iāve just found out IPLD, but I donāt quite get it. What is it, in simpler words? And what problem is it trying to solve?
The only use of linked data that I know of is through a database, that I
can usually query with SPARQL. Is IPLD trying to improve this model,
and how??
As far as I know - and there almost certainly some technical errors in this high level overview Iām writing here - IPLD is basically a really simple way of using JSON-esque notation to allow us to store, share, and traverse data. SQL databases are different; theyāre relational, and not ideal for storing on IPFS. A NoSQL approach - a distributed database - would allow people to share data and reference it without having to store the entire database, and allowing them to use versioning (with MerkleDags, like Git) more easily. IPLD also explicitely helps us refer to other data easily (hence ālinked dataā), somewhat like RDF does currently with its triplestore.
The problem IPLD is trying to solve is: how do I refer to other JSON objects in a well-defined way? We do this by using fingerprints (hashes) of the other objects, and referring to those with a link object.
Others can help you more, but I hope this gives you a vague idea.
Can you elaborate on why a relational approach doesnāt work? Iām pretty sure the problem is the changing nature of a relational database, but if the data was both relational and totally unchanging, would that be a problem? Iām trying to understand if you mean that the relational nature of the data is the problem or that it changes.
To be honest, Iām not even sure if this question makes sense. New to IPFS, just trying to get my head around it.
The new IPLD website is finally up. FINALLY! Some tidbits from https://ipld.io/:
IPLD is the data model of the content-addressable web. It allows us to treat all hash-linked data structures as subsets of a unified information space, unifying all data models that link data with hashes as instances of IPLD.
and
USE CASES
The skyās the limit as IPLD allows you to work across protocol boundaries. The point is that IPLD provides libraries that make the underlying data interoperable across tools and across protocols by default.