NAME

Text::Tradition::Collation::Relationship - represents a syntactic or semantic relationship between two readings

DESCRIPTION

Text::Tradition is a library for representation and analysis of collated texts, particularly medieval ones. A relationship connects two readings within a collation, usually when they appear in the same place in different texts.

CONSTRUCTOR

new

Creates a new relationship. Usually called via $collation->add_relationship. Options include:

  • type - Can be one of spelling, orthographic, grammatical, lexical, collated, repetition, transposition. All but the last two are only valid relationships between readings that occur at the same point in the text. The 'collated' relationship should only be used by parsers to align readings in the graph when the input information would otherwise be lost, e.g. from an alignment table.

  • displayform - (Optional) The reading that should be displayed if the related nodes are treated as one.

  • scope - (Optional) A meta-attribute. Can be one of 'local', 'document', or 'global'. Denotes whether the relationship between the two readings holds always, independent of context, either within this tradition or across all traditions.

  • annotation - (Optional) A freeform note to attach to the relationship.

  • alters_meaning - Indicate whether, in context, the related words cause the text to have different meanings. Possible values are 0 (no), 1 (slightly), and >1 (yes).

  • a_derivable_from_b - (Optional) True if the first reading is likely to

  • b_derivable_from_a - (Optional) True if the second reading is likely to

  • non_independent - (Optional) True if the variant is unlikely to have occurred independently in unrelated witnesses.

  • is_significant - (Optional) Indicates whether, in the opinion of the scholar, the variation in question is stemmatically significant. Possible values are 'yes', 'maybe', and 'no'.

ACCESSORS

type

displayform

scope

annotation

a_derivable_from_b

b_derivable_from_a

non_independent

is_significant

See the option descriptions above.

colocated

Returns true if the relationship type is one that requires that its readings occupy the same place in the collation.

nonlocal

Returns true if the relationship scope is anything other than 'local'.

is_equivalent( $otherrel )

Returns true if the type and scope of $otherrel match ours.