Part 5 - Field-Specific Helper Functions

[1]:
from mdf_forge.forge import Forge
[2]:
mdf = Forge()

Field-Specific Query Builders

match_source_names

match_source_names() matches values against the "mdf.source_name" field. It is equivalent to chaining match_field("mdf.source_name", value) for each value.

[3]:
mdf.match_source_names("oqmd")
[3]:
<mdf_forge.forge.Forge at 0x7f70957c4240>
[4]:
res = mdf.search(limit=10)
res[0]
[4]:
{'crystal_structure': {'number_of_atoms': 4,
  'space_group_number': 225,
  'volume': 66.7282},
 'dft': {'converged': True,
  'cutoff_energy': 247.5,
  'exchange_correlation_functional': 'PBE'},
 'files': [{'data_type': 'ASCII text, with very long lines, with no line terminators',
   'filename': '670930.json',
   'globus': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/oqmd_v13/670930.json',
   'length': 11138,
   'mime_type': 'text/plain',
   'sha512': 'a87051ace78249013ba17d331586f2470868e5e573e0bce347d22205f2a224a25772690ca8c7b78dce1743c98a2d585a09d74a062bc05bd8331de77d4c40d54d',
   'url': 'https://e38ee745-6d04-11e5-ba46-22000b92c6ec.e.globus.org/MDF/mdf_connect/prod/data/oqmd_v13/670930.json'}],
 'material': {'composition': 'Be2Lu1Sn1', 'elements': ['Be', 'Lu', 'Sn']},
 'mdf': {'ingest_date': '2018-11-09T19:44:43.687681Z',
  'mdf_id': '5be5e3af2ef388650efd6708',
  'parent_id': '5be5e3ab2ef388650efd6704',
  'resource_type': 'record',
  'scroll_id': 4,
  'source_id': 'oqmd_v13',
  'source_name': 'oqmd',
  'version': 13},
 'oqmd': {'band_gap': {'units': 'eV', 'value': 0.0},
  'configuration': 'fine_relax',
  'magnetic_moment': {'units': 'bohr/atom'},
  'total_energy': {'units': 'eV/atom', 'value': -3.7894355225},
  'volume_pa': {'units': 'angstrom^3/atom', 'value': 16.6821}}}

match_records

match_records() matches one or more specific records from a specific dataset. It matches the source_name against the "mdf.source_name" field and the scroll_id values against the mdf.scroll_id field.

[5]:
mdf.match_records("cip", [1003, 1006])
[5]:
<mdf_forge.forge.Forge at 0x7f70957c4240>
[6]:
res = mdf.search()
res[0]
[6]:
{'cip': {'bv': '300.9',
  'energy': '-2.67',
  'forcefield': 'ffield.CuOCH.comb3',
  'gv': '103.8',
  'mpid': 'mp-703914',
  'totenergy': '-1538.4116'},
 'files': [{'data_type': 'ASCII text, with very long lines, with no line terminators',
   'filename': 'classical_interatomic_potentials.json',
   'globus': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/cip_v1/classical_interatomic_potentials.json',
   'length': 1841203,
   'mime_type': 'text/plain',
   'sha512': '96635ee0c15d1d0187b18805653a02b1a6dfa5648db82153467045de18adcc08c753e2897d2b48a78a2167a442219e9aeff6b1103732c2158facac8fa4911b33',
   'url': 'https://e38ee745-6d04-11e5-ba46-22000b92c6ec.e.globus.org/MDF/mdf_connect/prod/data/cip_v1/classical_interatomic_potentials.json'}],
 'material': {'composition': 'Cu192 O384', 'elements': ['Cu', 'O']},
 'mdf': {'ingest_date': '2018-10-29T17:47:57.468388Z',
  'mdf_id': '5bd747cf2ef3880b0f2139bf',
  'parent_id': '5bd747cd2ef3880b0f2135d1',
  'resource_type': 'record',
  'scroll_id': 1006,
  'source_id': 'cip_v1',
  'source_name': 'cip',
  'version': 1}}

match_elements

match_elements() matches values against the "materials.elements" field. It is equivalent to chaining match_field("materials.elements", value) for each value.

