-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Talk to the CrossRef API/Solr #39
Comments
@jure Hi - can you elaborate more on your tweet? Are you looking for more parity between PLoS / CrossRef APIs? Note that you can query on all metadata via the query parameter: api.crossref.org/works?query=fish Which could act as a catch all for filter fields supported by PLoS but not CrossRef. Can add author as a textual filter field. What others? |
Hi @kjw, how nice of you to drop by :) Let's start the party then! Looks like it's not possible to search specifically in the title field or author field, which would be a nice addition. Basically two use cases:
And both of those are present in your schema, correctly indexed as well (text and text_name field types should work fine). Yes, I'm looking for more parity between these two APIs, so that we can replace the PLOS API powering http://almreports.plos.org/ with CrossRef's search. @kjw, would it help if I tell you when I'm done going through both of the APIs and figure out what would be crucial to add on your side to make the switch painless? |
@kjw: Not to make the APIs exactly the same, which doesn't make sense, but seeing the differences between the two APIs, you might agree that some features would be beneficial to have on your side as well. |
@jure No problem at all. Always looking for feedback on the CrossRef API. Yes if possible, the best path here for me would be a list of suggested changes in an issue on the http://github.com/CrossRef/rest-api-doc repo. |
Great, I'll let you know then at https://github.com/CrossRef/rest-api-doc, today or tomorrow morning, when I figure out what exactly would be good to add. Thanks for your help! |
https://github.com/articlemetrics/alm-report/blob/master/lib/solr_request.rb needs to be able to talk both to the PLOS and the CrossRef API.
An example search in all indexed fields and returning journal articles, looks like this for PLOS:
And like this for CrossRef's API:
PLOS allows us to filter by these fields:
And CrossRef allows us to filter by these fields:
has-funder
funder
{funder_id}
{funder_id}
in FundRef dataprefix
{owner_prefix}
{owner_prefix}
(e.g.10.1016
)member
{member_id}
from-index-date
{date}
{date}
until-index-date
{date}
{date}
from-deposit-date
{date}
{date}
until-deposit-date
{date}
{date}
from-update-date
{date}
{date}
. Currently the same asfrom-deposit-date
.until-update-date
{date}
{date}
. Currently the same asuntil-deposit-date
.from-first-deposit-date
{date}
{date}
[^*]until-first-deposit-date
{date}
{date}
[^*]from-pub-date
{date}
{date}
until-pub-date
{date}
{date}
has-license
<license_ref>
elements.license.url
{url}
<license_ref>
value equals{url}
license.version
{string}
<license_ref>
'sapplies_to
attribute is{string}
license.delay
{integer}
<license_ref>
'sstart_date
attribute is <={integer}
(in days)has-full-text
<resource>
elements.full-text.version
{string}
<resource>
element'scontent_version
attribute is{string}
.full-text.type
{mime_type}
<resource>
element'scontent_type
attribute is{mime_type}
(e.g.application/pdf
).public-references
has-references
has-archive
archive
{string}
{string}
has-orcid
orcid
{orcid}
<orcid>
element's value ={orcid}
issn
{issn}
{issn}
. Format isxxxx-xxxx
.type
{type}
{type}
. Type must be an ID value from the list of types returned by the/types
resourcedirectory
{directory}
{directory}
. Currently the only supported value isdoaj
.doi
{doi}
{doi}
updates
{doi}
{doi}
is-update
has-update-policy
container-title
publisher-name
category-name
type-name
award.number
{award_number}
award.funder
award.funder
{funder doi or id}
award.number
I'll update this issue as I go along.
The text was updated successfully, but these errors were encountered: