Live data from Hacker News

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

semanticoverflow.com

21–30 of 45 posts

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

#21
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).

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.

RDF semantics are maybe harder, but most people can start using RDF without caring about things like entailment.

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.

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

#22

Earlier quoted context omitted.

It's not just consuming the data though... it's when you go beyond that and start doing inference and combining multiple databases, that the RDF approach really shows it's value. If you established a standard for doing that kind of field name exposure, using JSON, and then sure, you could achieve the same effect. But, in the end, you'd probably just wind up with a JSON encoding of RDF anyway. Define things as subject…

Hey, I really wish that "subject/predicate/object" was all that RDF was, but I'm afraid it's a good deal more: RDF Syntax: http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ RDF Schema: http://www.w3.org/TR/2004/REC-rdf-schema-20040210/ RDF Semantics: http://www.w3.org/TR/2004/REC-rdf-mt-20040210/ (Those are all current W3C standards)

I agree that a lot of the standards surrounding RDF are ugly. I've always particularly disliked the RDF-as-XML serialization, which took two fairly simple ideas (triples and XML) and combined them into a complex mess. This is why I always hate parsing RSS 1.0. Also, the full generality of OWL just confuses me: It seems to be Prolog done badly.

But just as with XML, it's possible to ignore the cruft (XQuery, XLink, XML Schema, the current SOAP flavor-of-the-month), and just use the useful bits. A similar argument could be made about HTML: For every HTML 5, there's an XHTML 2.0.

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

#23
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.

There is a very frequent problem people suffer from, which is mistaking goals 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 and 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 way 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 only thing it can do is run that benchmark. It's the promises.

You can see it in graphical programming. Graphical programming has a few modest successes, but the promises 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.

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 so beguiling 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 glorious when everybody gets their heads out of their ass and listen to me and just start doing it right.

But RDF can't get us there. It's so general it's nothing at all.

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 promises 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.

(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.)

(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 best solution for your problem.)

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

#24

Earlier quoted context omitted.

So sure, if you're integrating one service, a hacky script is probably easier. But if you want a coherent system for integrating large numbers of services not originally designed to inter-operate, RDF makes things a lot easier. Exactly. If one thinks of RDF (and associated technologies) as having an aim of creating a Semantic Web as one big, decentralized, federated database, then you can really see the value in it.…

Ah, but RDF in and of itself isn't any more interoperable than XML or JSON. You still have to agree on the vocabulary of your triples. To that end, you bring in RDF Schema, OWL, and their stacks of definitions: http://www.w3.org/2002/07/owl (View source on that page). Absent strong AI, defining your terms in terms of URIs to terms, defined by URIs to terms ... ad infinitum, is no more expressive or powerful than simp…

Ah, but RDF in and of itself isn't any more interoperable than XML or JSON.

True, but XML and JSON are both fantastically useful technologies despite that lack of interoperability.

So when is RDF actually useful? If I have hierarchical data structures, I strongly prefer JSON. If I have structured documents, I like XML. But if I have a graph, something like RDF n-triples or Turtle is a reasonable way to serialize it.

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

#25

Earlier quoted context omitted.

It's not just consuming the data though... it's when you go beyond that and start doing inference and combining multiple databases, that the RDF approach really shows it's value. If you established a standard for doing that kind of field name exposure, using JSON, and then sure, you could achieve the same effect. But, in the end, you'd probably just wind up with a JSON encoding of RDF anyway. Define things as subject…

Hey, I really wish that "subject/predicate/object" was all that RDF was, but I'm afraid it's a good deal more: RDF Syntax: http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/ RDF Schema: http://www.w3.org/TR/2004/REC-rdf-schema-20040210/ RDF Semantics: http://www.w3.org/TR/2004/REC-rdf-mt-20040210/ (Those are all current W3C standards)

You don't have to use all of that stuff though. "Stuff" layers on progressively to add functionality.

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

