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

Re: meta-issue: arbitrary relationships required?

Danny Ayers wrote:

The displays are based on a interpretation of the data based on the
semantics encoded in RDF/XML, specifically how a relationship defined
in an external namespace is associated between a resource in the RSS
feed and other data/resources. Atom has no such mechanism.

Oh, ok. You want a place to put properties. That makes sense. Here is my proposal:

1.) Properties of atom:entry are child elements of atom:entry
2.) Properties of atom:feed go in atom:head
3.) There is no other place to put extension elements in Atom 1.0

Note that these extensions can be arbitrarily complex (you can even use RDF :).

Basically, this means none of the Atom-defined "Common Atom Constructs" are extensible, although atom:content has a "blob" property.

Off-the-top-of-my-head methods for dealing with existing "Common Atom Constructs":

1.) Content Construct
    You have a "blob". Use it if you have "special" content. A prop
    on atom:entry would probably do otherwise.

2.) Person Construct
    "But I want to put FOAF in!" No, you want to relate FOAF
    information to this entry AND a person. If you have general
    person information, it would be bad to boxcar lots of personal info
    in an entry. If it relates to the entry, it can be a prop of entry.
    If you need to relate extension data to the Person Construct, that
    construct provides a handy URI. Refer to it.

3.) Date Construct
    Don't extend this. Add a new kind of date.

4.) Identity Constructs
    Don't extend this.

5.) Text Constructs (coming soon to a spec near you!)
    Don't extend this.

6.) Link Constructs
    "But I want an extra attribute!" No, you want to enclose the Link
    Construct in an extension element.

There seems to be a tendency around these parts to take a very narrow
view of what a tool that uses syndication formats should be like...

No, there is a very narrow view of the type of information that is useful in this format, especially in core. General-purpose assertions are not demonstrably useful in this space, but taking steps to make sure they work seems reasonable.

Robert Sayre