[7]:
mdf.match_elements(["Al", "Cu"])
[7]:
<mdf_forge.forge.Forge at 0x7f70957c4240>
[8]:
res = mdf.search(limit=10)
res[0]
[8]:
{'cip': {'bv': '121.8',
  'energy': '-3.63',
  'forcefield': 'AlCu.eam.alloy',
  'gv': '43.5',
  'mpid': 'mp-12777',
  'totenergy': '-464.16852'},
 'files': [{'data_type': 'ASCII text, with very long lines, with no line terminators',
   'filename': 'classical_interatomic_potentials.json',
   'globus': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/cip_v1/classical_interatomic_potentials.json',
   'length': 1841203,
   'mime_type': 'text/plain',
   'sha512': '96635ee0c15d1d0187b18805653a02b1a6dfa5648db82153467045de18adcc08c753e2897d2b48a78a2167a442219e9aeff6b1103732c2158facac8fa4911b33',
   'url': 'https://e38ee745-6d04-11e5-ba46-22000b92c6ec.e.globus.org/MDF/mdf_connect/prod/data/cip_v1/classical_interatomic_potentials.json'}],
 'material': {'composition': 'Al32 Cu96', 'elements': ['Al', 'Cu']},
 'mdf': {'ingest_date': '2018-10-29T17:47:57.468388Z',
  'mdf_id': '5bd747d32ef3880b0f2142a4',
  'parent_id': '5bd747cd2ef3880b0f2135d1',
  'resource_type': 'record',
  'scroll_id': 3283,
  'source_id': 'cip_v1',
  'source_name': 'cip',
  'version': 1}}

match_resource_types

match_resource_types() matches values against the "mdf.resource_types" field. It is equivalent to chaining match_field("mdf.resource_types", value) for each value.

[9]:
mdf.match_resource_types("record")
[9]:
<mdf_forge.forge.Forge at 0x7f70957c4240>
[10]:
res = mdf.search(limit=10)
res[0]
[10]:
{'cip': {'bv': '30535.3',
  'energy': '-0.37',
  'forcefield': 'Fe-P.eam.fs',
  'gv': '-1878841.7',
  'mpid': 'mp-130',
  'totenergy': '-17.804778'},
 'files': [{'data_type': 'ASCII text, with very long lines, with no line terminators',
   'filename': 'classical_interatomic_potentials.json',
   'globus': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/cip_v1/classical_interatomic_potentials.json',
   'length': 1841203,
   'mime_type': 'text/plain',
   'sha512': '96635ee0c15d1d0187b18805653a02b1a6dfa5648db82153467045de18adcc08c753e2897d2b48a78a2167a442219e9aeff6b1103732c2158facac8fa4911b33',
   'url': 'https://e38ee745-6d04-11e5-ba46-22000b92c6ec.e.globus.org/MDF/mdf_connect/prod/data/cip_v1/classical_interatomic_potentials.json'}],
 'material': {'composition': 'P48', 'elements': ['P']},
 'mdf': {'ingest_date': '2018-10-29T17:47:57.468388Z',
  'mdf_id': '5bd747cd2ef3880b0f21369b',
  'parent_id': '5bd747cd2ef3880b0f2135d1',
  'resource_type': 'record',
  'scroll_id': 202,
  'source_id': 'cip_v1',
  'source_name': 'cip',
  'version': 1}}

match_titles

match_titles() matches values against the "dc.titles.title" field. It is equivalent to chaining match_field("dc.titles.title", value) for each value.

Remember, values with special characters (like spaces) need to be wrapped in double quotes.

