Evolution vs. Revolution.
I've been spending a lot of time in the RDF space in the last couple of years - once I got past the blinkers about RDF expressed in XML. Is RDF the next big thing? Probably/possibly/maybe not, but curiously it is now solving many of the big use cases that had seemed insurmountable when expressing information in hierarchies rather than graphs.
Yet I think the relevant issue here is that I do not see RDF and XML as being independent, but rather part of a continuum of convenience. Hierarchies ARE immensely useful for a great number of things, but until you have XML in a database with a lot of other XML do you begin to understand where it has its limitation - not so much a failure on the part of XML but rather a transition from forests or groves of XML to linked resources that fall outside of the applicable domain of XML. That becomes obvious when you look at XBRL, which, had they only waited a few more years, would have been a remarkably good fit for RDF.
These are evolutionary - RDF emerges as a natural use case when the amount of associations in XML become too burdensome to continue managing in XML oriented code. It does not invalidate the XML - indeed, after nearly fifteen years I'm actually finding utility for RDF-XML as XML.
Liam's comments on imperative languages are significant - each language attempts to solve the short comings of the previous, and in the process become incompatible from their parent. They are revolutionary. The declarative languages (and REST, which I'm coming to believe is one of the unifying principle of data science over networks) augment rather than replace their antecedents.
It's funny. I've gotten lazy about learning imperative languages, beyond those parts that seem to focus on the "RESTful bits". Part is fatigue - I just don't have the patience to learn yet another imperative language - but part of it is simply the fact that in focusing on those same RESTful bits, I normally can get by with a language enough for me to do what I personally need because the business logic is no longer in the imperative code - it's in the data layer.
Kurt