#26

Earlier quoted context omitted.

So sure, if you're integrating one service, a hacky script is probably easier. But if you want a coherent system for integrating large numbers of services not originally designed to inter-operate, RDF makes things a lot easier. Exactly. If one thinks of RDF (and associated technologies) as having an aim of creating a Semantic Web as one big, decentralized, federated database, then you can really see the value in it.…

Ah, but RDF in and of itself isn't any more interoperable than XML or JSON. You still have to agree on the vocabulary of your triples. To that end, you bring in RDF Schema, OWL, and their stacks of definitions: http://www.w3.org/2002/07/owl (View source on that page). Absent strong AI, defining your terms in terms of URIs to terms, defined by URIs to terms ... ad infinitum, is no more expressive or powerful than simp…

Sure, everything you can do using RDF you could conceivably do using a different suite of technologies... but my point - if there is a broad point to make here - is that you'd wind up recreating a lot of the "stuff" that is part of the RDF ecosystem anyway, to achieve the same end.

Now maybe it's possible that someone could start from scratch and build up a system that is both much simpler does the same things... if so, fine, point me to it when it becomes available.

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

#27

Earlier quoted context omitted.

I'm working on some stuff that uses RDF, yeah.

Since you're quite an eloquent defender of RDF in this thread -- would you mind sharing a bit of RDF from your project? If it's not public or finished yet ... perhaps pasting an excerpt on gist.github.com?

I don't know that I'm particularly eloquent, but if you say so.

I'm at work at the $DAYJOB right now, so I can't really do anything with this right now. But for what it's worth, one of the areas I'm working with is something called SKOS. http://www.w3.org/2004/02/skos/

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

#28
post #24

Earlier quoted context omitted.

Ah, but RDF in and of itself isn't any more interoperable than XML or JSON. You still have to agree on the vocabulary of your triples. To that end, you bring in RDF Schema, OWL, and their stacks of definitions: http://www.w3.org/2002/07/owl (View source on that page). Absent strong AI, defining your terms in terms of URIs to terms, defined by URIs to terms ... ad infinitum, is no more expressive or powerful than simp…

Ah, but RDF in and of itself isn't any more interoperable than XML or JSON. True, but XML and JSON are both fantastically useful technologies despite that lack of interoperability. So when is RDF actually useful? If I have hierarchical data structures, I strongly prefer JSON. If I have structured documents, I like XML. But if I have a graph, something like RDF n-triples or Turtle is a reasonable way to serialize it.

Let's also not forget the Linked Data idea. You find a node in an RDF graph that you're interested in? Follow the URI that is its id and get more RDF describing the node, and so on. A web of data. We're not there yet, but the number of RDF-ized resources is growing.

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

#29
post #4

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. Now, there are two perspectives on what RDF is. To an idealist, RDF is the universal data format. There are no semantics baked-in, and you can write arbitrary subject -> predicate -> object triplets to express any possible relationship. To an ideali…

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. …or native human language.

You're saying that a standardized formal model of a graph is equally hard to understand for programs than human language? The people working on natural language processing since decades must be really dumb then.

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

#30

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. Now, there are two perspectives on what RDF is. To an idealist, RDF is the universal data format. There are no semantics baked-in, and you can write arbitrary subject -> predicate -> object triplets to express any possible relationship. To an ideali…

RDF is certainly awkward for many use cases, but it's the same API everywhere. Each custom web API needs custom code to use it.

I don't believe in automatic agents, either. But RDF as a universal data format, forming a web of data, can be useful even without agents. It allows linking, combining, loading and querying data from different sources without writing any code at all.

We're not at a point yet where this is often possible due to the lack of (good) RDF data, but the idea is strong. I work on uniprot.org, providing one of the largest free RDF data sets, and we see strong interest from our users---bioinformaticians who often spend most of their time writing import/export scripts instead of doing their actual work.

Post reply on HN