[API-users] Is there any NEO4J or graph-based driver for this API ?
Nils Hempelmann
info at nilshempelmann.de
Wed Jun 1 16:48:33 CEST 2016
Hi Juan et al
Yes phoenix has a search inter-phase to ESGF data ( but you can use
other climate data archives as well ).
Here are some preliminary screen shots:
http://flyingpigeon.readthedocs.io/en/latest/tutorials/sdm.html
Best
Nils
On 01/06/2016 16:06, Juan M. Escamilla Molgora wrote:
>
> Hi Nils,
>
> Thank you for sharing!
>
> How is phoenix about? Does it connects to the ESGF network? It's the
> first time I read about this. Looks very very interesting!
>
>
> Thanks everybody for these valuable feedback.
>
> Best wishes
>
>
> Juan
>
>
>
> On 01/06/16 10:09, Nils Hempelmann wrote:
>> Hi Juan et al
>>
>> Thanks a lot for triggering this discussion.
>> I am currently working on a Web processing service
>> (http://birdhouse.readthedocs.io/en/latest/) including a species
>> distribution model based on the GBIF data (and climate model data). A
>> good connection to GBIF database is still missing and all hints were
>> quite useful!!
>>
>> If you want to share code:
>> https://github.com/bird-house/flyingpigeon/blob/master/flyingpigeon/processes/wps_sdm.py
>>
>>
>> Merci
>> Nils
>>
>> On 31/05/2016 22:08, Juan M. Escamilla Molgora wrote:
>>>
>>> Hi Tim,
>>>
>>> Thank you! specially for the DwC-A hint.
>>>
>>> The cells are by default in decimal degrees, (wgs84 ) but the
>>> functions for generating them are general enough to use any
>>> projection supported by gdal using postgis. It could be done "on the
>>> fly" or stored on the server side,
>>>
>>> I was thinking (day dreaming) in a standard way for coding unique
>>> but universal grids (similar to geohash or open location code), but
>>> didn't find something fast and ready. Maybe later :)
>>>
>>> I only use Open Source Software, Python, Django, GDAL, Numpy,
>>> Postgis, Conda, Py2Neo, ete2 among others.
>>>
>>> Currently I don't have an official release and the project is quite
>>> inmature, unstable as well as the installation could be non
>>> trivial. I'm fixing all these issues but will take some time,sorry
>>> for this.
>>>
>>> The github repository is:
>>>
>>> https://github.com/molgor/biospytial.git
>>>
>>> An there's a very old documentation here:
>>>
>>> http://test.holobio.me/modules/gbif_taxonomy_class.html
>>>
>>> Please feel free to follow!
>>>
>>>
>>> Best wishes
>>>
>>>
>>> Juan
>>>
>>> P.s. The functions for generating the grid are in:
>>> biospytial/SQL_functions
>>>
>>>
>>>
>>>
>>>
>>> On 31/05/16 19:47, Tim Robertson wrote:
>>>> Thanks Juan
>>>>
>>>> You're quite right - you need the DwC-A download format to get
>>>> those IDs.
>>>>
>>>> Are the cells decimal degrees, and then partitioned into smaller
>>>> units, or equal area cells or maybe UTM grids or something else
>>>> perhaps? I am just curious.
>>>>
>>>> Are you developing this as OSS? I'd like to follow progress if
>>>> possible?
>>>>
>>>> Thanks,
>>>> Tim,
>>>>
>>>> On 31 May 2016, at 20:31, Juan M. Escamilla Molgora
>>>> <j.escamillamolgora at lancaster.ac.uk> wrote:
>>>>
>>>>> Hi Tim,
>>>>>
>>>>> The grid is made by selecting a square area and divide it in nxn
>>>>> subsquares which form a partition on the bigger square.
>>>>>
>>>>> Each grid is a table in postgis and there's a mapping between this
>>>>> table to a django model (class).
>>>>>
>>>>> The class constructor have attributes: id, cell and neighbours
>>>>> (next release).
>>>>>
>>>>> The cell is a polygon (square) and with geodjango inherits the
>>>>> properties of the osgeo module for polygons.
>>>>>
>>>>> I've tried to use the CSV data (downloaded as a CSV request ) but
>>>>> I couldn't find a way to obtain the global id's for each taxonomic
>>>>> level (idspecies, idgenus, idfamily, etc).
>>>>>
>>>>> Do you know a way for obtaining these fields?
>>>>>
>>>>>
>>>>> Thank you for your email and best wishes,
>>>>>
>>>>>
>>>>> Juan
>>>>>
>>>>>
>>>>> On 31/05/16 19:03, Tim Robertson wrote:
>>>>>> Hi Juan
>>>>>>
>>>>>> That sounds like a fun project!
>>>>>>
>>>>>> Can you please describe your grid / cells?
>>>>>>
>>>>>> Most likely your best bet will be to use the download API (as CSV
>>>>>> data) and ingest that. The other APIs will likely hit limits
>>>>>> (e.g. You can't page through indefinitely).
>>>>>>
>>>>>> Thanks,
>>>>>> Tim
>>>>>>
>>>>>> On 31 May 2016, at 18:55, Juan M. Escamilla Molgora
>>>>>> <j.escamillamolgora at lancaster.ac.uk> wrote:
>>>>>>
>>>>>>> Dear all,
>>>>>>>
>>>>>>>
>>>>>>> Thank you very much for your valuable feedback!
>>>>>>>
>>>>>>>
>>>>>>> I'll explain a bit what I'm doing just to clarify, sorry if this
>>>>>>> spam to some.
>>>>>>>
>>>>>>>
>>>>>>> I want to build a model for species assemblages based on
>>>>>>> co-occurrence of taxa within an arbitrary area. I'm building a
>>>>>>> 2D lattice in which for each cell I'm collapsing the data into a
>>>>>>> taxonomic tree (the occurrences). For doing this I need first to
>>>>>>> obtain the data from the gbif api and later, based on the ids
>>>>>>> (or names) of each taxonomic level (from kingdom to occurrence)
>>>>>>> build a tree coupled to each cell.
>>>>>>>
>>>>>>>
>>>>>>> The implementation is done with postgresql (postgis) for storing
>>>>>>> the raw gbif data and neo4j for storing the relation
>>>>>>>
>>>>>>> "Being a member of the [ specie, genus, family,,,] [name/id]"
>>>>>>> The idea is to include data from different sources similar to
>>>>>>> the project Matthew and Jennifer had mentioned (which I'm very
>>>>>>> interested and like to hear more) and traverse the network
>>>>>>> looking for significant merged information.
>>>>>>>
>>>>>>>
>>>>>>> One of the immediate problems I've found is to import big chunks
>>>>>>> of the gbif data into my specification. Thanks to this thread
>>>>>>> I've found the tools that are the most used by the community
>>>>>>> (pygbif,rgbif, and python-dwca-reader). I was using urlib2 and
>>>>>>> things like that.
>>>>>>>
>>>>>>> I'll be happy to share any code or ideas with the people interested.
>>>>>>>
>>>>>>>
>>>>>>> Btw, I've checked the tinkerpop project which uses the Gremlin
>>>>>>> traversal language as independent from the DBMS.
>>>>>>>
>>>>>>> Perhaps it's possible to use it with spark and Guoda as well?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Does GOuda is working now?
>>>>>>>
>>>>>>>
>>>>>>> Best wishes
>>>>>>>
>>>>>>>
>>>>>>> Juan.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 31/05/16 17:02, Collins, Matthew wrote:
>>>>>>>>
>>>>>>>> Jorrit pointed out this thread to us at iDigBio. Downloading
>>>>>>>> and importing data into a relational database will work great,
>>>>>>>> especially if as Jan said you can cut the data size down to a
>>>>>>>> reasonable amount.
>>>>>>>>
>>>>>>>>
>>>>>>>> Another approach we've been working on in a collaboration
>>>>>>>> called GUODA [1] is to build an Apache Spark environment with
>>>>>>>> pre-formatted data frames with common data sets in them for
>>>>>>>> researchers to use. This approach would offer a remote service
>>>>>>>> where you could write arbitrary Spark code, probably in Jupyter
>>>>>>>> notebooks, to iterate over data. Spark does a lot of cool stuff
>>>>>>>> including GraphX which might be of interest. This is definitely
>>>>>>>> pre-alpha at this point and if anyone is interested, I'd like
>>>>>>>> to hear your thoughts. I'll also be at SPNHC talking about this.
>>>>>>>>
>>>>>>>>
>>>>>>>> One thing we've found in working on this is that importing data
>>>>>>>> into a structured data format isn't always easy. If you only
>>>>>>>> want a few columns, it'll be fine. But getting the data typing,
>>>>>>>> format standardization, and column name syntax of the whole
>>>>>>>> width of an iDigBio record right requires some code. I looked
>>>>>>>> to see if EcoData Retriever [2] had a GBIF data source and they
>>>>>>>> have an eBird one that perhaps you might find useful as a
>>>>>>>> starting point if you wanted to try to use someone else's code
>>>>>>>> to download and import data.
>>>>>>>>
>>>>>>>>
>>>>>>>> For other data structures like BHL, we're kind of making stuff
>>>>>>>> up since we're packaging a relational structure and not
>>>>>>>> something nearly as flat as GBIF and DWC stuff.
>>>>>>>>
>>>>>>>>
>>>>>>>> [1] http://guoda.bio/
>>>>>>>>
>>>>>>>> [2] http://www.ecodataretriever.org/
>>>>>>>>
>>>>>>>>
>>>>>>>> Matthew Collins
>>>>>>>> Technical Operations Manager
>>>>>>>> Advanced Computing and Information Systems Lab, ECE
>>>>>>>> University of Florida
>>>>>>>> 352-392-5414 <callto:352-392-5414>
>>>>>>>> ------------------------------------------------------------------------
>>>>>>>> *From:* jorrit poelen <jhpoelen at xs4all.nl>
>>>>>>>> *Sent:* Monday, May 30, 2016 11:16 AM
>>>>>>>> *To:* Collins, Matthew; Thompson, Alexander M; Hammock, Jennifer
>>>>>>>> *Subject:* Fwd: [API-users] Is there any NEO4J or graph-based
>>>>>>>> driver for this API ?
>>>>>>>> Hey y’all:
>>>>>>>>
>>>>>>>> Interesting request below on the GBIF mailing list - sounds
>>>>>>>> like a perfect fit for the GUODA use cases.
>>>>>>>>
>>>>>>>> Would it be too early to jump onto this thread and share our
>>>>>>>> efforts/vision?
>>>>>>>>
>>>>>>>> thx,
>>>>>>>> -jorrit
>>>>>>>>
>>>>>>>>> Begin forwarded message:
>>>>>>>>>
>>>>>>>>> *From: *Jan Legind <jlegind at gbif.org>
>>>>>>>>> *Subject: **Re: [API-users] Is there any NEO4J or graph-based
>>>>>>>>> driver for this API ?*
>>>>>>>>> *Date: *May 30, 2016 at 5:48:51 AM PDT
>>>>>>>>> *To: *Mauro Cavalcanti <maurobio at gmail.com>, "Juan M.
>>>>>>>>> Escamilla Molgora" <j.escamillamolgora at lancaster.ac.uk>
>>>>>>>>> *Cc: *"api-users at lists.gbif.org
>>>>>>>>> <mailto:api-users at lists.gbif.org>" <api-users at lists.gbif.org>
>>>>>>>>>
>>>>>>>>> Dear Juan,
>>>>>>>>> Unfortunately we have no tool for creating these kind of SQL
>>>>>>>>> like queries to the portal. I am sure you are aware that the
>>>>>>>>> filters in the occurrence search pages can be applied in
>>>>>>>>> combination in numerous ways. The API can go even further in
>>>>>>>>> this regard[1], but it not well suited for retrieving
>>>>>>>>> occurrence records since there is a 200.000 records ceiling
>>>>>>>>> making it unfit for species exceeding this number.
>>>>>>>>> There is going be updates to the pygbif package[2] in the near
>>>>>>>>> future that will enable you to launch user downloads
>>>>>>>>> programmatically where a whole list of different species can
>>>>>>>>> be used as a query parameter as well as adding polygons.[3]
>>>>>>>>> In the meantime, Mauro’s suggestion is excellent. If you can
>>>>>>>>> narrow your search down until it returns a manageable download
>>>>>>>>> (say less than 100 million records), importing this into a
>>>>>>>>> database should be doable. From there, you can refine using
>>>>>>>>> SQL queries.
>>>>>>>>> Best,
>>>>>>>>> Jan K. Legind, GBIF Data manager
>>>>>>>>> [1]http://www.gbif.org/developer/occurrence#search
>>>>>>>>> [2]https://github.com/sckott/pygbif
>>>>>>>>> [3]https://github.com/jlegind/GBIF-downloads
>>>>>>>>> *From:*API-users [mailto:api-users-bounces at lists.gbif.org]*On
>>>>>>>>> Behalf Of*Mauro Cavalcanti
>>>>>>>>> *Sent:*30. maj 2016 14:06
>>>>>>>>> *To:*Juan M. Escamilla Molgora
>>>>>>>>> *Cc:*api-users at lists.gbif.org
>>>>>>>>> *Subject:*Re: [API-users] Is there any NEO4J or graph-based
>>>>>>>>> driver for this API ?
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> One solution I have successfully adopted for this is to
>>>>>>>>> download the records (either "manually" via browser or, yet
>>>>>>>>> better, using a Python script using the fine pygbif library),
>>>>>>>>> storing them into a MySQL or SQLite database and then perform
>>>>>>>>> the relational queries. I can provide examples if you are
>>>>>>>>> interested.
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> 2016-05-30 8:59 GMT-03:00 Juan M. Escamilla Molgora
>>>>>>>>> <j.escamillamolgora at lancaster.ac.uk>:
>>>>>>>>> Hola,
>>>>>>>>>
>>>>>>>>> Is there any API for making relational queries like taxonomy,
>>>>>>>>> location or timestamp?
>>>>>>>>>
>>>>>>>>> Thank you and best wishes
>>>>>>>>>
>>>>>>>>> Juan
>>>>>>>>> _______________________________________________
>>>>>>>>> API-users mailing list
>>>>>>>>> API-users at lists.gbif.org <mailto:API-users at lists.gbif.org>
>>>>>>>>> http://lists.gbif.org/mailman/listinfo/api-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Dr. Mauro J. Cavalcanti
>>>>>>>>> E-mail:maurobio at gmail.com
>>>>>>>>> Web:http://sites.google.com/site/maurobio
>>>>>>>>> _______________________________________________
>>>>>>>>> API-users mailing list
>>>>>>>>> API-users at lists.gbif.org <mailto:API-users at lists.gbif.org>
>>>>>>>>> http://lists.gbif.org/mailman/listinfo/api-users
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> API-users mailing list
>>>>>>>> API-users at lists.gbif.org
>>>>>>>> http://lists.gbif.org/mailman/listinfo/api-users
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> API-users mailing list
>>>>>>> API-users at lists.gbif.org <mailto:API-users at lists.gbif.org>
>>>>>>> http://lists.gbif.org/mailman/listinfo/api-users
>>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> API-users mailing list
>>> API-users at lists.gbif.org
>>> http://lists.gbif.org/mailman/listinfo/api-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gbif.org/pipermail/api-users/attachments/20160601/e04faa11/attachment-0001.html>
More information about the API-users
mailing list