loose_tight_dictionary 0.0.10 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Gemfile +4 -0
- data/README.rdoc +76 -23
- data/Rakefile +2 -38
- data/benchmark/before-with-free.txt +283 -0
- data/benchmark/before-without-last-result.txt +257 -0
- data/benchmark/before.txt +304 -0
- data/benchmark/memory.rb +54 -0
- data/examples/bts_aircraft/5-2-A.htm +10305 -0
- data/examples/bts_aircraft/5-2-B.htm +9576 -0
- data/examples/bts_aircraft/5-2-D.htm +7094 -0
- data/examples/bts_aircraft/5-2-E.htm +2349 -0
- data/examples/bts_aircraft/5-2-G.htm +2922 -0
- data/examples/bts_aircraft/blockings.csv +1 -0
- data/examples/bts_aircraft/identities.csv +1 -0
- data/examples/bts_aircraft/negatives.csv +1 -0
- data/examples/bts_aircraft/number_260.csv +334 -0
- data/examples/bts_aircraft/positives.csv +1 -0
- data/examples/bts_aircraft/test_bts_aircraft.rb +123 -0
- data/examples/bts_aircraft/tighteners.csv +1 -0
- data/examples/first_name_matching.rb +14 -22
- data/lib/loose_tight_dictionary/blocking.rb +36 -0
- data/lib/loose_tight_dictionary/extract_regexp.rb +30 -0
- data/lib/loose_tight_dictionary/identity.rb +25 -0
- data/lib/loose_tight_dictionary/result.rb +23 -0
- data/lib/loose_tight_dictionary/score.rb +28 -0
- data/lib/loose_tight_dictionary/similarity.rb +62 -0
- data/lib/loose_tight_dictionary/tightener.rb +30 -0
- data/lib/loose_tight_dictionary/version.rb +3 -0
- data/lib/loose_tight_dictionary/wrapper.rb +37 -0
- data/lib/loose_tight_dictionary.rb +178 -305
- data/loose_tight_dictionary.gemspec +19 -64
- data/test/helper.rb +6 -6
- data/test/test_blocking.rb +23 -0
- data/test/test_extract_regexp.rb +18 -0
- data/test/test_identity.rb +18 -0
- data/test/test_loose_tight_dictionary.rb +52 -245
- data/test/test_loose_tight_dictionary_convoluted.rb.disabled +268 -0
- data/test/test_tightening.rb +10 -0
- metadata +52 -65
- data/VERSION +0 -1
- data/examples/icao-bts.rb +0 -58
@@ -0,0 +1 @@
|
|
1
|
+
regexp,notes,more notes,
|
@@ -0,0 +1 @@
|
|
1
|
+
regexp,notes
|
@@ -0,0 +1 @@
|
|
1
|
+
needle,haystack,
|
@@ -0,0 +1,334 @@
|
|
1
|
+
Aircraft Type,Aircraft Name,Manufacturer,Long Name,Short Name,Begin Date,End Date
|
2
|
+
7,AERO COMMANDER 200,ROCKWELL,AERO COMMANDER 200,COMMANDR,1/1/1990,
|
3
|
+
8,AERO MACCHI AL-60,AERO MACCHI,AERO MACCHI AL-60,AL-60,1/1/1990,
|
4
|
+
9,AERONCA 7-AC,AERONCA,AERONCA 7-AC,7-AC,1/1/1990,
|
5
|
+
10,BEECH D-35,BEECHCRAFT,BEECH BONANZA D-35A/C/D/E/G/H/J/K/S/V,BONANZA,1/1/1990,
|
6
|
+
20,BELLANCA CH-300,BELLANCA,BELLANCA CH-300,CH-300,1/1/1990,
|
7
|
+
24,BEECH B-23,BEECHCRAFT,BEECH B-23 MUSKETEER,MUSKTEER,1/1/1990,
|
8
|
+
29,CESSNA 150/152,CESSNA,CESSNA 150/152,CSS150/2,1/1/1990,
|
9
|
+
30,CESSNA 180,CESSNA,CESSNA 180,CSSNA180,1/1/1990,
|
10
|
+
31,CESSNA 180A/B,CESSNA,CESSNA 180A/B,CSNA180A,1/1/1990,
|
11
|
+
32,CESSNA 180C/D/E/F,CESSNA,CESSNA 180C/D/E/F,CSNA180C,1/1/1990,
|
12
|
+
33,CESSNA 185A/B/C,CESSNA,CESSNA 185A/B/C SKYWAGON,SKYWAGON,1/1/1990,
|
13
|
+
34,HELIO H-250,HELIO,HELIO H-250,H-250,1/1/1990,
|
14
|
+
35,CESSNA 206/207/209,CESSNA,CESSNA C206/207/209/210 STATIONAIR,STATIONR,1/1/1990,
|
15
|
+
36,CESSNA 172 SKYHAWK,CESSNA,CESSNA 172 SKYHAWK,SKYHAWK,1/1/1990,
|
16
|
+
37,CESSNA 195,CESSNA,CESSNA 195,CSSNA195,1/1/1990,
|
17
|
+
38,CESSNA CARDINAL,CESSNA,CESSNA 177 CARDINAL,CARDINAL,1/1/1990
|
18
|
+
39,CESSNA 182 SKYLANE,CESSNA,CESSNA 182 SKYLANE,SKYLANE,1/1/1990
|
19
|
+
40,DEHAVILLAND DHC2,DEHAVILLAND OF CANADA,DEHAVILLAND DHC2 BEAVER,BEAVER,1/1/1990
|
20
|
+
41,CESSNA 205,CESSNA,CESSNA 205,CSSNA205,1/1/1990
|
21
|
+
42,DEHAVILLAND DHC3,DEHAVILLAND OF CANADA,DEHAVILLAND DHC3 OTTER,OTTER,1/1/1990
|
22
|
+
44,LAKE LA-4,LAKE,LAKE LA-4,LA-4,1/1/1990
|
23
|
+
50,HOWARD DGA-15P,HOWARD,HOWARD DGA-15P,DGA-15P,1/1/1990
|
24
|
+
51,MOONEY M-21,MOONEY,MOONEY M-21,M-21,1/1/1990
|
25
|
+
52,MOONEY M-20C/E/G,MOONEY,MOONEY M-20C/E/G,M-20C/E,1/1/1990
|
26
|
+
65,NOORDUYN UC-64AS,NOORDUYN,NOORDUYN UC-64AS,UC-64AS,1/1/1990
|
27
|
+
70,PILATUS PORTER PC6,PILATUS,PILATUS PORTER PC6,PC6,1/1/1990
|
28
|
+
71,PILATUS PC6/350,PILATUS,PILATUS PORTER PC6/350,PC6/350,1/1/1990
|
29
|
+
79,PIPER PA-32,PIPER,PIPER PA-32 (CHEROKEE 6),CHEROKEE,1/1/1990
|
30
|
+
80,PIPER PA-18,PIPER,PIPER PA-18 (SUPER-CUB),SUPERCUB,1/1/1990
|
31
|
+
81,PIPER PA-14,PIPER,PIPER PA-14 (FAMILY-CRUISER),FAMCRUIS,1/1/1990
|
32
|
+
82,PIPER PA-22,PIPER,PIPER PA-22 (TRI-PACER),TRIPACER,1/1/1990
|
33
|
+
83,PIPER PA-24,PIPER,PIPER PA-24 (COMANCHE),COMANCHE,1/1/1990
|
34
|
+
84,PIPER PA-28,PIPER,PIPER PA-28 (CHEROKEE),CHEROKEE,1/1/1990
|
35
|
+
85,STINSON SR-9,STINSON,STINSON SR-9,SR-9,1/1/1990
|
36
|
+
86,PIPER PA-12,PIPER,PIPER PA-12 (SUPERCRUISER),,1/1/2002
|
37
|
+
87,STINSON V-77,STINSON,STINSON V-77,V-77,1/1/1990
|
38
|
+
88,STINSON SR-10E,STINSON,STINSON SR-10E BUSHMAN,BUSHMAN,1/1/1990
|
39
|
+
91,FLT/AMPHIB TURBINE,,FLOAT/AMPHIB TURBINE,FLT/AMPH,1/1/1990
|
40
|
+
92,PISTON-LT 450 HP,,FLOAT/AMPHIB PISTON-LT 450 HP,FLT/AMPH,1/1/1990
|
41
|
+
93,PISTON-450+ HP,,FLOAT/AMPHIB PISTON-450+ HP,FLT/AMPH,1/1/1990
|
42
|
+
94,LAND-TURBINE,,LAND-TURBINE,LAND,1/1/1990
|
43
|
+
95,PISTON-LT 450 HP,,LAND-PISTON-LT 450 HP,LAND,1/1/1990
|
44
|
+
96,PISTON-450+ HP,,LAND-PISTON-450+ HP,LAND,1/1/1990
|
45
|
+
97,STIN.FW 300-450 HP,STINSON,STINSON F.W. 300-450 HP,STNSN FW,1/1/1950
|
46
|
+
98,STIN.FW LT 300 HP,STINSON,STINSON 0-299 HP,STNSN FW,1/1/1950
|
47
|
+
103,AERO COMANDR 500/6,ROCKWELL,AERO COMMANDER (500/600 SERIES EXCPT 680FL),COMMANDR,1/1/1990
|
48
|
+
104,AERO COMANDR 680FL,ROCKWELL,GRAND COMMANDER 680FL,COMMANDR,1/1/1990
|
49
|
+
105,BEECH C-50,BEECHCRAFT,BEECH C-50 (TWIN BONANZA),TWBONANZ,1/1/1990
|
50
|
+
110,BEECH 18,BEECHCRAFT,BEECH 18 C-185,BEECH 18,1/1/1990
|
51
|
+
111,BEECH KINGAIR C-90,BEECHCRAFT,BEECH KING AIR C-90,KING AIR,1/1/1990
|
52
|
+
113,BEECH B-95,BEECHCRAFT,BEECH B-95 (TRAVELAIR),TRAVLAIR,1/1/1990
|
53
|
+
115,BEECH AT-11,BEECHCRAFT,BEECH AT-11,AT-11,1/1/1990
|
54
|
+
117,BEECH BARON B-55,BEECHCRAFT,BEECH BARON (55 SERIES),BARON,1/1/1990
|
55
|
+
120,CESSNA T-50,CESSNA,CESSNA T-50 (BOBCAT),BOBCAT,1/1/1990
|
56
|
+
121,CESSNA C-421,CESSNA,CESSNA C-421,C-421,1/1/1990
|
57
|
+
122,CESSNA C-310,CESSNA,CESSNA C-310 SERIES,C-310,1/1/1990
|
58
|
+
125,CESSNA C-402/402A,CESSNA,CESSNA C-402/402A,C-402/A,1/1/1990
|
59
|
+
128,CESSNA 404,CESSNA,CESSNA 404,C-404,1/1/1990
|
60
|
+
130,C-28 5ACF PBY,CONSOLIDATED VULTEE,C-28 5ACF PBY,PBY,1/1/1990
|
61
|
+
131,BRITT-NORMAN BN2/A,PILATUS BRITTEN-NORMAN,PILATUS BRITTEN-NORMAN BN2/A ISLANDER,ISLANDER,1/1/1990
|
62
|
+
132,C-28 5ACF-PBY EMQ,CONSOLIDATED VULTEE,C-28 5ACF-PBY-EMQ,PBY-EMQ,1/1/1990
|
63
|
+
133,BEECH QUEEN AIR,BEECHCRAFT,BEECH 65/65A-80/65B-80 (QUEEN AIR),QUEENAIR,1/1/1990
|
64
|
+
140,CONVAIR CV-240,CONVAIR,CONVAIR CV-240,CV-240,1/1/1990
|
65
|
+
143,CONVAIR CV-340/440,CONVAIR,CONVAIR CV-340/440,C340/440,1/1/1990
|
66
|
+
148,CESSNA C-337,CESSNA,CESSNA C-337 (SUPER SKY MASTER),SKYMASTR,1/1/1990
|
67
|
+
149,CESSNA C-401,CESSNA,CESSNA C-401,C-401,1/1/1990
|
68
|
+
150,CURTISS C46 SERIES,CURTISS-WRIGHT,CURTISS C46/20T/A/D/F/R COMMANDO,COMMANDO,1/1/1990
|
69
|
+
152,CESSNA C-411,CESSNA,CESSNA C-411,C-411,1/1/1990
|
70
|
+
153,DHC4 CARIBOU,DEHAVILLAND OF CANADA,DEHAVILLAND DHC4 CARIBOU,CARIBOU,1/1/1990
|
71
|
+
158,DOUGLAS DC-2,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-2,DC-2,1/1/1990
|
72
|
+
159,HAMILTON B-18S,HAMILTON,HAMILTON B-18S LITTLE LINER (CONVERTED),B-18S,1/1/1990
|
73
|
+
160,DOUGLAS DC-3,MCDONNELL DOUGLAS,"MCDONNELL DOUGLAS DC-3/A/C,C-47/B",DC-3,1/1/1990
|
74
|
+
161,DORNIER DO-28,DORNIER,DORNIER DO-28 SKYSERVANT,DO-28,1/1/1990
|
75
|
+
166,CESSNA C-336,CESSNA,CESSNA C-336,C-336,1/1/1990
|
76
|
+
167,FAIRCHILD C-82A,FAIRCHILD,FAIRCHILD C-82A,C-82A,1/1/1990
|
77
|
+
170,GRUMMAN G-21A,GRUMMAN,GRUMMAN G-21A (GOOSE),GOOSE,1/1/1990
|
78
|
+
171,GRUMMAN SA-16A-GR,GRUMMAN,GRUMMAN SA-16A-GR (ALBATROSS),ALBATRSS,1/1/1990
|
79
|
+
172,GRUMMAN G-44/44A,GRUMMAN,GRUMMAN G-44/44A (WIDGEON),WIDGEON,1/1/1990
|
80
|
+
173,GRUMMAN G-73,GRUMMAN,GRUMMAN G-73 (MALLARD),MALLARD,1/1/1990
|
81
|
+
174,DOVE DH-104,DEHAVILLAND OF CANADA,DEHAVILLAND DOVE DH-104,DOVE,1/1/1990,
|
82
|
+
175,LOCKHEED L-12A,LOCKHEED,LOCKHEED L-12A/L-10/10A,L-12A,1/1/1990,
|
83
|
+
180,MARTIN 202/202A,MARTIN,MARTIN 202/202A,M-202,1/1/1990,
|
84
|
+
185,MARTIN 404,MARTIN,MARTIN 404,M-404,1/1/1990,
|
85
|
+
190,PIPER PA-23,PIPER,PIPER PA-23-250 (AZTEC/APACHE),AZTEC,1/1/1990,
|
86
|
+
193,PIPER T-1020,PIPER,PIPER T-1020,T-1020,1/1/1990,10/31/1996
|
87
|
+
194,PIPER PA-31,PIPER,PIPER PA-31 (NAVAJO),NAVAJO,1/1/1990,10/31/1996
|
88
|
+
194,PIPER PA-31/T-1020,PIPER,PIPER PA-31 (NAVAJO)/T-1020,NAVAJO,11/1/1996,
|
89
|
+
195,PIPER PA-34/39,PIPER,PIPER PA-34/39 (TWIN COMMANCHE),TWNCOMAN,1/1/1990,
|
90
|
+
200,BOEING 377,BOEING,BOEING 377 STRATOCRUISER,B-377,1/1/1990,
|
91
|
+
201,BN2A TRISLANDER,PILATUS BRITTEN-NORMAN,PILATUS BRITTEN-NORMAN BN2A TRISLANDER,TRISLNDR,1/1/1990,
|
92
|
+
205,DH-114 HERON,DEHAVILLAND OF CANADA,DEHAVILLAND DH-114 HERON,HERON,1/1/1990,
|
93
|
+
210,DOUGLAS DC-4,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-4(C54/C54A/C54B/C54E),DC-4,1/1/1990,
|
94
|
+
216,DOUGLAS DC-6,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-6,DC-6,1/1/1990,
|
95
|
+
218,DOUGLAS DC-6A,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-6A,DC-6A,1/1/1990,
|
96
|
+
220,DOUGLAS DC-6B,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-6B,DC-6B,1/1/1990,
|
97
|
+
225,DOUGLAS DC-7A/B,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-7A/B,DC-7A/B,1/1/1990
|
98
|
+
228,DOUGLAS DC-7C,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-7C,DC-7C,1/1/1990
|
99
|
+
240,LOCKHEED L-049,LOCKHEED,LOCKHEED L-049,L-049,1/1/1990
|
100
|
+
242,LOCKHEED L-649,LOCKHEED,LOCKHEED L-649,L-649,1/1/1990
|
101
|
+
244,LOCKHEED L-749/A,LOCKHEED,LOCKHEED L-749/749A,L-749/A,1/1/1990
|
102
|
+
247,LOCKHEED L-1049,LOCKHEED,LOCKHEED L-1049,L-1049,1/1/1990
|
103
|
+
248,LOCKHEED 1049C/D/E,LOCKHEED,LOCKHEED L-1049C/D/E,L-1049C,1/1/1990
|
104
|
+
252,LOCKHEED L-1049G/H,LOCKHEED,LOCKHEED L-1049G/H,L-1049G,1/1/1990
|
105
|
+
258,LOCKHEED L-1649A,LOCKHEED,LOCKHEED L-1649A,L-1649A,1/1/1990
|
106
|
+
280,SIKORSKY VS-44A,SIKORSKY,SIKORSKY VS-44A (AMPHIBIAN),VS-44A,1/1/1990
|
107
|
+
303,SUD ALOUETTE,SUD AVIATION,SUD ALOUETTE,ALOUETTE,1/1/1990
|
108
|
+
311,BELL B-47D,BELL,BELL B-47D,B-47D,1/1/1990
|
109
|
+
312,BELL B-47G,BELL,BELL B-47G,B-47G,1/1/1990
|
110
|
+
313,BELL B-47G2,BELL,BELL B-47G2,B-47G2,1/1/1990
|
111
|
+
314,BELL B-47J2,BELL,BELL B-47J2,B-47J2,1/1/1990
|
112
|
+
315,BELL B-206A,BELL,BELL B-206A,B-206A,1/1/1990
|
113
|
+
320,BOEING BV-107,BOEING VERTOL,BOEING VERTOL BV-107,BV-107,1/1/1990
|
114
|
+
321,BOEING BV-44,BOEING VERTOL,BOEING VERTOL BV-44,BV-44,1/1/1990
|
115
|
+
322,BRANTLEY B-2,BRANTLEY,BRANTLEY B-2,BRNTLY 2,1/1/1990
|
116
|
+
323,FAIRCHILD FH-1100,FAIRCHILD-HILLER,FAIRCHILD-HILLER FH-1100,FH-1100,1/1/1990
|
117
|
+
330,BOELKOW BO-105C,BOELKOW,BOELKOW BO-105C,BO-105C,1/1/1990
|
118
|
+
350,HUGHES 300,HUGHES,HUGHES 300,HUGHS300,1/1/1990
|
119
|
+
360,ROBINSON R44,ROBINSON,ROBINSON R44,R44,9/1/2002
|
120
|
+
380,SIKORSKY S-51,SIKORSKY,SIKORSKY S-51,S-51,1/1/1990
|
121
|
+
381,SIKORSKY S-55,SIKORSKY,SIKORSKY S-55,S-55,1/1/1990
|
122
|
+
385,SIKORSKY S-58A/B/C,SIKORSKY,SIKORSKY S-58A/B/C,S-58,1/1/1990
|
123
|
+
386,SIKORSKY S-61N,SIKORSKY,SIKORSKY S-61N,S-61N,1/1/1990
|
124
|
+
387,SIKORSKY S-61,SIKORSKY,SIKORSKY S-61,S-61,1/1/1990
|
125
|
+
388,SIKORSKY S-61L,SIKORSKY,SIKORSKY S-61L,S-61L,1/1/1990
|
126
|
+
389,SIKORSKY S-62/A,SIKORSKY,SIKORSKY S-62/A,S-62/A,1/1/1990
|
127
|
+
390,SIKORSKY S-76,SIKORSKY,SIKORSKY S-76,S-76,10/1/2002
|
128
|
+
396,WESTLAND SR-N5,WESTLAND,WESTLAND SR-N5 (ACV),SR-N5,1/1/1990
|
129
|
+
401,BEECH 1300,BEECHCRAFT,BEECH 1300,BE-1300,1/1/1990
|
130
|
+
402,BEECH 18,BEECHCRAFT,BEECH MODEL 18 TURBO-PROP CONVERSIONS,BEECH 18,1/1/1990
|
131
|
+
403,BEECH 99,BEECHCRAFT,BEECH 99 AIRLINER,BEECH 99,1/1/1990
|
132
|
+
404,BEECH C99,BEECHCRAFT,BEECH C99,BEECHC99,1/1/1990
|
133
|
+
405,BEECH 1900 A/B/C,BEECHCRAFT,BEECH 1900 A/B/C,BE-1900,1/1/1990
|
134
|
+
406,BEECH 200 KINGAIR,BEECH,BEECH 200 SUPER KINGAIR,KINGAIR,1/1/1995
|
135
|
+
407,BAE-748,BRITISH AEROSPACE,BRITISH AEROSPACE (HAWKER-SIDDELEY) BAE-748,BAE-748,1/1/1990
|
136
|
+
408,BAE-ATP,BRITISH AEROSPACE,BRITISH AEROSPACE BAE-ATP,BAE-ATP,1/1/1990
|
137
|
+
409,BEECH B-100,BEECHCRAFT,BEECHCRAFT KING AIR B100 ,BEECH,10/1/2002
|
138
|
+
410,ROCKWELL 680-W/690,ROCKWELL,ROCKWELL TURBO-COMMANDER 680-W/690,COMMANDR,1/1/1990
|
139
|
+
411,BEECHCRAFT 65-A90,BEECHCRAFT,BEECH KING AIR C-90,BEECH 65,10/1/2002
|
140
|
+
412,CASA 212,"CONSTRUCCIONES AERONAUTICAS,SA",CASA/NURTANIO C212 AVIOCAR,CASA 212,1/1/1990
|
141
|
+
413,CASA 235,"CONSTRUCCIONES AERONAUTICAS,SA",CASA 235,CASA 235,1/1/1990
|
142
|
+
416,CESSNA 208,CESSNA,CESSNA 208 CARAVAN,CARAVAN,1/1/1990
|
143
|
+
417,CESSNA 406,CESSNA,CESSNA 406 CARAVAN II,CARAVNII,1/1/2002
|
144
|
+
418,CESSNA C-441,CESSNA,CESSNA C-441,C-441,1/1/1990
|
145
|
+
420,CONVAIR CV-540,CONVAIR,CONVAIR CV-540,CV-540,1/1/1990,
|
146
|
+
430,CONVAIR CV-580,CONVAIR,CONVAIR CV-580,CV-580,1/1/1990,
|
147
|
+
435,CONVAIR CV-600,CONVAIR,CONVAIR CV-600,CV-600,1/1/1990,
|
148
|
+
440,CONVAIR CV-640,CONVAIR,CONVAIR CV-640,CV-640,1/1/1990,
|
149
|
+
441,ATR-42,AEROSPATIALE/AERITALIA,AEROSPATIALE/AERITALIA ATR-42,ATR-42,1/1/1990,
|
150
|
+
442,ATR-72,AEROSPATIALE/AERITALIA,AEROSPATIALE/AERITALIA ATR-72,ATR-72,1/1/1990,
|
151
|
+
443,ANTONOV 12,ANTONOV,ANTONOV 12,AN-12,6/1/1996,12/1/1999
|
152
|
+
444,ANTONOV 24/26/32,ANTONOV DESIGN BUREAU,ANTONOV 24/26/32,AN-24/6,1/1/1999,
|
153
|
+
445,CONVAIR CV-660,CONVAIR,CONVAIR CV-660,CV-660,1/1/1990,
|
154
|
+
448,DORNIER 228,DORNIER,DORNIER 228,DO-228,1/1/1990,
|
155
|
+
449,DORNIER 328,DORNIER,DORNIER 328,DO-328,6/1/1993,
|
156
|
+
450,F-27,FOKKER/FAIRCHILD,FOKKER FRIENDSHIP F-27/FAIRCHILD F-27/A/B/F/J,F-27,1/1/1990,
|
157
|
+
452,FOKKER 50,FOKKER,FOKKER 50,FOKKER50,1/1/1990,
|
158
|
+
454,FH-227,FAIRCHILD-HILLER,FAIRCHILD-HILLER FH-227,FH-227,1/1/1990,
|
159
|
+
455,FAIRCHILD METRO 23,FAIRCHILD ,FAIRCHILD METRO 23,METRO 23,10/1/2002,
|
160
|
+
456,SAAB-FAIRCHD 340/B,SAAB-FAIRCHILD,SAAB-FAIRCHILD 340/B,SF-340/B,1/1/1990,
|
161
|
+
457,BEECH KING AIR,BEECHCRAFT,BEECH KING AIR C-90,KING AIR,1/1/2001
|
162
|
+
458,BEECH B-350,BEECHCRAFT,BEECHCRAFT SUPER KING AIR,BEECH,10/1/2002
|
163
|
+
460,GRUMMAN G-21G,GRUMMAN,GRUMMAN G-21G (TURBO-GOOSE),GOOSE,1/1/1993
|
164
|
+
461,EMB-120 BRASILIA,EMBRAER,EMBRAER EMB-120 BRASILIA,EMB-120,1/1/1990
|
165
|
+
462,SWEARINGEN MERLIN,SWEARINGEN,SWEARINGEN METRO MERLIN,MERLIN,1/1/1990
|
166
|
+
463,MITSUBISHI MU-2/B,MITSUBISHI,MITSUBISHI MU-2/B,MU-2/B,1/1/1990
|
167
|
+
464,EMBRAER BANDEIRNTE,EMBRAER,EMBRAER EMB-110 BANDEIRANTE,EMB-110,1/1/1990
|
168
|
+
465,NIHON YS-11,NIHON (NAMCO),NIHON YS-11,YS-11,1/1/1990
|
169
|
+
466,SWEARINGEN METRO 2,FAIRCHILD SWEARINGEN,SWEARINGEN METRO II,METRO II,1/1/1990
|
170
|
+
467,SWEARINGEN METRO 3,FAIRCHILD SWEARINGEN,SWEARINGEN METRO III,METROIII,1/1/1990
|
171
|
+
468,H-P JETSTREAM,HANDLEY PAGE,HANDLEY PAGE JETSTREAM,JETSTRM,1/1/1990
|
172
|
+
469,BAE JETSTREAM 31,BRITISH AEROSPACE,BRITISH AEROSPACE JETSTREAM 31,JETST 31,1/1/1990
|
173
|
+
470,GULFSTREAM I,GULFSTREAM AEROSPACE (GRUMMAN),GULFSTREAM I,G-159,1/1/1990
|
174
|
+
471,JETSTREAM 41,BRITISH AEROSPACE,BRITISH AEROSPACE JETSTREAM 41,JETST 41,3/1/1993
|
175
|
+
473,GULFSTREAM I COMM,GULFSTREAM AEROSPACE (GRUMMAN),GULFSTREAM I-COMMANDER,G-159COM,1/1/1990
|
176
|
+
475,NORD 262,NORD AVIATION,NORD 262,N-262,1/1/1990
|
177
|
+
476,PIPER PA-31T,PIPER,PIPER PA-31T CHEYENNE II XL,PA-31T,10/1/2002
|
178
|
+
477,MOHAWK 298,NORD AVIATION,MOHAWK 298,MO-298,1/1/1990
|
179
|
+
478,PIPER T-1040,PIPER,PIPER T-1040,T-1040,1/1/1990
|
180
|
+
479,PILATUS PC-12,PILATUS,PILATUS PC-12,PC-12,1/1/1999
|
181
|
+
480,PILATUS PORTR PC6A,PILATUS,PILATUS TURBO PORTER PC-6A,PC-6A,1/1/1990
|
182
|
+
481,PILATUS PORTR PC6B,PILATUS,PILATUS TURBO PORTER PC-6B,PC-6B,1/1/1990
|
183
|
+
482,DEHAVILLAND DHC8-4,DEHAVILLAND,DEHAVILLAND DHC8-400 DASH-8,DHC8-400,1/1/1999
|
184
|
+
483,DEHAVILLAND DHC8-1,DEHAVILLAND,DEHAVILLAND DHC8-100 DASH-8,DHC8-100,1/1/1990
|
185
|
+
485,DEHAVILLAND DHC-6,DEHAVILLAND,DEHAVILLAND TWIN OTTER DHC-6,DHC-6,1/1/1990
|
186
|
+
486,SHORT HARLAND SC-7,SHORT BROS. & HARLAND,SHORTS HARLAND SC-7 SKYVAN,SKYVAN,1/1/1990
|
187
|
+
487,SHORTS 330,SHORT BROS.,SHORTS 330,SHORT330,1/1/1990
|
188
|
+
488,CARSTEDT CJ-600A,CARSTEDT,CARSTEDT CJ-600A,CJ-600A,1/1/1990
|
189
|
+
489,SHORTS 360,SHORT BROS.,SHORTS 360,SHORT360,1/1/1990
|
190
|
+
490,VOLPAR TURBO 18,VOLPAR,VOLPAR TURBO 18,VOLPAR18,1/1/1990
|
191
|
+
491,DEHAVILLAND DHC8-2,BOMBARDIER,DEHAVILLAND DHC8-200Q DASH-8,DHC8-200,11/1/2002
|
192
|
+
507,ANTONOV 12,ANTONOV DESIGN BUREAU,ANTONOV 12,AN-12,1/1/2000
|
193
|
+
508,ANTONOV AN-22-F,ANTONOV,ANTONOV AN-22 FREIGHTER,AN-22,1/1/1990
|
194
|
+
510,AW-650,ARMSTRONG WHITWORTH,AW-650,AW-650,1/1/1990
|
195
|
+
520,CANADAIR CL-44D,CANADAIR,CANADAIR CL-44D,CL-44D,1/1/1990
|
196
|
+
541,ILYUSHIN 18,ILYUSHIN,ILYUSHIN IL-18,IL-18,1/1/1990
|
197
|
+
550,LOCKHEED L-188A/C,LOCKHEED,LOCKHEED L-188A/C ELECTRA,ELECTRA,1/1/1990
|
198
|
+
552,LOCKHEED L-382B,LOCKHEED,LOCKHEED L-382B,L-382B,1/1/1990
|
199
|
+
553,LOCKHEED L100-10,LOCKHEED,LOCKHEED L100-10 HERCULES,HERCULES,1/1/1990
|
200
|
+
555,LOCKHEED L100-20,LOCKHEED,LOCKHEED L100-20 HERCULES,HERCULES,1/1/1990
|
201
|
+
556,LOCKHEED L100-30,LOCKHEED,LOCKHEED L100-30/L-382E,HERCULES,1/1/1990
|
202
|
+
560,SHORTS-BELFAST-SH5,SHORT BROS.,SHORTS BELFAST FREIGHTER-SH5,SHORTS-5,1/1/1990
|
203
|
+
570,DEHAVILLAND DASH-7,DEHAVILLAND,DEHAVILLAND DHC7 DASH-7,DHC-7,1/1/1990
|
204
|
+
580,VV-700,VICKERS,VICKERS VISCOUNT 700/744/745/745D,VV-700,1/1/1990
|
205
|
+
584,VV-800,VICKERS,VICKERS VISCOUNT V800/810/812,VV-800,1/1/1990
|
206
|
+
484,CANADAIR RJ-200ER,CANADAIR,CANADAIR RJ-200ER,RJ-200ER,1/1/1997
|
207
|
+
601,FOKKER F28-1000,FOKKER,FOKKER F28-1000 FELLOWSHIP,F28-1000,1/1/1990
|
208
|
+
602,F28-4000/6000,FOKKER,FOKKER F28-4000/6000 FELLOWSHIP,F28-4000,1/1/1990
|
209
|
+
603,FOKKER 100,FOKKER,FOKKER 100,FOKKR100,1/1/1990
|
210
|
+
604,FOKKER 70,FOKKER,FOKKER 70,FOKKER70,1/1/1994
|
211
|
+
605,BAC-111-200,BRITISH AEROSPACE,BRITISH AEROSPACE BAC-111-200,BAC-111,1/1/1990
|
212
|
+
608,BOEING 717-200,BOEING,BOEING 717-200,B717-200,1/1/1999
|
213
|
+
610,BAC-111-400,BRITISH AEROSPACE,BRITISH AEROSPACE BAC-111-400,BAC-111,1/1/1990
|
214
|
+
611,AERO COMMNDER 1121,ROCKWELL,AERO COMMANDER 1121,COMMANDR,1/1/1990
|
215
|
+
612,BOEING 737-700/LR,BOEING,BOEING 737-700/700LR,B737-700,1/1/1998
|
216
|
+
613,AEROSPATL CORVETTE,AEROSPATIALE,AEROSPATIALE CORVETTE,CORVETTE,1/1/1990
|
217
|
+
614,BOEING 737-800,BOEING,BOEING 737-800,B737-8,1/1/1998
|
218
|
+
615,BOEING 737-5/600LR,BOEING,BOEING 737-5/600LR,B737-5LR,1/1/1998
|
219
|
+
616,BOEING 737-500,BOEING,BOEING 737-500,B737-5,1/1/1990
|
220
|
+
617,BOEING 737-400,BOEING,BOEING 737-400,B737-400,1/1/1990
|
221
|
+
618,BOEING 737-300LR,BOEING,BOEING 737-300LR,B737-3LR,1/1/1990
|
222
|
+
619,BOEING 737-300,BOEING,BOEING 737-300,B737-300,1/1/1990
|
223
|
+
620,BOEING 737-100/200,BOEING,BOEING 737-100/200,B737-1/2,1/1/1990
|
224
|
+
621,BOEING 737-200C,BOEING,BOEING 737-200C,B737-2C,1/1/1990
|
225
|
+
622,BOEING 757-200,BOEING,BOEING 757-200,B757-200,1/1/1990
|
226
|
+
623,BOEING 757-300,BOEING,BOEING 757-300,B757-300,1/1/1999
|
227
|
+
624,BOEING 767-400,BOEING,BOEING 767-400,B767-400,1/1/1998
|
228
|
+
625,BOEING 767-200/ER,BOEING,BOEING 767-200/200ER,B767-2/R,1/1/1990
|
229
|
+
626,BOEING 767-300/ER,BOEING,BOEING 767-300/300ER,B767-3/R,1/1/1990
|
230
|
+
627,BOEING 777,BOEING,BOEING 777,B777,1/1/1994
|
231
|
+
628,CANADAIR RJ-100/ER,CANADAIR,CANADAIR RJ-100/RJ-100ER,RJ100/ER,3/1/1993
|
232
|
+
629,CANADAIR RJ-200ER,CANADAIR,CANADAIR RJ-200ER,RJ-200ER,1/1/1997
|
233
|
+
630,DOUGLAS DC-9-10,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-9-10,DC-9-10,1/1/1990
|
234
|
+
631,CANADAIR RJ-700,CANADAIR,CANADAIR RJ-700,RJ-700,1/1/1990
|
235
|
+
632,DORNIER 328,DORNIER,DORNIER 328,DO-328,1/1/2001
|
236
|
+
633,BOEING 737-600,BOEING,BOEING 737-600,B737-6,4/1/2002
|
237
|
+
634,BOEING 737-900,BOEING,BOEING737-900,B737-9,4/1/2002
|
238
|
+
635,DOUGLAS DC-9-15F,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-9-15F,DC-9-15F,1/1/1990
|
239
|
+
636,CESSNA CITATION II,CESSNA,CESSNA CITATION II,CESSNA,10/1/2002
|
240
|
+
637,CESSNA CITATION V,CESSNA,CESSNA CITATION V,CESSNA,10/1/2002
|
241
|
+
638,CANADAIR RJ900,BOMBARDIER,CANADAIR RJ900,RJ 900,3/1/2003,
|
242
|
+
640,DOUGLAS DC-9-30,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-9-30,DC-9-30,1/1/1990,
|
243
|
+
645,DOUGLAS DC-9-40,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-9-40,DC-9-40,1/1/1990,
|
244
|
+
650,DOUGLAS DC-9-50,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-9-50,DC-9-50,1/1/1990,
|
245
|
+
654,MD-87,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC9 SUPER 87,MD-87,10/1/1996,
|
246
|
+
655,"MD-80,1,2,3,8",MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC9 SUPER 80/MD81/2/3/8,MD-80,10/1/1996,
|
247
|
+
655,"MD-80,1,2,3,7,8",MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC9 SUPER 80/MD81/2/3/7/8,MD-80,1/1/1990,9/30/1996
|
248
|
+
656,MD-90,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS MD-90,MD-90,1/1/1995,
|
249
|
+
660,LEAR-23,GATES LEARJET,GATES LEARJET LEAR-23,LEAR-23,1/1/1990,
|
250
|
+
661,LEAR-24,GATES LEARJET,GATES LEARJET LEAR-24,LEAR-24,1/1/1990,
|
251
|
+
662,LEAR-25,GATES LEARJET,GATES LEARJET LEAR-25,LEAR-25,1/1/1990,
|
252
|
+
663,LEAR-35,GATES LEARJET,GATES LEARJET LEAR-35,LEAR-35,1/1/1990,
|
253
|
+
664,HFB 320 HANSA,,HFB 320 HANSA,HFB 320,1/1/1990,
|
254
|
+
665,BAE HS-125,BRITISH AEROSP/HAWKER SIDDELEY,HAWKER SIDDELEY 125,HS-125,1/1/1995,
|
255
|
+
666,LEAR 55,GATES LEARJET,LEAR 55,LEAR 55,10/1/2002,
|
256
|
+
670,ROCKWELL SABRELINR,ROCKWELL,ROCKWELL SABRELINER,SABRELNR,1/1/1990,
|
257
|
+
674,EMBRAER-135,EMBRAER,EMBRAER-135,EMB-135,1/1/1998,
|
258
|
+
675,EMBRAER-145,EMBRAER,EMBRAER-145,EMB-145,1/1/1996,
|
259
|
+
676,EMBRAER-140,EMBRAER,EMBRAER-140,EMB-140,1/1/2001,12/31/2000
|
260
|
+
676,EMBRAER-140,EMBRAER,EMBRAER-140,EMB-140,1/1/2001,
|
261
|
+
680,CARAVELLE SE-210,AEROSPATIALE,AEROSPATIALE CARAVELLE SE-210,CARAVLLE,1/1/1990,
|
262
|
+
681,DASSAULT FALCON,DASSAULT-BREGUET,DASSAULT-BREGUET MYSTERE-FALCON,FALCON,1/1/1990,
|
263
|
+
689,A300-600ST(BELUGA),AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A330-600ST (BELUGA),BELUGA,7/1/1998,
|
264
|
+
690,A300B/C/F-100/200,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A300B/C/F-100/200,A300B/C,1/1/1990,
|
265
|
+
691,A300-600/R/CF/RCF,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A300-600/R/CF/RCF,A300-600,1/1/1990,
|
266
|
+
692,A310-200C/F,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A310-200C/F,A310-2CF,1/1/1990,
|
267
|
+
693,A310-300,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A310-300,A310-300,1/1/1990,
|
268
|
+
694,A320-100/200,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A320-100/200,A320-1/2,1/1/1990,
|
269
|
+
695,A300-B2,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A300-B2,A300-B2,1/1/1990,
|
270
|
+
696,A330,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A330,A330,1/1/1992,
|
271
|
+
697,A340,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A340,A340,1/1/1992,8/31/1996
|
272
|
+
698,A319,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A319,A319,1/1/1997,
|
273
|
+
699,A321,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A321,A321,1/1/1990
|
274
|
+
710,BOEING 727-100,BOEING,BOEING 727-100,B727-100,1/1/1990
|
275
|
+
711,BOEING 727-100C/QC,BOEING,BOEING 727-100C/QC,B727-1C,1/1/1990
|
276
|
+
715,BOEING 727-200,BOEING,BOEING 727-200/231A,B727-200,1/1/1990
|
277
|
+
730,DOUGLAS DC-10-10,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-10-10,DC-10-10,1/1/1990
|
278
|
+
731,DOUGLAS DC-10-20,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-10-20,DC-10-20,1/1/1990
|
279
|
+
732,DOUGLAS DC-10-30,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-10-30,DC-10-30,1/1/1990
|
280
|
+
733,DOUGLAS DC-10-40,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-10-40,DC-10-40,1/1/1990
|
281
|
+
735,DOUGLAS DC-10-30CF,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-10-30CF,DC10-30F,1/1/1990
|
282
|
+
740,MD-11,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS MD-11,MD-11,1/1/1990
|
283
|
+
760,L-1011-1/100/200,LOCKHEED,LOCKHEED L-1011-1/100/200,L-1011,1/1/1990
|
284
|
+
765,L-1011-500 TRISTAR,LOCKHEED,LOCKHEED L-1011-500 TRISTAR,L-1011,1/1/1990
|
285
|
+
780,TUPOLEV 154,TUPOLEV,TUPOLEV TU-154,TU-154,1/1/1990
|
286
|
+
792,YAKOLEV 42,YAKOLEV,YAKOLEV YAK-42,YAK-42,1/1/1990
|
287
|
+
871,A340-300,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A340-300,A340-300,9/1/1996
|
288
|
+
872,A340-500,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A340-500,A340-500,9/1/1996
|
289
|
+
873,A340-200,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A340-200,A340-200,9/1/1996
|
290
|
+
874,A340-600,AIRBUS INDUSTRIE,AIRBUS INDUSTRIE A340-600,A340-600,9/1/1996
|
291
|
+
879,ILYUSHIN 96,ILYUSHIN,ILYUSHIN 96,IL-96,3/1/1993
|
292
|
+
800,BOEING 707-100,BOEING,BOEING 707-100,B707-100,1/1/1990
|
293
|
+
802,BOEING 707-100B,BOEING,BOEING 707-100B,B707-1B,1/1/1990
|
294
|
+
804,BOEING 707-200,BOEING,BOEING 707-200,B707-200,1/1/1990
|
295
|
+
806,BOEING 707-300,BOEING,BOEING 707-300,B707-300,1/1/1990
|
296
|
+
808,BOEING 707-300B,BOEING,BOEING 707-300B,B707-3B,1/1/1990
|
297
|
+
809,BOEING 707-300C,BOEING,BOEING 707-300C,B707-3C,1/1/1990
|
298
|
+
810,BOEING 707-400,BOEING,BOEING 707-400,B707-400,1/1/1990
|
299
|
+
812,BOEING 720,BOEING,BOEING 720-000,B720,1/1/1990
|
300
|
+
814,BOEING 720-B,BOEING,BOEING 720-000B,B720-B,1/1/1990
|
301
|
+
816,BOEING 747-100,BOEING,BOEING 747-100,B747-100,1/1/1990
|
302
|
+
817,BOEING 747-200/300,BOEING,BOEING 747-200/300,B747-2/3,1/1/1990
|
303
|
+
818,BOEING 747C,BOEING,BOEING 747C,B747C,1/1/1990
|
304
|
+
819,BOEING 747-400,BOEING,BOEING 747-400,B747-400,1/1/1990
|
305
|
+
820,BOEING 747F,BOEING,BOEING 747F,B747F,1/1/1990
|
306
|
+
822,BOEING 747SP,BOEING,BOEING 747SP,B747SP,1/1/1990
|
307
|
+
825,CONVAIR 880,CONVAIR,CONVAIR 880 (CV-22/22M),CV-880,1/1/1990
|
308
|
+
830,CONVAIR 990,CONVAIR,CONVAIR 990 CORONADO (CV-30),CORONADO,1/1/1990
|
309
|
+
835,AVROLINER RJ85,AVRO INTERNATIONAL AEROSPACE,AVROLINER RJ85,AV RJ85,1/1/1997
|
310
|
+
840,DOUGLAS DC-8-10,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-10,DC-8-10,1/1/1990
|
311
|
+
842,DOUGLAS DC-8-20,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-20,DC-8-20,1/1/1990
|
312
|
+
844,DOUGLAS DC-8-30,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-30,DC-8-30,1/1/1990
|
313
|
+
846,DOUGLAS DC-8-40,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-40,DC-8-40,1/1/1990
|
314
|
+
848,DOUGLAS DC-8-50,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-50,DC-8-50,1/1/1990
|
315
|
+
850,DOUGLAS DC-8-50F,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-50F,DC-8-50F,1/1/1990
|
316
|
+
851,DOUGLAS DC-8-61,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-61,DC-8-61,1/1/1990
|
317
|
+
852,DOUGLAS DC-8-63F,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-63F,DC-8-63F,1/1/1990
|
318
|
+
854,DOUGLAS DC-8-62,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-62,DC-8-62,1/1/1990
|
319
|
+
856,DOUGLAS DC-8-63,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-63,DC-8-63,1/1/1990
|
320
|
+
860,DOUGLAS DC-8-71,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-71,DC-8-71,1/1/1990
|
321
|
+
862,DOUGLAS DC-8-72,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-72,DC-8-72,1/1/1990
|
322
|
+
864,DOUGLAS DC-8-73,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-73,DC-8-73,1/1/1990
|
323
|
+
865,DOUGLAS DC-8-73F,MCDONNELL DOUGLAS,MCDONNELL DOUGLAS DC-8-73F,DC-8-73F,1/1/1990
|
324
|
+
866,BAE-146-100/RJ70,BRITISH AEROSPACE,BRITISH AEROSPACE BAE-146-100/RJ70,BAE146-1,1/1/1990
|
325
|
+
867,BAE-146-200,BRITISH AEROSPACE,BRITISH AEROSPACE BAE-146-200,BAE146-2,1/1/1990
|
326
|
+
868,BAE-146-300,BRITISH AEROSPACE,BRITISH AEROSPACE BAE-146-300,BAE146-3,1/1/1990
|
327
|
+
870,LOCKHEED JETSTAR,LOCKHEED,LOCKHEED JETSTAR,JETSTAR,1/1/1990
|
328
|
+
875,CONCORDE,AEROSPATIALE/BRITISH AEROSPACE,AEROSPATIALE/BRITISH AEROSPACE CONCORDE,CONCORDE,1/1/1990
|
329
|
+
876,ILYUSHIN 62,ILYUSHIN,ILYUSHIN 62,IL-62,1/1/1990
|
330
|
+
877,ILYUSHIN 76/TD,ILYUSHIN,ILYUSHIN 76/TD,IL-76/TD,1/1/1990
|
331
|
+
878,ILYUSHIN 86,ILYUSHIN,ILYUSHIN 86,IL-86,1/1/1990
|
332
|
+
880,ANTONOV 124,ANTONOV,ANTONOV 124,AN-124,1/1/1990
|
333
|
+
890,ANTONOV 225,ANTONOV,ANTONOV 225 (6 ENGINE),AN-224,1/1/1990
|
334
|
+
"SOURCE: Bureau of Transportation Statistics, Office of Airline Information",,,,,
|
@@ -0,0 +1 @@
|
|
1
|
+
needle,haystack,
|
@@ -0,0 +1,123 @@
|
|
1
|
+
require File.expand_path('../../../test/helper.rb', __FILE__)
|
2
|
+
|
3
|
+
require 'shoulda'
|
4
|
+
|
5
|
+
# How to iteratively develop a dictionary.
|
6
|
+
|
7
|
+
# ruby ./examples/bts_aircraft/test_bts_aircraft.rb
|
8
|
+
|
9
|
+
####################################################
|
10
|
+
# Section 1 - constants that will get passed as arguments
|
11
|
+
|
12
|
+
# The records that your dictionary will return.
|
13
|
+
# (Example) A table of aircraft as defined by the U.S. Bureau of Transportation Statistics
|
14
|
+
HAYSTACK = RemoteTable.new :url => "file://#{File.expand_path('../number_260.csv', __FILE__)}", :select => lambda { |record| record['Aircraft Type'].to_i.between?(1, 998) and record['Manufacturer'].present? }
|
15
|
+
|
16
|
+
# A reader used to convert every record (which could be an object of any type) into a string that will be used for similarity.
|
17
|
+
# (Example) Combine the make and model into something like "boeing 747"
|
18
|
+
# Note the downcase!
|
19
|
+
HAYSTACK_READER = lambda { |record| "#{record['Manufacturer']} #{record['Long Name']}".downcase }
|
20
|
+
|
21
|
+
# Whether to even bother trying to find a match for something without an explicit block
|
22
|
+
# (Example) False, which is the default, which means we have more work to do
|
23
|
+
STRICT_BLOCKING = false
|
24
|
+
|
25
|
+
# Blockings
|
26
|
+
# (Example) We made these by trial and error
|
27
|
+
BLOCKINGS = RemoteTable.new(:url => "file://#{File.expand_path("../blockings.csv", __FILE__)}", :headers => :first_row).map { |row| row['regexp'] }
|
28
|
+
|
29
|
+
# Tighteners
|
30
|
+
# (Example) We made these by trial and error
|
31
|
+
TIGHTENERS = RemoteTable.new(:url => "file://#{File.expand_path("../tighteners.csv", __FILE__)}", :headers => :first_row).map { |row| row['regexp'] }
|
32
|
+
|
33
|
+
# Identities
|
34
|
+
# (Example) We made these by trial and error
|
35
|
+
IDENTITIES = RemoteTable.new(:url => "file://#{File.expand_path("../identities.csv", __FILE__)}", :headers => :first_row).map { |row| row['regexp'] }
|
36
|
+
|
37
|
+
####################################################
|
38
|
+
# Section 2 - constants that are just for tests
|
39
|
+
|
40
|
+
# The class of each record.
|
41
|
+
# (Example) ActiveSupport::OrderedHash because we're using RemoteTable
|
42
|
+
HAYSTACK_RECORD_CLASS = HAYSTACK[0].class
|
43
|
+
|
44
|
+
# Some test needles to be found in the haystack.
|
45
|
+
# (Example) Aircraft starting with A, B, D, G from the FAA (really a list of ICAO aircraft)
|
46
|
+
NEEDLES = %w{ A B D G }.inject([]) do |memo, letter|
|
47
|
+
one_letter = RemoteTable.new :url => "file://#{File.expand_path("../5-2-#{letter}.htm", __FILE__)}",
|
48
|
+
:encoding => 'US-ASCII',
|
49
|
+
:row_xpath => '//table/tr[2]/td/table/tr',
|
50
|
+
:column_xpath => 'td'
|
51
|
+
memo + one_letter.to_a
|
52
|
+
end
|
53
|
+
|
54
|
+
# Positive matches that we know about.
|
55
|
+
# (Example) We just built this file in Excel and exported it to a CSV.
|
56
|
+
POSITIVES = RemoteTable.new :url => "file://#{File.expand_path("../positives.csv", __FILE__)}", :headers => :first_row
|
57
|
+
|
58
|
+
# Negative (false positive) matches that we know about.
|
59
|
+
# (Example) We just built this file in Excel and exported it to a CSV.
|
60
|
+
NEGATIVES = RemoteTable.new :url => "file://#{File.expand_path("../negatives.csv", __FILE__)}", :headers => :first_row
|
61
|
+
|
62
|
+
####################################################
|
63
|
+
# Section 3
|
64
|
+
|
65
|
+
FINAL_OPTIONS = {
|
66
|
+
:haystack_reader => HAYSTACK_READER,
|
67
|
+
:strict_blocking => STRICT_BLOCKING,
|
68
|
+
:tighteners => TIGHTENERS,
|
69
|
+
:identities => IDENTITIES,
|
70
|
+
:blockings => BLOCKINGS
|
71
|
+
}
|
72
|
+
|
73
|
+
class TestBtsAircraft < Test::Unit::TestCase
|
74
|
+
should "store the records somewhere" do
|
75
|
+
d = LooseTightDictionary.new HAYSTACK
|
76
|
+
assert d.records.grep(/BOEING 707-100/)
|
77
|
+
end
|
78
|
+
|
79
|
+
should "understand records by using the haystack reader" do
|
80
|
+
d = LooseTightDictionary.new HAYSTACK, FINAL_OPTIONS
|
81
|
+
assert d.haystack.map { |record| record.to_str }.include?('boeing boeing 707-100')
|
82
|
+
end
|
83
|
+
|
84
|
+
should "find an easy match" do
|
85
|
+
d = LooseTightDictionary.new HAYSTACK, FINAL_OPTIONS
|
86
|
+
record = d.find('boeing 707(100)')
|
87
|
+
assert_equal HAYSTACK_RECORD_CLASS, record.class
|
88
|
+
assert_equal HAYSTACK_READER.call(record), 'boeing boeing 707-100'
|
89
|
+
end
|
90
|
+
|
91
|
+
POSITIVES.each do |row|
|
92
|
+
needle = row['needle']
|
93
|
+
correct_record = row['haystack']
|
94
|
+
should %{find #{correct_record.blank? ? 'nothing' : correct_record} when looking for #{needle}} do
|
95
|
+
d = LooseTightDictionary.new HAYSTACK, FINAL_OPTIONS
|
96
|
+
record = d.find(needle.downcase)
|
97
|
+
assert_equal correct_record.downcase, HAYSTACK_READER.call(record)
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
NEGATIVES.each do |row|
|
102
|
+
needle = row['needle']
|
103
|
+
incorrect_record = row['haystack']
|
104
|
+
should %{not find #{incorrect_record} when looking for #{needle}} do
|
105
|
+
d = LooseTightDictionary.new HAYSTACK, FINAL_OPTIONS
|
106
|
+
record = d.find(needle.downcase)
|
107
|
+
assert(incorrect_record.downcase != HAYSTACK_READER.call(record))
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
# Whenever I saw a failure like this...
|
113
|
+
# 1) Failure:
|
114
|
+
# test: BtsAircraft should find AIRBUS INDUSTRIE AIRBUS INDUSTRIE A340-300 when looking for AIRBUS A340300. (TestBtsAircraft)
|
115
|
+
# [examples/bts_aircraft/test_bts_aircraft.rb:96:in `__bind_1302579566_46630'
|
116
|
+
# /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/shoulda-2.11.3/lib/shoulda/context.rb:382:in `call'
|
117
|
+
# /Users/seamus/.rvm/gems/ruby-1.8.7-p334/gems/shoulda-2.11.3/lib/shoulda/context.rb:382:in `test: BtsAircraft should find AIRBUS INDUSTRIE AIRBUS INDUSTRIE A340-300 when looking for AIRBUS A340300. ']:
|
118
|
+
# <"airbus industrie airbus industrie a340-300"> expected but was
|
119
|
+
# <"airbus industrie airbus industrie a340">.
|
120
|
+
|
121
|
+
# ...I would look at it like this
|
122
|
+
d = LooseTightDictionary.new HAYSTACK, FINAL_OPTIONS
|
123
|
+
puts d.explain('AIRBUS A340300.'.downcase)
|