1. 4

  2. 4

    And people wonder why RDF didn’t become popular. I can’t imagine why…

    1. 2

      I don’t think one can hold the fact that such discussion is possible with RDF against RDF. RDF is a tool. You may stick to representing your CSV in RDF or go further, and RDF has nothing to do with it. I actually don’t see the future of IoT/Industry 4.0/buzzwordhere without RDF. Its core premise is a federation of vocabulary definitions, where classes and properties are identified by their URIs instead of bespoke literals (and anyone can reuse other definitions by linking to them). Eg ssn, s_s_n, and all other variants become ‘https://ns.irs.gov/core/#ssn’. I can’t imagine how we are going to build a future of “connected everything” if we can’t get things even to use the same terms for same things and just keep inventing new JSON structures for every single API.

      1. 4

        I remember the hey-day of RDF in “Web 2.0” - Flickr, Friend-of-a-Friend, all sorts of API-driven sites with sharing. In principle I really appreciate the affordances these services offered but they were a bit too hard for most developers to wrap their heads around.

        The vision for XML was similar: that organizations would define careful schemas, files would conform to these schemas, and liberal use of XSLT would transform data from one form to another. Reality was that people shoved CSV data willy-nilly into XML, shipped it over the wire, and relied on copious amount of hand-filed ETL code at the receiving end to handle it correctly.

        RDF is the same - it’s a beautiful creation but too good for this fallen world. The future is an endless pile of JSON.

        1. 3

          That’s the fundamental tragedy of RDF, to me. The idea and most of the basic concepts are mostly great and sorely needed, but the technology stack and documentation is a 90’s W3C nightmare, and there is all this academic logic/theory stuff around that almost nobody in the real world cares about and only makes the entire thing seem hopelessly intimidating. There is some good technology hidden in there, but if you just search the web for “RDF” as a curious potential adopter, you’ll almost certainly end up saying “yeeeeeeeah, no thanks”.

          As the maintainer of a project (LV2) that “forces” RDF on developers who just want to get something done (write audio plugins), I’m painfully aware of these problems. While some aspects of the technology are concretely useful there, it /really/ hurts to have RDF be what it is. In recent years I’ve been trying to mitigate this on a soft level by distancing from “RDF” and the mess the W3C and the semantics people have made, including avoiding using the term “RDF” at all. The situation is so bad that I think doing so only does damage.

          In an ideal universe maybe there’d be a vaguely WHATWG-like splinter group of people trying to build up these ideas in a more practical way (we want to chuck quasi-schemaless data around but still have it make some sense, and we need nice tools with a low barrier of entry to do so, etc), but I imagine that ship has sailed.

          At least JSON-LD provides a pretty viable bridge between something most developers these days are comfortable with (JSON) and the Linked Data ideal, at the cost of more work having to write context definitions and so on. Although I have my gripes with JSON-LD, it at least provides us an option to provide something that is superficially uncontroversial (“it’s just JSON”) without throwing the meaningful baby out with the bathwater…

          While I have my gripes with JSON-LD, I think it’s the only hope at this point. The RDF project did such a bad job at the practical-developer-facing side of things, that the only way out is to present a veneer that almost completely abstracts it away and makes it essentially an implementation detail. I’m pretty convinced at this point that the only way to make RDF-based technology palatable to random developers in the trenches is to make it so that they can’t even tell they’re using RDF-based technology at all, unless they actively dig into it.

          JSON won because it’s simple. A developer who knows nothing at all about it can get the basic idea with a single web search and maybe 5 or 10 minutes, and probably achieve their goal (which is probably just chucking some data around) shortly thereafter. Meanwhile, it would probably take days if not weeks to initially figure out what RDF even /is/, to say nothing of actually achieving anything with it. There’s a lesson to be learned in there somewhere. I wrote a fully conformant (and very fast) JSON parser in C with no dependencies in one weekend. I’ve been writing an RDF implementation for over a decade with no end in sight. That kind of thing really matters.

          … I probably should have used this as my entry in the “what would you rewrite from scratch?” thread from a few weeks ago. Such a missed opportunity.