Person
type: Class
comment: see section 3.2

Content
type: Class
comment: see section 5.10

Link
type: Class
subclass of: Restriction
  cardinality: 1
  on property: rel
subclass of: Thing
subclass of: Restriction
  cardinality: 1
  on property: href

rel
type: DatatypeProperty
domain: Link
comment: see 3.5.1
type: FunctionalProperty
range: DataRange
  one of: alternate
  one of: related

href
type: DatatypeProperty
range: anyURI
type: FunctionalProperty
domain: Class
  union of: Link
  union of: Service
comment: see section 3.5.3 for link href and section 3.4.1 for Service href

feed
type: Class
comment: see section 4. of Atom Spec [[note: it would be more in sync with convention of class names for feed to be capitalised to "Feed"]]
subclass of: Restriction
  on property: version
  cardinality: 1
subclass of: Restriction
  cardinality: 1
  on property: head
subclass of: Thing

version
type: DatatypeProperty
domain: Class
  union of: feed
  union of: Generator
comment: see section 4.1for feed and section 4.2.9 for Generator
range: string

head
type: ObjectProperty
domain: feed
type: FunctionalProperty
range: Head
comment: see section 4

Head
type: Class
subclass of: Restriction
  max cardinality: 1
  on property: post
subclass of: Restriction
  min cardinality: 1
  on property: link
subclass of: Restriction
  max cardinality: 1
  on property: introspection
subclass of: Restriction
  cardinality: 1
  on property: title2
subclass of: Thing
comment: see section 4.2
subclass of: Restriction
  on property: id
  cardinality: 1
subclass of: Restriction
  max cardinality: 1
  on property: tagline

post
type: ObjectProperty
range: Service
domain: Head
type: FunctionalProperty
comment: see section 4.2.4

link
type: ObjectProperty
domain: Class
  union of: Head
  union of: Entry
comment: see section 4.2.2
range: Link

introspection
type: FunctionalProperty
domain: Head
type: ObjectProperty
comment: see section 4.2.3
range: Service

title2
type: DatatypeProperty
domain: Class
  union of: Head
  union of: Entry
type: FunctionalProperty
comment: see section 4.2.1 [[ This should point to a new TEXT literal type, which I can't create easily in Protégé, but which might be possible in RDF ]] [[ There is a clash with title from the link construct which can only be of type string ]]
range: string

id
type: ObjectProperty
domain: Class
  union of: Head
  union of: Entry
comment: see section 4.2.8 for Head and section 5.6 for Entry
type: InverseFunctionalProperty

tagline
type: FunctionalProperty
range: string
type: DatatypeProperty
domain: Head
comment: see section 4.2.7

Entry
type: Class
subclass of: Restriction
  max cardinality: 1
  on property: published
subclass of: Restriction
  on property: updated
  cardinality: 1
subclass of: Thing
subclass of: Restriction
  cardinality: 1
  on property: author
subclass of: Restriction
  max cardinality: 1
  on property: summary
subclass of: Restriction
  on property: content
  max cardinality: 1
comment: see section 5 of the Atom spec

published
type: FunctionalProperty
range: dateTime
comment: see section 5.8
domain: Entry
type: DatatypeProperty

updated
type: DatatypeProperty
comment: see section 4.2.12 for Head and section 5.7 for Entry
domain: Class
  union of: Head
  union of: Entry
type: FunctionalProperty
range: dateTime

author
type: ObjectProperty
comment: see section 4.2.5 for Head and section 5.4 for Entry
range: Person
type: FunctionalProperty
domain: Class
  union of: Head
  union of: Entry

summary
type: DatatypeProperty
comment: see section 5.9 [[This is a TEXT construct, need to find the literal that goes with this ]]
range: string
domain: Entry

content
type: ObjectProperty
comment: see section 5.10
domain: Entry
type: FunctionalProperty
range: Content

Service
type: Class
comment: See section 3.4

Generator
type: Class
comment: see section 4.2.9

contributor
type: ObjectProperty
range: Person
comment: see section 4.2.6 for Head ans section 5.5 for Element
domain: Class
  union of: Head
  union of: Entry

generator
type: ObjectProperty
range: Generator
comment: see section 4.2.9

edit
type: ObjectProperty
comment: see section 5.3
domain: Entry
type: FunctionalProperty
range: Service

info
type: DatatypeProperty
range: string
comment: see section 4.2.11 [[ the range of this property should be a TEXT thing which sounds like a union of 3 different types of literals ]]
domain: Head

agent
type: DatatypeProperty
comment: see section 4.2.9 [[ this represents the software agent string I can't find a way to get this to work out quite right. The content of this element is meant to be the content of the agent ]]
range: string
domain: Generator

copyright
type: DatatypeProperty
comment: see section 4.2.10
range: string
domain: Class
  union of: Head
  union of: Entry

origin
type: DatatypeProperty
domain: Entry
range: anyURI
comment: see section 5.12

src
type: DatatypeProperty
comment: see section 5.10.2 [[should this be inverse functional? don't know yet ]]
range: anyURI
domain: Content
type: InverseFunctionalProperty

name
type: FunctionalProperty
domain: Person
comment: see section 3.2.1 [[it is not clear why one should reduce the number of names a person has to one]]
range: string
type: DatatypeProperty

title
type: FunctionalProperty
comment: see section 3.5.5
domain: Link
range: string
type: DatatypeProperty

email
type: FunctionalProperty
comment: see section 3.2.3 [[this definitively would be better associated with a mailto:.. uri and be inverse functional. IE one should conclude that if two atom person constructs are related to the same mailto uri, thery are the same person]] [[ it also seems a pitty to restrict the number of emails a person can have to one]]
domain: Person
type: DatatypeProperty
range: string

type
type: FunctionalProperty
range: string
comment: see 3.5.2 for Link and 5.10.1 for Content. [[I am not absolutely sure these are the same properties, though they are very similar ]]
type: DatatypeProperty
domain: Class
  union of: Link
  union of: Content

hreflang
type: FunctionalProperty
domain: Link
range: language
type: DatatypeProperty
comment: see section 3.5.4

uri
type: FunctionalProperty
range: anyURI
domain: Class
  union of: Person
  union of: Generator
comment: see section 3.2.2 for Person and section 4.2.9 for Generator [[ note that it may be much more interesting to associate an inverse funtional uri with a person. This means that the person is identified exactly by that uri. One can then use the URI to find other information on the web corresponding to that uri. But then perhaps it would be better if uri were defined a little more presicely]]
type: DatatypeProperty