I believe it is a hinderance for progress.

Ок. I admit my question is somewhat provocative. I did not want to hurt anyone.

Semantic web is thought of as the next generation of the internet. To be popular it must be simple so that people can create semantic sites easily, as it was with HTML language and web 1.0. Or there must exist a lot of web applications that help users to put their content into the web. It determined the success of web 2.0 with its blog sites, social networks, online games, auctions and so forth.

Here I see the problem. The huge masses of developers that created web 2.0 must change their paradigm of thinking. Semantic web imposes on them a different approach to data storage. Relational databases with a set of tables that are linked to each other are no more appropriate. They seem too rigid for semantic modelling.

So of course RDF alone is not responsible for that we have just a small number of semantic sites that allow specific search queries. But something must be done. 7 years since RDF announcement by W3 is a long period of time. There must be some fault in the design when great possibilities of semantic web have to wait that long.

It frustrates when forums of PHP developers show no interest in programming of semantic applications. Who will do the work then. Not users, not developers. Are there other agents?

asked 03 Feb '11, 07:34

Alexander's gravatar image

accept rate: 0%

edited 03 Feb '11, 17:34

Bastian%20Spanneberg's gravatar image

Bastian Span...


If you'd like to have a proper discussion of this could you edit your question to state what in particular is wrong with RDF and what you think should be changed OR used instead

