Children of God: listen!
Many of you do not know what RDF is. God has given me this simple explanation: RDF is a way to represent metadata. "What is metadata?" you ask. Metadata is the description of anything. If I tell you the book of "Genesis" was written by "Moses", that's metadata. If I tell you that God flooded the Earth, that's metadata. With metadata, we can find out things, about things. For instance, we could ask "What did God flood?". With the above metadata we know that "The Earth" is something that was flooded by God. We could also ask, "What did Moses write?". With the metadata above we know that "Genesis" was written by Moses. I know what you're thinking: "But I thought God wrote the whole bible?". Fools! No. Don't you think if God wrote the bible he would have done a better job of making it easier to understand? But I digress.
Metadata is important, because without it, would would have to look at everything in order to find anything. To steal an example given by Tim Bray in his article titled "What is RDF?, without the metadata that is present in your phonebook, the only way of finding the telephone number of something would be to call every number in your area-code until you found it. That would be absurd. So we have metadata. And the web needs metadata too.
The web used to be unsearchable. If you didn't know exactly where something was, you couldn't find it. God saw this, and he saw that it wasn't good. So he invented the search engine. The search engine reads everything and remembers bits and pieces about it all, so that it can remember where to find things for you. But a lot of times, a search engine is just guessing. If a search engine reads a page and finds the word "Martin" on it, it may give you that as a result for your search for a "Martin" guitar. However, perhaps that particular page was actually only referencing a person named "Martin" and not a musical instrument at all. With metadata, the precise properties (like the topic) of a resource (like a webpage) can be noted, absorbed, and make searching a lot easier. So God decided that metadata should be employed in the web. Many of you refer to a web full of metadata as the Semantic Web. You can call it whatever you'd like, as long as you realize that this is what God wants. And if God doesn't get what he wants, he'll kill us all. So be good.
There are those among you that would preach with negativity of RDF. Joe Gregorio is one such individual. He claims that the same things that are possible in a world of RDF are possible in a world of XML. "It can built today with current tools and with no need for RDF, 3-tuples or ontologies." While his statement is correct, it leaves us standing without a solution. His statement is the same as saying, "We can drive cars in a world without gasoline." Yes, we can, but what would we use instead? Joe suggests using XML, which is just silly. The use of RDF that is most often discussed and is most likely the concept Joe is referring to is the use of RDF serialized as XML. In fact, if there are any other widespread methods of using RDF other than XML, they have not been made aware to me, and therefore are most likely figments of your imagination introduced by Satan himself (please see me after the Sermon for cleansing). XML by itself is useless. XML without a defined language is the workshop of the devil. It leads to anarchy, misunderstanding, and no additional usability. It makes God cry. And when God cries it floods your house and your crop of corn. You want your corn crop, don't you? Suggesting that XML be used instead of RDF is silly.
Something is needed to represent metadata on the web. RDF is a way to do that. And XML is an easy way to transport it. If you don't like RDF, that's fine. Come up with something else. And when you do, I bet it resembles RDF. And if it does, God will laugh at you and he wont let you in heaven. And if you don't like RDF and can't think of any other way to do it, God will laugh at you even harder, still not let you in to heaven, and he'll cause a sharp stick to jab you in the eye. Don't you want to go to heaven? Wouldn't you rather not have a sharp stick in your eye?
RDF/XML does have it's problems. This doesn't mean that RDF/XML shouldn't be used. It simply means that somethings need to be created to assist it, or it needs to be modified to accommodate a few new features.
Some more explanation is in order. RDF is the idea that any one thing (known as a subject) can be connected in a certain way (known as a predicate) to any other thing (known as an object). This means I can say "Reverend Jim wrote this article" using RDF. "Reverend Jim" is our subject, "wrote" is our predicate, and "this article" is our object. RDF allows anyone and everyone to create predicates. This means you can, I can, God can, and Satan can. And, just in case two people create two predicates with the same name, RDF gives you a way to differentiate between them.
The only way that RDF really works, however, is if RDF writers continue to use pre-established predicates. Let's say that I want to use the predicate "wrote" from our example above. I could invent my own predicate "wrote", use my predicate, and no one would know what I was talking about (except God, because he knows everything). Let's say that the predicate "wrote" didn't exist before I used it. Then, the only thing I can do is create my own. And that's fine. That's how it's supposed to be. But now let's say you want to write an article and use RDF to state that you wrote it. You could say "I wrote this article" and reference my version of the predicate "wrote". That would be good. Eventually, my predicate "wrote" might become widespread, and then everyone would know what it means. But what if you don't know about mine, or you choose to make your own anyway? Let's say you would prefer to say "This article was created by me" ("this article" is our subject, "created" is our predicate, "me" is our object). Now we have two different ways to say the same thing. And, if there is exists a searchable database of metadata I would have to ask it two questions ("which documents did Reverend Jim write" and "which documents were created by Reverend Jim") in order to get a complete answer. This is not good. This makes God cry. In order for RDF to really work, there needs to be a method with which predicates can be searched for, registered, and defined.
Another problem with RDF that needs to be addressed is that any one resource can be referenced multiple ways. If I want to find all the attributes of the person named "Reverend Jim" in a searchable database of metadata, I could do a search for things named "Reverend Jim". I could also do a search for the resource "http://www.revjim.net/">. I could also do a search for a mailbox of "revjim@revjim.net". Which of these will get you the Reverend Jim you are looking for? One of them? All of them? None of them? The method in which resources are references needs to be more clearly defined.
Regardless of these problems, and regardless of whether RDF every blossoms into the Semantic Web we are all looking for, it is certainly a step in the right direction. Those who ask for XML to be used in place of RDF are merely asking us all to take one step backward.
If you don't like RDF, come up with something better. RDF, as it is most commonly seen in the wild, is serialized in XML. So suggesting XML as something better than RDF is just plain stupid.
Now go! Use RDF. Invent something better. Be fruitful. Donate to your church. Don't make God cry and ruin your crop.