[11]:
mdf.match_titles('"The Open Quantum Materials Database"')
[11]:
<mdf_forge.forge.Forge at 0x7f70957c4240>
[12]:
mdf.search()
[12]:
[{'data': {'endpoint_path': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/oqmd_v13/',
   'link': 'https://www.globus.org/app/transfer?origin_id=e38ee745-6d04-11e5-ba46-22000b92c6ec&origin_path=/MDF/mdf_connect/prod/data/oqmd_v13/'},
  'dc': {'creators': [{'affiliations': ['Northwestern University'],
     'creatorName': 'Wolverton, Chris',
     'familyName': 'Wolverton',
     'givenName': 'Chris'},
    {'affiliations': ['Northwestern University'],
     'creatorName': 'Kirklin, Scott',
     'familyName': 'Kirklin',
     'givenName': 'Scott'},
    {'affiliations': ['Northwestern University'],
     'creatorName': 'Hegde, Vinay',
     'familyName': 'Hegde',
     'givenName': 'Vinay'},
    {'affiliations': ['Northwestern University'],
     'creatorName': 'Ward, Logan',
     'familyName': 'Ward',
     'givenName': 'Logan'}],
   'descriptions': [{'description': 'The OQMD is a database of DFT-calculated thermodynamic and structural properties.',
     'descriptionType': 'Other'}],
   'publicationYear': '2013',
   'publisher': 'Materials Data Facility',
   'relatedIdentifiers': [{'relatedIdentifier': 'http://dx.doi.org/10.1007/s11837-013-0755-4',
     'relatedIdentifierType': 'DOI',
     'relationType': 'IsPartOf'},
    {'relatedIdentifier': 'http://dx.doi.org/10.1038/npjcompumats.2015.10',
     'relatedIdentifierType': 'DOI',
     'relationType': 'IsPartOf'}],
   'resourceType': {'resourceType': 'Dataset',
    'resourceTypeGeneral': 'Dataset'},
   'titles': [{'title': 'The Open Quantum Materials Database'}]},
  'mdf': {'ingest_date': '2018-11-09T19:44:43.687681Z',
   'mdf_id': '5be5e3ab2ef388650efd6704',
   'resource_type': 'dataset',
   'scroll_id': 0,
   'source_id': 'oqmd_v13',
   'source_name': 'oqmd',
   'version': 13},
  'oqmd': {'__custom.band_gap_desc': 'Band gap energy (eV)',
   '__custom.configuration_desc': 'OQMD configuration profile used in calculation',
   '__custom.delta_e_desc': 'Formation enthalpy (eV/atom)',
   '__custom.magnetic_moment_desc': 'Magnetic moment (Bohr/atom)',
   '__custom.stability_desc': 'Distance from formation enthalpy convex hull. Unstable compounds have positive values (eV/atom)',
   '__custom.total_energy_desc': 'Total enregy (eV/atom)',
   '__custom.volume_pa_desc': 'Volume per atom (Angstom^3/atom)'},
  'services': {'mdf_search': 'This dataset was ingested to MDF Search.'}}]

match_years

match_years() matches values against the "dc.publicationYear" field.

[13]:
mdf.match_years(["2015", 2010])
[13]:
<mdf_forge.forge.Forge at 0x7f70957c4240>
[14]:
res = mdf.search(limit=10)
res[0]
[14]:
{'data': {'endpoint_path': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/mdr_item_571_v1/',
  'link': 'https://www.globus.org/app/transfer?origin_id=e38ee745-6d04-11e5-ba46-22000b92c6ec&origin_path=/MDF/mdf_connect/prod/data/mdr_item_571_v1/'},
 'dc': {'alternateIdentifiers': [{'alternateIdentifier': 'http://hdl.handle.net/11256/272',
    'alternateIdentifierType': 'Handle'},
   {'alternateIdentifier': '571',
    'alternateIdentifierType': 'NIST DSpace ID'}],
  'creators': [{'affiliations': ['University of Maryland'],
    'creatorName': 'Joost, William J.',
    'familyName': 'Joost',
    'givenName': 'William J.'},
   {'affiliations': ['University of Maryland'],
    'creatorName': 'Ankem, Sreeramamurthy',
    'familyName': 'Ankem',
    'givenName': 'Sreeramamurthy'},
   {'affiliations': ['University of Maryland'],
    'creatorName': 'Kuklja, Maija M.',
    'familyName': 'Kuklja',
    'givenName': 'Maija M.'}],
  'publicationYear': '2015',
  'publisher': 'NIST Materials Data Repository',
  'resourceType': {'resourceType': 'Dataset',
   'resourceTypeGeneral': 'Dataset'},
  'rightsList': [{'rights': 'Attribution 3.0 United States',
    'rightsURI': 'http://creativecommons.org/licenses/by/3.0/us/'}],
  'subjects': [{'subject': 'Titanium'},
   {'subject': ' Oxygen'},
   {'subject': ' Diffusion'},
   {'subject': ' Twin'}],
  'titles': [{'title': 'Interaction Between Oxygen Interstitials and Deformation Twins in alpha-Titanium'}]},
 'mdf': {'ingest_date': '2018-11-15T18:46:11.094146Z',
  'mdf_id': '5bedbef32ef388392f953c09',
  'repositories': ['National Institute of Standards and Technology',
   'U.S. Department of Commerce',
   'DOC',
   'MDR',
   'NIST',
   'NIST Materials Data Repository',
   'NIST MDR'],
  'resource_type': 'dataset',
  'scroll_id': 0,
  'source_id': 'mdr_item_571_v1',
  'source_name': 'mdr_item_571',
  'version': 1},
 'services': {'citrine': 'https://citrination.com/datasets/168832/',
  'mdf_search': 'This dataset was ingested to MDF Search.',
  'mrr': 'This dataset was registered with the MRR.'}}

