Project

General

Profile

1 2775 aaronmk
SALVIAS,VegBIEN:/plantobservation,Comments
2 3337 aaronmk
Line,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{./authorlocationcode,*_id/location:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode/_merge/2/_alt/2}","""{./"" sorts it before the location.datasource_id mapping with ""{.}"""
3
PlotCode,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{./parent_id/locationevent/{./authorlocationcode,*_id/location:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode/_alt/2},*_id/location:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode/_merge/1/_alt/2}","Brad: Same as plotCode, above; ""{./"" sorts it before the location.datasource_id mapping with ""{.}"""
4
PlotID,"/aggregateoccurrence/*_id/taxonoccurrence/*_id/locationevent/{./parent_id/locationevent/{./sourceaccessioncode,*_id/location:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode/_alt/1},*_id/location:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/sourceaccessioncode/_merge/1/_alt/1}","Brad: Not sure why this is repeated? This field and plotCode, as the same as above.; ""{./"" sorts it before the location.datasource_id mapping with ""{.}"""
5 1843 aaronmk
Habit,"/aggregateoccurrence/*_id/taxonoccurrence/growthform/_map:[./{T,Arbol,palm}=tree,./{H,""Hemiepífito""}=hemiepiphyte,./{L,l,""L?"",Liana}=liana,E=epiphyte,S=shrub,Hb=herb,""vine-herbaceous""=vine,graminoid=grass,rosette=forb,*=]/value","Brad: Incorrect for VegBank, correct for VegX. This is growth form (tree, shrub, herb, etc.). It is an observation of a trait."
6
infra_rank_1,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/first",
7
auth,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=authority]/plantname",Brad: Incorrect. This is the author of the scientificName. The should be a place for this in the taxonomic name elements of VegB and VegX. Let's discuss.
8
infra_ep_1,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=subspecies]/plantname/_name/last",
9
Species,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=species]/plantname",
10
Genus,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=genus]/plantname",
11
Family,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=computer]:[iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",
12 2341 aaronmk
cfaff,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]/{taxonfit/_alt/2,*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/last}","Brad: Not sure where this goes. Indicator of identification uncertainty. 'cf.'=similar to the species listed, 'aff.'=related to the species list, but not the same. You'll need to check with Bob and with Nick where these go in VegX and VegBank."
13 2019 aaronmk
OrigGenus,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first/_name/first",
14
OrigSpecies,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[],do=""plantname[rank=_val]/parent_id""]/plantname[rank=binomial]/plantname/_name/first/_name/last",Brad: OMIT
15 1843 aaronmk
OrigFamily,"/aggregateoccurrence/*_id/taxonoccurrence/taxondetermination[role=identifier]:[isoriginal=true,iscurrent=true]/*_id/plantconcept/plantname_id/_simplifyPath:[next=""parent_id/plantname"",require=plantname]/path/_forEach:[in:[binomial,authority,subspecies,species,genus,],do=""plantname[rank=_val]/parent_id""]/plantname[rank=family]/plantname",Brad: OMIT
16
coll_firstname,/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/first,Brad: See comment above
17
coll_lastname,/aggregateoccurrence/*_id/taxonoccurrence/verbatimcollectorname/_name/last,"Brad: Correct for VegBank. This is the collector of a separate specimen which vouchers this tree or species. I worry that vouchers are not properly accommodated in VegX. Again, we need to check with Nick."
18 727 aaronmk
NoInd,/aggregateoccurrence/count,"Brad: Incorrect for VegX. This is a count of number of indiiduals for an *aggregate* observation. For VegBank, I'm not sure. Not exactly the same as stemCount. An individual tree could have 3 stems but would still only count as 1. We need to check with Bob on this."
19
cover_percent,/aggregateoccurrence/cover,
20 1223 aaronmk
census_no,"/aggregateoccurrence/definedvalue[*_id/userdefined[tablename=aggregateoccurrence,userdefinedname=censusNo]]:[@fkey=tablerecord_id]/definedvalue","Brad: Assigned by SALVIAS. 1 for first plot, then 2, 3, etc. I can't recall if we even have repeat censuses in SALVIAS. Probably not."
21 1220 aaronmk
intercept_cm,/aggregateoccurrence/linecover,"Brad: Incorrect for VegBank This is an aggregate observation. Used in line-intercept methodology only, describes the point along centerline at which an individual intercepts the center line of the plot. Used to determin relative abundance."
22 1843 aaronmk
height_m,/overallheight,Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
23 3211 aaronmk
tag1,"/stemobservation/stemtag[""""/iscurrent/_alt/2=true]/tag","Brad: Another type of code, typically a number, used by the original data provider to indicate an individual tree. These are numbers on physical tags attached to the tree. Tag2 Is the same thing, only used if the first tag was lost. Obviously not a good system as it's possible a tree tag could be lost and changed more than once.; Quotes sort it before tag2"
24
tag2,/stemobservation/stemtag[iscurrent=true]:[../stemtag?[iscurrent/_alt/2=true]/iscurrent/_alt/1=false]/tag,"Brad: See commend for tag1. Your mapping for tag2 looks correct. Probably both values would go here, only nested, with one superceding the other."
25 1843 aaronmk
x_position,/stemobservation/xposition,"Brad: Correct for VegBank. I'm not so sure for VegX. Let's ask Nick about this. These are important, fundamental values of many tree plots, and should be accommodated within VegX."
26
y_position,/stemobservation/yposition,Brad: See comment above for x_position
27 3336 aaronmk
Ind,"/{./authorplantcode,./{aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence,_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]}/sourceaccessioncode/_alt/2}","Brad: Code, if any, used by the data provider to indicate an individual tree. Scope is unknown, although typically this value is unique only within plot, or sometimes only within subplot.; ""{./"" sorts it with other _ifs"
28
PlotObsID,"/{./sourceaccessioncode,./{aggregateoccurrence:[@merge=1]/*_id:[@merge=1]/taxonoccurrence,_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]}/sourceaccessioncode/_alt/1}","Brad: Neither is correct; this is just an internal ID for table plotObservations. However, it has the important property of uniquely identifying an ""observation"", which is an individual tree, in the case of an individual observation, or a records of a species with an associated count of individuals or measurement of percent cover, in the case of aggregate observations. Not sure where to store this. Main point is that it is not part of the original data, but an auto_increment added later.; ""{./"" sorts it with other _ifs"
29
coll_number,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/catalognumber_dwc/_alt/1","Brad: Incorrect. Map instead as for voucher_string; ""{.}"" sorts it with other _ifs"
30
SourceVoucher,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/catalognumber_dwc/_alt/2","Brad: OMIT. This is the verbatim text, which includes both collectors name and collection number. I would use coll_number, below.; ""{.}"" sorts it with other _ifs"
31
census_date,"/{.}/_if:[cond/_eq:[left/_ref[addr=""../../../../_ignore/voucherType""],right=direct]]/{then/specimenreplicate,else/aggregateoccurrence:[@merge=1]/*_id/taxonoccurrence/voucher/*_id/specimenreplicate}/:[datasource_id/party/organizationname/_alt/2=$/_ignore/inLabel]/collectiondate/_*/date","""{.}"" sorts it with other _ifs"
32 3223 aaronmk
DetType,/{.}/_ignore/voucherType,"Brad: A SALVIAS value referring to the relationship between the voucher specimen and the observation. Affect how the identification of the specimen(latin name) is transferred to the observation. 'direct'=voucher specimen was collected from this same tree; they are one and the same individual. 'indirect'=voucher specimen was collected for a different individual, but the original data provider confirmed that this is the same species. 'default'=basically same as 'indirect'. 'uncollected'=no voucher specimen, data provider  asserted that this was the name but was unable to collect. The main different is that with 'direct', 'indirect', and 'default', the scientific name can be updated automatically based on the name attached to the specimen voucher (assuming you have a link to that data, presumably from a herbarium database. Whereas, if det_type='uncollected', the name can never change because there is no specimen.; ""{"" sorts it after what uses it, so the _ignore is executed after the _refs"
33 1740 aaronmk
GenAuth,,** No input mapping for GenAuth **
34
IsMorpho,,** No input mapping for IsMorpho **
35 1843 aaronmk
Notes,,** No join mapping for /*ID->/*s/individualOrganism/*ID->/*s/taxonNameUsageConcept/note/text **
36 1740 aaronmk
OrigAuth,,** No input mapping for OrigAuth **
37
OrigRecordID,,** No input mapping for OrigRecordID **
38
SpAuthStatus,,** No input mapping for SpAuthStatus **
39 1843 aaronmk
canopy_form,,** No join mapping for /simpleUserdefined[name=canopyForm]/value ** Brad: Should also be userDefined for VegBank.
40
canopy_position,,** No join mapping for /simpleUserdefined[name=canopyPosition]/value ** Brad: Should also be userDefined for VegBank.
41 1740 aaronmk
coll_inits,,** No input mapping for coll_inits **
42 725 aaronmk
collector_code,,Brad: OMIT
43 1740 aaronmk
common_name,,** No input mapping for common_name **
44
det_by,,** No input mapping for det_by **
45
dist,,** No input mapping for dist **
46 725 aaronmk
fam_status,,Brad: OMIT. This will be determined later by using TNRS.
47
gen_status,,Brad: OMIT. This will be determined later by using TNRS.
48 1740 aaronmk
height_class,,** No input mapping for height_class **
49
height_m_commercial,,** No input mapping for height_m_commercial **
50 1843 aaronmk
ht_first_branch_m,,** No join mapping for /simpleUserdefined[name=heightFirstBranch]/value ** Brad: Incorrect for VegBank. This is a measurement applied to a single tree. Check with Bob
51 725 aaronmk
ind_id,,Brad: OMIT
52 1740 aaronmk
infra_auth_1,,** No input mapping for infra_auth_1 **
53 1843 aaronmk
liana_infestation,,** No join mapping for /simpleUserdefined[name=lianaInfestation]/value ** Brad: Should also be userDefined for VegBank.
54 1740 aaronmk
morphocf,,** No input mapping for morphocf **
55
morphoname,,** No input mapping for morphoname **
56 725 aaronmk
name_status,,"Brad: OMIT. Except, note that if species_status=3, this indicate that name is a morphospecies and not a standard latin name. Not exactly sure how to use this in BIEN, but could be useful during the name-scrubbing process with TNRS."
57 1740 aaronmk
other_annotations,,** No input mapping for other_annotations **
58
perp_dist,,** No input mapping for perp_dist **
59
phenology,,** No input mapping for phenology **
60
species_code,,** No input mapping for species_code **
61 1843 aaronmk
temp_dbh,,** No join mapping for /diameterBaseDistance[baseDistance/value=1.37]/diameter **
62 1740 aaronmk
temp_liandbh,,** No input mapping for temp_liandbh **
63
tmp_del,,** No input mapping for tmp_del **