XML je diametrálně odlišné od RDF. XML je pro vyjadřování dat (ne informací) ve stromové struktuře. RDF je pro vyjadřování informací (data + jejich význam) ve struktuře orientovaného grafu.
Vemte si XML kód:
<351 name="Jan" birthday="11-18" />
Z tohoto program sám nepozná, co to znamená. Každou reprezentaci dat musí programátor aplikaci „vysvětlovat“, i když třeba se používá na vyjádření úplně stejné věci, kterou už své aplikaci „vysvětlil“, ale v jiném formátu.
Na druhou stranu v RDF:
<http://example.com/UserDB/351> <http://xmlns.com/foaf/0.1/name> "Jan"
<http://example.com/UserDB/351> <http://xmlns.com/foaf/0.1/birthday> "11-18"
Tady využíváme termíny definované ontologií FOAF, takže známe význam těchto dat. Programátor tak potřebuje jen aby jeho aplikace rozuměla FOAF. Pokud se někdo rozhodne nepoužívat FOAF, k vyjádření takových to jeho informací, měl by používat ontologii která je namapovaná na FOAF, aby program mohl dedukovat, že se bavíme o stejné věci, ale stejně by měl počítat s tím, že podstatná část aplikací jeho datům nebude rozumět, zvlášť dnes, kdy takováto dedukce není ještě moc rozšířená. Je to něco podobného jako že byste měl očekávat, že pokud místo slova „jméno“ začnete používat třeba „degfout“, tak vám mnoho lidí rozumět nebude – je třeba mít dobrý důvod k vytváření nových „slov“.
Mimo to, RDF není jazyk, ale model, který má mnoho serializací (jazyků), přičemž jeden byl vybrán jako výchozí na výměnu informací mezi systémy, což je RDF/XML (ne moc dobrá volba, hlavně protože je to blbě čitelné).