You can also specify a range of years.

[15]:
mdf.match_years(start=2014, stop=2016, inclusive=True)
[15]:
<mdf_forge.forge.Forge at 0x7f70957c4240>
[16]:
res = mdf.search(limit=10)
res[0]
[16]:
{'data': {'endpoint_path': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/khazana_vasp_v4/',
  'link': 'https://www.globus.org/app/transfer?origin_id=e38ee745-6d04-11e5-ba46-22000b92c6ec&origin_path=/MDF/mdf_connect/prod/data/khazana_vasp_v4/'},
 'dc': {'contributors': [{'affiliations': ['University of Connecticut'],
    'contributorName': 'Ramprasad, Rampi',
    'contributorType': 'ContactPerson',
    'familyName': 'Ramprasad',
    'givenName': 'Rampi'}],
  'creators': [{'affiliations': ['University of Connecticut'],
    'creatorName': 'Ramprasad, Rampi'}],
  'dates': [{'date': '2017-08-04T19:25:05.718973Z', 'dateType': 'Collected'}],
  'descriptions': [{'description': 'A computational materials knowledgebase',
    'descriptionType': 'Other'}],
  'publicationYear': '2016',
  'publisher': 'MDF (placeholder)',
  'resourceType': {'resourceType': 'JSON', 'resourceTypeGeneral': 'Dataset'},
  'subjects': [{'subject': 'DFT'}, {'subject': 'VASP'}],
  'titles': [{'title': 'Khazana (VASP)'}]},
 'mdf': {'ingest_date': '2018-11-05T21:42:40.557765Z',
  'mdf_id': '5be0b9502ef388136874efdf',
  'resource_type': 'dataset',
  'scroll_id': 0,
  'source_id': 'khazana_vasp_v4',
  'source_name': 'khazana_vasp',
  'version': 4},
 'services': {'mdf_search': 'This dataset was ingested to MDF Search.'}}

match_organizations

match_organizations() matches values against the "mdf.organizations" field. It is equivalent to chaining match_field("mdf.organizations", value) for each value.

[17]:
# Organizations are currently migrating from the old "repositories" field, so some may not be set up correctly just yet.
# mdf.match_organizations(["NIST", "DOE"], match_all=False)
[18]:
# res = mdf.search(limit=10)
# res[0]

match_dois

match_dois() searches for datasets with one of the given Digital Object Identifiers. It is equivalent to chaining match_field("dc.identifier.identifier", doi) for each doi.

