calacademy-research / antcat

World Catalog of Ants
19 stars 8 forks source link

New subspecies combinations #49

Closed foozleface closed 4 years ago

foozleface commented 9 years ago

Background

AntCat treats subspecies names as children of species names, I believe. So, when you change a combination of a species name, AntCat automatically changes the parent name of its subspecies.

However, it is not so automatic: the subspecies name will still be classified in the obsolete genus, but if you click on edit, you will notice that the parent name reflects the new combination the species name suffered. So, confused you click on cancel, and that subspecies name will appear “automatically” newly combined.

Issue

In this case, the obsolete name will not be left in the “old genus” list of species/subspecies.

Study case: name ID# 442907 (http://www.antcat.org/catalog/442907) Hagensia havilandi godfreyi was the origianl combination; combined previously in Pachycondyla, it is Hagensia again.

Outcome

If a user perform search using an obsolete combination of those subspecies, that search will not return any result.

foozleface commented 9 years ago

Joe,

The issue you highlighted in your previous email is still an issue (horrible sentence, hum? But that is how my brain works after insomnia).

Look at the study case I gave you before, Hagensia havilandi godfreyi (http://www.antcat.org/catalog/442907). At the first sight, everything seems OK, but at the editing mode:

name: Pachycondyla havilandi godfreyi parent: Hagensia havilandi

The background of such issue in the subspecies names is:

Around 1 year ago I performed a huge amount of new combinations on AntCat. When transferring species that contained subspecies to another genus, my first step was to change the parent name of the species. That action transferred the species name to the new genus, but also transferred automatically its subspecies. However, such automatic transfer did not worked as it should. It changed automatically the parent of those subspecies, but did not change the subspecies name – and that is why we have Pachycondyla havilandi godfreyi as the "internal name" of Hagensia havilandi godfreyi.

On AntCat's "normal" mode the name appears correctly (Hagensia havilandi godfreyi), but it creates two issues to AntCat:

Pachycondyla havilandi godfreyi went automatically to Hagensia, and did not leave any trace of an obsolete combination in Pachycondyla as it should. The search for those names is uggly. If you search for Pachycondyla havilandi godfreyi, you will be redirected automatically to the page of Hagensia havilandi godfreyi (and then the user will ask "for godness' sake, why?). If you search for Hagensia havilandi godfreyi, AntCat will return "Hagensia havilandi godfreyi see Pachycondyla havilandi godfreyi" (http://www.antcat.org/catalog/search?utf8=%E2%9C%93&id=430103&st=bw&qq=Hagensia+havilandi+godfreyi&commit=Go). Then, if you click on the link provided to Pachycondyla havilandi godfreyi, you will fall into the regular page of Hagensia havilandi godfreyi. I know it is confusing, but that is the best I can do right now. I just tried to change directly the name from Pachycondyla havilandi godfreyi to Hagensia havilandi godfreyi on the editing mode of http://www.antcat.org/catalog/442907, but AntCat understood I was trying to create a homonym, and then, I aborted my action. Do you have any clue on how to solve this?

Cheers,

Flavia

foozleface commented 9 years ago

Isolating the problems: select derived_names.child_taxa_id,derived_names.parent_name as species_name,derived_names.child_name as subspecies_name from ( SELECT taxa.id AS child_taxa_id, taxa.status as child_status, taxa.name_cache AS child_name, parent.name_cache AS parent_name, substring_index(taxa.name_cache,parent.name_cache,1) as matched_name FROM taxa JOIN NAMES AS child_names ON taxa.name_id = child_names.id JOIN taxa AS parent ON taxa.species_id = parent.id JOIN NAMES AS parent_names ON parent.name_id = parent_names.id WHERE taxa.type='Subspecies' ) as derived_names where char_length(derived_names.matched_name) > 0 and derived_names.child_status='valid' ;

child_taxa_id species_name subspecies_name 440045 "Veromessor julianus" "Messor julianus clarior" 440123 "Veromessor julianus" "Messor julianus manni" 440297 "Trichomyrmex chobauti" "Monomorium chobauti ajjer" 440592 "Trichomyrmex emeryi" "Monomorium emeryi laevior" 440817 "Trichomyrmex lameerei" "Monomorium lameerei stauderi" 442754 "Pseudoneoponera excavata" "Pachycondyla excavata acuticostata" 442760 "Parvaponera darwinii" "Pachycondyla darwinii africana" 442762 "Megaponera analis" "Pachycondyla analis amazon" 442769 "Bothroponera soror" "Pachycondyla soror ancilla" 442780 "Bothroponera kruegeri" "Pachycondyla kruegeri asina" 442781 "Bothroponera laevissima" "Pachycondyla laevissima aspera" 442785 "Bothroponera pachyderma" "Pachycondyla pachyderma attenata" 442801 "Pseudoneoponera insularis" "Pachycondyla insularis brevior" 442824 "Pseudoneoponera rufipes" "Pachycondyla rufipes ceylonensis" 442850 "Bothroponera crassa" "Pachycondyla crassa crassior" 442860 "Pseudoneoponera tridentata" "Pachycondyla tridentata debilior" 442880 "Pseudoneoponera tridentata" "Pachycondyla tridentata exasperans" 442894 "Bothroponera pachyderma" "Pachycondyla pachyderma funerea" 442907 "Hagensia havilandi" "Pachycondyla havilandi godfreyi" 442931 "Parvaponera darwinii" "Pachycondyla darwinii indica" 442938 "Pseudoneoponera piliventris" "Pachycondyla piliventris intermedia" 442953 "Pseudoneoponera sublaevis" "Pachycondyla sublaevis kurandensis" 442983 "Parvaponera darwinii" "Pachycondyla darwinii madecassa" 442988 "Hagensia havilandi" "Pachycondyla havilandi marleyi" 443009 "Pseudoneoponera sublaevis" "Pachycondyla sublaevis murina" 443017 "Bothroponera silvestrii" "Pachycondyla silvestrii nimba" 443051 "Bothroponera pachyderma" "Pachycondyla pachyderma postsquamosa" 443059 "Megaponera analis" "Pachycondyla analis rapax" 443062 "Pseudoneoponera piliventris" "Pachycondyla piliventris regularis" 443063 "Pseudoneoponera sublaevis" "Pachycondyla sublaevis reticulata" 443064 "Bothroponera kruegeri" "Pachycondyla kruegeri rhodesiana" 443070 "Pseudoneoponera sublaevis" "Pachycondyla sublaevis rubicunda" 443084 "Hagensia peringueyi" "Pachycondyla peringueyi saldanhae" 443093 "Bothroponera pumicosa" "Pachycondyla pumicosa sculpturata" 443129 "Megaponera analis" "Pachycondyla analis subpilosa" 443141 "Bothroponera soror" "Pachycondyla soror suturalis" 444980 "Plagiolepis vanderkelleni" "Plagiolepis vanderkeleni polita" 462070 "Carebara pygmaea" "Carebara pygmaeus albipes" 462071 "Carebara pygmaea" "Carebara pygmaeus bugnioni"

foozleface commented 9 years ago

Manual fix steps: Edit the subspecies with the incorrect parent edit the "parent" field with the wrong species indicated Change it to the correct entry When asked: "Would you like to create a new combination under this parent?" Click: "No, just change the parent". Choose which possibly parent from the pop up list (usually just one choice) click "Yes, update the parent record only". click "save" in the lower left.

Note that this fixes the "valid" version of this problem. The "Obsolete combination" will probably need to be created, but in most cases this is a homonym, so I can't figure it out (lacking editorial insight into how it needs to be made or whether it makes sense to create the homonym).

I am scared to fire the "automatic fix" gun at this problem - note that the last three entries in the previous comment do not need to be corrected.

Later investigation showed that these steps are now being performed correctly, so once we fix this case, we should be all set. Let me know if this doesn't work.

Please close this when the editing is complete.

jonkerz commented 4 years ago

closing as unsure what to do