I just realized that Materials Project has updated the query at website to include matching for experimentally confirmed structures, by using the property has_icsd_exptl_id. However, I cant find a way to use this property to query using MPRester query in python. If I try, for example, mp.query({“has_icsd_exptl_id”: True"}, [“pretty_formula”]), the results are blank.
Is there anyway to use MPAPI with has_icsd_exptl_id, as I am looking for only experimentally matched structures?
There is no such field. What we added was a theoretical flag that is False when we have confidence the structure comes from an experimental source. We use that plus having a list of ICSD IDs to filter for experimental ICSD compounds. We’re building up a few more experimental data sets so this will likely change in the future.
Yes, absolutely. You can use the MPRester.query() method and ask for the theoretical property. This is not documented yet so is considered subject to change, so use at your own risk: the data itself should be reliable, it is the interface to that data that might change.
Note that this is a three-valued flag: it can return False, True or None, where False means it is an experimentally-known structure, True means it is not, and None means we don’t have enough information at this point (in this case, you can assume it’s likely theoretical).
Has this changed? I’m not seeing it in the mapidoc. I’m guessing maybe it’s still just undocumented? (How is the 'theoretical' tag determined? - #4 by shyamd) I do see exp, but it’s not clear if this would be used. Asking here mostly because this pops up via Google search.
This is slightly better documented (all fields are present and typed), including theoretical. I believe the current flag is now a boolean and just True or False. @munrojm can confirm.
Once we’ve officially announced, we will archive the mapidoc repo and point it towards our new API documentation.