Project

General

Profile

Statistics
| Revision:

# Date Author Comment
5241 10/04/2012 08:05 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxonconcept: Renamed definer_id to creator_id to allow merging with datasource_id when datasource_id is renamed to creator_id

5240 10/04/2012 07:50 PM Aaron Marcuse-Kubitza

mappings/VegCore-VegBIEN.csv: Populated new taxonconcept.definer_id from identifiedBy, or when no identifiedBy is specified, from the datasource itself (using _simplifyPath:[next=datasource_id])

5239 10/04/2012 07:43 PM Aaron Marcuse-Kubitza

sql_io.py: put_table(): Resolve default value column after the main loop (inserts and selects), so that the default value column can refer to an output column that is not in the original mapping but is added to the mapping from a col_defaults entry. This requires deferring the "Missing mapping for NOT NULL column" warning until the default value column is resolved, and including all columns in the full_in_table since the default value input column is not yet known.

5238 10/04/2012 06:59 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxonconcept: comment: Changed definition to "A taxon concept defined by an entity" to correspond with the table's new name and usage

5237 10/04/2012 06:51 PM Aaron Marcuse-Kubitza

mappings/VegCore-VegBIEN.csv: Fixed bug where needed to set datasource_id=0 on the TNRS party (which concatenated names/TNRS inputs are owned by) in order to make it a datasource (a root party)

5236 10/04/2012 06:44 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: party: Fixed bug where needed separate unique index for roots (datasources), whose organizationnames must be globally unique rather than unique within a datasource

5235 10/04/2012 06:28 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxonconcept: Renamed concept_reference_id to definer_id because this is a clearer name and because this will allow merging with datasource_id, which serves the same purpose

5234 10/04/2012 06:15 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: party: Made it datasource-scoped. Since this creates a recursive fkey, a datasource (a root party) should point to itself in this field, which will happen automatically by setting it to the special value 0.

5233 10/04/2012 05:51 PM Aaron Marcuse-Kubitza

lib/PostgreSQL-MySQL.csv: Changed translation of fulltext to quote the identifier instead of appending characters to make it not a reserved word

5232 10/04/2012 05:36 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxonconcept: Moved concept_reference_id to the top of the table because it is now a key scoping field

5231 10/04/2012 05:30 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: concept_reference_id: Made it an fkey to party instead of taxonscope, because this is now the entity that defined the taxon concept, and is no longer specific to morphospecies. Removed no longer used table taxonscope.

5230 10/04/2012 05:13 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxonconcept: Documented that it's equivalent to VegBank's plantConcept table

5229 10/04/2012 04:56 PM Aaron Marcuse-Kubitza

schemas/filter_ERD.csv: taxonconcept inward fkeys: Removed not applicable taxon filtered table, since the fkey points in the opposite direction and thus is not part of this filter

5228 10/04/2012 04:52 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxonconcept: Renamed scope_id -> concept_reference_id as part of taxonomic schema refactoring at <https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/2012-10-03_conference_call#Taxonomic-schema-refactoring>

5227 10/04/2012 04:47 PM Aaron Marcuse-Kubitza

README.TXT: Schema changes: Moved "update the following files with any renamings" out of "Sync ERD with vegbien.sql schema" because this is needed for any schema changes, not just as part of syncing the ERD

5226 10/04/2012 04:42 PM Aaron Marcuse-Kubitza

README.TXT: Schema changes: Added Refactoring tips section with steps to rename a table and a column

5225 10/04/2012 04:23 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: Renamed taxonpath -> taxonconcept as part of taxonomic schema refactoring at <https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/2012-10-03_conference_call#Taxonomic-schema-refactoring>

5224 10/04/2012 04:17 PM Aaron Marcuse-Kubitza

README.TXT: Schema changes: Syncing ERD with vegbien.sql schema: Added step to update mappings/VegCore-VegBIEN.csv with any renamings

5223 10/04/2012 04:10 PM Aaron Marcuse-Kubitza

README.TXT: Schema changes: Syncing ERD with vegbien.sql schema: Added step to update schemas/filter_ERD.csv with any table renamings

5222 10/04/2012 03:58 PM Aaron Marcuse-Kubitza

inputs/import.stats.xls: Updated import times. This now includes the half-hour-long pre-import of the TNRS taxonomic names (which the datasources then match up with), as well as the concatenation of the datasource's taxonomic name components to create or match up with the TNRS input name.

