Poem
wstring Rich Text
0:M sundries
0:M stanzas
0:M MP3
wordno Word Count
pageno Start Page Number
pageno Page Count
1:M Date

Sundry
M:1 Poem
enum Type (title, subtitle, quote, poet, footnote, comment, date, attribution, header, footer)
wstring Text
1:1 Location
bool Include in analysis?

Stanza
M:1 Poem
0:O lines
0:M Margins
1:1 Location

Margin
enum (left, top, right, bottom, etc.)
ushort Number

MP3
M:1 Poem
wstring File name

Line
M:1 Stanza
0:O Elements
0:M Margins
1:1 Location
0:M Line Analysis
enum Layout (left, right, centre, justified)

Line Analysis
M:1 Line
enum Type (syllable count, metre, line repetition)
1:1 Line Analysis Detail (one of Syllable Count Analysis, Metre Analysis or Line Repetition Analysis)
1:1 Location
bool user added

Syllable Count Analysis
1:1 Line Analysis
lineno Count

Metre Analysis
1:1 Line Analysis
M:1 Metre

Line Repetition Analysis
1:1 Line Analysis
1:M Associated Line Repetitions
lineno Start Line
lineno End Line
bool Chorus?

Associated Line Repetitions
1:M Line Repetition Analysis

Element
M:1 Line
1:1 either Punctuation Element, Inflection Element, or Word Element
M:1 Margins
1:1 Location
wstring text Font

Punctuation Element
1:1 Element
enum Type (Dickenson Dash, omitted word, ceasura, other)
enum Intensity
M:1 Rhythm Equivalent

Word Element
1:1 Element
0:1 Dictionary Entry (N/A for unrecognised word)
0:M Element Analysis

Element Analysis
M:1 Word Element
enum Type (rhyme, pararhyme, alliteration, liaison, assonance, consonance, rhythm, missed-rhythm, euphemism, cliché, phrase, specialism, repetition, synonym, antonym, homonym, hyponym, hypernym, meronymy, holonymy)
1:1 Element Analysis Detail (Pralcram Analysis, ECPS Analysis, Repetition Analysis, SAMH4 Analysis)
1:1 Location
bool user added

Pralcram Analysis
M:1 Start Element
M:1 End Element
byte Start Letter
byte End Letter
1:1 Analysis Detail (one of PRAL Analysis, rhythm analysis, missed rhythm analysis)

PRAL Analysis
1:1 Cross Word Analysis
byte Difference (0 is complete match, other is number of mismatches, inc. similar phonemes)
enum Type (rhyme, pararhyme, alliteration, liaison, assonance, consonance)
enum Rhyme Classification (Peter Dale, "An Introduction To Rhyme", wikipedia)
byte Number of syllables
1:M Associated PRALs

Associated PRALs
1:M PRAL Analysis

Rhythm Analysis
1:1 Cross Word Analysis
1:M Metre
wstring Pattern

Missed Rhythm Analysis
1:1 Cross Word Analysis
1:1 Expected Rhythm

Repetition Analysis
1:1 Cross Word Analysis
1:M Associated repetitions

Associated Repetitions
1:M Repetition Analysis

ECPS Analysis
1:1 Start Element
enum Type (euphemism, cliché, phrase, specialism)
M:1 Definition

SAMH4 Analysis
1:1 Start Element
enum Type (synonym, antonym, homonym, hyponym, hypernym, meronymy, holonymy)
byte Number of jumps in dictionary (at least 1; 0 is repetition)
enum Type of connection (Spelling, Phoneme)
1:M Associated SAMH4 Analyses

Associated SAMH4 Analysis
1:M SAMH4 Analyses

Location
region Region
bool Displayed
pageno Page number