Giter Site home page Giter Site logo

blr-website's People

Contributors

mguidoti avatar myrmoteras avatar punkish avatar tcatapano avatar teodorgeorgiev avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blr-website's Issues

BLR UI: explanation of what is being searched.

** Introduction / What is searched **

BLR is based on data liberated from publications. This includes taxonomic treatments, figures and its captions, tables and its captions, and bibliographic references. The current search is based on on treatments, both full text and indexed search based on semantically enhanced elements.

Searches are possible using Boolean operators, such as AND, OR

All search
This search is based on a full text search of treatments and the semantic enhanced elements., The results in include anything that has the respective author

testing website: search for taxon

What does the website search for in a search where taxon is selected?

Right now there is only a result, if a name is hitting something that is in the database.

E.g. searching for Cataglyphis gets some return.

It takes too long to get the data

It would be helpful if there is a statement how many treatmetns there are . This might be achieved by changing the order of the display on the left hand.

image

BLR website; adding links to ocellus, openbiodiv, synospecies

In our Arcadia report, we need to list a applications based on BLR/Zenodeo or the liberated data.

Since we have some very promising tools, such as ocellus, openBiodiv and synospecies, we should list them, may be under the API as examplar applications using our data? May be just the name and a short paragraph?

BLR website testing: access to data: API

Late at night, what is obvious what we forgot and is the real strenght, is that we have one, may be two APIs. Zenodeo, and and Zenodo.
We really must provide a link for API users on the front page, or at least a level below, and we must make a strong statement that this website is just scratching the surface of what could be done by the ingenious users of the data.

The goal of BLR is inspiring users to make use of the data, and with that wanting to add more data to BLR to make it even more powerful.

image

Facets filtering incorrect on test server

