For the semantic web to catch on, it needs to start by being, uhm... semantic!
This, for example, is not remotely semantic:
<rdf:RDF xmlns:rdf="
"/>
</foaf:Person>
</rdf:RDF>
When I look at things like FOAF I fear for the future of the web. Why
would anyone want to inject industrial effluent like this in to a web
page? It is the complete opposite of semantic.
Why would I use a "foaf" tag to define a person and their name and their "mbox"? When was the last time you sat in a pub and
referred to "your friend" as "your foaf"? Example: "Hey, this is my foaf, his foaf:name is Joe". I think not.
The most remarkable example of all that's wrong with the "lets put
de-humanised XML cruft in to a web page and tell everyone it's
semantic" movement is using the term "mbox" to represent "email". In
which universe do people refer to email as an "mbox"? Example: "I mboxed you an invite"... Uhm, let me think about that for a nanosecond...
No!
If you want the semantic web idea to succeed, ditch all this FOAF-like cruft and use microformats.
Microformats not only provide more flexibility in which *semantic*
elements are used to convey information semantically, both now and in
the future, they also make it nice and easy to apply style sheets,
process with javascript (eg. using something like jQuery) and, heaven
forbid, they are actually semantic.
Take this comparison for example - what is the semantic way to convey the following text?
>> Hi, my name is Guy.
Do you A) choose FOAF:
>> <p>Hi, my name is <rdf:RDF xmlns:rdf="
">
<foaf:Person>
<foaf:name>Guy</foaf:name>
</foaf:Person>
</rdf:RDF></p>
Or B) use something that's actually semantic like hCard microformat:
>> <p class="vcard">Hi, my name is <span class="fn">Guy</span></p>
It's not a trick question. I admit it's a really difficult to see
which one of those is the more semantic solution, so I'll put you out
of your misery and give you a hint - it's not option A!