TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Why is RDF so old, complicated, unpopular and still not discarded?

33 pointsby cosmohhover 14 years ago

8 comments

jashkenasover 14 years ago
As a preamble, when RDF was conceived, databases drove many sites on the web, but their data tended to only be exposed as HTML, instead of a more machine-friendly format.<p>Now, there are two perspectives on what RDF is.<p>To an idealist, RDF is the universal data format. There are no semantics baked-in, and you can write arbitrary subject -&#62; predicate -&#62; object triplets to express any possible relationship. To an idealist, it's the perfect format for exposing all the structured data on the web in a machine readable form. The dream has always been for automatic agents to crawl the semantic web for you, understanding the meanings of the RDF triplets, and using them to reason out the solution to your query.<p>To a pragmatist, that dream has always sounded like a bunch of bull. Absent the presence of strong AI, it's a complete pipe dream that a piece of software will ever be able to infer the "semantic meaning" of interlinked RDF, just because it happens to be defined by triples. At the end of the day, you're going to have a programmer writing rules against specific terms in RDF, and if that's the case, than RDF is nothing more than an <i>extremely</i> awkward API.<p>Fortunately for the web, the pragmatists won. APIs are everywhere, and RDF is nowhere.<p>Unless strong AI happens to be right around the corner, the web dodged a real bullet there. Personally, I'm of the opinion that any web agent that could possibly puzzle through RDF triplets should have no problem understanding our APIs, in any case.
评论 #2174858 未加载
评论 #2175275 未加载
评论 #2174920 未加载
评论 #2174916 未加载
ekiddover 14 years ago
[I have a client who sells RDF tools. Here's the latest version of what I've been saying to them.]<p>Let's look at RDF like a startup: The old RDF marketing from, say, 2003 was hopelessly out-of-touch with reality. Users were never going publish their metadata as RDF, and even if they did, you'd need strong AI to use it. Here are two classic articles spelling out why classic RDF wouldn't work:<p><a href="http://www.well.com/~doctorow/metacrap.htm" rel="nofollow">http://www.well.com/~doctorow/metacrap.htm</a> <a href="http://www.shirky.com/writings/semantic_syllogism.html" rel="nofollow">http://www.shirky.com/writings/semantic_syllogism.html</a><p>But things have been looking up in the RDF market lately. The complicated RDF XML serialization is mostly ignored in favor of simple n-triples. Google is making heavy use of RDFa metadata when searching for products, and something like 3.5% of web pages now contain RDFa. The RDF conferences are booming. There are cool projects like dbpedia that are organizing publicly-available information as RDF.<p>So if the RDF tool vendors are going to succeed, they need to pivot (and many of them are). They need to drop the AI hype, and focus on what their early users are telling them. Some possible sales pitches:<p>1) RDF is useful as a distributed, schema-free graph database. Competition: Neo4J, other NoSQL databases. There's a couple of very good sales pitches here, including the fact that RDF databases are available from multiple vendors, and that RDF inference can be used to normalize schemas between different data sources.<p>2) RDF is useful for embedding small amounts of data in web pages. Competition: Microformats.
antoniogarroteover 14 years ago
RDF/XML serialization of RDF graphs can be painful. I completely agree that other serializations like Turtle should be used in recommendations (e.g. R2RML).<p>But the RDF model is a wonderful thing. The use of URIs as identifiers for objects and properties makes possible for the first time to reuse knowledge and share data, linking APIs in the same way we are alreay linking web pages.<p>RDF semantics are maybe harder, but most people can start using RDF without caring about things like entailment.<p>I really think RDF has a future, specially since the steady growth of the LOD initiative. The revision of the standard is also a good opportunity to polish some aspects of RDF, for example, the use of named graphs.
Ixiausover 14 years ago
I see a lot of RDF bashing. Particularly from the "Web 2.0" crowd. It has warts, no doubt (is anything borne of the human mind without warts?), but it also has its strengths. A lot of people say it is a failed technology but it's less the failure of the technology and more a failure of the people saying so to properly understand what it can/does do.<p>Is that a failure of the technology? Because most people don't understand <i>what</i> they would use it for or <i>how</i> they would apply it? I don't think so. I think the claims that it would change the web were high-flown. I also think its creators did a bad job of explaining it. However, you'll find the people that do understand it and have a domain in which it is <i>clearly</i> applicable - love it.<p>One of my friends works for the library at UCSD and they use RDF, RDFS, and OWL-DL <i>extensively</i> - I couldn't even imagine doing what she does with the library's book ontology using JSON (as some have proposed replace XML and it's vocabularies, even with a JSON "schema" language). I have another friend working for a biotech company - and he uses it there, extensively. These are only two examples and it excludes the other web projects and companies out there that also use it and it's higher level vocabularies/ontologies (UMBEL, etc...).<p>Is it a failure for the web? (a topic in another thread a few days ago) I don't think it is, I think it is a failure on the part of developers to understand it and apply it (Drupal has applied it).
david927over 14 years ago
It was the right idea and almost the right implementation, but almost is a big word -- like a rocket that <i>almost</i> has escape velocity.<p>There's work being done in this space that is really exciting and I think we'll soon see how much potential the semantic web really has.
_mqlover 14 years ago
A major problem with RDF is that it is almost impossible to build applications on top of it. You'd need another layer of abstraction to handle the complexity.<p>I really like the approach Freebase takes. It’s a proprietary format, basically. They use JSON rather than XML and they have their own query language MQL (also expressed using JSON). However their graph of entities maps to RDF as well, so they use RDF (along with common ontologies) as an export format. I think while their system is still complex under the hood, it’s less verbose, less scientific, and more user-friendly w.r.t. the public interface. And most important, thanks to MQL it's super easy to build applications on top of it.<p>---<p>For me modeling data as a graph (as RDF proposes) is a really great idea! What I always wanted to do is building client applications (single-page web apps) that can operate on a graph of data directly (instead of talking to a REST service). That's why I'm putting efforts in the creation of Data.js, which features a Data.Graph that can be manipulated in JavaScript environments (like the browser or Node.js). Such Data.Graphs can be persisted (synced) at any time. There's support for CouchDB as a backend.<p>Well, in the README I also pointed out why I decided not to use RDF and instead took inspiration from the Metaweb Object Model (that Freebase uses).<p><a href="https://github.com/michael/data" rel="nofollow">https://github.com/michael/data</a><p>I'd enjoy some feedback btw. The lib is actually working, but the examples are out of date. Have a look at the source or ping me if you want to try it out.
donohoeover 14 years ago
Hands up anyone who uses RDF (when they could choose to do otherwise)? Anyone? <i>Bueller?</i>
评论 #2175056 未加载
评论 #2175300 未加载
评论 #2175349 未加载
评论 #2174975 未加载
评论 #2175346 未加载
jerfover 14 years ago
Many people here are answering the question of why RDF sucks, but that was not the question asked. The question is why this suckage has still not managed to bury the technology.<p>There is a very frequent problem people suffer from, which is mistaking <i>goals</i> for results. When you start looking for it, you'll see it a lot. A new open source NoSQL database will pop up, post a long list of goals ("Fastest performance, maintain some integrity, transactions, trivial sharding, consistent available <i>and</i> partition tolerant, and able to run on a TI-83 at web scale!"), put up a benchmark that shows that if you have no features and have no code written to ensure you don't fall down under real load you can put up <i>way</i> bigger numbers than the products with features, and suddenly you have some set of very excited people. Why are they excited? It's not the code; the code is worthless, the <i>only</i> thing it can do is run that benchmark. It's the promises.<p>You can see it in graphical programming. Graphical programming has a few modest successes, but the <i>promises</i> are about changing how everybody programs and how even Granny will be able to program. The fact that it has never happened despite immense effort for tons of smart people doesn't stop a certain segment of people from still being True Believers.<p>And, today, we talk about RDF. It promises to organize the web, it promises glorious wonderful search engines, it promises the world. It can't deliver, because merely sticking URIs on some graph nodes is only the beginning of the solution, not even remotely the end, you still have issues of agreement and accuracy and all kinds of other things. But the promise is <i>so beguiling</i> that some people just can't give it up, if we just try harder it'll happen, it's just that nobody has done it right yet, I'm smart enough to see what the previous hundreds of smart people haven't and I'll get it right, oh, it'll be <i>glorious</i> when everybody gets their heads out of their ass and listen to me and just start doing it <i>right</i>.<p>But RDF can't get us there. It's so general it's nothing at all.<p>There are all kinds of places where people become excessively bedazzled by promises and never notice the concrete reality before them. Another interesting example is Object Orientation. This has proved useful, IMHO, if not the be-all end-all of development methodologies, but it is interesting to contrast the <i>promises</i> made by OO back in, say, the late 1980s, with OO reality today. The promises were about how objects can represent things in the real world and you can model the real world with them. This turned out to be bunk. The real world has some place in OO but only carefully layered and wrapped and mixed in with a lot of other not-real-world things, iterators and factoryfactories and facades and data structs and ORMs and so on. The old promises were interesting and wrong, but also so beguiling that even today you will still hear this nonsense spouted about how this is the purpose of OO, even though it is now well understood that writing your programs with an excessively-strong tie to physical reality is asking for problems. Even as the reality is actually useful the old beguiling promises are still around screwing young developers up to this day.<p>(It is a tricky balance maintaining the proper level of skepticism because conditions change and sometimes wild promises become practical, and sometimes someone really does manage to pull off one of these things. The latest example would be the commercial success of the iPad, because for a long time smart money was on there being no market for tablets after numerous and repeated failures in creating the market. But in general, "show me the code" or appropriate manifestation is still the best way to avoid being trapped in one of these marketing traps, you will miss out on a few hits but pass on dozens of losers.)<p>(Also, I am aware there are still some True Believers using RDF. My point here is not disproved by a couple people using it, even using it in a big way. My point will only be disproved if someone brings about RDF Utopia, the actual promises. Of course you can bash RDF into submission, but that doesn't prove it was the <i>best solution</i> for your problem.)
评论 #2175696 未加载