on the test site (http://blr.uplaysandbox.website) a "Journal" search for term "European" (http://z2.punkish.org/v2/treatments?facets=true&stats=true&journalTitle=European) returns a Treatments result set with the following JOURNALTITLE facet values counts:

European Jornal of Taxonomy (20)

European Journal of Protistology (1)

European Journal of Taxonomy (2168)

European Mosqito Bulletin (15)

Setting aside the issue of the misspelled "Jornal" in one of the values, filtering on the value "European Jornal of Taxonomy" does not seem to reduce the results to 20 as would be expected. Possibly related, when the facet value is selected and the results rewritten the API URL does not change to show whether the facet query was made.

Not clear where the bug source is so assigning to both @punkish and @teodorgeorgiev

Collection Code Search not working for Images and Publication data types

Hi Teodor,

I noticed that the collection code search isn't working and decided to dig in. We're not including this information for images neither publications on Zenodo, meaning that, Zenodeo can't query Zenodo by collection code for these two data types.

As we discussed in person, I think the most reasonable solution would be deactivate the Images and Publication buttons when the user select this type of query.

Thanks,

Dashboards Specs

The look and the type of the dashbords (charts, bars, etc.) will be decided later.

You can design the look of the charts later, however, you will have to provide me with the content of the charts now as I am making the API that will let you retrieve the stats. Here are my suggestions in this regard:

Think of each chart as a packet of stats with its x and y values (assuming it is an x-y type of chart). I will send each of those packets in the API result. All the charts, in any view, will be relevant to that particular result set. So, think of the URI that selected the "treatments" (for example), returning a set of treatments – the charts shown will reflect that returned result set.

On the very first instance, there will not be any user input. So the charts will represent the entire result set, that is, the entire set of treatments. Since the various bundles of stats will be packaged in the result set, think of bundles that could be universally useful. That way the API will be useful to everyone beyond just this website. If you want to make something very customized for your own use, then it is better to make several API calls to get the info you want and then calculate your own specific results on your end.

Always think it terms of resources – treatments, publications, images, etc. The API retrieves resources, and each API call retrieves a specific state of a specific resource. If you want to show more than one resource on a page, you will have to make more than one API call, one for each resource. If you want to show more than one specific states of a resource, you will have to make more than one API call, one for each state. And so on.

If you make multiple API calls, you can wrap them in a Promise to get your composite results.

Hope this helps.

Originally posted by @punkish in #4 (comment)

Image Object Type

Here are our comments for images endpoint

GET: /v2/images

We need to get requests with sortBy: title [ASC|DESC] parameter

For all facets we need for the same architecture like treatments for the following resources

/*
|---------------------------------
| Example
|---------------------------------
*/
{
    "facets": {
        "taxonomicRanks": [
            {
                "name": "Domain"
            },
            {
                "name": "Kingdom"
            }
        ],
        "journalTitles": [
            {
                "journalTitles": "Zookeys",
                "c": 1
            }
        ],
        "articleAuthors": [
            {
                "name": "Author name"
            }
        ],
        "publicationYears": [
            {
                "publicationYears": "2011",
                "c": 1
            }
        ],
        "publicationVolume": [
            {
                "publicationVolume": "12(4)",
                "c": 1
            }
        ],
        "fileFormat": [
            {
                "fileFormat": "jpeg",
                "c": 1
            }
        ],
        "citedByTreatments": [
            {
                "citedByTreatments": "yes",
                "c": 1
            },
            {
                "citedByTreatments": "no",
                "c": 1
            }
        ]
    }
}

In records object missing

{
    "records": [
        {
            
            "article_citation": "Authors + journalYear + articleTitle + journalTitle + journalVolume + journalIssue + + articleDoi + articlePages",
            "journalTitle": "..."
        }
    ]
    
}

BLR website: author is confusing and needs explanation?

When I use the search option "author", I am getting mainly authorities (author of a new species) and not authors of an article, which most people would expect.

We need to explain somewhere the search concepts.

For example, when I am searching for Fisher using the "All" option, I am getting anything from an author, authority to a string, such as "Fisher Hill" in a location.

Testing website: download of a search. How?

As a user, I am searching for some data and finally get what I want.

How can I download or save the search and its result?

For example, I am searching for "vector" and I want to have all the treatments or at least the link to the treatment that include this term.

Implement MVP of search page

implement html for search page (query, facet, result and feature options) for treatments and images, even without dynamic functionality

BLR Website testing: taxon treatments have nothing to do with author

Searching for "Agosti" I get all stuff which have nothing to do with Agosti, but may be I am mentioned somewhere which has nothing to do with treatments.

image

This is irritating and not helpful. It is like the full text search over BHL, which we make specific beause we extract authors, taxa in the GGI process. We need to make use of the tagged data we have in TB or in the metadata in BLR.
Thus agosti can show up as an author, authority, taxon

If we don't do this, then we ignore 15 years of development which sets us apart from the rest.

Create an overview of the architecture of BLR

For discussions and presentations we need at least a high level graphic description of the planned website, the services and data sources used, as well as a data worfklow.

Which API is use for what, eg Zenodo, Zenodeo, TreatmentBank, Synospecies, GBIF

Treatments are being served on the publications end point

We noticed that some treatments are being returned on the publications endpoint and we believe this is probably because the query passed to Zenodo includes only upload_type=publication parameter, not the publication_type parameter, which is needed to filter out the publication type Taxonomictreatments.

Treatment - fitler by RANK

When I search in treatments for "carabus" for the facet "Rank" I get the following options:

Family (1)
Subfamily (1)
Subtribe (1)
Tribe (1)
family (1)
genus (76)
species (135)
subGenus (82)
subSpecies (5)
subfamily (1)
subspecies (53)
tribe (1)

@myrmoteras Is that the expected result?

Also when I try to filter further by any of these I get 0 results.

image and publication resource endpoints

@howkins and @teodorgeorgiev, please note that the images and publications endpoints return the data from Zenodo as is, that is, without any modifications. The only difference between querying Zenodo directly vs querying Zenodeo is that the latter has a couple of convenience variations built in – for example, publications can be narrowed by type aka as subtype in Zenodo (for example publications?q=pilbara&type=taxonomictreatment). Also, Zenodeo returns only open access records as opposed to Zenodo that returns everything.

The main point here is that I am not sure if I can create facets for you. That data is not available to me to query and prepare the values as it is for treatments (I have access to the entire treatments database, not the Zenodo database), I am going to give this more thought and discuss this with @slint as well. We should pick this up during the sprint.

how to use Wildcards

What are the wildcards that can be used to search?

Using % at begin, provides anything that ends with the value added, eg %ata .. eg delicata, ustulata

Check provided specs versus current response versus what's needed

We should revise the specification written in the previous Arcadia Sprint meeting (Sep/2019), checking if it addresses all desired features on the display, facets and dashboards deeply discussed during the mockups iterations, and also check if the information needed is being currently provided by Zenodeo API.

Here are the related documents:
https://github.com/plazi/BLR-website/blob/master/dashboards_vision.md
https://github.com/plazi/BLR-website/blob/master/facets.md

https://github.com/plazi/BLR-website/blob/master/publication_type.md
https://github.com/plazi/BLR-website/blob/master/treatment_type.md
https://github.com/plazi/BLR-website/blob/master/image_type.md

Link to current BLR Website: http://blr.uplaysandbox.website/

Publications Objec Type

GET: /v2/publications

We need to get requests with sortBy: title [ASC|DESC] parameter

Facets

{
    "taxonomicRanks": [
            {
                "name": "Domain"
            },
            {
                "name": "Kingdom"
            }
        ],
        "journalTitles": [
            {
                "journalTitles": "Zookeys",
                "c": 1
            }
        ],
        "articleAuthors": [
            {
                "name": "Author name"
            }
        ],
        "publicationYears": [
            {
                "publicationYears": "2011",
                "c": 1
            }
        ],
        "publicationVolume": [
            {
                "publicationVolume": "12(4)",
                "c": 1
            }
        ],
        "publicationType": [
            {
                "publicationType": "research article",
                "c": 1
            }
        ],
        "includeTreatments": [
            {
                "includeTreatments": "yes",
                "c": 1
            }
            {
                "includeTreatments": "no",
                "c": 1
            }
        ],
        "hasFigures": [
            {
                "hasFigures": "yes",
                "c": 1
            }
            {
                "hasFigures": "no",
                "c": 1
            }
        ],
}

In records object missing

{
    "records": [
        {
            "hasFigures": (true|false),
            "hasTreatment" : (true|false)
        }
    ]
    
}

testing website: limitation of what search terms can be used

it is not clear, what terms can be used to search. This should be defined

I enter "and", the BLR spins, and after a while it stops without any results.
I enter "sea", I am getting 121299 treatments. When I open the first record and "treatmentBank" then I can find via search that "sea" is in the treatment. this is not the case in "Zenodo". How does the system now, that this article has "sea" inside?

image

I enter "sea level" I get hits (16 taxonomic treatments"

I enter "host" I am getting 18.078 records

I enter "vector" I am getting 169 records

This is very helpful.

Implement MVP index page

create layout of index page, as per vision.md, regardless if dynamic components (query box, map, etc...) dont work

Exact searches might not be the case here

Hi Puneet,

So, Teodor just notice that the v2/treatments endpoint only returns exact matches with the query.

This is being used in the Taxon search, because the user can't/won't specify on the query which taxonomic rank he/she is interested in (thus we can't use a rank-specific parameter), and treatment titles will always have the taxon name, meaning that, they can be used to search by taxon if and only if the API is not only returning exact matches.

According to our testing, the same applies for authors' names, journals' names and communities.

The only desired exact search is really on collection codes.

fix ranks counting on facets

We noticed that when querying for 'carabus' on the full-text option we ended getting wrong numbers for the taxonomic ranks facet.

E.g: Family was equal to 1, but under the family facet, we notice more than one family available.

WEbsite: Search term delimitation

How can a restraion the search, so that I only get the terms for the word I am searching for, not all other combination, such as
Bat
but not Bathygnathus, Bathydraco...

CollectionCode & Taxon Status in Facets

The current version of the API returns "collectionCode" & "status", but do not offer them as search parameters. This is why these facets do not work.

image

The possibilities are:
Option 1: to add them in the API
Option 2: to remove them from the facets

@myrmoteras Please let us know how to proceed and assign this issue to me or @punkish according to your decision.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.