biodiversity19 1.0.10 → 1.0.11

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.10
1
+ 1.0.11
@@ -403,8 +403,7 @@ grammar ScientificNameClean
403
403
  end
404
404
 
405
405
  rule rank
406
- ("morph."/"f.sp."/"B"/"ssp."/"mut."/"nat"/"nothosubsp."/"convar."/"pseudovar."/"sect."/"ser."/"var."/"subvar."/ "[var.]" /"var"/"subsp."/"subsp"/"subf."/"race"/"α"
407
- /"ββ"/"β"/"γ"/"δ"/"ε"/"φ"/"θ"/"μ"/"a."/"b."/"c."/"d."/"e."/"g."/"k."/"****"/"**"/"*")
406
+ ("morph."/"f.sp."/"B"/"ssp."/"ssp"/"mut."/"nat"/"nothosubsp."/"convar."/"pseudovar."/"sect."/"ser."/"var."/"subvar."/ "[var.]" /"var"/"subsp."/"subsp"/"subf."/"race"/"forma"/"form."/"form"/"fo."/"f."/"α"/"ββ"/"β"/"γ"/"δ"/"ε"/"φ"/"θ"/"μ"/"a."/"b."/"c."/"d."/"e."/"g."/"k."/"****"/"**"/"*")
408
407
  {
409
408
  def value
410
409
  text_value.strip
@@ -430,27 +429,6 @@ grammar ScientificNameClean
430
429
  rank_forma
431
430
  end
432
431
 
433
- rule rank_forma
434
- ("forma"/"form."/"form"/"fo."/"f.")
435
- {
436
- def value
437
- "f."
438
- end
439
- def apply(a)
440
- " " + value + " " + a.value
441
- end
442
- def canonical(a)
443
- " " + a.value
444
- end
445
- def pos(a)
446
- {interval.begin => ['infraspecific_type', interval.end], a.interval.begin => ['infraspecies', a.interval.end]}
447
- end
448
- def details(a = nil)
449
- {:infraspecies => {:string => (a.value rescue nil), :rank => value}}
450
- end
451
- }
452
- end
453
-
454
432
  rule species
455
433
  a:species_string space b:authorship {
456
434
  def value
@@ -10,7 +10,7 @@ module PreProcessor
10
10
  NOTES = /\s+(species\s+group|species\s+complex|group|author)\b.*$/i
11
11
  TAXON_CONCEPTS1 = /\s+(sensu\.|sensu|auct\.|auct)\b.*$/i
12
12
  TAXON_CONCEPTS2 = /\s+(\(?s\.\s?s\.|\(?s\.\s?l\.|\(?s\.\s?str\.|\(?s\.\s?lat\.|sec\.|sec|near)\b.*$/
13
- TAXON_CONCEPTS3 = /(,\s*|\s+)(pro parte|p.\s?p.)\s*$/i
13
+ TAXON_CONCEPTS3 = /(,\s*|\s+)(pro parte|p\.\s?p\.)\s*$/i
14
14
  NOMEN_CONCEPTS = /(,\s*|\s+)(\(?nomen|\(?nom\.|\(?comb\.).*$/i
15
15
  LAST_WORD_JUNK = /(,\s*|\s+)(von|van|sensu|new|non|nec|cf|ssp|subsp|subgen|hybrid|hort.|hort)\s*$/i
16
16
 
@@ -91,9 +91,9 @@ describe ScientificNameClean do
91
91
  [ "Cerastium arvense var. fuegianum Hook.f.", [{:genus=>{:string=>"Cerastium"}, :species=>{:string=>"arvense"}, :infraspecies=>[{:string=>"fuegianum", :rank=>"var.", :authorship=>"Hook.f.", :basionymAuthorTeam=>{:authorTeam=>"Hook.f.", :author=>["Hook.f."]}}]}], 'Cerastium arvense var. fuegianum Hook.f.'],
92
92
  [ "Cerastium arvense ssp. velutinum var. velutinum (Raf.) Britton f.", [{:genus=>{:string=>"Cerastium"}, :species=>{:string=>"arvense"}, :infraspecies=>[{:string=>"velutinum", :rank=>"ssp."}, {:string=>"velutinum", :rank=>"var.", :authorship=>"(Raf.) Britton f.", :combinationAuthorTeam=>{:authorTeam=>"Britton f.", :author=>["Britton f."]}, :basionymAuthorTeam=>{:authorTeam=>"Raf.", :author=>["Raf."]}}]}], "Cerastium arvense ssp. velutinum var. velutinum (Raf.) Britton f."],
93
93
  ["Amelanchier arborea f. hirsuta (Michx. f.) Fernald", [{:infraspecies=>[{:basionymAuthorTeam=>{:author=>["Michx. f."], :authorTeam=>"Michx. f."}, :string=>"hirsuta", :rank=>"f.", :combinationAuthorTeam=>{:author=>["Fernald"], :authorTeam=>"Fernald"}, :authorship=>"(Michx. f.) Fernald"}], :genus=>{:string=>"Amelanchier"}, :species=>{:string=>"arborea"}}], "Amelanchier arborea f. hirsuta (Michx. f.) Fernald"],
94
- ["Betula pendula fo. dalecarlica (L. f.) C.K. Schneid.", [{:infraspecies=>[{:basionymAuthorTeam=>{:author=>["L. f."], :authorTeam=>"L. f."}, :string=>"dalecarlica", :rank=>"f.", :combinationAuthorTeam=>{:author=>["C.K. Schneid."], :authorTeam=>"C.K. Schneid."}, :authorship=>"(L. f.) C.K. Schneid."}], :genus=>{:string=>"Betula"}, :species=>{:string=>"pendula"}}], "Betula pendula f. dalecarlica (L. f.) C.K. Schneid."],
94
+ ["Betula pendula fo. dalecarlica (L. f.) C.K. Schneid.", [{:infraspecies=>[{:basionymAuthorTeam=>{:author=>["L. f."], :authorTeam=>"L. f."}, :string=>"dalecarlica", :rank=>"fo.", :combinationAuthorTeam=>{:author=>["C.K. Schneid."], :authorTeam=>"C.K. Schneid."}, :authorship=>"(L. f.) C.K. Schneid."}], :genus=>{:string=>"Betula"}, :species=>{:string=>"pendula"}}], "Betula pendula fo. dalecarlica (L. f.) C.K. Schneid."],
95
95
  ["Racomitrium canescens f. ericoides (F. Weber ex Brid.) Mönk.", [{:genus=>{:string=>"Racomitrium"}, :species=>{:string=>"canescens"}, :infraspecies=>[{:string=>"ericoides", :rank=>"f.", :authorship=>"(F. Weber ex Brid.) Mönk.", :combinationAuthorTeam=>{:authorTeam=>"Mönk.", :author=>["Mönk."]}, :basionymAuthorTeam=>{:authorTeam=>"F. Weber", :author=>["F. Weber"], :exAuthorTeam=>{:authorTeam=>"Brid.", :author=>["Brid."]}}}]}], "Racomitrium canescens f. ericoides (F. Weber ex Brid.) Mönk."],
96
- ["Racomitrium canescens forma ericoides (F. Weber ex Brid.) Mönk.", [{:genus=>{:string=>"Racomitrium"}, :species=>{:string=>"canescens"}, :infraspecies=>[{:string=>"ericoides", :rank=>"f.", :authorship=>"(F. Weber ex Brid.) Mönk.", :combinationAuthorTeam=>{:authorTeam=>"Mönk.", :author=>["Mönk."]}, :basionymAuthorTeam=>{:authorTeam=>"F. Weber", :author=>["F. Weber"], :exAuthorTeam=>{:authorTeam=>"Brid.", :author=>["Brid."]}}}]}], "Racomitrium canescens f. ericoides (F. Weber ex Brid.) Mönk."],
96
+ ["Racomitrium canescens forma ericoides (F. Weber ex Brid.) Mönk.", [{:genus=>{:string=>"Racomitrium"}, :species=>{:string=>"canescens"}, :infraspecies=>[{:string=>"ericoides", :rank=>"forma", :authorship=>"(F. Weber ex Brid.) Mönk.", :combinationAuthorTeam=>{:authorTeam=>"Mönk.", :author=>["Mönk."]}, :basionymAuthorTeam=>{:authorTeam=>"F. Weber", :author=>["F. Weber"], :exAuthorTeam=>{:authorTeam=>"Brid.", :author=>["Brid."]}}}]}], "Racomitrium canescens forma ericoides (F. Weber ex Brid.) Mönk."],
97
97
  ]
98
98
  names.each do |sn, sn_details, sn_value|
99
99
  parse(sn).should_not be_nil
@@ -363,21 +363,21 @@ describe ScientificNameClean do
363
363
  it "should parse name with forma/fo./form./f." do
364
364
  sn = "Caulerpa cupressoides forma nuda"
365
365
  parse(sn).should_not be_nil
366
- value(sn).should == "Caulerpa cupressoides f. nuda"
366
+ value(sn).should == "Caulerpa cupressoides forma nuda"
367
367
  canonical(sn).should == "Caulerpa cupressoides nuda"
368
- details(sn).should == [{:genus=>{:string=>"Caulerpa"}, :species=>{:string=>"cupressoides"}, :infraspecies=>[{:string=>"nuda", :rank=>"f."}]}]
368
+ details(sn).should == [{:genus=>{:string=>"Caulerpa"}, :species=>{:string=>"cupressoides"}, :infraspecies=>[{:string=>"nuda", :rank=>"forma"}]}]
369
369
  pos(sn).should == {0=>["genus", 8], 9=>["species", 21], 22=>["infraspecific_type", 27], 28=>["infraspecies", 32]}
370
370
  sn = "Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó"
371
371
  parse(sn).should_not be_nil
372
- value("Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó").should == "Chlorocyperus glaber f. fasciculariforme (Lojac.) Soó"
372
+ value("Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó").should == "Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó"
373
373
  canonical(sn).should == "Chlorocyperus glaber fasciculariforme"
374
- details(sn).should == [{:genus=>{:string=>"Chlorocyperus"}, :species=>{:string=>"glaber"}, :infraspecies=>[{:string=>"fasciculariforme", :rank=>"f.", :authorship=>"(Lojac.) Soó", :combinationAuthorTeam=>{:authorTeam=>"Soó", :author=>["Soó"]}, :basionymAuthorTeam=>{:authorTeam=>"Lojac.", :author=>["Lojac."]}}]}]
374
+ details(sn).should == [{:genus=>{:string=>"Chlorocyperus"}, :species=>{:string=>"glaber"}, :infraspecies=>[{:string=>"fasciculariforme", :rank=>"form.", :authorship=>"(Lojac.) Soó", :combinationAuthorTeam=>{:authorTeam=>"Soó", :author=>["Soó"]}, :basionymAuthorTeam=>{:authorTeam=>"Lojac.", :author=>["Lojac."]}}]}]
375
375
  pos(sn).should == {0=>["genus", 13], 14=>["species", 20], 21=>["infraspecific_type", 26], 27=>["infraspecies", 43], 45=>["author_word", 51], 53=>["author_word", 56]}
376
376
  sn = "Bambusa nana Roxb. fo. alphonse-karri (Mitford ex Satow) Makino ex Shiros."
377
377
  parse(sn).should_not be_nil
378
- value(sn).should == "Bambusa nana Roxb. f. alphonse-karri (Mitford ex Satow) Makino ex Shiros."
378
+ value(sn).should == "Bambusa nana Roxb. fo. alphonse-karri (Mitford ex Satow) Makino ex Shiros."
379
379
  canonical(sn).should == "Bambusa nana alphonse-karri"
380
- details(sn).should == [{:genus=>{:string=>"Bambusa"}, :species=>{:string=>"nana", :authorship=>"Roxb.", :basionymAuthorTeam=>{:authorTeam=>"Roxb.", :author=>["Roxb."]}}, :infraspecies=>[{:string=>"alphonse-karri", :rank=>"f.", :authorship=>"(Mitford ex Satow) Makino ex Shiros.", :combinationAuthorTeam=>{:authorTeam=>"Makino", :author=>["Makino"], :exAuthorTeam=>{:authorTeam=>"Shiros.", :author=>["Shiros."]}}, :basionymAuthorTeam=>{:authorTeam=>"Mitford", :author=>["Mitford"], :exAuthorTeam=>{:authorTeam=>"Satow", :author=>["Satow"]}}}]}]
380
+ details(sn).should == [{:genus=>{:string=>"Bambusa"}, :species=>{:string=>"nana", :authorship=>"Roxb.", :basionymAuthorTeam=>{:authorTeam=>"Roxb.", :author=>["Roxb."]}}, :infraspecies=>[{:string=>"alphonse-karri", :rank=>"fo.", :authorship=>"(Mitford ex Satow) Makino ex Shiros.", :combinationAuthorTeam=>{:authorTeam=>"Makino", :author=>["Makino"], :exAuthorTeam=>{:authorTeam=>"Shiros.", :author=>["Shiros."]}}, :basionymAuthorTeam=>{:authorTeam=>"Mitford", :author=>["Mitford"], :exAuthorTeam=>{:authorTeam=>"Satow", :author=>["Satow"]}}}]}]
381
381
  pos(sn).should == {0=>["genus", 7], 8=>["species", 12], 13=>["author_word", 18], 19=>["infraspecific_type", 22], 23=>["infraspecies", 37], 39=>["author_word", 46], 50=>["author_word", 55], 57=>["author_word", 63], 67=>["author_word", 74]}
382
382
  sn = " Sphaerotheca fuliginea f. dahliae Movss. 1967 "
383
383
  sn = "Sphaerotheca fuliginea f. dahliae Movss. 1967"
@@ -556,6 +556,8 @@ describe ScientificNameClean do
556
556
  details(sn).should == [{:genus=>{:string=>"Flexibacter"}, :species=>{:string=>"elegans", :authorship=>"Soriano 1945, non Lewin 1969", :basionymAuthorTeam=>{:authorTeam=>"Soriano", :author=>["Soriano"], :year=>"1945"}}}]
557
557
  sn = 'Schottera nicaeënsis (J.V. Lamouroux ex Duby) Guiry & Hollenberg'
558
558
  details(sn).should == [{:genus=>{:string=>"Schottera"}, :species=>{:string=>"nicaeënsis", :authorship=>"(J.V. Lamouroux ex Duby) Guiry & Hollenberg", :combinationAuthorTeam=>{:authorTeam=>"Guiry & Hollenberg", :author=>["Guiry", "Hollenberg"]}, :basionymAuthorTeam=>{:authorTeam=>"J.V. Lamouroux", :author=>["J.V. Lamouroux"], :exAuthorTeam=>{:authorTeam=>"Duby", :author=>["Duby"]}}}}]
559
+ sn = 'Deschampsia cespitosa ssp pumila'
560
+ details(sn).should == [{:genus=>{:string=>"Deschampsia"}, :species=>{:string=>"cespitosa"}, :infraspecies=>[{:string=>"pumila", :rank=>"ssp"}]}]
559
561
  end
560
562
 
561
563
  # Combination genus names should be merged without dash or capital letter
@@ -41,6 +41,7 @@ Ba Solem 1983|{"scientificName":{"parsed":true, "parser_version":"test_version",
41
41
 
42
42
  #canonical binomial
43
43
  Pseudocercospora dendrobii|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Pseudocercospora dendrobii","normalized":"Pseudocercospora dendrobii","canonical":"Pseudocercospora dendrobii","hybrid":false,"details":[{"genus":{"string":"Pseudocercospora"},"species":{"string":"dendrobii"}}],"positions":{"0":["genus",16],"21":["species",30]}}}
44
+ Cucurbita pepo|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Cucurbita pepo", "normalized":"Cucurbita pepo", "canonical":"Cucurbita pepo", "hybrid":false, "details":[{"genus":{"string":"Cucurbita"}, "species":{"string":"pepo"}}], "parser_run":1, "positions":{"0":["genus", 9], "10":["species", 14]}}}
44
45
 
45
46
  #binomial with author and a year
46
47
  Platypus bicaudatulus Schedl 1935|{"scientificName":{"parsed":true, "parser_version":"test_version", "parser_run":1,"verbatim":"Platypus bicaudatulus Schedl 1935","normalized":"Platypus bicaudatulus Schedl 1935","canonical":"Platypus bicaudatulus","hybrid":false,"details":[{"genus":{"string":"Platypus"},"species":{"string":"bicaudatulus","authorship":"Schedl 1935","basionymAuthorTeam":{"authorTeam":"Schedl","author":["Schedl"],"year":"1935"}}}],"positions":{"0":["genus",8],"9":["species",21],"22":["author_word",28],"29":["year",33]}}}
@@ -105,8 +106,8 @@ Hydnellum scrobiculatum zonatum|{"scientificName":{"parsed":true, "parser_versio
105
106
  Aus bus Linn. var. bus|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Aus bus Linn. var. bus", "normalized":"Aus bus Linn. var. bus", "canonical":"Aus bus bus", "hybrid":false, "details":[{"genus":{"string":"Aus"}, "species":{"string":"bus", "authorship":"Linn.", "basionymAuthorTeam":{"authorTeam":"Linn.", "author":["Linn."]}}, "infraspecies":[{"string":"bus", "rank":"var."}]}], "parser_run":1, "positions":{"0":["genus", 3], "4":["species", 7], "8":["author_word", 13], "14":["infraspecific_type", 18], "19":["infraspecies", 22]}}}
106
107
  Agalinis purpurea (L.) Briton var. borealis (Berg.) Peterson 1987|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Agalinis purpurea (L.) Briton var. borealis (Berg.) Peterson 1987", "normalized":"Agalinis purpurea (L.) Briton var. borealis (Berg.) Peterson 1987", "canonical":"Agalinis purpurea borealis", "hybrid":false, "details":[{"genus":{"string":"Agalinis"}, "species":{"string":"purpurea", "authorship":"(L.) Briton", "combinationAuthorTeam":{"authorTeam":"Briton", "author":["Briton"]}, "basionymAuthorTeam":{"authorTeam":"L.", "author":["L."]}}, "infraspecies":[{"string":"borealis", "rank":"var.", "authorship":"(Berg.) Peterson 1987", "combinationAuthorTeam":{"authorTeam":"Peterson", "author":["Peterson"], "year":"1987"}, "basionymAuthorTeam":{"authorTeam":"Berg.", "author":["Berg."]}}]}], "parser_run":1, "positions":{"0":["genus", 8], "9":["species", 17], "19":["author_word", 21], "23":["author_word", 29], "30":["infraspecific_type", 34], "35":["infraspecies", 43], "45":["author_word", 50], "52":["author_word", 60], "61":["year", 65]}}}
107
108
  Callideriphus flavicollis morph. reductus Fuchs 1961|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Callideriphus flavicollis morph. reductus Fuchs 1961", "normalized":"Callideriphus flavicollis morph. reductus Fuchs 1961", "canonical":"Callideriphus flavicollis reductus", "hybrid":false, "details":[{"genus":{"string":"Callideriphus"}, "species":{"string":"flavicollis"}, "infraspecies":[{"string":"reductus", "rank":"morph.", "authorship":"Fuchs 1961", "basionymAuthorTeam":{"authorTeam":"Fuchs", "author":["Fuchs"], "year":"1961"}}]}], "parser_run":1, "positions":{"0":["genus", 13], "14":["species", 25], "26":["infraspecific_type", 32], "33":["infraspecies", 41], "42":["author_word", 47], "48":["year", 52]}}}
108
- Caulerpa cupressoides forma nuda|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Caulerpa cupressoides forma nuda", "normalized":"Caulerpa cupressoides f. nuda", "canonical":"Caulerpa cupressoides nuda", "hybrid":false, "details":[{"genus":{"string":"Caulerpa"}, "species":{"string":"cupressoides"}, "infraspecies":[{"string":"nuda", "rank":"f."}]}], "parser_run":1, "positions":{"0":["genus", 8], "9":["species", 21], "22":["infraspecific_type", 27], "28":["infraspecies", 32]}}}
109
- Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó", "normalized":"Chlorocyperus glaber f. fasciculariforme (Lojac.) Soó", "canonical":"Chlorocyperus glaber fasciculariforme", "hybrid":false, "details":[{"genus":{"string":"Chlorocyperus"}, "species":{"string":"glaber"}, "infraspecies":[{"string":"fasciculariforme", "rank":"f.", "authorship":"(Lojac.) Soó", "combinationAuthorTeam":{"authorTeam":"Soó", "author":["Soó"]}, "basionymAuthorTeam":{"authorTeam":"Lojac.", "author":["Lojac."]}}]}], "parser_run":1, "positions":{"0":["genus", 13], "14":["species", 20], "21":["infraspecific_type", 26], "27":["infraspecies", 43], "45":["author_word", 51], "53":["author_word", 56]}}}
109
+ Caulerpa cupressoides forma nuda|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Caulerpa cupressoides forma nuda", "normalized":"Caulerpa cupressoides forma nuda", "canonical":"Caulerpa cupressoides nuda", "hybrid":false, "details":[{"genus":{"string":"Caulerpa"}, "species":{"string":"cupressoides"}, "infraspecies":[{"string":"nuda", "rank":"forma"}]}], "parser_run":1, "positions":{"0":["genus", 8], "9":["species", 21], "22":["infraspecific_type", 27], "28":["infraspecies", 32]}}}
110
+ Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó", "normalized":"Chlorocyperus glaber form. fasciculariforme (Lojac.) Soó", "canonical":"Chlorocyperus glaber fasciculariforme", "hybrid":false, "details":[{"genus":{"string":"Chlorocyperus"}, "species":{"string":"glaber"}, "infraspecies":[{"string":"fasciculariforme", "rank":"form.", "authorship":"(Lojac.) Soó", "combinationAuthorTeam":{"authorTeam":"Soó", "author":["Soó"]}, "basionymAuthorTeam":{"authorTeam":"Lojac.", "author":["Lojac."]}}]}], "parser_run":1, "positions":{"0":["genus", 13], "14":["species", 20], "21":["infraspecific_type", 26], "27":["infraspecies", 43], "45":["author_word", 51], "53":["author_word", 56]}}}
110
111
  Sphaerotheca fuliginea f. dahliae Movss. 1967|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Sphaerotheca fuliginea f. dahliae Movss. 1967", "normalized":"Sphaerotheca fuliginea f. dahliae Movss. 1967", "canonical":"Sphaerotheca fuliginea dahliae", "hybrid":false, "details":[{"genus":{"string":"Sphaerotheca"}, "species":{"string":"fuliginea"}, "infraspecies":[{"string":"dahliae", "rank":"f.", "authorship":"Movss. 1967", "basionymAuthorTeam":{"authorTeam":"Movss.", "author":["Movss."], "year":"1967"}}]}], "parser_run":1, "positions":{"0":["genus", 12], "16":["species", 25], "29":["infraspecific_type", 31], "36":["infraspecies", 43], "47":["author_word", 53], "58":["year", 62]}}}
111
112
  Polypodium vulgare nothosubsp. mantoniae (Rothm.) Schidlay|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Polypodium vulgare nothosubsp. mantoniae (Rothm.) Schidlay", "normalized":"Polypodium vulgare nothosubsp. mantoniae (Rothm.) Schidlay", "canonical":"Polypodium vulgare mantoniae", "hybrid":false, "details":[{"genus":{"string":"Polypodium"}, "species":{"string":"vulgare"}, "infraspecies":[{"string":"mantoniae", "rank":"nothosubsp.", "authorship":"(Rothm.) Schidlay", "combinationAuthorTeam":{"authorTeam":"Schidlay", "author":["Schidlay"]}, "basionymAuthorTeam":{"authorTeam":"Rothm.", "author":["Rothm."]}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 18], "19":["infraspecific_type", 30], "31":["infraspecies", 40], "42":["author_word", 48], "50":["author_word", 58]}}}
112
113
  Allophylus amazonicus var amazonicus|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Allophylus amazonicus var amazonicus", "normalized":"Allophylus amazonicus var amazonicus", "canonical":"Allophylus amazonicus amazonicus", "hybrid":false, "details":[{"genus":{"string":"Allophylus"}, "species":{"string":"amazonicus"}, "infraspecies":[{"string":"amazonicus", "rank":"var"}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 21], "22":["infraspecific_type", 25], "26":["infraspecies", 36]}}}
@@ -294,9 +295,9 @@ Cerastium arvense var. fuegianum Hook. f.|{"scientificName":{"parsed":true, "par
294
295
  Cerastium arvense var. fuegianum Hook.f.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Cerastium arvense var. fuegianum Hook.f.", "normalized":"Cerastium arvense var. fuegianum Hook.f.", "canonical":"Cerastium arvense fuegianum", "hybrid":false, "details":[{"genus":{"string":"Cerastium"}, "species":{"string":"arvense"}, "infraspecies":[{"string":"fuegianum", "rank":"var.", "authorship":"Hook.f.", "basionymAuthorTeam":{"authorTeam":"Hook.f.", "author":["Hook.f."]}}]}], "parser_run":1, "positions":{"0":["genus", 9], "10":["species", 17], "18":["infraspecific_type", 22], "23":["infraspecies", 32], "33":["author_word", 40]}}}
295
296
  Cerastium arvense ssp. velutinum var. velutinum (Raf.) Britton f.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Cerastium arvense ssp. velutinum var. velutinum (Raf.) Britton f.", "normalized":"Cerastium arvense ssp. velutinum var. velutinum (Raf.) Britton f.", "canonical":"Cerastium arvense velutinum velutinum", "hybrid":false, "details":[{"genus":{"string":"Cerastium"}, "species":{"string":"arvense"}, "infraspecies":[{"string":"velutinum", "rank":"ssp."}, {"string":"velutinum", "rank":"var.", "authorship":"(Raf.) Britton f.", "combinationAuthorTeam":{"authorTeam":"Britton f.", "author":["Britton f."]}, "basionymAuthorTeam":{"authorTeam":"Raf.", "author":["Raf."]}}]}], "parser_run":1, "positions":{"0":["genus", 9], "10":["species", 17], "18":["infraspecific_type", 22], "23":["infraspecies", 32], "33":["infraspecific_type", 37], "38":["infraspecies", 47], "49":["author_word", 53], "55":["author_word", 62], "63":["author_word", 65]}}}
296
297
  Amelanchier arborea f. hirsuta (Michx. f.) Fernald|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Amelanchier arborea f. hirsuta (Michx. f.) Fernald", "normalized":"Amelanchier arborea f. hirsuta (Michx. f.) Fernald", "canonical":"Amelanchier arborea hirsuta", "hybrid":false, "details":[{"genus":{"string":"Amelanchier"}, "species":{"string":"arborea"}, "infraspecies":[{"string":"hirsuta", "rank":"f.", "authorship":"(Michx. f.) Fernald", "combinationAuthorTeam":{"authorTeam":"Fernald", "author":["Fernald"]}, "basionymAuthorTeam":{"authorTeam":"Michx. f.", "author":["Michx. f."]}}]}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 19], "20":["infraspecific_type", 22], "23":["infraspecies", 30], "32":["author_word", 38], "39":["author_word", 41], "43":["author_word", 50]}}}
297
- Betula pendula fo. dalecarlica (L. f.) C.K. Schneid.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Betula pendula fo. dalecarlica (L. f.) C.K. Schneid.", "normalized":"Betula pendula f. dalecarlica (L. f.) C.K. Schneid.", "canonical":"Betula pendula dalecarlica", "hybrid":false, "details":[{"genus":{"string":"Betula"}, "species":{"string":"pendula"}, "infraspecies":[{"string":"dalecarlica", "rank":"f.", "authorship":"(L. f.) C.K. Schneid.", "combinationAuthorTeam":{"authorTeam":"C.K. Schneid.", "author":["C.K. Schneid."]}, "basionymAuthorTeam":{"authorTeam":"L. f.", "author":["L. f."]}}]}], "parser_run":1, "positions":{"0":["genus", 6], "7":["species", 14], "15":["infraspecific_type", 18], "19":["infraspecies", 30], "32":["author_word", 34], "35":["author_word", 37], "39":["author_word", 43], "44":["author_word", 52]}}}
298
+ Betula pendula fo. dalecarlica (L. f.) C.K. Schneid.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Betula pendula fo. dalecarlica (L. f.) C.K. Schneid.", "normalized":"Betula pendula fo. dalecarlica (L. f.) C.K. Schneid.", "canonical":"Betula pendula dalecarlica", "hybrid":false, "details":[{"genus":{"string":"Betula"}, "species":{"string":"pendula"}, "infraspecies":[{"string":"dalecarlica", "rank":"fo.", "authorship":"(L. f.) C.K. Schneid.", "combinationAuthorTeam":{"authorTeam":"C.K. Schneid.", "author":["C.K. Schneid."]}, "basionymAuthorTeam":{"authorTeam":"L. f.", "author":["L. f."]}}]}], "parser_run":1, "positions":{"0":["genus", 6], "7":["species", 14], "15":["infraspecific_type", 18], "19":["infraspecies", 30], "32":["author_word", 34], "35":["author_word", 37], "39":["author_word", 43], "44":["author_word", 52]}}}
298
299
  Racomitrium canescens f. ericoides (F. Weber ex Brid.) Mönk.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Racomitrium canescens f. ericoides (F. Weber ex Brid.) Mönk.", "normalized":"Racomitrium canescens f. ericoides (F. Weber ex Brid.) Mönk.", "canonical":"Racomitrium canescens ericoides", "hybrid":false, "details":[{"genus":{"string":"Racomitrium"}, "species":{"string":"canescens"}, "infraspecies":[{"string":"ericoides", "rank":"f.", "authorship":"(F. Weber ex Brid.) Mönk.", "combinationAuthorTeam":{"authorTeam":"Mönk.", "author":["Mönk."]}, "basionymAuthorTeam":{"authorTeam":"F. Weber", "author":["F. Weber"], "exAuthorTeam":{"authorTeam":"Brid.", "author":["Brid."]}}}]}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 21], "22":["infraspecific_type", 24], "25":["infraspecies", 34], "36":["author_word", 38], "39":["author_word", 44], "48":["author_word", 53], "55":["author_word", 60]}}}
299
- Racomitrium canescens forma ericoides (F. Weber ex Brid.) Mönk.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Racomitrium canescens forma ericoides (F. Weber ex Brid.) Mönk.", "normalized":"Racomitrium canescens f. ericoides (F. Weber ex Brid.) Mönk.", "canonical":"Racomitrium canescens ericoides", "hybrid":false, "details":[{"genus":{"string":"Racomitrium"}, "species":{"string":"canescens"}, "infraspecies":[{"string":"ericoides", "rank":"f.", "authorship":"(F. Weber ex Brid.) Mönk.", "combinationAuthorTeam":{"authorTeam":"Mönk.", "author":["Mönk."]}, "basionymAuthorTeam":{"authorTeam":"F. Weber", "author":["F. Weber"], "exAuthorTeam":{"authorTeam":"Brid.", "author":["Brid."]}}}]}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 21], "22":["infraspecific_type", 27], "28":["infraspecies", 37], "39":["author_word", 41], "42":["author_word", 47], "51":["author_word", 56], "58":["author_word", 63]}}}
300
+ Racomitrium canescens forma ericoides (F. Weber ex Brid.) Mönk.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Racomitrium canescens forma ericoides (F. Weber ex Brid.) Mönk.", "normalized":"Racomitrium canescens forma ericoides (F. Weber ex Brid.) Mönk.", "canonical":"Racomitrium canescens ericoides", "hybrid":false, "details":[{"genus":{"string":"Racomitrium"}, "species":{"string":"canescens"}, "infraspecies":[{"string":"ericoides", "rank":"forma", "authorship":"(F. Weber ex Brid.) Mönk.", "combinationAuthorTeam":{"authorTeam":"Mönk.", "author":["Mönk."]}, "basionymAuthorTeam":{"authorTeam":"F. Weber", "author":["F. Weber"], "exAuthorTeam":{"authorTeam":"Brid.", "author":["Brid."]}}}]}], "parser_run":1, "positions":{"0":["genus", 11], "12":["species", 21], "22":["infraspecific_type", 27], "28":["infraspecies", 37], "39":["author_word", 41], "42":["author_word", 47], "51":["author_word", 56], "58":["author_word", 63]}}}
300
301
  Polypodium pectinatum L. f., Rosenst.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Polypodium pectinatum L. f., Rosenst.", "normalized":"Polypodium pectinatum L. f., Rosenst.", "canonical":"Polypodium pectinatum", "hybrid":false, "details":[{"genus":{"string":"Polypodium"}, "species":{"string":"pectinatum", "authorship":"L. f., Rosenst.", "basionymAuthorTeam":{"authorTeam":"L. f., Rosenst.", "author":["L. f.", "Rosenst."]}}}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 21], "22":["author_word", 24], "25":["author_word", 27], "29":["author_word", 37]}}}
301
302
  Polypodium pectinatum L. f.|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Polypodium pectinatum L. f.", "normalized":"Polypodium pectinatum L. f.", "canonical":"Polypodium pectinatum", "hybrid":false, "details":[{"genus":{"string":"Polypodium"}, "species":{"string":"pectinatum", "authorship":"L. f.", "basionymAuthorTeam":{"authorTeam":"L. f.", "author":["L. f."]}}}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 21], "22":["author_word", 24], "25":["author_word", 27]}}}
302
303
  Polypodium pectinatum (L. f.) typica Rosent|{"scientificName":{"parsed":true, "parser_version":"test_version", "verbatim":"Polypodium pectinatum (L. f.) typica Rosent", "normalized":"Polypodium pectinatum (L. f.) typica Rosent", "canonical":"Polypodium pectinatum typica", "hybrid":false, "details":[{"genus":{"string":"Polypodium"}, "species":{"string":"pectinatum", "authorship":"(L. f.)", "basionymAuthorTeam":{"authorTeam":"L. f.", "author":["L. f."]}}, "infraspecies":[{"string":"typica", "rank":"n/a", "authorship":"Rosent", "basionymAuthorTeam":{"authorTeam":"Rosent", "author":["Rosent"]}}]}], "parser_run":1, "positions":{"0":["genus", 10], "11":["species", 21], "23":["author_word", 25], "26":["author_word", 28], "30":["infraspecies", 36], "37":["author_word", 43]}}}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: biodiversity19
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
4
+ version: 1.0.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-25 00:00:00.000000000Z
12
+ date: 2012-06-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: treetop
16
- requirement: &70227647806880 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70227647806880
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: parallel
27
- requirement: &70227647806400 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70227647806400
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: jeweler
38
- requirement: &70227647805920 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70227647805920
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: treetop
49
- requirement: &70227647805440 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :runtime
56
71
  prerelease: false
57
- version_requirements: *70227647805440
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: parallel
60
- requirement: &70227647804960 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :runtime
67
87
  prerelease: false
68
- version_requirements: *70227647804960
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: rspec
71
- requirement: &70227647804480 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,7 +101,12 @@ dependencies:
76
101
  version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *70227647804480
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  description: Tools for biodiversity informatics
81
111
  email: dmozzherin@gmail.com
82
112
  executables:
@@ -137,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
137
167
  version: '0'
138
168
  requirements: []
139
169
  rubyforge_project:
140
- rubygems_version: 1.8.10
170
+ rubygems_version: 1.8.24
141
171
  signing_key:
142
172
  specification_version: 3
143
173
  summary: Parser of scientific names