X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FText%2FTradition%2FParser%2FTabular.pm;h=87fca3f01c2832e7975bfaf236ef4499ac127b51;hb=68df571d807e3b08ecfbca3b8024370abf7ae5d1;hp=a561dde5889e8b422dd091a7b6502b43e6131039;hpb=202ccb1893c888e21883362e19da98b90139efcb;p=scpubgit%2Fstemmatology.git diff --git a/lib/Text/Tradition/Parser/Tabular.pm b/lib/Text/Tradition/Parser/Tabular.pm index a561dde..87fca3f 100644 --- a/lib/Text/Tradition/Parser/Tabular.pm +++ b/lib/Text/Tradition/Parser/Tabular.pm @@ -270,6 +270,24 @@ sub _make_nodes { $unique{$w} = $r; $ctr++; } + # Collate this sequence of readings via a single 'collation' relationship. + my @rankrdgs = values %unique; + my $collation_rel; + while( @rankrdgs ) { + my $r = shift @rankrdgs; + next if $r->is_meta; + foreach my $nr ( @rankrdgs ) { + if( $collation_rel ) { + $collation->add_relationship( $r, $nr, $collation_rel ); + } else { + $collation->add_relationship( $r, $nr, + { 'type' => 'collated', + 'annotation' => "Parsed together for rank $index" } ); + $collation_rel = $collation->get_relationship( $r, $nr ); + } + } + } + return \%unique; }