5221 10/04/2012 03:54 PM Aaron Marcuse-Kubitza

README.TXT: Data import: make backups/TNRS.backup/restore: Run it in the background because it takes awhile

5220 10/04/2012 03:53 PM Aaron Marcuse-Kubitza

README.TXT: Data import: Added steps to sync the TNRS schema to the latest version on vegbiendev

5219 10/04/2012 03:38 PM Aaron Marcuse-Kubitza

README.TXT: Data import: make inputs/download-logs: Added tnrs_log=1 so the TNRS daemon log is downloaded as well

5218 10/03/2012 01:55 PM Aaron Marcuse-Kubitza

Added inputs/test_taxonomic_names/Taxon/testNames.txt since this is test data, and thus can be under version control

5217 10/03/2012 01:55 PM Aaron Marcuse-Kubitza

Added inputs/test_taxonomic_names/README.TXT with Bob's comments

5216 10/03/2012 01:41 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxonpath.taxon_id: Changed comment to indicate that this used for parsed, not just accepted names. Parsed names have been standardized by TNRS but may be synonyms.

5215 10/03/2012 01:27 PM Aaron Marcuse-Kubitza

README.TXT: Documentation: To import and scrub just the test taxonomic names: Added `yes|` before make schemas/public/reinstall so the user isn't prompted to confirm the reinstallation a second time, and can just copy and paste the set of 5 commands directly into the terminal

5214 10/03/2012 01:11 PM Aaron Marcuse-Kubitza

tnrs_db: Made wait option default to off to facilitate running tnrs_db by itself, rather than as part of an import

5213 10/03/2012 01:08 PM Aaron Marcuse-Kubitza

tnrs_db: Added wait option to have tnrs_db exit as soon as no more names are available. This is useful for running tnrs_db when there is no concurrent import running, and therefore no need to wait for new data.

5212 10/03/2012 01:00 PM Aaron Marcuse-Kubitza

tnrs_db: Fixed the time of the "Waited" message so it that the total_pause (containing the next wait) would be incremented after the message was displayed. Split the "Waited" and "Waiting" messages into two separate messages.

5211 10/03/2012 12:51 PM Aaron Marcuse-Kubitza

README.TXT: Data import: Added steps to back up the TNRS cache, since it takes a long time to recreate. This also enables syncing it with a local machine when `make backups/download` is run.

5210 10/03/2012 12:47 PM Aaron Marcuse-Kubitza

README.TXT: Documentation: Added instructions to import and scrub just the test taxonomic names

5209 10/03/2012 12:41 PM Aaron Marcuse-Kubitza

input.Makefile: Staging tables installation: uninstall: For the TNRS datasource, prompt the user before deleting the schema, since the data in it is not easily reconstructible from a flat file

5208 10/03/2012 11:41 AM Aaron Marcuse-Kubitza

sql.py: map_expr(): When matching without quotes, support names containing spaces by not matching words when preceded or followed by quotes

5207 10/03/2012 11:24 AM Aaron Marcuse-Kubitza

sql.py: Expressions: bool_re: Also match parentheses surrounding the boolean value

5206 10/03/2012 08:57 AM Aaron Marcuse-Kubitza

README.TXT: Data import: import_all: Don't run with & because this prevents the created jobs from being owned by the calling shell. Instead, import the TNRS names as a separate backgrounded step and wait for it to finish before starting import_all. Removed TNRS import steps from import_all since these are now invoked separately.

5205 10/03/2012 08:35 AM Aaron Marcuse-Kubitza

README.TXT: Data import: Run import_all in the background, because it needs to import all the taxonomic names synchronously before it can start the datasource import in the background

5204 10/03/2012 08:19 AM Aaron Marcuse-Kubitza

Regenerated vegbien.ERD exports

5203 10/03/2012 08:14 AM Aaron Marcuse-Kubitza

inputs/.TNRS/tnrs/map.csv: Mapped Unmatched_terms to morphospecies because the morphospecies is what's left once named ranks are matched

5202 10/03/2012 08:11 AM Aaron Marcuse-Kubitza

mappings/VegCore-VegBIEN.csv: Mapped morphospecies

5201 10/03/2012 08:08 AM Aaron Marcuse-Kubitza

mappings/VegCore.csv: Added morphospecies

5200 10/03/2012 08:04 AM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxonpath: Added morphospecies

