[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Semantics permathread (was Re: Categories for atom?)




> Permathread, here we come...
>
> XML is hierarchical.  If I put a <dc:subject> element within an <entry>
> element, I'm saying "this is the category of this entry".  If I put
> multiple <dc:subject> elements within an <entry>, I'm saying "these are
> the categories of this entry".

If *you* say so. XML says nothing of the sort.
You can explicitly state that this is the way you want material from other
namespaces to be handled. You'll also need to make clear what parts of the
syntax represent the entities and which parts represent the relationships
between them (here entry is an entity, dc:subject is a relationship and what
the string is in the element will be the value entity). Which is what RDF
does, in a formally worked out way. Those who forget RDF are destined to
reinvent it.

> This has proven to be enough semantics for pretty much every widely
> adopted real-world application, um, ever.  Including most FOAF files
> I've seen in the wild, which contain such simple semantics that they
> could just as easily be represented as key-value pairs in an INI file.

CSV text provided everything needed once upon a time, and at that point the
same argument could have been used against XML. The benefit of RDF is that
information expressed using vocabularies like FOAF can be joined together,
so personX knows personY who has a weblog (FOAF) with a feed containing an
item (RSS) referring to music CD Z (MusicBrainz).

> Heading off the inevitable "oh but it's really all about the data model
> and there's this edge case that can only be expressed if the data model
> is RDF and you might want to do that..."  Well, we don't.  We talked
> about it on the wiki ages ago, and the overwhelming consensus (even from
> die-hard RDF advocates like Norman Walsh) was that RDF is overkill for
> this application.

If the data model and even the syntax (with trivial adjustment) fits with
RDF, there needs to be a good reason not to use it. You haven't actually
offered any.

Cheers,
Danny.