Unsure about Query error

I’ve started learning Julia today and have been trying to use it to work on some botany questions that I’ve been thinking about for a time now. I’ve stored two CSVs relevant to the problems in variables (which are DataFrames) called plots and species. I tried executing the following:

plots_w_elev = @from s in species begin
	@where s.currentTaxonName == "Pinus echinata"
	@join p in plots on s.OBSERVATION_ID equals p.OBSERVATION_ID
	@select {id=s.OBSERVATION_ID, elev=p.Elevation}
	@collect DataFrame
end

but was greeted by a rather unfriendly looking error whose cause I need help understanding:

ERROR: MethodError: no method matching NamedTuples._NT_OBSERVATION__ID_Author__Observation__Code_pcOrd__plot__code_Observation__Start__Date_Observation__End__Date_province_state_countyName_quadrangle_Confidentiality__Status_Real__Latitude_Real__Longitude_Location__Accuracy_Public__Latitude_Public__Longitude_realUTME_realUTMN_realUTMZone_Taxon__Observation__Area_Stem__Observation__Area_Effort__Level_Floristic__Quality_Bryophyte__Quality_Lichen
...
Closest candidates are:
  NamedTuples._NT_OBSERVATION__ID_Author__Observation__Code_pcOrd__plot__code_Observation__Start__Date_Observation__End__Date_province_state_countyName_quadrangle_Confidentiality__Status_Real__Latitude_Real__Longitude_Location__Accuracy_Public__Latitude_Public__Longitude_realUTME_realUTMN_realUTMZone_Taxon__Observation__Area_Stem__Observation__Area_Effort__Level_Floristic__Quality_Bryophyte__Quality_Lichen
...
{Int64}}{T}(::Any) at sysimg.jl:53
in #52 at base/task.jl:60
in macro expansion at Atom/src/eval.jl:49
in withpath at Atom/src/eval.jl:38
in withpath at CodeTools/src/utils.jl:30
in #53 at Atom/src/eval.jl:50
in include_string at CodeTools/src/eval.jl:34
in include_string at CodeTools/src/eval.jl:30
in collect at Query/src/sinks/sink_type.jl:2
in Type at IterableTables/src/integrations/dataframes.jl:125
in _DataFrame at IterableTables/src/integrations/dataframes.jl:116
in _filldf at IterableTables/src/integrations/dataframes.jl:79
in macro expansion at IterableTables/src/integrations/dataframes.jl:91
in start at Query/src/enumerable/enumerable_convert2nullable.jl:43
in start at Query/src/enumerable/enumerable_join.jl:40
in next at Query/src/enumerable/enumerable_convert2datavalue.jl:47
in macro expansion at Query/src/enumerable/enumerable_convert2datavalue.jl:58
in next at Query/src/sources/source_iterable.jl:29
in next at IterableTables/src/integrations/dataframes.jl:55
in macro expansion at IterableTables/src/integrations/dataframes.jl:67

Any help would be appreciated. Thanks!

Can you try this on julia 0.6, making sure you have the latest packages (i.e. do a Pkg.update())? I just tried the same query on some made-up data and it seemed to work for me on the latest released version of Query.jl.

3 Likes

Yeah. Bumping Julia from 0.53 to 0.6 fixed it. Thanks for suggesting that!