5199 10/03/2012 07:43 AM Aaron Marcuse-Kubitza

inputs/.TNRS/tnrs/test.xml.ref: Updated for latest TNRS output

5198 10/03/2012 06:40 AM Aaron Marcuse-Kubitza

inputs/.TNRS/tnrs/map.csv: Infraspecific_rank_2, Infraspecific_epithet_2_*: Mapped to UNUSED because they do not appear to be provided by TNRS (it just puts additional infraspecific names in Unmatched_terms)

5197 10/03/2012 06:34 AM Aaron Marcuse-Kubitza

inputs/.TNRS/tnrs/map.csv: Omit Infraspecific_rank because Name_matched_rank contains the unabbreviated rank and is provided more often

5196 10/03/2012 06:29 AM Aaron Marcuse-Kubitza

mappings/VegCore-VegBIEN.csv: Also map TNRS-parsed infraspecificEpithet (Infraspecific_epithet_matched) to taxon at the infraspecies rank

5195 10/03/2012 06:07 AM Aaron Marcuse-Kubitza

mappings/VegCore-VegBIEN.csv: Also map TNRS-parsed taxonomic ranks to the tree of life in the taxon table

5194 10/03/2012 05:18 AM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxon: Added comment that this table stores the tree of life

5193 10/03/2012 05:00 AM Aaron Marcuse-Kubitza

mappings/VegCore-VegBIEN.csv: accepted taxonomic terms: Use new _set_canon_taxonpath() to set the canon_taxonpath_id after the taxonpath has been inserted, so that if the taxonpath is an accepted name (scrubs to itself), it will link up to the just-inserted taxonpath with the taxonomic ranks parsed out, rather than to a new taxonpath containing only the few taxonomic ranks of the accepted name that TNRS provides. In particular, this (together with the tnrs_accepted_names sorting index on TNRS.tnrs) ensures that an accepted name is imported with its genus and species parsed out by TNRS instead of concatenated together in the Accepted_name_species field (genus+species). This enables the individual taxonomic ranks to be used in constructing the leaves of the tree of life (the taxon table).

5192 10/03/2012 04:50 AM Aaron Marcuse-Kubitza

sql_io.py: put_table(): Fixed bug where row_ct_ref was incorrectly being incremented when the iteration is a function call. This bug only occurred in row-based mode, because the DB cursor for a function call is not stored in column-based mode.

5191 10/03/2012 04:30 AM Aaron Marcuse-Kubitza

inputs/.TNRS/tnrs/map.csv: Use Name_matched_author/Name_matched_accepted_family instead of Author_matched/Family_matched because these fields are provided more often, due to being determined from the matched name itself rather than from the original string. This helps to fill in as many fields as possible. For accepted names (which scrub to themselves), this is especially important, because it adds the accepted name's family, which is not present in the input taxonomic name.

5190 10/03/2012 03:58 AM Aaron Marcuse-Kubitza

xml_func.py: process(): Fixed bug where need to preserve complex functions that have unevaluated XML nodes as arguments, because XML nodes are not accepted by sql_io.put() (they are handled by db_xml.put())

5189 10/03/2012 03:08 AM Aaron Marcuse-Kubitza

schemas/vegbien.sql: Renamed set_canon_taxonpath() to _set_canon_taxonpath() (adding _ prefix) so that db_xml.put() treats its arguments as arguments rather than as children with fkeys to parent

5188 10/03/2012 03:02 AM Aaron Marcuse-Kubitza

schemas/vegbien.sql: Added set_canon_taxonpath() to set a taxonpath's canon_taxonpath_id after it has been created

5187 10/03/2012 02:48 AM Aaron Marcuse-Kubitza

Added inputs/.TNRS/tnrs/cleanup.sql to cluster TNRS.tnrs on tnrs_accepted_names. This keeps TNRS.tnrs sorted with the accepted names first.

5186 10/03/2012 02:46 AM Aaron Marcuse-Kubitza

input.Makefile: Staging tables installation: %/cleanup: Also run any custom cleanup.sql provided in the subdir. %/install: Removed processing of postprocess.sql because no datasources are using it and because cleanup.sql can now be used for this purpose.

5185 10/03/2012 02:39 AM Aaron Marcuse-Kubitza

inputs/.TNRS/schema.sql: tnrs: Added tnrs_accepted_names index, which sorts accepted names first, and cluster the table on this index. This ensures that the component-parsed entries for accepted names are created before any verbatim names that point to them.

5184 10/03/2012 02:37 AM Aaron Marcuse-Kubitza

input.Makefile: Staging tables installation: %/cleanup: Documented that this removes any index comments, due to a PostgreSQL bug. (This occurs because ALTER TABLE recreates the index but not its comment.)

5183 10/03/2012 01:55 AM Aaron Marcuse-Kubitza

inputs/.TNRS/schema.sql: Removed hardcoded schema name

5182 10/03/2012 01:18 AM Aaron Marcuse-Kubitza

inputs/.TNRS/tnrs/map.csv: Changed Name_matched_accepted_family comment to match analogous Name_matched_author comment

5181 10/03/2012 01:17 AM Aaron Marcuse-Kubitza

inputs/.TNRS/tnrs/map.csv: Remapped Author_matched as the scientificNameAuthorship instead of Name_matched_author, because Name_matched_author contains the author based on the matched name, not the author in the original string, so it's not strictly from the original name

5180 10/03/2012 12:33 AM Aaron Marcuse-Kubitza

mappings/VegCore.csv: Added acceptedBinomial, originalBinomial

5179 10/03/2012 12:29 AM Aaron Marcuse-Kubitza

mappings/VegCore.csv: Added binomial

5178 10/03/2012 12:03 AM Aaron Marcuse-Kubitza

inputs/.TNRS/tnrs/map.csv: Mapped Specific_epithet_matched

5177 10/02/2012 11:53 PM Aaron Marcuse-Kubitza

Added inputs/test_taxonomic_names/

5176 10/02/2012 11:37 PM Aaron Marcuse-Kubitza

mappings/VegCore-VegBIEN.csv: taxonoccurrence.authortaxoncode: Only populate if needed to distinguish the taxonoccurrence within a plot

5175 10/02/2012 11:24 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: placepath: Removed no longer used placepath_unique constraint on place_id. Removed place_id from placepath_unique_within_datasource_by_name unique index because otherranks is now used to store custom ranks.

5174 10/02/2012 11:23 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: placepath: Removed no longer used placepath_unique constraint on place_id. Removed place_id from placepath_unique_within_datasource_by_name unique index because otherranks is now used to store custom ranks.

5173 10/02/2012 11:14 PM Aaron Marcuse-Kubitza

schemas/vegbien.sql: taxonpath, placepath: Added *_required_key check constraints to ensure that empty entries are not created when a row does not have taxonpath/placepath data

5172 10/02/2012 10:35 PM Aaron Marcuse-Kubitza

import_all: Use new dedicated cleanup make target to clean up TNRS.tnrs

5171 10/02/2012 09:54 PM Aaron Marcuse-Kubitza

tnrs.py: encode_map: Added hidden minus sign, which TNRS removes

5170 10/02/2012 09:44 PM Aaron Marcuse-Kubitza

csvs.py: tsv_encode_map: Escape \n as \n (instead of as a \ followed by a newline) for clarity. Added escape for \r by using strings.json_encode_map. TsvReader: Decode all escapes in tsv_encode_map.

5169 10/02/2012 09:25 PM Aaron Marcuse-Kubitza

tnrs.py: encode_map: Added × (times), which TNRS replaces with x

5168 10/02/2012 09:18 PM Aaron Marcuse-Kubitza

tnrs.py: encode_map: Added " and ', which TNRS removes when at the beginning or end

5167 10/02/2012 09:12 PM Aaron Marcuse-Kubitza

tnrs.py: encode_map: Documented why each character needs to be encoded

5166 10/02/2012 09:04 PM Aaron Marcuse-Kubitza

tnrs.py: encode_map: Removed '&', which is actually not a special character for TNRS (although ';' is)

5165 10/02/2012 09:02 PM Aaron Marcuse-Kubitza

tnrs.py: encode_map: Added '_', which TNRS replaces with space

5164 10/02/2012 08:56 PM Aaron Marcuse-Kubitza

sql_io.py: append_csv(): In INSERT mode, print # rows read (different from # lines read if some fields contained embedded newlines) and # rows inserted (different from # rows read if some violated a constraint)

5163 10/02/2012 08:42 PM Aaron Marcuse-Kubitza

sql.py: insert(): Explicitly return None if the insert failed and a DuplicateKeyException or NullValueException was suppressed

5162 10/02/2012 07:13 PM Aaron Marcuse-Kubitza

input.Makefile: Staging tables installation: $(logInstall*Add): Fixed bug where the existing install log would be overwritten in quiet mode, even though this function should append its output to the log. Note that plain $(logInstall*) always overwrites the existing install log because it is used by the first install command.

5161 10/02/2012 06:53 PM Aaron Marcuse-Kubitza

strings.py: json_encode(): Fixed bug where '\n' and '\r' also needed to be encoded

5160 10/02/2012 06:50 PM Aaron Marcuse-Kubitza

tnrs.py: repeated_tnrs_request(): Also retry request in debug mode if an HTTPError is thrown, so that debugging info can also be obtained if there is a bug in the TNRS client

5159 10/01/2012 10:44 PM Aaron Marcuse-Kubitza

tnrs_db: Updated query for new three-level taxonpath hierarchy, where the concatenated name is now stored in identifyingtaxonomicname instead of taxonomicnamewithauthor

5158 10/01/2012 10:41 PM Aaron Marcuse-Kubitza

root map: Removed no longer needed public schema override, which is now handled by vegbien_dest

5157 10/01/2012 10:40 PM Aaron Marcuse-Kubitza

vegbien_dest: Allow user to specify a custom public schema in the $public env var. This makes custom public schema functionality available to all VegBIEN-accessing scripts, not just map.

5156 10/01/2012 10:12 PM Aaron Marcuse-Kubitza

tnrs_db: Adjusted pause, max_pause so the daemon waits longer before exiting, because after the initial TNRS run, most names have already been scrubbed and new names may not be added until the end of the import (in the case of a very large new datasource)

5155 10/01/2012 09:44 PM Aaron Marcuse-Kubitza

input.Makefile: Staging tables installation: Added cleanup, %/cleanup to clean up already-installed tables

5154 10/01/2012 09:36 PM Aaron Marcuse-Kubitza

tnrs.py: encode(): Also prepend special padding string to empty and whitespace-only strings because these names are otherwise ignored by TNRS (no response row)

5153 10/01/2012 09:15 PM Aaron Marcuse-Kubitza

tnrs_db: pause: Increased to 30 min because if no new names are available in TNRS.tnrs, there is no need to check every minute for new names (which clutters up the log file output). The pause feature is designed to allow tnrs_db to run in parallel with the import process, and process new names as they are made available, which only happens once for each partition of each datasource.

5152 10/01/2012 09:11 PM Aaron Marcuse-Kubitza

tnrs_db: Fixed bug where the new filtering out of already-scrubbed names caused names to be skipped, because the loop would both advance by the number of rows found and those rows would no longer be returned by the query, causing only every other set of rows to be processed

5151 10/01/2012 08:58 PM Aaron Marcuse-Kubitza

tnrs.py: tnrs_request(): Rewrapped lines (became >80 chars after adding profiling)

5150 10/01/2012 08:52 PM Aaron Marcuse-Kubitza

tnrs.py: tnrs_request(): Use new encode() and TnrsOutputStream to escape TNRS-invalid characters

5149 10/01/2012 08:51 PM Aaron Marcuse-Kubitza

tnrs.py: Added encode(), decode(), decode_for_tsv(), and TnrsOutputStream to handle escaping TNRS-invalid characters

5148 10/01/2012 08:48 PM Aaron Marcuse-Kubitza

strings.py: Added regexp_repl_esc()

5147 10/01/2012 08:47 PM Aaron Marcuse-Kubitza

strings.py: Added replace_all() and replace_all_re(), as well as flip_map() for use with maps for these functions

5146 10/01/2012 08:46 PM Aaron Marcuse-Kubitza

csvs.py: Added tsv_encode_map for use in creating TSVs parsed by TsvReader

5145 10/01/2012 06:42 PM Aaron Marcuse-Kubitza

csvs.py: TsvReader: Also interpret '\t' as a tab, to provide a mechanism for encoding embedded tabs

5144 10/01/2012 05:47 PM Aaron Marcuse-Kubitza

tnrs.py: gwt_encode(): Escape special characters in the string instead of removing them, so that TNRS receives the original name rather than a modified version. This will help make the submitted names match up with the returned Name_submitted.

5143 10/01/2012 05:45 PM Aaron Marcuse-Kubitza

strings.py: Added json_encode()

5142 10/01/2012 05:44 PM Aaron Marcuse-Kubitza

strings.py: Added esc_quotes()