(03 Feb '11, 08:58) Rob Vesse ♦ Rob%20Vesse's gravatar image

It might also be good to separate between RDF Model (the knowledge representation structure of the RDF family) and RDF Schema (a knowledge representation language on top of RDF Model with advanced description features). Both together make the RDF family, which is often indend when some uses only the term 'RDF'. The knowledge representation structure RDF Model is quite similar to the knowledge representation structure of simple natural language sentences. So at least this part might be quite graspable and intuitive. Everything on top of RDF Model can be selected and utilized as needed.

(03 Feb '11, 10:17) zazi zazi's gravatar image

There are also flaws in the RDF Model we could discuss, but the question does not look like Alexander want to seriously discuss. Otherwise he'd give us some examples, arguments, and explanations.

(03 Feb '11, 10:35) Jakob Jakob's gravatar image

I also think, it would be much better for the discussion and the quality of answers if you tell what you think is old, complicated and unpopular with RDF, instead of just making a populist statement.

(03 Feb '11, 10:49) Bastian Span... Bastian%20Spanneberg's gravatar image

@Alexander - Edited my answer to try and address some of your points

(03 Feb '11, 11:20) Rob Vesse ♦ Rob%20Vesse's gravatar image

There is also quite some discussion going on over at Hacker News - http://news.ycombinator.com/item?id=2174538

(03 Feb '11, 15:08) Bastian Span... Bastian%20Spanneberg's gravatar image
showing 5 of 6 show 1 more comments

12next »

Why is RDF so old,

A very simple reason: because it was originally recommended by the W3C on the 22 February, 1999.

(BTW, that makes it nearly 12 years old, not 7 as stated in the question.)


This is a really important topic: I think that one of the community's greatest weaknesses is not properly addressing the misconception that RDF is complicated, and not distinguishing and properly separating out RDF from the stuff that's actually complicated.

The community should be in a great position, because the stuff that solves most of the problems is simple and intuitive... but for whatever reason, its all jumbled up with the obscure stuff that solves the harder niche problems.

Despite popular opinion, RDF (at its core) is as simple as it can be... and no simpler, mainly because...

RDF is just triples.

Triples form the basis of the simplest data model which allow to express arbitrary information. Don't believe me? Try to represent information in pairs:

(Signified, Orange)

Doesn't tell you much... What about

(Signified, hates) (hates, Orange)

Well, it looks like we have more information but wait...

(Foo, hates) (Signified, hates) (hates, Orange) (hates, Bar)

I have nothing against Bar.

Again, triples are the simplest standard way to represent arbitrary information.

(Signified, hates, Orange), (Foo, hates, Bar)

But these strings Orange, Foo, Bar are crap identifiers (is Orange the fruit or the colour, and how would we get everyone to agree on one meaning). So some folk decided since we're on the Web, lets use URIs to identify resources.

(ex:Signified, ex:hates, ex:Orange), (ex:Foo, ex:hates, ex:Bar)

[...where, e.g., ex:Signified is a CURIE shortcut for a full URI like http://ex.com/Signified]

And then some folk decided to let literals appear in the object position of the triple.

And then some folks decided that you could optionally type those literals—for example, to say that the literal represented a date, or a time, or a number, or a month—or, that you could optionally add a language tag to a literal.

And other folk decided that you don't need a URI for everything, but you can use blank-nodes instead as identifiers local to a document.

That brings us to RDF... which at its core is about as complicated as JSON. With the possible exception of blank-nodes... and maybe making the set of datatypes smaller... I don't see any way it can be any simpler! (If you have a suggestion, please comment!)


So that's RDF.

And then some folks thought we'd need an agreed upon term for saying that something was a member of some class, so they created the term rdf:type...
...which was good, because lots of people need something like that, and it's good to have a term to agree on...
...(ex:Signified, rdf:type, foaf:Person), okay, got it...
...so that's fine.

And then other folks thought we'd need an agreed upon class for properties: for the URIs that typically denote the relationship like ex:hates...
...so (ex:hates, rdf:type, rdf:Property)... hmm... okay...
...could make do without it, but fine.

And then some folks wrote up some proposals for RDF syntaxes for writing these triples down in a parseable form... syntaxes like RDF/XML, N-Triples, Turtle, RDFa, etc.
...which was good!
...but then RDF/XML was stuck into the middle of the RDF standard, leading to conflation with RDF, and taking the didactic emphasis away from triples, and putting it into an unintuitive, prolix, unsightly, illegible, difficult to implement syntax...
...and this served to confuse matters...
...which was (very) bad.

And then other folk decided we might need standard vocabulary for talking about lists of things in RDF, and created RDF collections and containers.
...which was good!
...but these were stuck in the middle of standard describing the RDF data model (triples), where they don't need or deserve to be...
...and served to confuse matters...
...which was bad.

And then other folk decided we might need to talk about triples in triples, and created RDF reification.
...which was good!
..but then they also stuck reification into the middle of the core RDF standard...
...and this served to confuse matters...
...which was bad.

And other folk decided we need standard vocabulary for describing schema in triples, and created RDFS, and added a document describing a formal semantics of the vocabulary.
...which was (very) good!
....but again, it contained many obscurities (rdfs:ContainerMembershipProperty???) which were arguably of no use to anyone...
...which might still have been fine, but they also failed to disentangle the important stuff from the academic stuff and the esoteric stuff...
...and some of this was conflated with RDF...
...and served to confuse matters...
...which was bad.

And other folk decided that we need a standard vocabulary for describing ontologies in triples, and created OWL, and added documentation describing a formal semantics of the vocabulary.
...which was good!
...but much of the OWL standard (and discussion around implementation) was based on Description Logics, which is even more obscure and complicated than RDFS...
...(C ⊑ ∃p.D ⊓ ∀q.E... not exactly music to developers ears)...
...and is really niche to certain use-cases...
...and is a nightmare for vanilla implementors...
...and meant that anyone who had learnt RDFS now had to put in even more effort into learning OWL...
...even though both seem to be addressing the same problem...
...and even after all of the effort, one may still not understand it, because in truth, I don't think anybody understands all of OWL...
...and again, this was conflated with RDF—as was the word "ontology"...
...and this served to confuse matters...
...which was bad.

And so on, to varying degrees... (SWRL, SPARQL, RIF, OWL 2, SPARQL 1.1...)

...and so things got complicated...

...but RDF—at its core—is still as simple as it can be (and no simpler).

(...and, in fact, IMO the most useful parts of the stuff stacked on top of RDF are also fairly simple and intuitive. Unfortunately though, it takes a disproportionately long time to come to that conclusion, especially from looking at the standards).


RDF and OWL has always had strong footholds in certain use-cases, like health care and life sciences, etc. But for a long time, RDF was faltering as a Web standard... other than some of the efforts behind FOAF and such.

But now, thanks to Linked Data/Linking Open Data, the simpler parts of RDF are back in vogue, and RDF is re-emerging as being relevant to the Web, and people are publishing more RDF on the Web than ever before. (Interestingly, people are also cherry-picking from the more complicated standards to get stuff done...)

...and still not discarded?

For it to be discarded, you would need one of two things:

  1. Evidence that having a simple, common data model for the Web is not useful.
  2. A better alternative.

I personally don't know of any.

permanent link

answered 03 Feb '11, 20:57

Signified's gravatar image

Signified ♦
accept rate: 37%

edited 05 Feb '11, 19:05

Small nit on "RDF is just triples", AISI the power and simplicity of RDF comes from triples and the use of URIs. Perhaps you see this as one and the same, but on its own URIs simplify (or finesse) a lot of data problems.

(03 Feb '11, 22:00) scotthenninger ♦ scotthenninger's gravatar image

Yes, the full version should indeed be "RDF is just RDF triples" which includes the use of URIs, but I feel silly saying that... sounds a bit tautology. I'm not sure that URIs on their own solve much... URIs are just identifiers. How those identifiers can be arranged to represent information about what they identify is important, and that's what RDF gives you.

(03 Feb '11, 22:35) Signified ♦ Signified's gravatar image

URIs are the important part in the design of RDF Model that differentiate this knowledge representation structure from Semantic Networks (in general). URIs are pushing knowledge representations into an open world, like our world is also one of ;)

(03 Feb '11, 23:55) zazi zazi's gravatar image

...I don't doubt it. :)

(04 Feb '11, 00:45) Signified ♦ Signified's gravatar image

It's not a better alternative. It's just another possibility. http://www.semanticoverflow.com/questions/2960/what-is-simpler-than-triples

(04 Feb '11, 08:31) Alexander Alexander's gravatar image

@Signified: The most important thing about RDF is the use of URIs as identifiers. Triples are overrated. Thanks for your detailed answer, but you forgot language tags, datatypes and XMLLiteral, which all spoiled the simple triple model from the beginning.

(04 Feb '11, 09:09) Jakob Jakob's gravatar image

(Signified, h1) (h1, Parsnips) (Foo, h2) (h2, Bar) (h1, hates) (h2, hates)

(04 Feb '11, 09:17) Jakob Jakob's gravatar image

@Jakob I don't think you can argue that pairs is simpler when you just had to use 6 pairs to represent 3 triples

(04 Feb '11, 09:36) Rob Vesse ♦ Rob%20Vesse's gravatar image

Thumbs up, a very good and especially very readable write up on the topic!

(04 Feb '11, 13:24) Bastian Span... Bastian%20Spanneberg's gravatar image

@Jakob, with respect to language tags, datatypes, etc., yep, I cheated slightly by omitting them (will edit answer), and they are a core part of RDF, but I don't think they're really all that complicated... (although I grant that they may not be very well-explained)... I also think that they're useful (although, again rdf:XMLiteral should not be in the core RDF standard. With respect to your six pairs (& along with Rob's point) it's not clear, e.g., if Signified Parsnips hates, or if Signified hates Parsnips... to interpret those pairs, you're making an assumption a computer can't.

(04 Feb '11, 22:51) Signified ♦ Signified's gravatar image

@Alexander... I like your question, but I've still yet to see a simpler alternative than triples. @Bastian... cheers. :)

(04 Feb '11, 22:54) Signified ♦ Signified's gravatar image

+1, Loved the timeline.

(15 Apr '11, 01:50) Herman A. Junge Herman%20A.%20Junge's gravatar image
showing 5 of 12 show 7 more comments

Whether it's complicated is a matter of opinion. There are simpler technologies, but there are also some which are far more complex.

However, the fact that it's "old" and "still not discarded" suggests that it is indeed popular, at least in some circles.

permanent link

answered 03 Feb '11, 08:10

tobyink's gravatar image

tobyink ♦
accept rate: 26%

First, as the others already mentioned, I think there needs to be a clarification about what is really meant when you say RDF.

There is the very pure conceptual model of RDF, which is at its heart basically about direct graphs. I don't see this as complicated and unpopular as - especially with the popularity of the Linked Data movement - graph oriented data and also special solutions for these like Neo4J become more and more popular. There are also more and more public linked data sets, which are published in RDF, so I really cannot agree in saying that RDF is unpopular in the moment, in contrast I think it currently more popular than it ever was.

Surely, also the model itself contains stuff that may be done a lot better or even should not be there, which was already discussed here:

I have hopes, that the newly formed RDF working group can get rid of at least some of them, which might make RDF more usable and preferable to people/programmers that are not yet using it. Talking about RDF being a hindrance here, I really think it is a good thing to have standards, so I see the step of the W3C to standardize the use of named graphs/quads and a Turtle as a non-RDF/XML format (which is indeed ugly) as a positive development towards making more usable and interoperable.

Then, if you look a bit further and also consider RDFS or even OWL a part of RDF (as they build upon it), I can see these techniques slowly but steadily coming out of there academical niche and being adapted for "real world" commercial applications. A lot of that might not take place in the public web right now, but e.g. in businesses in the publisher or medical sector a lot of this stuff is used. I think that is another good step to push these techniques into also being used more in the public web.

Finally, I really think a lot of RDF and the Semantic Web is already in use out there. As there have been burdened such high expectances on RDF and the Semantic Web years ago and the terms are burned in a way, you might not hear too much about usages because it is not good for marketing anymore, but IMO the usage slowly and steadily increases, sort of establishing the semantic web through the backdoor.

permanent link

answered 03 Feb '11, 11:43

Bastian%20Spanneberg's gravatar image

Bastian Span...
accept rate: 21%

Real Answer addressing some of Alexanders points

What about Drupal 7 - a massively popular CMS which embeds RDF automatically as RDFa into blogs etc?

Most people don't write their blog website by hand (they use a CMS/blogging framework) and neither will they write a Semantic Web driven website by hand they'll use frameworks and software which integrates & levarages the technology behind the scenes. At the moment these systems are only just starting to hit the mainstream (Drupal 7 came out about a month/two ago)

You point to Web 2.0 as an example of a successful evolution of the web and state that the Semantic Web has failed since RDF has been around for years but you fail to consider that one of the core technologies behind Web 2.0 (AJAX) was around for about 5/6 years prior to the Web 2.0 explosion (and not even called AJAX until 2005). New technologies take time to be accepted and come into general use.

Yes RDF itself has been around a long time but a lot of the related standards and technologies that make up the Semantic Web stack (SPARQL, OWL, Provenance, Trust, WebID etc) are much more recent.

If you get rid of RDF then you can't have a Semantic Web because ultimately it is all predicated on having a universal machine readable syntax for exchanging data. You NEED some form of data model - if not RDF then what?

And why do developers need to change their thinking and data storage? Many newer applications and websites are already built using NoSQL solutions often against schema-less document databases. If you are already using a NoSQL schema-less or loosely schemad model for your data RDF is a natural migration of this.

Original Flippant Answer

Do you mean RDF as the data model or RDF as in RDF/XML?

IMO most of the problems with RDF are due to the association with RDF/XML as the only true official syntax when there are much better and clearer syntaxes available.

Plus the fact that newbies often seem to assume that RDF/XML is RDF and not just a concrete syntax for serializing RDF

permanent link

answered 03 Feb '11, 09:00

Rob%20Vesse's gravatar image

Rob Vesse ♦
accept rate: 29%

edited 03 Feb '11, 11:19

Silly answer, prepare to downvote it:

Why is RDF still not discarded?

Because it is new, simple and popular. ;)

permanent link

answered 10 Feb '11, 10:44

Antoine%20Zimmermann's gravatar image

Antoine Zimm... ♦
accept rate: 34%

I can only say: be patient and remember the history of the World Wide Web:

When the WWW proposal came up in the late 1980s/early 1990s, there wasn't a big overall acceptance and maybe more opinions against it around. However, the initiators of this proposal were patient and tried hard to bring their specific proposal of an even older vision (cf. Vannevar Bush's "As We May Think" (1945), J.C.R. Licklider's "Man-Computer Symbiosis" (1960)). The unfortune of the earlier visionaries was that they really hadn't the hardware technology to put their ideas into practice. Maybe the fortune of the creators of the WWW proposal was also a bit that they had somehow the hardware technology to put at least parts of their idea into practice.
Let's say it approximately took till the end of the 1990s for the hypertext Web to get really into mainstream worldwide. The next important phase of the WWW, which one may summarize as an optimization and personalization of the hypertext Web, is nicely described in Rob Vesse's answer here. This phase of WWW technology improvement took again several years to get mainstream worldwide.
So now, please also remember that the Web already initially was designed to be a hybrid universal shared information space, which includes both kinds of communication participants - humans and machines.
For that matter, the vision of making the content of the Web also somehow processable for machines is now over 20 years old. However, we incrementally tried and try and will try to put also this idea into practice. This also includes from my point of view that we have to transform the distributed hypermedia system for information management into a distributed hypermedia system for knowledge management, which includes technologies for knowledge representation.The huge advantage is really that we are even today at a point of this roadmap, where no project, which tried to address more or less the same goal (knowledge representation itself is also an old hat, see here), was ever before.
This doesn't mean, that we should now rest on the achieved state, because we know and believe that we could reach a further state and push again the evolution of the WWW into another dimension. I think, that again the rapid developments of powerful hardware will help us to achieve the next state of the evolution of the WWW.
All in all, I think that we are still good in time regarding the adoption of RDF and Semantic Web technology in general. Durability is the important aspect here. The Web in general, where the Semantic Web is a part of its evolution, fulfills this requirement. Especially the realization of the Web as a distributed hypermedia system for knowledge management is a long-term goal.

permanent link

answered 03 Feb '11, 12:55

zazi's gravatar image

accept rate: 13%

The following statement was articulated by Tim Berners-Lee in 2004: "Hopefully, we may get to the point in 10 or 15 years where all information is on the Semantic Web." (see http://www.businessweek.com/bwdaily/dnflash/oct2004/nf20041022_6972_db083.htm). So again: we are still good in time. We not even reached the lower amount of years the Semantic Web adoption should take as predicted.

(23 Apr '11, 04:16) zazi zazi's gravatar image

Sometimes it takes a long time for a technology to be accepted -- that's the way that it is. I've got a paperback book by George Lakoff that was written around 1970 about "Semantics" that was centered around triples because the triple really is the simplest universal data representation.

Back in the 1980's, the Japanese government funded a "fifth generation computer" project (FGCP) hat was to develop a large scale supercomputer designed for A.I., database, and parallel search (as in searching for a solution.) The stack went from the chips to operating systems and languages. There wasn't any commercial market for it largely because Intel and Motorola had pulled forward so rapidly in single stream-of-instructions performance.

People think of the FGCP project as a failure, but Deep Blue defeated Gary Kasparov with essentially the same architecture. Google's search is driven by a giant parallel database and we all are doing big jobs with Map/Reduce, Hadoop and similar stuff. Cray's recently come out with a parallel supercomputer that's great for database and A.I. work. The FGCP wasn't a bad idea, it was just a decade or two ahead of the market, and that's where RDF was in the beginning.

permanent link

answered 19 Sep '11, 13:43

database_animal's gravatar image

database_animal ♦
accept rate: 15%

RDF was not marketed as hard as XML. Most data-oriented businesses have jumped the XML bandwagon. The cost of this switch was so prohibitive that any further paradigm shift will be postponed as long as real added-value cannot be correctly measured.

Note: This point also affects browsers companies (Google, Mozilla Fondation, Opera, M$).

In my opinion the lack of a vendor-supported J2EE stack is also a big issue for the RDF acceptance.

permanent link

answered 03 Feb '11, 11:18

lolive%201's gravatar image

lolive 1
accept rate: 0%

It is part and parcel of innovation. RDMS were considered great at some point and all of a sudden everyone adopted RDBMS. Then the web came around and the need for data driven services and applications essentially meant that velocity was tantamount to construction. Application developers started to get frustrasted with RDBMS and hence ORM was invented. Now people are starting to come round and look at the root of their issues and things like NoSQL are starting to buzz around. Unfortunately most people are starting with the worst solutions (non standardised) and ignoring RDF stores. Hopefully they'll put 2 and 2 together and realise that SPARQL and semantic web gives them the standardisation (hence supporting federation, homegeneity and purpose) that elements of SQL introduced, along with the fluidity and agility of RDF and start actually producing Semantic Web solutions.

'It frustrates when forums of PHP developers show no interest in programming of semantic applications. Who will do the work then. Not users, not developers. Are there other agents?'

Know the feeling - I sit next to a few.

permanent link

answered 03 Feb '11, 18:35

William%20Greenly's gravatar image

William Greenly
accept rate: 13%

"non standardised" shouldn't infer "worst solution". Non standardised generally infer "fit for purpose", or? "Standard" often isn't a quite powerful argument. Getting things work, solving problems, fulfilling need and achieve user satisfaction are better ones (from my POV). I guess, when we are able to provide scalable Semantic Web components (i.e. SPARQL engines, Triple Stores, reasoning engines) with an uniform interface, then developer might use them.

(04 Feb '11, 00:09) zazi zazi's gravatar image

"I guess, when we are able to provide scalable Semantic Web components (i.e. SPARQL engines, Triple Stores, reasoning engines)" Are you trying to tell me that BigOWLIM or Virtuoso aren't scalable or performant compared to RDBMS? "with an uniform interface" SPARQL and SPARQL Protocol are the uniform interface. With a standardised solution I can start using the technology without caring about the underlying mechanisms. I'd like to see you try federating a Mongo DB with a Neo4J DB with a Couch DB. all with different API's and different Data Canonisations.

(04 Feb '11, 10:04) William Greenly William%20Greenly's gravatar image

"Are you trying to tell me that BigOWLIM or Virtuoso aren't scalable or performant compared to RDBMS?" -a RDBMS wasn't the issue here.A scalibility comparision against other NoSQL solution would maybe more appropriated here, or?""with an uniform interface" SPARQL and SPARQL Protocol are the uniform interface." - I thought,I included this in my answer,or?Are MashUps that make use of different service APIs are an example for "I'd like to see you try federating a Mongo DB with a Neo4J DB with a Couch DB."?Do I need to federate the databases or some content of the databases?I guess the latter one.

(04 Feb '11, 13:58) zazi zazi's gravatar image

BigOWLIM and Possibly BigData are definite contenders with other NoSQL variants. You can't really compare perfomance because features vary when you break the standard. Therefore the only non functional you can fairly compare would be scalability, a quality that many triplestores aspire. Why use different API's when you can use one that has all the expressivity you are ever going to need? Less development time and less maintenance time has got be a good thing and as you have already alluded to with rdf your content is already homegenised, so less time aligning data models.

(04 Feb '11, 16:31) William Greenly William%20Greenly's gravatar image

"Why use different API's when you can use one that has all the expressivity you are ever going to need?" - ask not me, ask the developers that provide these often called "RESTful" APIs (which are in reality often only HTTP-based APIs) and the developers that make use of them. With "performance" I'd like to address "user-percieved performance" (the ultimative metric, or?) in sense of latency, which should be minimum as possible. Show me one triple store that backends e.g., a very popular social network site, or something with a similar data amount. I don't know one yet.

(04 Feb '11, 20:08) zazi zazi's gravatar image

SPARQL for discovering data and REST (of which HTTP is one the greatest proponents) for operations on data. So it seems like most developers are half way there. HTTP didn't have very many users to begin with and was not considered viable. But as people became more aware of the benefits, so greater adoption occurred. I have absolutely no doubt that any of the aforementioned triplestores could quite easily manage the load and activity associated with the types of sites you describe. No problem.

(04 Feb '11, 22:40) William Greenly William%20Greenly's gravatar image
showing 5 of 6 show 1 more comments
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 03 Feb '11, 07:34

question was seen: 13,829 times

last updated: 23 Sep '11, 05:41