Re: I guess it's a stupid questions...

Michael Henson wrote:
> On Sat, 2004-11-13 at 02:42 +0800, Petko Petkov wrote:
> 
>>I guess it’s a stupid question, but I still do not understand why RDF is better than just XML.
>>I understand that XML is just an approach of describe other markup languages and I believe that
>>RDFS goes on the top of XML. That’s great, but, we are making our lives harder again and again.
>>Simple XML tags are much powerful than RDF statements and the triplets can be represented in much
>>simpler way using namespaces. 
>>
>>I have read somewhere that XML and XML Schemas are not good because XSD implies specific rules on
>>the document structure. I find this explanation rather stupid than complete. XSD have the capabilities
>>to include into a particular element different elements that may come from different namespace for example. 
>>I examined Firefox structure to see real RDF examples. Although, Firefox is just the best browser in the
>>world, RDFS can be replaced by XML.
>>
>>Can somebody explain to me?
>>
>>Thanks
>>
> 
> 
> The following article is a decent RDF is not XML intro:
> http://www.betaversion.org/~stefano/linotype/news/57/

and in really short terms:

  the XML model has implicit relationships between items, the RDF model 
makes them explicit.

So, they are equivalent in term of semantic interoperability of 
concepts, but they are not in terms of relationships (you need a more 
constrained XML model, which is what RDF/XML gives you).

If you don't care about semantic interoperability of relationships, keep 
using XML and be happy. There is nothing wrong in that, but the rest of 
the world won't be able to understand your data, even if properly 
namespaced because the "meaning" of the nesting of the tags will have to 
be 'guessed' by the XML reader.

But if you care about other people using your data without having to 
guess their internal relationships, use RDF, or make those relationships 
explicit by XSLT transforming your XML into RDF (here, the XSLT will 
contain the information that is missing in the XML model).

For more info, you might also want to read Part II of my guide:

http://www.betaversion.org/~stefano/linotype/news/78/

Oh, and it's not a stupid question at all. Actually is a really really 
good one and the fact that XML people don't get why RDF is needed is 
because the implicitness of relationships is not something that is 
bothering people in the XML world since the missing logic is normally 
hardcoded in the application that create and digest a particular XML schema.

Coming from that camp, I can tell you that once you start publishing 
data without knowing how others are going to use it, well, you do find 
XML pretty limiting.

Take this fragment

  <1 xmlns="urn:blah:" rdf:about="urn:blah:0">
    <2>blah</2>
  </1>

let's now interpret it as XML. What is the relationship between 
urn:blah:1 and urn:blah:2? well, "isContainedIn" is the only 
relationship that we can infer, but what did the schema author wanted to 
imply with this nesting? behavior? property? denomination?

Who knows.

[if you think this is never the case, imagine to receive a SOAP envelope 
with a properly namespaced chinese payload and imagine writing the code 
that handles that!]

Now interpret the above as RDF/XML, it says:

  - there is a resource "urn:blah:0"
  - this resource has type "urn:blah:1"
  - this resource has a relationship urn:blah:2 with a literal value of 
"blah"

same syntax, different models. With RDF, the readers of your data can 
guess less and know more.

Is this enough to solve the semantic interoperability problem? not at 
all, but it's a step forward.

In short, if you can't send logic along with your data (a big security 
threat these days!), you have to encode it somehow.

RDF helps.

-- 
Stefano.

Received on Friday, 12 November 2004 20:12:09 UTC