Can Optimade retreive properties values?

Dear community!
As I read from p. 6 of the Optimade API documentation, one can include property filter in a query, but I’m wondering, is it possible not just to filter on a property value but to retrieve properties values? In addition, I have two questions regarding properties names:

  • There are some examples of properties names in the Optimade API documentation, e.g. band_gap, cell_length_a and cell_volume. But can I somehow see the full list of possible properties?
  • There are also Database-Provider-Specific Namespace Prefixes and it is said in the documentation that lists of these prefixes are available at https://providers.optimade.org. However, I couldn’t find them there - can you please give an example for some database, e.g. Aflow or Materials Project?

Best regards,
Anton.

Hi @antonf86, anything that you can filter on can be retrieved. As you state, there are not really any properties standardized in the OPTIMADE API definition, but databases can describe and serve their own properties with a well-defined mechanism.
We have the annual workshop coming up this month where we will hopefully be refining this process to allow for richer descriptions (https://github.com/Materials-Consortia/OPTIMADE/pull/376).

These are just example properties, as you say. The list of standardized “properties” (attributes is probably more suitable term) is at the end of the specification, see e.g. for structures: OPTIMADE/optimade.rst at b7fc2e4b3db6e65a04d14536170d9f53ec600289 · Materials-Consortia/OPTIMADE · GitHub

The list of providers is hosted as an OPTIMADE links endpoint at https://providers.optimade.org/v1/links, which also shows the provider prefixes (the IDs). If you are interested in fields served by a particular provider, you want to look at the info endpoints /info or /info/structures/ endpoint, e.g., https://aflow.org/API/optimade/v1/info/structures which lists all of the fields served by AFLOW (or same for OQMD: oqmd.org/optimade/v1/info/structures) for structures. If a specific field that you want is not returned by default, you can request it with the response_fields parameter, e.g. https://oqmd.org/optimade/v1/structures?response_fields=chemical_formula_reduced,_oqmd_stability&filter=_oqmd_stability<0.01%20AND%20elements%20HAS%20"Na"

Hi, @ml-evs,
Thank you very much for a fast and detailed answer! Still, I have some refining questions:
1)

Directly from AFLOW we can extract e.g. Gruneisen parameter via “agl_gruneisen” keyword in the query, but it seems there are no such things listed in the above mentioned page. Does it mean that currently one can not deduce Gruneisen parameter and similar propeties from AFLOW via Optimade?
2)

May be I was not precise in my previous post. In p.6 of the API description there is a nice example of a query dealing with melting temperature http://example.org/optimade/v1/structures?filter=_exmpl_melting_point<300+AND+nelements=4+AND+chemical_formula_descriptive=“SiO2”&response_format=xml
However, I could not find this _exmpl_melting_point attribute anywhere else in the documentation as well as other similar attributes. Or this attribute is also just for an illustration?
3)

That is actually what I was looking for but unfortunately my attempt to make a similar query to the JARVIS database, which expected to retrieve band gap (_jarvisdft_optb88vdw_bandgap attribute), did not show it:
https://jarvis.nist.gov/optimade/jarvisdft/v1/structures/?response_fields=chemical_formula_reduced,_jarvisdft_optb88vdw_bandgap&filter=nelements=4
May be I am missing something?

Yes, it is up to the specific provider to choose which properties to serve via OPTIMADE (as well as their existing APIs). It actually seems like there are some issues with the aflow info/structures at the moment, for me the JSON response is cut off before the end… so your desired field may be hidden somewhere in there. Unfortunately there seem to be quite a few issues with AFLOW’s OPTIMADE API at the moment (as shown by the provider dashboard AFLOW: OPTIMADE provider dashboard), but perhaps they are currently working on the API ahead of our next meeting.

It is just for illustration, yes. _exmpl is the prefix we use for “example” data.

You are not missing anything, again, this looks like an implementation problem with JARVIS. Unfortunately they also have a few issues in the dashboard at the moment: Joint Automated Repository for Various Integrated Simulations (JARVIS): OPTIMADE provider dashboard (see also the issue I raised a few months ago: Invalid OPTIMADE API responses · Issue #221 · usnistgov/jarvis · GitHub)

The equivalent query to OQMD seems to work well: https://oqmd.org/optimade/v1/structures?response_fields=chemical_formula_reduced,_oqmd_band_gap&filter=nelements=4

I will try to raise some of these issues at the upcoming workshop, but depending on your interest you could perhaps also raise them with the providers directly.

Thank you, now it’s all clear to me!

Just in case you are interested @antonf86, we have a few remote spaces left at the upcoming OPTIMADE workshop (30th May-3rd June) where there will be tutorials and opportunities to ask/make requests to providers! CECAM - Open Databases Integration for Materials Design

Hi!
Thank you, yes, I think the hands-on sessions could be especially useful for me, so I’d like to participate remotely.

Best regards,
Anton.