[19]:
mdf.match_dois("https://dx.doi.org/10.13011/M3B36G")
[19]:
<mdf_forge.forge.Forge at 0x7f70957c4240>
[20]:
res = mdf.search()
res[0]
[20]:
{'data': {'endpoint_path': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/si_ti_oxidation_v1/',
  'link': 'https://www.globus.org/app/transfer?origin_id=e38ee745-6d04-11e5-ba46-22000b92c6ec&origin_path=/MDF/mdf_connect/prod/data/si_ti_oxidation_v1/'},
 'dc': {'creators': [{'affiliations': ['University of Michigan'],
    'creatorName': 'Chou, Kathleen',
    'familyName': 'Chou',
    'givenName': 'Kathleen'},
   {'affiliations': ['University of Michigan'],
    'creatorName': 'Chu, Peng-Wei',
    'familyName': 'Chu',
    'givenName': 'Peng-Wei'},
   {'affiliations': ['University of Michigan'],
    'creatorName': 'Marquis, Emmanuelle',
    'familyName': 'Marquis',
    'givenName': 'Emmanuelle'}],
  'descriptions': [{'description': "This dataset compiles images and data from oxidation studies of pure titanium coated with a pure Si coating at 800 degrees C that supplement submitted manuscript 'Early oxidation behavior of Si-coated titanium'. Please note, the meta-data provided may be updated over time. We reserve the right to update this data without notification. If you would like to be notified of changes, please email Kathleen Chou at kachou@umich.edu.",
    'descriptionType': 'Other'}],
  'identifier': {'identifier': 'https://dx.doi.org/10.13011/M3B36G',
   'identifierType': 'DOI'},
  'publicationYear': '2018',
  'publisher': 'Materials Commons',
  'resourceType': {'resourceType': 'Dataset',
   'resourceTypeGeneral': 'Dataset'},
  'subjects': [{'subject': 'Titanium'},
   {'subject': 'Oxidation'},
   {'subject': 'Silicon coatings'},
   {'subject': 'Transmission electron microscopy'}],
  'titles': [{'title': 'Early oxidation behavior of Si-coated titanium'}]},
 'mdf': {'ingest_date': '2018-10-30T21:44:27.860096Z',
  'mdf_id': '5bd8d0bb2ef38836a62135d1',
  'repositories': ['MCPub',
   'DOE',
   'Department of Energy Software Innovation Center for Integrated Multi-Scale Modeling of Structural Metals',
   'U.S. Department of Energy',
   'Materials Commons',
   'Center for Predictive Integrated Structural Materials Science',
   'PRISMS'],
  'resource_type': 'dataset',
  'scroll_id': 0,
  'source_id': 'si_ti_oxidation_v1',
  'source_name': 'si_ti_oxidation',
  'version': 1},
 'services': {'mdf_search': 'This dataset was ingested to MDF Search.'}}

Premade Searches

search_by_elements

search_by_elements() executes a search for the provided elements in the provided sources and returns the results. Note that calling search() is not required, as this helper function already performs the search.

[21]:
res = mdf.search_by_elements(["Al", "Cu"], source_names=["oqmd"])
res[0]
[21]:
{'crystal_structure': {'cross_reference': {'icsd': 57668},
  'number_of_atoms': 5,
  'space_group_number': 164,
  'volume': 72.5641},
 'dft': {'converged': True,
  'cutoff_energy': 520.0,
  'exchange_correlation_functional': 'PBE'},
 'files': [{'data_type': 'ASCII text, with very long lines, with no line terminators',
   'filename': '19430.json',
   'globus': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/oqmd_v13/19430.json',
   'length': 11181,
   'mime_type': 'text/plain',
   'sha512': '8015dc8ce744634f5e9be41ddd37379c444ef17f1aaeae57bfbab544125fa787d1f2ed937ba0e9b7be535f88dd0155e05de6541057ab2eaab6c383e85eb9495a',
   'url': 'https://e38ee745-6d04-11e5-ba46-22000b92c6ec.e.globus.org/MDF/mdf_connect/prod/data/oqmd_v13/19430.json'}],
 'material': {'composition': 'Al3Cu2', 'elements': ['Al', 'Cu']},
 'mdf': {'ingest_date': '2018-11-09T19:44:43.687681Z',
  'mdf_id': '5be5e7632ef388650e02b0e4',
  'parent_id': '5be5e3ab2ef388650efd6704',
  'resource_type': 'record',
  'scroll_id': 346591,
  'source_id': 'oqmd_v13',
  'source_name': 'oqmd',
  'version': 13},
 'oqmd': {'band_gap': {'units': 'eV', 'value': 0.0},
  'magnetic_moment': {'units': 'bohr/atom'},
  'total_energy': {'units': 'eV/atom', 'value': -3.885221738},
  'volume_pa': {'units': 'angstrom^3/atom', 'value': 14.5128}}}

search_by_titles

search_by_titles() executes a search for the provided titles and returns the results.

[22]:
res = mdf.search_by_titles(['"High-throughput Ab-initio Dilute Solute Diffusion Database"'])
res[0]
[22]:
{'data': {'endpoint_path': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/ab_initio_solute_database_v1-2/',
  'link': 'https://www.globus.org/app/transfer?origin_id=e38ee745-6d04-11e5-ba46-22000b92c6ec&origin_path=/MDF/mdf_connect/prod/data/ab_initio_solute_database_v1-2/'},
 'dc': {'contributors': [{'affiliations': ['University of Wisconsin-Madison'],
    'contributorName': 'Morgan, Dane',
    'contributorType': 'ContactPerson',
    'familyName': 'Morgan',
    'givenName': 'Dane'}],
  'creators': [{'affiliations': ['University of Wisconsin-Madison'],
    'creatorName': 'Morgan, Dane',
    'familyName': 'Morgan',
    'givenName': 'Dane'},
   {'affiliations': ['University of Wisconsin-Madison'],
    'creatorName': 'Mayeshiba, Tam',
    'familyName': 'Mayeshiba',
    'givenName': 'Tam'},
   {'affiliations': ['University of Wisconsin-Madison'],
    'creatorName': 'Henry, Wu',
    'familyName': 'Henry',
    'givenName': 'Wu'}],
  'dates': [{'date': '2017-08-07T16:07:32.938812Z', 'dateType': 'Collected'}],
  'descriptions': [{'description': 'We demonstrate automated generation of diffusion databases from high-throughput density functional theory (DFT) calculations. A total of more than 230 dilute solute diffusion systems in Mg, Al, Cu, Ni, Pd, and Pt host lattices have been determined using multi-frequency diffusion models. We apply a correction method for solute diffusion in alloys using experimental and simulated values of host self-diffusivity.',
    'descriptionType': 'Other'}],
  'publicationYear': '2016',
  'publisher': 'MDF (placeholder)',
  'relatedIdentifiers': [{'relatedIdentifier': 'http://dx.doi.org/10.1038/sdata.2016.54',
    'relatedIdentifierType': 'DOI',
    'relationType': 'IsPartOf'}],
  'resourceType': {'resourceType': 'JSON', 'resourceTypeGeneral': 'Dataset'},
  'subjects': [{'subject': 'dilute'},
   {'subject': 'solute'},
   {'subject': 'DFT'},
   {'subject': 'diffusion'},
   {'subject': 'dataset'}],
  'titles': [{'title': 'High-throughput Ab-initio Dilute Solute Diffusion Database'}]},
 'mdf': {'ingest_date': '2018-11-24T08:12:11.852893Z',
  'mdf_id': '5bf907db2ef3885ee1191ae0',
  'resource_type': 'dataset',
  'scroll_id': 0,
  'source_id': 'ab_initio_solute_database_v1-2',
  'source_name': 'ab_initio_solute_database',
  'version': 1},
 'services': {'mdf_search': 'This dataset was ingested to MDF Search.'}}

search_by_dois

search_by_dois() executes a search for the given Digital Object Identifiers and returns the results.

[23]:
res = mdf.search_by_dois("https://dx.doi.org/10.13011/M3B36G")
res[0]
[23]:
{'data': {'endpoint_path': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/si_ti_oxidation_v1/',
  'link': 'https://www.globus.org/app/transfer?origin_id=e38ee745-6d04-11e5-ba46-22000b92c6ec&origin_path=/MDF/mdf_connect/prod/data/si_ti_oxidation_v1/'},
 'dc': {'creators': [{'affiliations': ['University of Michigan'],
    'creatorName': 'Chou, Kathleen',
    'familyName': 'Chou',
    'givenName': 'Kathleen'},
   {'affiliations': ['University of Michigan'],
    'creatorName': 'Chu, Peng-Wei',
    'familyName': 'Chu',
    'givenName': 'Peng-Wei'},
   {'affiliations': ['University of Michigan'],
    'creatorName': 'Marquis, Emmanuelle',
    'familyName': 'Marquis',
    'givenName': 'Emmanuelle'}],
  'descriptions': [{'description': "This dataset compiles images and data from oxidation studies of pure titanium coated with a pure Si coating at 800 degrees C that supplement submitted manuscript 'Early oxidation behavior of Si-coated titanium'. Please note, the meta-data provided may be updated over time. We reserve the right to update this data without notification. If you would like to be notified of changes, please email Kathleen Chou at kachou@umich.edu.",
    'descriptionType': 'Other'}],
  'identifier': {'identifier': 'https://dx.doi.org/10.13011/M3B36G',
   'identifierType': 'DOI'},
  'publicationYear': '2018',
  'publisher': 'Materials Commons',
  'resourceType': {'resourceType': 'Dataset',
   'resourceTypeGeneral': 'Dataset'},
  'subjects': [{'subject': 'Titanium'},
   {'subject': 'Oxidation'},
   {'subject': 'Silicon coatings'},
   {'subject': 'Transmission electron microscopy'}],
  'titles': [{'title': 'Early oxidation behavior of Si-coated titanium'}]},
 'mdf': {'ingest_date': '2018-10-30T21:44:27.860096Z',
  'mdf_id': '5bd8d0bb2ef38836a62135d1',
  'repositories': ['MCPub',
   'DOE',
   'Department of Energy Software Innovation Center for Integrated Multi-Scale Modeling of Structural Metals',
   'U.S. Department of Energy',
   'Materials Commons',
   'Center for Predictive Integrated Structural Materials Science',
   'PRISMS'],
  'resource_type': 'dataset',
  'scroll_id': 0,
  'source_id': 'si_ti_oxidation_v1',
  'source_name': 'si_ti_oxidation',
  'version': 1},
 'services': {'mdf_search': 'This dataset was ingested to MDF Search.'}}

aggregate_sources

aggregate_source_names() fetches and returns all the records for a provided "mdf.source_name" value. Calling search() or aggregate() is not required, as this helper function does that for you. Please note that it is not possible to use the limit argument with this helper function, so you may get back a large number of results.

[24]:
res = mdf.aggregate_sources("ge_nanoparticles")
res[0]
[24]:
{'crystal_structure': {'number_of_atoms': 131.0,
  'space_group_number': 1,
  'stoichiometry': 'A60B71',
  'volume': 8000.0},
 'files': [{'data_type': 'ASCII text',
   'filename': 'ge.cell',
   'globus': 'globus://e38ee745-6d04-11e5-ba46-22000b92c6ec/MDF/mdf_connect/prod/data/ge_nanoparticles_v1/CASTEP_DFPT/Ge71H60/50GPa/ge.cell',
   'length': 5686,
   'mime_type': 'text/plain',
   'sha512': '979c4f3b9cc84424d174f5f3faa5bc9c977f526b7f29c52bc99f2e5c2eeb80e98accdecd37b905b84061310f3fd810c93b756e4aaa80f3bd6c30bdf3389b5a3f',
   'url': 'https://e38ee745-6d04-11e5-ba46-22000b92c6ec.e.globus.org/MDF/mdf_connect/prod/data/ge_nanoparticles_v1/CASTEP_DFPT/Ge71H60/50GPa/ge.cell'}],
 'material': {'composition': 'Ge71H60', 'elements': ['Ge', 'H']},
 'mdf': {'ingest_date': '2018-11-06T17:25:23.949096Z',
  'mdf_id': '5be1ce832ef388345774efe1',
  'parent_id': '5be1ce832ef388345774efdf',
  'resource_type': 'record',
  'scroll_id': 2,
  'source_id': 'ge_nanoparticles_v1',
  'source_name': 'ge_nanoparticles',
  'version': 1}}
[ ]: