Skip to content

Mock OpenAIRE API in test to avoid test failure due to stale fixtures#39

Merged
ssheikholeslami merged 1 commit intomainfrom
fix/mock-openaire-test
Jan 26, 2026
Merged

Mock OpenAIRE API in test to avoid test failure due to stale fixtures#39
ssheikholeslami merged 1 commit intomainfrom
fix/mock-openaire-test

Conversation

@ssheikholeslami
Copy link
Copy Markdown
Collaborator

@ssheikholeslami ssheikholeslami commented Jan 23, 2026

Summary

  • Mock the OpenAIRE API in test_openaire_v2 to prevent test failures due to changes in the response format of OpenAIRE API over time

Problem

The test_openaire_v2 test was calling the live OpenAIRE API and comparing the response to a static fixture file from a few months ago. This made the test fail since the it expected an exact match against the outdated fixture.

Solution

  • Added make_dummy_get_success() factory function that creates a mock HTTP response from fixture data
  • Updated test_openaire_v2 to use monkeypatch to mock session.get(), following the same pattern as the existing test_api_403_response

The test now validates that MetadataFetcher.get_metadata_from_openaire() correctly handles and returns API responses, without depending on external services.

Test plan

  • Run hatch test - all tests pass
  • Verify test_openaire_v2 passes with mocked response

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the test_openaire_v2 test to use mocked API responses instead of calling the live OpenAIRE API. This prevents test failures caused by changes in the API response format over time.

Changes:

  • Added make_dummy_get_success() factory function to create mock HTTP responses from fixture data
  • Updated test_openaire_v2 to use monkeypatch to mock session.get() with fixture data
  • Followed the existing pattern established by test_api_403_response

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

assert str(e.value) == expected

def test_openaire_v2(self, session):
def test_openaire_v2(self, session, monkeypatch):
Copy link

Copilot AI Jan 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test class is named TestMetadataFetcher403, which suggests it's specifically for testing 403 responses. However, test_openaire_v2 is testing a successful API response (200 status code), not a 403 error. Consider either:

  1. Renaming the class to something more general like TestMetadataFetcher or TestOpenAIREMetadataFetcher, or
  2. Moving test_openaire_v2 to a separate class with an appropriate name like TestMetadataFetcherSuccess

This would make the test organization clearer and more consistent.

Copilot uses AI. Check for mistakes.
Comment on lines +73 to 80
fixture_path = os.path.join("tests", "fixtures", "openaire_v2.json")
monkeypatch.setattr(session, "get", make_dummy_get_success(fixture_path))

fetcher = MetadataFetcher(session=session)
actual = fetcher.get_metadata_from_openaire("10.5281/zenodo.4650794")
with open(
os.path.join("tests", "fixtures", "openaire_v2.json"), "r"
) as f:

with open(fixture_path, "r") as f:
expected = load(f)
Copy link

Copilot AI Jan 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The fixture file is being read twice: once when creating the mock function with make_dummy_get_success(fixture_path) (line 74), and again when loading the expected data (lines 79-80). This is inefficient and could be simplified.

Consider refactoring the test to reuse fixture_data from the factory or restructure the test to read the file only once. For example, you could read the fixture once, use it to create the mock, and also use it as the expected value without re-reading the file.

Copilot uses AI. Check for mistakes.
with open(fixture_path, "r") as f:
fixture_data = load(f)

def dummy_get_success(url, headers=None):
Copy link

Copilot AI Jan 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The parameter signature dummy_get_success(url, headers=None) is inconsistent with dummy_get_403(url, headers) which requires the headers parameter. While this works because headers=None makes it optional, for consistency with the existing mock function pattern (dummy_get_403 at line 29), consider making the signature match: dummy_get_success(url, headers).

This ensures both mock functions have the same signature, making them more interchangeable and reducing potential confusion.

Suggested change
def dummy_get_success(url, headers=None):
def dummy_get_success(url, headers):

Copilot uses AI. Check for mistakes.
@willu47
Copy link
Copy Markdown
Contributor

willu47 commented Jan 23, 2026

@ssheikholeslami - the test is failing, due to the expired Github Action REFRESH_TOKEN environment variable.

I've just updated it - so lets see if the CI passes...

Copy link
Copy Markdown
Contributor

@willu47 willu47 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ssheikholeslami

I'm not sure your proposed solutions solves the problem, which is more of a design issue! In short, the tests rely on a valid REFRESH_TOKEN being available.

If no REFRESH_TOKEN is defined in the environment where you run the tests, then one test (which actually queries the OpenAire API) fails with the following error:

hatch test
====================================================== test session starts =======================================================
platform linux -- Python 3.12.11, pytest-9.0.2, pluggy-1.6.0
rootdir: /home/will/repositories/research_index_backend
configfile: pyproject.toml
plugins: rerunfailures-14.0, xdist-3.8.0, mock-3.15.1
collected 33 items                                                                                                               

tests/test_dois.py .........                                                                                               [ 27%]
tests/test_metadata.py .F..........                                                                                        [ 63%]
tests/test_parser.py .........                                                                                             [ 90%]
tests/test_utilities.py ...                                                                                                [100%]

============================================================ FAILURES ============================================================
____________________________________________ TestMetadataFetcher403.test_openaire_v2 _____________________________________________

self = <research_index_backend.config.Config object at 0x701eedba0860>

    def _get_personal_token(self) -> str:
        """Get personal token by providing a refresh token"""
        if refresh_token := os.getenv("REFRESH_TOKEN"):
            logger.info("Found refresh token. Obtaining personal token.")
            query = f"?refreshToken={refresh_token}"
            try:
                response = requests.get(self.openaire_token_endpoint + query)
                logger.info(f"Status code: {response.status_code}")
>               response.raise_for_status()

src/research_index_backend/config.py:76: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <Response [400]>

    def raise_for_status(self):
        """Raises :class:`HTTPError`, if one occurred."""
    
        http_error_msg = ""
        if isinstance(self.reason, bytes):
            # We attempt to decode utf-8 first because some servers
            # choose to localize their reason strings. If the string
            # isn't utf-8, we fall back to iso-8859-1 for all other
            # encodings. (See PR #3538)
            try:
                reason = self.reason.decode("utf-8")
            except UnicodeDecodeError:
                reason = self.reason.decode("iso-8859-1")
        else:
            reason = self.reason
    
        if 400 <= self.status_code < 500:
            http_error_msg = (
                f"{self.status_code} Client Error: {reason} for url: {self.url}"
            )
    
        elif 500 <= self.status_code < 600:
            http_error_msg = (
                f"{self.status_code} Server Error: {reason} for url: {self.url}"
            )
    
        if http_error_msg:
>           raise HTTPError(http_error_msg, response=self)
E           requests.exceptions.HTTPError: 400 Client Error:  for url: https://services.openaire.eu/uoa-user-management/api/users/getAccessToken?refreshToken=dljadsfkljadsf

../../.local/share/hatch/env/virtual/research-index-backend/4xkJ2Z4n/hatch-test.py3.12/lib/python3.12/site-packages/requests/models.py:1026: HTTPError

During handling of the above exception, another exception occurred:

self = <test_metadata.TestMetadataFetcher403 object at 0x701eed220c20>
session = <CachedSession(cache=<SQLiteCache(name=http_cache)>, settings=CacheSettings(expire_after=-1))>
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x701eed2bc9e0>

    def test_openaire_v2(self, session, monkeypatch):
        fixture_path = os.path.join("tests", "fixtures", "openaire_v2.json")
        monkeypatch.setattr(session, "get", make_dummy_get_success(fixture_path))
    
        fetcher = MetadataFetcher(session=session)
>       actual = fetcher.get_metadata_from_openaire("10.5281/zenodo.4650794")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

tests/test_metadata.py:77: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
src/research_index_backend/get_metadata.py:43: in get_metadata_from_openaire
    headers = {"Authorization": f"Bearer {config.token}"}
                                          ^^^^^^^^^^^^
src/research_index_backend/config.py:55: in token
    self._token = self._get_personal_token()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <research_index_backend.config.Config object at 0x701eedba0860>

    def _get_personal_token(self) -> str:
        """Get personal token by providing a refresh token"""
        if refresh_token := os.getenv("REFRESH_TOKEN"):
            logger.info("Found refresh token. Obtaining personal token.")
            query = f"?refreshToken={refresh_token}"
            try:
                response = requests.get(self.openaire_token_endpoint + query)
                logger.info(f"Status code: {response.status_code}")
                response.raise_for_status()
            except requests.exceptions.HTTPError:
                if 400 <= response.status_code < 500:
>                   raise ValueError(
                        "OpenAire refresh token is invalid or expired. Please update token and try again."
E                       ValueError: OpenAire refresh token is invalid or expired. Please update token and try again.

src/research_index_backend/config.py:79: ValueError
==================================================== short test summary info =====================================================
FAILED tests/test_metadata.py::TestMetadataFetcher403::test_openaire_v2 - ValueError: OpenAire refresh token is invalid or expired. Please update token and try again.
================================================== 1 failed, 32 passed in 8.36s ==================================================

I think the reason is because the call on line 77 of tests/test_metadata.py to get_metadata.MetaDataFetcher imports the config module. The config module checks for the availability of the REFRESH_TOKEN and if it is not available, raises an error.

I'm not sure how to get around this - a redesign is probably in order. Using a valid REFRESH_TOKEN is the short-cut!

@ssheikholeslami
Copy link
Copy Markdown
Collaborator Author

Yeah I think that's a separate issue and we can later redesign and refactor the tests, but the current test is failing even with a valid REFRESH_TOKEN, due to an AssertionError:

=================================== FAILURES ===================================
___________________ TestMetadataFetcher403.test_openaire_v2 ____________________

=================================== FAILURES ===================================
___________________ TestMetadataFetcher403.test_openaire_v2 ____________________

self = <test_metadata.TestMetadataFetcher403 object at 0x10936ed50>
session = <CachedSession(cache=<SQLiteCache(name=http_cache)>, settings=CacheSettings(expire_after=-1))>

    def test_openaire_v2(self, session):
        fetcher = MetadataFetcher(session=session)
        actual = fetcher.get_metadata_from_openaire("10.5281/zenodo.4650794")
        with open(
            os.path.join("tests", "fixtures", "openaire_v2.json"), "r"
        ) as f:
            expected = load(f)
>       assert actual["results"] == expected["results"]
E       AssertionError: assert [{'authors': [{'fullName': 'Allington, Lucy', 'name': 'Lucy', 'surname': 'Allington', 'rank': 1, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-1801-899x'}, 'provenance': None}}, {'fullName': 'Cannone, Carla', 'name': 'Carla', 'surname': 'Cannone', 'rank': 2, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-1214-8913'}, 'provenance': None}}, {'fullName': 'Pappis, Ioannis', 'name': 'Ioannis', 'surname': 'Pappis', 'rank': 3, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-7537-5470'}, 'provenance': None}}, {'fullName': 'Cervantes Barron, Karla', 'name': 'Karla', 'surname': 'Cervantes Barron', 'rank': 4, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9185-3022'}, 'provenance': None}}, {'fullName': 'Usher, Will', 'name': 'Will', 'surname': 'Usher', 'rank': 5, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9367-1791'}, 'provenance': None}}, {'fullName': 'Pye, Steve', 'name': 'Steve', 'surname': 'Pye', 'rank': 6, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-1793-2552'}, 'provenance': None}}, {'fullName': 'Howells, Mark', 'name': 'Mark', 'surname': 'Howells', 'rank': 7, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-6419-4957'}, 'provenance': None}}, {'fullName': 'Taliotis, Constantinos', 'name': 'Constantinos', 'surname': 'Taliotis', 'rank': 8, 'pid': {'id': {'scheme': 'orcid', 'value': '0000-0003-4022-5506'}, 'provenance': None}}, {'fullName': 'Sundin, Caroline', 'name': 'Caroline', 'surname': 'Sundin', 'rank': 9, 'pid': None}, {'fullName': 'Sridharan, Vignesh', 'name': 'Vignesh', 'surname': 'Sridharan', 'rank': 10, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-0764-2615'}, 'provenance': None}}, {'fullName': 'Ramos, Eunice', 'name': 'Eunice', 'surname': 'Ramos', 'rank': 11, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9061-8485'}, 'provenance': None}}, {'fullName': 'Brinkerink, Maarten', 'name': 'Maarten', 'surname': 'Brinkerink', 'rank': 12, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-8980-9062'}, 'provenance': None}}, {'fullName': 'Deane, Paul', 'name': 'Paul', 'surname': 'Deane', 'rank': 13, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-4681-7791'}, 'provenance': None}}, {'fullName': 'Gritsevskyi, Andrii', 'name': 'Andrii', 'surname': 'Gritsevskyi', 'rank': 14, 'pid': None}, {'fullName': 'Moura, Gustavo', 'name': 'Gustavo', 'surname': 'Moura', 'rank': 15, 'pid': None}, {'fullName': 'Rouget, Arnaud', 'name': 'Arnaud', 'surname': 'Rouget', 'rank': 16, 'pid': None}, {'fullName': 'Wogan, David', 'name': 'David', 'surname': 'Wogan', 'rank': 17, 'pid': None}, {'fullName': 'Barcelona, Edito', 'name': 'Edito', 'surname': 'Barcelona', 'rank': 18, 'pid': None}, {'fullName': 'Rogner, Holger', 'name': 'Holger', 'surname': 'Rogner', 'rank': 19, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-1045-9830'}, 'provenance': None}}], 'openAccessColor': None, 'publiclyFunded': None, 'type': 'dataset', 'language': {'code': 'eng', 'label': 'English'}, 'countries': None, 'subjects': [{'subject': {'scheme': 'keyword', 'value': 'GNUMathProg'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'energy system modelling'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'linear programming'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'GLPK'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'Liberia'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'OSeMOSYS'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'clicSAND'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'energy'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': '#CCG'}, 'provenance': None}], 'mainTitle': 'CCG Starter Data Kit: Liberia', 'subTitle': None, 'descriptions': ['A starter data kit for Liberia'], 'publicationDate': '2021-03-31', 'publisher': 'Zenodo', 'embargoEndDate': None, 'sources': None, 'formats': None, 'contributors': None, 'coverages': None, 'bestAccessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'container': None, 'documentationUrls': None, 'codeRepositoryUrl': None, 'programmingLanguage': None, 'contactPeople': None, 'contactGroups': None, 'tools': None, 'size': None, 'version': None, 'geoLocations': None, 'id': 'doi_dedup___::b8848e8a40afe94345231538d752e163', 'originalIds': ['50|datacite____::2cb78aa6b21092cd0172764a3117ecdc', '10.5281/zenodo.4756708', '50|datacite____::a8bf24a1fc72533ab311fa0c626af9ce', '10.5281/zenodo.4650795', '50|datacite____::b8848e8a40afe94345231538d752e163', '10.5281/zenodo.4650794', '50|datacite____::cb5b58e6a5bdc32eacc1576a248d89b2', '10.5281/zenodo.7539162'], 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}, {'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}, {'scheme': 'doi', 'value': '10.5281/zenodo.4650794'}, {'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'dateOfCollection': None, 'lastUpdateTimeStamp': None, 'indicators': {'citationImpact': {'citationCount': 0.0, 'influence': 2.4895952e-09, 'popularity': 1.5483943e-09, 'impulse': 0.0, 'citationClass': 'C5', 'influenceClass': 'C5', 'impulseClass': 'C5', 'popularityClass': 'C5'}, 'usageCounts': {'downloads': 3, 'views': 9}}, 'projects': None, 'organizations': [{'legalName': 'Cyprus Institute', 'acronym': 'CyI', 'id': 'openorgs____::3d1ea5562daee084d77227f58d2eb216', 'pids': [{'scheme': 'OrgRef', 'value': '22382061'}, {'scheme': 'mag_id', 'value': '148518341'}, {'scheme': 'GRID', 'value': 'grid.426429.f'}, {'scheme': 'OrgReg', 'value': 'CY0039'}, {'scheme': 'Wikidata', 'value': 'Q7728557'}, {'scheme': 'ISNI', 'value': '0000000405803152'}, {'scheme': 'ROR', 'value': 'https://ror.org/01q8k8p90'}, {'scheme': 'PIC', 'value': '965934440'}]}, {'legalName': 'University College London', 'acronym': 'UCL', 'id': 'openorgs____::f031b1a0bb3f7636ff6fbdfa79fd5dec', 'pids': [{'scheme': 'FundRef', 'value': '501100001281'}, {'scheme': 'FundRef', 'value': '501100013818'}, {'scheme': 'OrgRef', 'value': '52029'}, {'scheme': 'FundRef', 'value': '501100001283'}, {'scheme': 'FundRef', 'value': '501100006637'}, {'scheme': 'PIC', 'value': '999864749'}, {'scheme': 'HESA', 'value': '0149'}, {'scheme': 'PIC', 'value': '999852333'}, {'scheme': 'FundRef', 'value': '501100020810'}, {'scheme': 'FundRef', 'value': '501100014052'}, {'scheme': 'FundRef', 'value': '501100022596'}, {'scheme': 'ROR', 'value': 'https://ror.org/02jx3x895'}, {'scheme': 'OrgReg', 'value': 'UK0123'}, {'scheme': 'FundRef', 'value': '501100000845'}, {'scheme': 'FundRef', 'value': '501100006154'}, {'scheme': 'UKPRN', 'value': '10007784'}, {'scheme': 'UKPRN', 'value': '10007781'}, {'scheme': 'FundRef', 'value': '501100008538'}, {'scheme': 'FundRef', 'value': '501100001282'}, {'scheme': 'FundRef', 'value': '501100019910'}, {'scheme': 'FundRef', 'value': '501100013915'}, {'scheme': 'FundRef', 'value': '501100001285'}, {'scheme': 'FundRef', 'value': '501100000765'}, {'scheme': 'Wikidata', 'value': 'Q193196'}, {'scheme': 'RRID', 'value': 'RRID:nlx_86831'}, {'scheme': 'FundRef', 'value': '501100000685'}, {'scheme': 'OrgRef', 'value': '531066'}, {'scheme': 'GRID', 'value': 'grid.83440.3b'}, {'scheme': 'OrgRef', 'value': '1131835'}, {'scheme': 'mag_id', 'value': '45129253'}, {'scheme': 'OrgRef', 'value': '3348837'}, {'scheme': 'PIC', 'value': '999975620'}, {'scheme': 'ISNI', 'value': '0000000121901201'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011603'}, {'scheme': 'UCAS', 'value': 'U80'}, {'scheme': 'FundRef', 'value': '501100000845'}, {'scheme': 'FundRef', 'value': '501100013270'}, {'scheme': 'UKPRN', 'value': '10007766'}, {'scheme': 'FundRef', 'value': '501100001299'}]}, {'legalName': 'International Atomic Energy Agency', 'acronym': 'IAEA', 'id': 'openorgs____::f0abe1a391416c1081ad80e29a112649', 'pids': [{'scheme': 'Wikidata', 'value': 'Q41984'}, {'scheme': 'ISNI', 'value': '0000000404038399'}, {'scheme': 'OrgReg', 'value': 'INT3022'}, {'scheme': 'FundRef', 'value': '501100004493'}, {'scheme': 'mag_id', 'value': '1281029379'}, {'scheme': 'GRID', 'value': 'grid.420221.7'}, {'scheme': 'ROR', 'value': 'https://ror.org/02zt1gg83'}, {'scheme': 'OrgRef', 'value': '14984'}, {'scheme': 'ROR', 'value': 'https://ror.org/00gtfax65'}]}, {'legalName': 'International Energy Agency', 'acronym': 'IEA', 'id': 'openorgs____::7abe320859f250131bb347056016fb46', 'pids': [{'scheme': 'GRID', 'value': 'grid.435668.a'}, {'scheme': 'mag_id', 'value': '159082835'}, {'scheme': 'FundRef', 'value': '501100015271'}, {'scheme': 'ISNI', 'value': '0000000121060676'}, {'scheme': 'ROR', 'value': 'https://ror.org/020frhs78'}, {'scheme': 'Wikidata', 'value': 'Q826700'}]}, {'legalName': 'Loughborough University', 'acronym': 'Loughborough University', 'id': 'openorgs____::276882186c235f87bab02e2a0b714705', 'pids': [{'scheme': 'ISNI', 'value': '0000000419368542'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011350'}, {'scheme': 'ROR', 'value': 'https://ror.org/04vg4w365'}, {'scheme': 'UCAS', 'value': 'L79'}, {'scheme': 'GRID', 'value': 'grid.6571.5'}, {'scheme': 'OrgRef', 'value': '338982'}, {'scheme': 'FundRef', 'value': '501100000857'}, {'scheme': 'Wikidata', 'value': 'Q1434547'}, {'scheme': 'UKPRN', 'value': '10004113'}, {'scheme': 'OrgReg', 'value': 'UK0077'}, {'scheme': 'FundRef', 'value': '501100000634'}, {'scheme': 'RRID', 'value': 'RRID:nlx_158227'}, {'scheme': 'mag_id', 'value': '143804889'}, {'scheme': 'HESA', 'value': '0152'}, {'scheme': 'PIC', 'value': '999990752'}]}, {'legalName': 'University College Cork', 'acronym': 'UCC', 'id': 'openorgs____::b8b8ca674452579f3f593d9f5e557483', 'pids': [{'scheme': 'Wikidata', 'value': 'Q16902157'}, {'scheme': 'mag_id', 'value': '27577105'}, {'scheme': 'ISNI', 'value': '0000000123318773'}, {'scheme': 'PIC', 'value': '999975717'}, {'scheme': 'OrgRef', 'value': '738094'}, {'scheme': 'Wikidata', 'value': 'Q1574185'}, {'scheme': 'OrgReg', 'value': 'IE0002'}, {'scheme': 'FundRef', 'value': '501100001636'}, {'scheme': 'GRID', 'value': 'grid.7872.a'}, {'scheme': 'ROR', 'value': 'https://ror.org/03265fv13'}]}, {'legalName': 'Royal Institute of Technology', 'acronym': 'KTH', 'id': 'openorgs____::7501d66d2297a963ebfb075c43fff88e', 'pids': [{'scheme': 'ISNI', 'value': '0000000121581746'}, {'scheme': 'GRID', 'value': 'grid.5037.1'}, {'scheme': 'mag_id', 'value': '86987016'}, {'scheme': 'Wikidata', 'value': 'Q854280'}, {'scheme': 'PIC', 'value': '999990946'}, {'scheme': 'OrgReg', 'value': 'SE0008'}, {'scheme': 'FundRef', 'value': '501100004270'}, {'scheme': 'RRID', 'value': 'RRID:SCR_000992'}, {'scheme': 'ROR', 'value': 'https://ror.org/026vcq606'}, {'scheme': 'OrgRef', 'value': '25609'}, {'scheme': 'RRID', 'value': 'RRID:nlx_48999'}]}, {'legalName': 'University of Cambridge', 'acronym': 'University of Cambridge', 'id': 'openorgs____::b03ae6770284a0dfaca038c0f8193048', 'pids': [{'scheme': 'FundRef', 'value': '501100004537'}, {'scheme': 'OrgReg', 'value': 'UK0020'}, {'scheme': 'FundRef', 'value': '501100000710'}, {'scheme': 'FundRef', 'value': '501100020635'}, {'scheme': 'OrgRef', 'value': '31805'}, {'scheme': 'FundRef', 'value': '100010441'}, {'scheme': 'FundRef', 'value': '501100004222'}, {'scheme': 'OrgRef', 'value': '26015915'}, {'scheme': 'FundRef', 'value': '501100000591'}, {'scheme': 'OrgRef', 'value': '239420'}, {'scheme': 'OrgRef', 'value': '2793352'}, {'scheme': 'FundRef', 'value': '501100018958'}, {'scheme': 'FundRef', 'value': '501100000742'}, {'scheme': 'FundRef', 'value': '501100020254'}, {'scheme': 'UCAS', 'value': 'C0121'}, {'scheme': 'OrgRef', 'value': '73199'}, {'scheme': 'FundRef', 'value': '501100000663'}, {'scheme': 'OrgRef', 'value': '480151'}, {'scheme': 'FundRef', 'value': '501100022512'}, {'scheme': 'FundRef', 'value': '501100000653'}, {'scheme': 'OrgRef', 'value': '180326'}, {'scheme': 'FundRef', 'value': '501100023913'}, {'scheme': 'GRID', 'value': 'grid.5335.0'}, {'scheme': 'OrgRef', 'value': '1167853'}, {'scheme': 'ISNI', 'value': '0000000121885934'}, {'scheme': 'FundRef', 'value': '501100006646'}, {'scheme': 'OrgRef', 'value': '498109'}, {'scheme': 'OrgRef', 'value': '327748'}, {'scheme': 'OrgRef', 'value': '151267'}, {'scheme': 'FundRef', 'value': '501100016136'}, {'scheme': 'FundRef', 'value': '501100019544'}, {'scheme': 'FundRef', 'value': '501100021076'}, {'scheme': 'FundRef', 'value': '501100000590'}, {'scheme': 'FundRef', 'value': '501100008931'}, {'scheme': 'Wikidata', 'value': 'Q35794'}, {'scheme': 'ROR', 'value': 'https://ror.org/013meh722'}, {'scheme': 'HESA', 'value': '0114'}, {'scheme': 'FundRef', 'value': '501100007552'}, {'scheme': 'FundRef', 'value': '501100000602'}, {'scheme': 'Wikidata', 'value': 'Q24679079'}, {'scheme': 'OrgRef', 'value': '457564'}, {'scheme': 'FundRef', 'value': '501100004495'}, {'scheme': 'FundRef', 'value': '501100000609'}, {'scheme': 'FundRef', 'value': '501100000603'}, {'scheme': 'RRID', 'value': 'RRID:nlx_31670'}, {'scheme': 'FundRef', 'value': '501100008420'}, {'scheme': 'OrgRef', 'value': '31803'}, {'scheme': 'FundRef', 'value': '501100009163'}, {'scheme': 'mag_id', 'value': '241749'}, {'scheme': 'FundRef', 'value': '501100000705'}, {'scheme': 'FundRef', 'value': '501100000735'}, {'scheme': 'FundRef', 'value': '501100005962'}, {'scheme': 'OrgRef', 'value': '157283'}, {'scheme': 'OrgRef', 'value': '201369'}, {'scheme': 'FundRef', 'value': '501100000727'}, {'scheme': 'FundRef', 'value': '501100000644'}, {'scheme': 'FundRef', 'value': '501100019772'}, {'scheme': 'RRID', 'value': 'RRID:SCR_000996'}, {'scheme': 'UKPRN', 'value': '10007788'}, {'scheme': 'FundRef', 'value': '501100000580'}, {'scheme': 'FundRef', 'value': '501100005796'}, {'scheme': 'FundRef', 'value': '501100022011'}, {'scheme': 'OrgRef', 'value': '7317906'}, {'scheme': 'FundRef', 'value': '501100001625'}, {'scheme': 'FundRef', 'value': '501100019696'}, {'scheme': 'OrgRef', 'value': '23747745'}, {'scheme': 'FundRef', 'value': '501100008624'}, {'scheme': 'OrgRef', 'value': '498120'}, {'scheme': 'FundRef', 'value': '501100008101'}, {'scheme': 'Wikidata', 'value': 'Q10899168'}, {'scheme': 'FundRef', 'value': '501100006299'}, {'scheme': 'FundRef', 'value': '501100003987'}, {'scheme': 'FundRef', 'value': '501100005705'}, {'scheme': 'FundRef', 'value': '501100000587'}, {'scheme': 'OrgRef', 'value': '25978572'}, {'scheme': 'OrgRef', 'value': '48671'}, {'scheme': 'Wikidata', 'value': 'Q181892'}, {'scheme': 'FundRef', 'value': '501100000648'}, {'scheme': 'FundRef', 'value': '501100000622'}, {'scheme': 'FundRef', 'value': '501100000585'}, {'scheme': 'FundRef', 'value': '501100016412'}, {'scheme': 'OrgRef', 'value': '75963'}, {'scheme': 'FundRef', 'value': '501100000621'}, {'scheme': 'OrgRef', 'value': '212179'}]}, {'legalName': 'Imperial College London', 'acronym': 'Imperial College London', 'id': 'openorgs____::778fb8061fc9d6356293bec4c38fb72f', 'pids': [{'scheme': 'FundRef', 'value': '501100014534'}, {'scheme': 'UCAS', 'value': 'I50'}, {'scheme': 'mag_id', 'value': '47508984'}, {'scheme': 'FundRef', 'value': '501100024012'}, {'scheme': 'GRID', 'value': 'grid.7445.2'}, {'scheme': 'ROR', 'value': 'https://ror.org/041kmwe10'}, {'scheme': 'ISNI', 'value': '0000000121138111'}, {'scheme': 'UKPRN', 'value': '10003270'}, {'scheme': 'OrgRef', 'value': '61116'}, {'scheme': 'OrgReg', 'value': 'UK0053'}, {'scheme': 'OrgRef', 'value': '2244827'}, {'scheme': 'FundRef', 'value': '501100022211'}, {'scheme': 'Wikidata', 'value': 'Q189022'}, {'scheme': 'FundRef', 'value': '501100000850'}, {'scheme': 'HESA', 'value': '0132'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011293'}, {'scheme': 'RRID', 'value': 'RRID:nlx_21884'}, {'scheme': 'FundRef', 'value': '501100000761'}, {'scheme': 'OrgRef', 'value': '2244729'}, {'scheme': 'FundRef', 'value': '501100024415'}]}, {'legalName': 'Universidade Federal de Ouro Preto', 'acronym': 'UFOP', 'id': 'openorgs____::a728cd6a528330724118096476919305', 'pids': [{'scheme': 'ISNI', 'value': '0000000404884317'}, {'scheme': 'ROR', 'value': 'https://ror.org/056s65p46'}, {'scheme': 'mag_id', 'value': '10824318'}, {'scheme': 'Wikidata', 'value': 'Q6741204'}, {'scheme': 'OrgRef', 'value': '38766892'}, {'scheme': 'FundRef', 'value': '501100009730'}, {'scheme': 'GRID', 'value': 'grid.411213.4'}]}], 'communities': [{'code': 'eosc', 'label': 'EOSC', 'provenance': None}, {'code': 'uarctic', 'label': 'UArctic', 'provenance': None}], 'collectedFrom': [{'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}], 'instances': [{'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}], 'license': 'CC 0', 'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/', 'openAccessRoute': None}, 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4756708'], 'publicationDate': '2021-05-13', 'refereed': 'nonPeerReviewed', 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}}, {'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}], 'license': 'CC 0', 'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/', 'openAccessRoute': None}, 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4650795'], 'publicationDate': '2021-03-31', 'refereed': 'nonPeerReviewed', 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}}, {'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650794'}], 'license': 'CC BY', 'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/', 'openAccessRoute': None}, 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4650794'], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}}, {'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'license': 'CC BY', 'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/', 'openAccessRoute': None}, 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.7539162'], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}}], 'isGreen': None, 'isInDiamondJournal': None}] == [{'authors': [{'fullName': 'Allington, Lucy', 'name': 'Lucy', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-1801-899x'}, 'provenance': None}, 'rank': 1, 'surname': 'Allington'}, {'fullName': 'Cannone, Carla', 'name': 'Carla', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-1214-8913'}, 'provenance': None}, 'rank': 2, 'surname': 'Cannone'}, {'fullName': 'Pappis, Ioannis', 'name': 'Ioannis', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-7537-5470'}, 'provenance': None}, 'rank': 3, 'surname': 'Pappis'}, {'fullName': 'Cervantes Barron, Karla', 'name': 'Karla', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9185-3022'}, 'provenance': None}, 'rank': 4, 'surname': 'Cervantes Barron'}, {'fullName': 'Usher, Will', 'name': 'Will', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9367-1791'}, 'provenance': None}, 'rank': 5, 'surname': 'Usher'}, {'fullName': 'Pye, Steve', 'name': 'Steve', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-1793-2552'}, 'provenance': None}, 'rank': 6, 'surname': 'Pye'}, {'fullName': 'Howells, Mark', 'name': 'Mark', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-6419-4957'}, 'provenance': None}, 'rank': 7, 'surname': 'Howells'}, {'fullName': 'Taliotis, Constantinos', 'name': 'Constantinos', 'pid': {'id': {'scheme': 'orcid', 'value': '0000-0003-4022-5506'}, 'provenance': None}, 'rank': 8, 'surname': 'Taliotis'}, {'fullName': 'Sundin, Caroline', 'name': 'Caroline', 'pid': None, 'rank': 9, 'surname': 'Sundin'}, {'fullName': 'Sridharan, Vignesh', 'name': 'Vignesh', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-0764-2615'}, 'provenance': None}, 'rank': 10, 'surname': 'Sridharan'}, {'fullName': 'Ramos, Eunice', 'name': 'Eunice', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9061-8485'}, 'provenance': None}, 'rank': 11, 'surname': 'Ramos'}, {'fullName': 'Brinkerink, Maarten', 'name': 'Maarten', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-8980-9062'}, 'provenance': None}, 'rank': 12, 'surname': 'Brinkerink'}, {'fullName': 'Deane, Paul', 'name': 'Paul', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-4681-7791'}, 'provenance': None}, 'rank': 13, 'surname': 'Deane'}, {'fullName': 'Gritsevskyi, Andrii', 'name': 'Andrii', 'pid': None, 'rank': 14, 'surname': 'Gritsevskyi'}, {'fullName': 'Moura, Gustavo', 'name': 'Gustavo', 'pid': None, 'rank': 15, 'surname': 'Moura'}, {'fullName': 'Rouget, Arnaud', 'name': 'Arnaud', 'pid': None, 'rank': 16, 'surname': 'Rouget'}, {'fullName': 'Wogan, David', 'name': 'David', 'pid': None, 'rank': 17, 'surname': 'Wogan'}, {'fullName': 'Barcelona, Edito', 'name': 'Edito', 'pid': None, 'rank': 18, 'surname': 'Barcelona'}, {'fullName': 'Rogner, Holger', 'name': 'Holger', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-1045-9830'}, 'provenance': None}, 'rank': 19, 'surname': 'Rogner'}], 'bestAccessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'codeRepositoryUrl': None, 'collectedFrom': [{'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}], 'communities': [{'code': 'eosc', 'label': 'EOSC', 'provenance': None}, {'code': 'uarctic', 'label': 'UArctic', 'provenance': None}], 'contactGroups': None, 'contactPeople': None, 'container': None, 'contributors': None, 'countries': None, 'coverages': None, 'dateOfCollection': None, 'descriptions': ['A starter data kit for Liberia'], 'documentationUrls': None, 'embargoEndDate': None, 'formats': None, 'geoLocations': None, 'id': 'doi_dedup___::b8848e8a40afe94345231538d752e163', 'indicators': {'citationImpact': {'citationClass': 'C5', 'citationCount': 0.0, 'impulse': 0.0, 'impulseClass': 'C5', 'influence': 2.5942106e-09, 'influenceClass': 'C5', 'popularity': 1.9034052e-09, 'popularityClass': 'C5'}, 'usageCounts': {'downloads': 3, 'views': 9}}, 'instances': [{'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC 0', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}], 'publicationDate': '2021-05-13', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4756708']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'alternateIdentifiers': [{'scheme': 'oai', 'value': 'oai:zenodo.org:4756708'}], 'collectedFrom': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC 0', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}], 'publicationDate': '2021-05-13', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['http://dx.doi.org/10.5281/zenodo.4756708']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC 0', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}], 'publicationDate': '2021-03-31', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4650795']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'alternateIdentifiers': [{'scheme': 'oai', 'value': 'oai:zenodo.org:4650795'}], 'collectedFrom': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC 0', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}], 'publicationDate': '2021-03-31', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['http://dx.doi.org/10.5281/zenodo.4650795']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC BY', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650794'}], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4650794']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC BY', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.7539162']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'alternateIdentifiers': [{'scheme': 'oai', 'value': 'oai:zenodo.org:7539162'}], 'collectedFrom': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC BY', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['http://dx.doi.org/10.5281/zenodo.7539162']}], 'isGreen': None, 'isInDiamondJournal': None, 'language': {'code': 'eng', 'label': 'English'}, 'lastUpdateTimeStamp': None, 'mainTitle': 'CCG Starter Data Kit: Liberia', 'openAccessColor': None, 'organizations': [{'acronym': 'UCL', 'id': 'openorgs____::f031b1a0bb3f7636ff6fbdfa79fd5dec', 'legalName': 'University College London', 'pids': [{'scheme': 'FundRef', 'value': '501100001281'}, {'scheme': 'OrgRef', 'value': '52029'}, {'scheme': 'FundRef', 'value': '501100001283'}, {'scheme': 'FundRef', 'value': '501100006637'}, {'scheme': 'PIC', 'value': '999864749'}, {'scheme': 'HESA', 'value': '0149'}, {'scheme': 'PIC', 'value': '999852333'}, {'scheme': 'ROR', 'value': 'https://ror.org/02jx3x895'}, {'scheme': 'OrgReg', 'value': 'UK0123'}, {'scheme': 'FundRef', 'value': '501100000845'}, {'scheme': 'FundRef', 'value': '501100006154'}, {'scheme': 'UKPRN', 'value': '10007784'}, {'scheme': 'UKPRN', 'value': '10007781'}, {'scheme': 'FundRef', 'value': '501100008538'}, {'scheme': 'FundRef', 'value': '501100001282'}, {'scheme': 'FundRef', 'value': '501100013915'}, {'scheme': 'FundRef', 'value': '501100001285'}, {'scheme': 'FundRef', 'value': '501100000765'}, {'scheme': 'Wikidata', 'value': 'Q193196'}, {'scheme': 'RRID', 'value': 'RRID:nlx_86831'}, {'scheme': 'FundRef', 'value': '501100000685'}, {'scheme': 'OrgRef', 'value': '531066'}, {'scheme': 'GRID', 'value': 'grid.83440.3b'}, {'scheme': 'OrgRef', 'value': '1131835'}, {'scheme': 'mag_id', 'value': '45129253'}, {'scheme': 'OrgRef', 'value': '3348837'}, {'scheme': 'PIC', 'value': '999975620'}, {'scheme': 'ISNI', 'value': '0000000121901201'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011603'}, {'scheme': 'UCAS', 'value': 'U80'}, {'scheme': 'FundRef', 'value': '501100000845'}, {'scheme': 'UKPRN', 'value': '10007766'}, {'scheme': 'FundRef', 'value': '501100001299'}]}, {'acronym': 'KTH', 'id': 'openorgs____::7501d66d2297a963ebfb075c43fff88e', 'legalName': 'Royal Institute of Technology', 'pids': [{'scheme': 'ISNI', 'value': '0000000121581746'}, {'scheme': 'GRID', 'value': 'grid.5037.1'}, {'scheme': 'mag_id', 'value': '86987016'}, {'scheme': 'Wikidata', 'value': 'Q854280'}, {'scheme': 'PIC', 'value': '999990946'}, {'scheme': 'OrgReg', 'value': 'SE0008'}, {'scheme': 'FundRef', 'value': '501100004270'}, {'scheme': 'RRID', 'value': 'RRID:SCR_000992'}, {'scheme': 'ROR', 'value': 'https://ror.org/026vcq606'}, {'scheme': 'OrgRef', 'value': '25609'}, {'scheme': 'RRID', 'value': 'RRID:nlx_48999'}]}, {'acronym': 'University of Cambridge', 'id': 'openorgs____::b03ae6770284a0dfaca038c0f8193048', 'legalName': 'University of Cambridge', 'pids': [{'scheme': 'FundRef', 'value': '501100004537'}, {'scheme': 'OrgReg', 'value': 'UK0020'}, {'scheme': 'FundRef', 'value': '501100000710'}, {'scheme': 'OrgRef', 'value': '31805'}, {'scheme': 'FundRef', 'value': '100010441'}, {'scheme': 'FundRef', 'value': '501100004222'}, {'scheme': 'OrgRef', 'value': '26015915'}, {'scheme': 'FundRef', 'value': '501100000591'}, {'scheme': 'OrgRef', 'value': '239420'}, {'scheme': 'OrgRef', 'value': '2793352'}, {'scheme': 'FundRef', 'value': '501100000742'}, {'scheme': 'UCAS', 'value': 'C0121'}, {'scheme': 'OrgRef', 'value': '73199'}, {'scheme': 'FundRef', 'value': '501100000663'}, {'scheme': 'OrgRef', 'value': '480151'}, {'scheme': 'FundRef', 'value': '501100000653'}, {'scheme': 'OrgRef', 'value': '180326'}, {'scheme': 'GRID', 'value': 'grid.5335.0'}, {'scheme': 'OrgRef', 'value': '1167853'}, {'scheme': 'ISNI', 'value': '0000000121885934'}, {'scheme': 'FundRef', 'value': '501100006646'}, {'scheme': 'OrgRef', 'value': '498109'}, {'scheme': 'OrgRef', 'value': '327748'}, {'scheme': 'OrgRef', 'value': '151267'}, {'scheme': 'FundRef', 'value': '501100000590'}, {'scheme': 'Wikidata', 'value': 'Q35794'}, {'scheme': 'ROR', 'value': 'https://ror.org/013meh722'}, {'scheme': 'HESA', 'value': '0114'}, {'scheme': 'FundRef', 'value': '501100007552'}, {'scheme': 'FundRef', 'value': '501100000602'}, {'scheme': 'Wikidata', 'value': 'Q24679079'}, {'scheme': 'OrgRef', 'value': '457564'}, {'scheme': 'FundRef', 'value': '501100004495'}, {'scheme': 'FundRef', 'value': '501100000609'}, {'scheme': 'FundRef', 'value': '501100000603'}, {'scheme': 'RRID', 'value': 'RRID:nlx_31670'}, {'scheme': 'FundRef', 'value': '501100008420'}, {'scheme': 'OrgRef', 'value': '31803'}, {'scheme': 'mag_id', 'value': '241749'}, {'scheme': 'FundRef', 'value': '501100000705'}, {'scheme': 'FundRef', 'value': '501100000735'}, {'scheme': 'FundRef', 'value': '501100005962'}, {'scheme': 'OrgRef', 'value': '157283'}, {'scheme': 'OrgRef', 'value': '201369'}, {'scheme': 'FundRef', 'value': '501100000727'}, {'scheme': 'FundRef', 'value': '501100000644'}, {'scheme': 'RRID', 'value': 'RRID:SCR_000996'}, {'scheme': 'UKPRN', 'value': '10007788'}, {'scheme': 'FundRef', 'value': '501100000580'}, {'scheme': 'FundRef', 'value': '501100005796'}, {'scheme': 'OrgRef', 'value': '7317906'}, {'scheme': 'FundRef', 'value': '501100001625'}, {'scheme': 'OrgRef', 'value': '23747745'}, {'scheme': 'OrgRef', 'value': '498120'}, {'scheme': 'Wikidata', 'value': 'Q10899168'}, {'scheme': 'FundRef', 'value': '501100006299'}, {'scheme': 'FundRef', 'value': '501100003987'}, {'scheme': 'FundRef', 'value': '501100005705'}, {'scheme': 'FundRef', 'value': '501100000587'}, {'scheme': 'OrgRef', 'value': '25978572'}, {'scheme': 'OrgRef', 'value': '48671'}, {'scheme': 'Wikidata', 'value': 'Q181892'}, {'scheme': 'FundRef', 'value': '501100000648'}, {'scheme': 'FundRef', 'value': '501100000622'}, {'scheme': 'FundRef', 'value': '501100000585'}, {'scheme': 'OrgRef', 'value': '75963'}, {'scheme': 'FundRef', 'value': '501100000621'}, {'scheme': 'OrgRef', 'value': '212179'}]}, {'acronym': 'Loughborough University', 'id': 'openorgs____::276882186c235f87bab02e2a0b714705', 'legalName': 'Loughborough University', 'pids': [{'scheme': 'ISNI', 'value': '0000000419368542'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011350'}, {'scheme': 'ROR', 'value': 'https://ror.org/04vg4w365'}, {'scheme': 'UCAS', 'value': 'L79'}, {'scheme': 'GRID', 'value': 'grid.6571.5'}, {'scheme': 'OrgRef', 'value': '338982'}, {'scheme': 'FundRef', 'value': '501100000857'}, {'scheme': 'Wikidata', 'value': 'Q1434547'}, {'scheme': 'UKPRN', 'value': '10004113'}, {'scheme': 'OrgReg', 'value': 'UK0077'}, {'scheme': 'FundRef', 'value': '501100000634'}, {'scheme': 'RRID', 'value': 'RRID:nlx_158227'}, {'scheme': 'mag_id', 'value': '143804889'}, {'scheme': 'HESA', 'value': '0152'}, {'scheme': 'PIC', 'value': '999990752'}]}, {'acronym': 'UCC', 'id': 'openorgs____::b8b8ca674452579f3f593d9f5e557483', 'legalName': 'University College Cork', 'pids': [{'scheme': 'Wikidata', 'value': 'Q16902157'}, {'scheme': 'mag_id', 'value': '27577105'}, {'scheme': 'ISNI', 'value': '0000000123318773'}, {'scheme': 'PIC', 'value': '999975717'}, {'scheme': 'OrgRef', 'value': '738094'}, {'scheme': 'Wikidata', 'value': 'Q1574185'}, {'scheme': 'OrgReg', 'value': 'IE0002'}, {'scheme': 'FundRef', 'value': '501100001636'}, {'scheme': 'GRID', 'value': 'grid.7872.a'}, {'scheme': 'ROR', 'value': 'https://ror.org/03265fv13'}]}, {'acronym': 'IEA', 'id': 'openorgs____::7abe320859f250131bb347056016fb46', 'legalName': 'International Energy Agency', 'pids': [{'scheme': 'mag_id', 'value': '159082835'}, {'scheme': 'ROR', 'value': 'https://ror.org/020frhs78'}, {'scheme': 'GRID', 'value': 'grid.435668.a'}, {'scheme': 'FundRef', 'value': '501100015271'}, {'scheme': 'ISNI', 'value': '0000000121060676'}, {'scheme': 'Wikidata', 'value': 'Q826700'}]}, {'acronym': 'CyI', 'id': 'openorgs____::3d1ea5562daee084d77227f58d2eb216', 'legalName': 'Cyprus Institute', 'pids': [{'scheme': 'OrgRef', 'value': '22382061'}, {'scheme': 'mag_id', 'value': '148518341'}, {'scheme': 'OrgReg', 'value': 'CY0039'}, {'scheme': 'ROR', 'value': 'https://ror.org/01q8k8p90'}, {'scheme': 'PIC', 'value': '965934440'}, {'scheme': 'GRID', 'value': 'grid.426429.f'}, {'scheme': 'Wikidata', 'value': 'Q7728557'}, {'scheme': 'ISNI', 'value': '0000000405803152'}]}, {'acronym': 'Imperial College London', 'id': 'openorgs____::778fb8061fc9d6356293bec4c38fb72f', 'legalName': 'Imperial College London', 'pids': [{'scheme': 'UCAS', 'value': 'I50'}, {'scheme': 'mag_id', 'value': '47508984'}, {'scheme': 'GRID', 'value': 'grid.7445.2'}, {'scheme': 'ROR', 'value': 'https://ror.org/041kmwe10'}, {'scheme': 'ISNI', 'value': '0000000121138111'}, {'scheme': 'UKPRN', 'value': '10003270'}, {'scheme': 'OrgRef', 'value': '61116'}, {'scheme': 'OrgReg', 'value': 'UK0053'}, {'scheme': 'OrgRef', 'value': '2244827'}, {'scheme': 'Wikidata', 'value': 'Q189022'}, {'scheme': 'FundRef', 'value': '501100000850'}, {'scheme': 'HESA', 'value': '0132'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011293'}, {'scheme': 'RRID', 'value': 'RRID:nlx_21884'}, {'scheme': 'FundRef', 'value': '501100000761'}, {'scheme': 'OrgRef', 'value': '2244729'}]}, {'acronym': 'UFOP', 'id': 'openorgs____::a728cd6a528330724118096476919305', 'legalName': 'Universidade Federal de Ouro Preto', 'pids': [{'scheme': 'ISNI', 'value': '0000000404884317'}, {'scheme': 'mag_id', 'value': '10824318'}, {'scheme': 'ROR', 'value': 'https://ror.org/056s65p46'}, {'scheme': 'Wikidata', 'value': 'Q6741204'}, {'scheme': 'OrgRef', 'value': '38766892'}, {'scheme': 'FundRef', 'value': '501100009730'}, {'scheme': 'GRID', 'value': 'grid.411213.4'}]}], 'originalIds': ['50|datacite____::2cb78aa6b21092cd0172764a3117ecdc', '10.5281/zenodo.4756708', 'oai:zenodo.org:4756708', '50|od______2659::5e532a80448fbbcbfa3b0e71cfc072de', '50|datacite____::a8bf24a1fc72533ab311fa0c626af9ce', '10.5281/zenodo.4650795', 'oai:zenodo.org:4650795', '50|od______2659::22edb408c78fbadaf591df0218915805', '50|datacite____::b8848e8a40afe94345231538d752e163', '10.5281/zenodo.4650794', '50|datacite____::cb5b58e6a5bdc32eacc1576a248d89b2', '10.5281/zenodo.7539162', '50|od______2659::001ee175ee6dd1a6e280f919f7aa6120', 'oai:zenodo.org:7539162'], 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}, {'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}, {'scheme': 'doi', 'value': '10.5281/zenodo.4650794'}, {'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'programmingLanguage': None, 'projects': None, 'publicationDate': '2021-03-31', 'publiclyFunded': None, 'publisher': 'Zenodo', 'size': None, 'sources': None, 'subjects': [{'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'GNUMathProg'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'energy system modelling'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'linear programming'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'GLPK'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'Liberia'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'OSeMOSYS'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'clicSAND'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'energy'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': '#CCG'}}], 'subTitle': None, 'tools': None, 'type': 'dataset', 'version': 'v1.1.0'}]
E         
E         At index 0 diff: {'authors': [{'fullName': 'Allington, Lucy', 'name': 'Lucy', 'surname': 'Allington', 'rank': 1, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-1801-899x'}, 'provenance': None}}, {'fullName': 'Cannone, Carla', 'name': 'Carla', 'surname': 'Cannone', 'rank': 2, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-1214-8913'}, 'provenance': None}}, {'fullName': 'Pappis, Ioannis', 'name': 'Ioannis', 'surname': 'Pappis', 'rank': 3, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-7537-5470'}, 'provenance': None}}, {'fullName': 'Cervantes Barron, Karla', 'name': 'Karla', 'surname': 'Cervantes Barron', 'rank': 4, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9185-3022'}, 'provenance': None}}, {'fullName': 'Usher, Will', 'name': 'Will', 'surname': 'Usher', 'rank': 5, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9367-1791'}, 'provenance': None}}, {'fullName': 'Pye, Steve', 'name': 'Steve', 'surname': 'Pye', 'rank': 6, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-1793-2552'}, 'provenance': None}}, {'fullName': 'Howells, Mark', 'name': 'Mark', 'surname': 'Howells', 'rank': 7, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-6419-4957'}, 'provenance': None}}, {'fullName': 'Taliotis, Constantinos', 'name': 'Constantinos', 'surname': 'Taliotis', 'rank': 8, 'pid': {'id': {'scheme': 'orcid', 'value': '0000-0003-4022-5506'}, 'provenance': None}}, {'fullName': 'Sundin, Caroline', 'name': 'Caroline', 'surname': 'Sundin', 'rank': 9, 'pid': None}, {'fullName': 'Sridharan, Vignesh', 'name': 'Vignesh', 'surname': 'Sridharan', 'rank': 10, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-0764-2615'}, 'provenance': None}}, {'fullName': 'Ramos, Eunice', 'name': 'Eunice', 'surname': 'Ramos', 'rank': 11, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9061-8485'}, 'provenance': None}}, {'fullName': 'Brinkerink, Maarten', 'name': 'Maarten', 'surname': 'Brinkerink', 'rank': 12, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-8980-9062'}, 'provenance': None}}, {'fullName': 'Deane, Paul', 'name': 'Paul', 'surname': 'Deane', 'rank': 13, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-4681-7791'}, 'provenance': None}}, {'fullName': 'Gritsevskyi, Andrii', 'name': 'Andrii', 'surname': 'Gritsevskyi', 'rank': 14, 'pid': None}, {'fullName': 'Moura, Gustavo', 'name': 'Gustavo', 'surname': 'Moura', 'rank': 15, 'pid': None}, {'fullName': 'Rouget, Arnaud', 'name': 'Arnaud', 'surname': 'Rouget', 'rank': 16, 'pid': None}, {'fullName': 'Wogan, David', 'name': 'David', 'surname': 'Wogan', 'rank': 17, 'pid': None}, {'fullName': 'Barcelona, Edito', 'name': 'Edito', 'surname': 'Barcelona', 'rank': 18, 'pid': None}, {'fullName': 'Rogner, Holger', 'name': 'Holger', 'surname': 'Rogner', 'rank': 19, 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-1045-9830'}, 'provenance': None}}], 'openAccessColor': None, 'publiclyFunded': None, 'type': 'dataset', 'language': {'code': 'eng', 'label': 'English'}, 'countries': None, 'subjects': [{'subject': {'scheme': 'keyword', 'value': 'GNUMathProg'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'energy system modelling'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'linear programming'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'GLPK'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'Liberia'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'OSeMOSYS'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'clicSAND'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': 'energy'}, 'provenance': None}, {'subject': {'scheme': 'keyword', 'value': '#CCG'}, 'provenance': None}], 'mainTitle': 'CCG Starter Data Kit: Liberia', 'subTitle': None, 'descriptions': ['A starter data kit for Liberia'], 'publicationDate': '2021-03-31', 'publisher': 'Zenodo', 'embargoEndDate': None, 'sources': None, 'formats': None, 'contributors': None, 'coverages': None, 'bestAccessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'container': None, 'documentationUrls': None, 'codeRepositoryUrl': None, 'programmingLanguage': None, 'contactPeople': None, 'contactGroups': None, 'tools': None, 'size': None, 'version': None, 'geoLocations': None, 'id': 'doi_dedup___::b8848e8a40afe94345231538d752e163', 'originalIds': ['50|datacite____::2cb78aa6b21092cd0172764a3117ecdc', '10.5281/zenodo.4756708', '50|datacite____::a8bf24a1fc72533ab311fa0c626af9ce', '10.5281/zenodo.4650795', '50|datacite____::b8848e8a40afe94345231538d752e163', '10.5281/zenodo.4650794', '50|datacite____::cb5b58e6a5bdc32eacc1576a248d89b2', '10.5281/zenodo.7539162'], 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}, {'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}, {'scheme': 'doi', 'value': '10.5281/zenodo.4650794'}, {'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'dateOfCollection': None, 'lastUpdateTimeStamp': None, 'indicators': {'citationImpact': {'citationCount': 0.0, 'influence': 2.4895952e-09, 'popularity': 1.5483943e-09, 'impulse': 0.0, 'citationClass': 'C5', 'influenceClass': 'C5', 'impulseClass': 'C5', 'popularityClass': 'C5'}, 'usageCounts': {'downloads': 3, 'views': 9}}, 'projects': None, 'organizations': [{'legalName': 'Cyprus Institute', 'acronym': 'CyI', 'id': 'openorgs____::3d1ea5562daee084d77227f58d2eb216', 'pids': [{'scheme': 'OrgRef', 'value': '22382061'}, {'scheme': 'mag_id', 'value': '148518341'}, {'scheme': 'GRID', 'value': 'grid.426429.f'}, {'scheme': 'OrgReg', 'value': 'CY0039'}, {'scheme': 'Wikidata', 'value': 'Q7728557'}, {'scheme': 'ISNI', 'value': '0000000405803152'}, {'scheme': 'ROR', 'value': 'https://ror.org/01q8k8p90'}, {'scheme': 'PIC', 'value': '965934440'}]}, {'legalName': 'University College London', 'acronym': 'UCL', 'id': 'openorgs____::f031b1a0bb3f7636ff6fbdfa79fd5dec', 'pids': [{'scheme': 'FundRef', 'value': '501100001281'}, {'scheme': 'FundRef', 'value': '501100013818'}, {'scheme': 'OrgRef', 'value': '52029'}, {'scheme': 'FundRef', 'value': '501100001283'}, {'scheme': 'FundRef', 'value': '501100006637'}, {'scheme': 'PIC', 'value': '999864749'}, {'scheme': 'HESA', 'value': '0149'}, {'scheme': 'PIC', 'value': '999852333'}, {'scheme': 'FundRef', 'value': '501100020810'}, {'scheme': 'FundRef', 'value': '501100014052'}, {'scheme': 'FundRef', 'value': '501100022596'}, {'scheme': 'ROR', 'value': 'https://ror.org/02jx3x895'}, {'scheme': 'OrgReg', 'value': 'UK0123'}, {'scheme': 'FundRef', 'value': '501100000845'}, {'scheme': 'FundRef', 'value': '501100006154'}, {'scheme': 'UKPRN', 'value': '10007784'}, {'scheme': 'UKPRN', 'value': '10007781'}, {'scheme': 'FundRef', 'value': '501100008538'}, {'scheme': 'FundRef', 'value': '501100001282'}, {'scheme': 'FundRef', 'value': '501100019910'}, {'scheme': 'FundRef', 'value': '501100013915'}, {'scheme': 'FundRef', 'value': '501100001285'}, {'scheme': 'FundRef', 'value': '501100000765'}, {'scheme': 'Wikidata', 'value': 'Q193196'}, {'scheme': 'RRID', 'value': 'RRID:nlx_86831'}, {'scheme': 'FundRef', 'value': '501100000685'}, {'scheme': 'OrgRef', 'value': '531066'}, {'scheme': 'GRID', 'value': 'grid.83440.3b'}, {'scheme': 'OrgRef', 'value': '1131835'}, {'scheme': 'mag_id', 'value': '45129253'}, {'scheme': 'OrgRef', 'value': '3348837'}, {'scheme': 'PIC', 'value': '999975620'}, {'scheme': 'ISNI', 'value': '0000000121901201'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011603'}, {'scheme': 'UCAS', 'value': 'U80'}, {'scheme': 'FundRef', 'value': '501100000845'}, {'scheme': 'FundRef', 'value': '501100013270'}, {'scheme': 'UKPRN', 'value': '10007766'}, {'scheme': 'FundRef', 'value': '501100001299'}]}, {'legalName': 'International Atomic Energy Agency', 'acronym': 'IAEA', 'id': 'openorgs____::f0abe1a391416c1081ad80e29a112649', 'pids': [{'scheme': 'Wikidata', 'value': 'Q41984'}, {'scheme': 'ISNI', 'value': '0000000404038399'}, {'scheme': 'OrgReg', 'value': 'INT3022'}, {'scheme': 'FundRef', 'value': '501100004493'}, {'scheme': 'mag_id', 'value': '1281029379'}, {'scheme': 'GRID', 'value': 'grid.420221.7'}, {'scheme': 'ROR', 'value': 'https://ror.org/02zt1gg83'}, {'scheme': 'OrgRef', 'value': '14984'}, {'scheme': 'ROR', 'value': 'https://ror.org/00gtfax65'}]}, {'legalName': 'International Energy Agency', 'acronym': 'IEA', 'id': 'openorgs____::7abe320859f250131bb347056016fb46', 'pids': [{'scheme': 'GRID', 'value': 'grid.435668.a'}, {'scheme': 'mag_id', 'value': '159082835'}, {'scheme': 'FundRef', 'value': '501100015271'}, {'scheme': 'ISNI', 'value': '0000000121060676'}, {'scheme': 'ROR', 'value': 'https://ror.org/020frhs78'}, {'scheme': 'Wikidata', 'value': 'Q826700'}]}, {'legalName': 'Loughborough University', 'acronym': 'Loughborough University', 'id': 'openorgs____::276882186c235f87bab02e2a0b714705', 'pids': [{'scheme': 'ISNI', 'value': '0000000419368542'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011350'}, {'scheme': 'ROR', 'value': 'https://ror.org/04vg4w365'}, {'scheme': 'UCAS', 'value': 'L79'}, {'scheme': 'GRID', 'value': 'grid.6571.5'}, {'scheme': 'OrgRef', 'value': '338982'}, {'scheme': 'FundRef', 'value': '501100000857'}, {'scheme': 'Wikidata', 'value': 'Q1434547'}, {'scheme': 'UKPRN', 'value': '10004113'}, {'scheme': 'OrgReg', 'value': 'UK0077'}, {'scheme': 'FundRef', 'value': '501100000634'}, {'scheme': 'RRID', 'value': 'RRID:nlx_158227'}, {'scheme': 'mag_id', 'value': '143804889'}, {'scheme': 'HESA', 'value': '0152'}, {'scheme': 'PIC', 'value': '999990752'}]}, {'legalName': 'University College Cork', 'acronym': 'UCC', 'id': 'openorgs____::b8b8ca674452579f3f593d9f5e557483', 'pids': [{'scheme': 'Wikidata', 'value': 'Q16902157'}, {'scheme': 'mag_id', 'value': '27577105'}, {'scheme': 'ISNI', 'value': '0000000123318773'}, {'scheme': 'PIC', 'value': '999975717'}, {'scheme': 'OrgRef', 'value': '738094'}, {'scheme': 'Wikidata', 'value': 'Q1574185'}, {'scheme': 'OrgReg', 'value': 'IE0002'}, {'scheme': 'FundRef', 'value': '501100001636'}, {'scheme': 'GRID', 'value': 'grid.7872.a'}, {'scheme': 'ROR', 'value': 'https://ror.org/03265fv13'}]}, {'legalName': 'Royal Institute of Technology', 'acronym': 'KTH', 'id': 'openorgs____::7501d66d2297a963ebfb075c43fff88e', 'pids': [{'scheme': 'ISNI', 'value': '0000000121581746'}, {'scheme': 'GRID', 'value': 'grid.5037.1'}, {'scheme': 'mag_id', 'value': '86987016'}, {'scheme': 'Wikidata', 'value': 'Q854280'}, {'scheme': 'PIC', 'value': '999990946'}, {'scheme': 'OrgReg', 'value': 'SE0008'}, {'scheme': 'FundRef', 'value': '501100004270'}, {'scheme': 'RRID', 'value': 'RRID:SCR_000992'}, {'scheme': 'ROR', 'value': 'https://ror.org/026vcq606'}, {'scheme': 'OrgRef', 'value': '25609'}, {'scheme': 'RRID', 'value': 'RRID:nlx_48999'}]}, {'legalName': 'University of Cambridge', 'acronym': 'University of Cambridge', 'id': 'openorgs____::b03ae6770284a0dfaca038c0f8193048', 'pids': [{'scheme': 'FundRef', 'value': '501100004537'}, {'scheme': 'OrgReg', 'value': 'UK0020'}, {'scheme': 'FundRef', 'value': '501100000710'}, {'scheme': 'FundRef', 'value': '501100020635'}, {'scheme': 'OrgRef', 'value': '31805'}, {'scheme': 'FundRef', 'value': '100010441'}, {'scheme': 'FundRef', 'value': '501100004222'}, {'scheme': 'OrgRef', 'value': '26015915'}, {'scheme': 'FundRef', 'value': '501100000591'}, {'scheme': 'OrgRef', 'value': '239420'}, {'scheme': 'OrgRef', 'value': '2793352'}, {'scheme': 'FundRef', 'value': '501100018958'}, {'scheme': 'FundRef', 'value': '501100000742'}, {'scheme': 'FundRef', 'value': '501100020254'}, {'scheme': 'UCAS', 'value': 'C0121'}, {'scheme': 'OrgRef', 'value': '73199'}, {'scheme': 'FundRef', 'value': '501100000663'}, {'scheme': 'OrgRef', 'value': '480151'}, {'scheme': 'FundRef', 'value': '501100022512'}, {'scheme': 'FundRef', 'value': '501100000653'}, {'scheme': 'OrgRef', 'value': '180326'}, {'scheme': 'FundRef', 'value': '501100023913'}, {'scheme': 'GRID', 'value': 'grid.5335.0'}, {'scheme': 'OrgRef', 'value': '1167853'}, {'scheme': 'ISNI', 'value': '0000000121885934'}, {'scheme': 'FundRef', 'value': '501100006646'}, {'scheme': 'OrgRef', 'value': '498109'}, {'scheme': 'OrgRef', 'value': '327748'}, {'scheme': 'OrgRef', 'value': '151267'}, {'scheme': 'FundRef', 'value': '501100016136'}, {'scheme': 'FundRef', 'value': '501100019544'}, {'scheme': 'FundRef', 'value': '501100021076'}, {'scheme': 'FundRef', 'value': '501100000590'}, {'scheme': 'FundRef', 'value': '501100008931'}, {'scheme': 'Wikidata', 'value': 'Q35794'}, {'scheme': 'ROR', 'value': 'https://ror.org/013meh722'}, {'scheme': 'HESA', 'value': '0114'}, {'scheme': 'FundRef', 'value': '501100007552'}, {'scheme': 'FundRef', 'value': '501100000602'}, {'scheme': 'Wikidata', 'value': 'Q24679079'}, {'scheme': 'OrgRef', 'value': '457564'}, {'scheme': 'FundRef', 'value': '501100004495'}, {'scheme': 'FundRef', 'value': '501100000609'}, {'scheme': 'FundRef', 'value': '501100000603'}, {'scheme': 'RRID', 'value': 'RRID:nlx_31670'}, {'scheme': 'FundRef', 'value': '501100008420'}, {'scheme': 'OrgRef', 'value': '31803'}, {'scheme': 'FundRef', 'value': '501100009163'}, {'scheme': 'mag_id', 'value': '241749'}, {'scheme': 'FundRef', 'value': '501100000705'}, {'scheme': 'FundRef', 'value': '501100000735'}, {'scheme': 'FundRef', 'value': '501100005962'}, {'scheme': 'OrgRef', 'value': '157283'}, {'scheme': 'OrgRef', 'value': '201369'}, {'scheme': 'FundRef', 'value': '501100000727'}, {'scheme': 'FundRef', 'value': '501100000644'}, {'scheme': 'FundRef', 'value': '501100019772'}, {'scheme': 'RRID', 'value': 'RRID:SCR_000996'}, {'scheme': 'UKPRN', 'value': '10007788'}, {'scheme': 'FundRef', 'value': '501100000580'}, {'scheme': 'FundRef', 'value': '501100005796'}, {'scheme': 'FundRef', 'value': '501100022011'}, {'scheme': 'OrgRef', 'value': '7317906'}, {'scheme': 'FundRef', 'value': '501100001625'}, {'scheme': 'FundRef', 'value': '501100019696'}, {'scheme': 'OrgRef', 'value': '23747745'}, {'scheme': 'FundRef', 'value': '501100008624'}, {'scheme': 'OrgRef', 'value': '498120'}, {'scheme': 'FundRef', 'value': '501100008101'}, {'scheme': 'Wikidata', 'value': 'Q10899168'}, {'scheme': 'FundRef', 'value': '501100006299'}, {'scheme': 'FundRef', 'value': '501100003987'}, {'scheme': 'FundRef', 'value': '501100005705'}, {'scheme': 'FundRef', 'value': '501100000587'}, {'scheme': 'OrgRef', 'value': '25978572'}, {'scheme': 'OrgRef', 'value': '48671'}, {'scheme': 'Wikidata', 'value': 'Q181892'}, {'scheme': 'FundRef', 'value': '501100000648'}, {'scheme': 'FundRef', 'value': '501100000622'}, {'scheme': 'FundRef', 'value': '501100000585'}, {'scheme': 'FundRef', 'value': '501100016412'}, {'scheme': 'OrgRef', 'value': '75963'}, {'scheme': 'FundRef', 'value': '501100000621'}, {'scheme': 'OrgRef', 'value': '212179'}]}, {'legalName': 'Imperial College London', 'acronym': 'Imperial College London', 'id': 'openorgs____::778fb8061fc9d6356293bec4c38fb72f', 'pids': [{'scheme': 'FundRef', 'value': '501100014534'}, {'scheme': 'UCAS', 'value': 'I50'}, {'scheme': 'mag_id', 'value': '47508984'}, {'scheme': 'FundRef', 'value': '501100024012'}, {'scheme': 'GRID', 'value': 'grid.7445.2'}, {'scheme': 'ROR', 'value': 'https://ror.org/041kmwe10'}, {'scheme': 'ISNI', 'value': '0000000121138111'}, {'scheme': 'UKPRN', 'value': '10003270'}, {'scheme': 'OrgRef', 'value': '61116'}, {'scheme': 'OrgReg', 'value': 'UK0053'}, {'scheme': 'OrgRef', 'value': '2244827'}, {'scheme': 'FundRef', 'value': '501100022211'}, {'scheme': 'Wikidata', 'value': 'Q189022'}, {'scheme': 'FundRef', 'value': '501100000850'}, {'scheme': 'HESA', 'value': '0132'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011293'}, {'scheme': 'RRID', 'value': 'RRID:nlx_21884'}, {'scheme': 'FundRef', 'value': '501100000761'}, {'scheme': 'OrgRef', 'value': '2244729'}, {'scheme': 'FundRef', 'value': '501100024415'}]}, {'legalName': 'Universidade Federal de Ouro Preto', 'acronym': 'UFOP', 'id': 'openorgs____::a728cd6a528330724118096476919305', 'pids': [{'scheme': 'ISNI', 'value': '0000000404884317'}, {'scheme': 'ROR', 'value': 'https://ror.org/056s65p46'}, {'scheme': 'mag_id', 'value': '10824318'}, {'scheme': 'Wikidata', 'value': 'Q6741204'}, {'scheme': 'OrgRef', 'value': '38766892'}, {'scheme': 'FundRef', 'value': '501100009730'}, {'scheme': 'GRID', 'value': 'grid.411213.4'}]}], 'communities': [{'code': 'eosc', 'label': 'EOSC', 'provenance': None}, {'code': 'uarctic', 'label': 'UArctic', 'provenance': None}], 'collectedFrom': [{'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}], 'instances': [{'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}], 'license': 'CC 0', 'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/', 'openAccessRoute': None}, 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4756708'], 'publicationDate': '2021-05-13', 'refereed': 'nonPeerReviewed', 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}}, {'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}], 'license': 'CC 0', 'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/', 'openAccessRoute': None}, 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4650795'], 'publicationDate': '2021-03-31', 'refereed': 'nonPeerReviewed', 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}}, {'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650794'}], 'license': 'CC BY', 'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/', 'openAccessRoute': None}, 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4650794'], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}}, {'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'license': 'CC BY', 'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/', 'openAccessRoute': None}, 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.7539162'], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}}], 'isGreen': None, 'isInDiamondJournal': None} != {'authors': [{'fullName': 'Allington, Lucy', 'name': 'Lucy', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-1801-899x'}, 'provenance': None}, 'rank': 1, 'surname': 'Allington'}, {'fullName': 'Cannone, Carla', 'name': 'Carla', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-1214-8913'}, 'provenance': None}, 'rank': 2, 'surname': 'Cannone'}, {'fullName': 'Pappis, Ioannis', 'name': 'Ioannis', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-7537-5470'}, 'provenance': None}, 'rank': 3, 'surname': 'Pappis'}, {'fullName': 'Cervantes Barron, Karla', 'name': 'Karla', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9185-3022'}, 'provenance': None}, 'rank': 4, 'surname': 'Cervantes Barron'}, {'fullName': 'Usher, Will', 'name': 'Will', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9367-1791'}, 'provenance': None}, 'rank': 5, 'surname': 'Usher'}, {'fullName': 'Pye, Steve', 'name': 'Steve', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-1793-2552'}, 'provenance': None}, 'rank': 6, 'surname': 'Pye'}, {'fullName': 'Howells, Mark', 'name': 'Mark', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-6419-4957'}, 'provenance': None}, 'rank': 7, 'surname': 'Howells'}, {'fullName': 'Taliotis, Constantinos', 'name': 'Constantinos', 'pid': {'id': {'scheme': 'orcid', 'value': '0000-0003-4022-5506'}, 'provenance': None}, 'rank': 8, 'surname': 'Taliotis'}, {'fullName': 'Sundin, Caroline', 'name': 'Caroline', 'pid': None, 'rank': 9, 'surname': 'Sundin'}, {'fullName': 'Sridharan, Vignesh', 'name': 'Vignesh', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0003-0764-2615'}, 'provenance': None}, 'rank': 10, 'surname': 'Sridharan'}, {'fullName': 'Ramos, Eunice', 'name': 'Eunice', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0001-9061-8485'}, 'provenance': None}, 'rank': 11, 'surname': 'Ramos'}, {'fullName': 'Brinkerink, Maarten', 'name': 'Maarten', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-8980-9062'}, 'provenance': None}, 'rank': 12, 'surname': 'Brinkerink'}, {'fullName': 'Deane, Paul', 'name': 'Paul', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-4681-7791'}, 'provenance': None}, 'rank': 13, 'surname': 'Deane'}, {'fullName': 'Gritsevskyi, Andrii', 'name': 'Andrii', 'pid': None, 'rank': 14, 'surname': 'Gritsevskyi'}, {'fullName': 'Moura, Gustavo', 'name': 'Gustavo', 'pid': None, 'rank': 15, 'surname': 'Moura'}, {'fullName': 'Rouget, Arnaud', 'name': 'Arnaud', 'pid': None, 'rank': 16, 'surname': 'Rouget'}, {'fullName': 'Wogan, David', 'name': 'David', 'pid': None, 'rank': 17, 'surname': 'Wogan'}, {'fullName': 'Barcelona, Edito', 'name': 'Edito', 'pid': None, 'rank': 18, 'surname': 'Barcelona'}, {'fullName': 'Rogner, Holger', 'name': 'Holger', 'pid': {'id': {'scheme': 'orcid_pending', 'value': '0000-0002-1045-9830'}, 'provenance': None}, 'rank': 19, 'surname': 'Rogner'}], 'bestAccessRight': {'code': 'c_abf2', 'label': 'OPEN', 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'codeRepositoryUrl': None, 'collectedFrom': [{'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}], 'communities': [{'code': 'eosc', 'label': 'EOSC', 'provenance': None}, {'code': 'uarctic', 'label': 'UArctic', 'provenance': None}], 'contactGroups': None, 'contactPeople': None, 'container': None, 'contributors': None, 'countries': None, 'coverages': None, 'dateOfCollection': None, 'descriptions': ['A starter data kit for Liberia'], 'documentationUrls': None, 'embargoEndDate': None, 'formats': None, 'geoLocations': None, 'id': 'doi_dedup___::b8848e8a40afe94345231538d752e163', 'indicators': {'citationImpact': {'citationClass': 'C5', 'citationCount': 0.0, 'impulse': 0.0, 'impulseClass': 'C5', 'influence': 2.5942106e-09, 'influenceClass': 'C5', 'popularity': 1.9034052e-09, 'popularityClass': 'C5'}, 'usageCounts': {'downloads': 3, 'views': 9}}, 'instances': [{'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC 0', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}], 'publicationDate': '2021-05-13', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4756708']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'alternateIdentifiers': [{'scheme': 'oai', 'value': 'oai:zenodo.org:4756708'}], 'collectedFrom': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC 0', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}], 'publicationDate': '2021-05-13', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['http://dx.doi.org/10.5281/zenodo.4756708']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC 0', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}], 'publicationDate': '2021-03-31', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4650795']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'alternateIdentifiers': [{'scheme': 'oai', 'value': 'oai:zenodo.org:4650795'}], 'collectedFrom': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC 0', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}], 'publicationDate': '2021-03-31', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['http://dx.doi.org/10.5281/zenodo.4650795']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC BY', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4650794'}], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.4650794']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'collectedFrom': {'key': 'openaire____::9e3be59865b2c1c335d32dae2fe7b254', 'value': 'Datacite'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC BY', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['https://dx.doi.org/10.5281/zenodo.7539162']}, {'accessRight': {'code': 'c_abf2', 'label': 'OPEN', 'openAccessRoute': None, 'scheme': 'http://vocabularies.coar-repositories.org/documentation/access_rights/'}, 'alternateIdentifiers': [{'scheme': 'oai', 'value': 'oai:zenodo.org:7539162'}], 'collectedFrom': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'hostedBy': {'key': 'opendoar____::358aee4cc897452c00244351e4d91f69', 'value': 'ZENODO'}, 'license': 'CC BY', 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'publicationDate': '2023-01-16', 'refereed': 'nonPeerReviewed', 'type': 'Dataset', 'urls': ['http://dx.doi.org/10.5281/zenodo.7539162']}], 'isGreen': None, 'isInDiamondJournal': None, 'language': {'code': 'eng', 'label': 'English'}, 'lastUpdateTimeStamp': None, 'mainTitle': 'CCG Starter Data Kit: Liberia', 'openAccessColor': None, 'organizations': [{'acronym': 'UCL', 'id': 'openorgs____::f031b1a0bb3f7636ff6fbdfa79fd5dec', 'legalName': 'University College London', 'pids': [{'scheme': 'FundRef', 'value': '501100001281'}, {'scheme': 'OrgRef', 'value': '52029'}, {'scheme': 'FundRef', 'value': '501100001283'}, {'scheme': 'FundRef', 'value': '501100006637'}, {'scheme': 'PIC', 'value': '999864749'}, {'scheme': 'HESA', 'value': '0149'}, {'scheme': 'PIC', 'value': '999852333'}, {'scheme': 'ROR', 'value': 'https://ror.org/02jx3x895'}, {'scheme': 'OrgReg', 'value': 'UK0123'}, {'scheme': 'FundRef', 'value': '501100000845'}, {'scheme': 'FundRef', 'value': '501100006154'}, {'scheme': 'UKPRN', 'value': '10007784'}, {'scheme': 'UKPRN', 'value': '10007781'}, {'scheme': 'FundRef', 'value': '501100008538'}, {'scheme': 'FundRef', 'value': '501100001282'}, {'scheme': 'FundRef', 'value': '501100013915'}, {'scheme': 'FundRef', 'value': '501100001285'}, {'scheme': 'FundRef', 'value': '501100000765'}, {'scheme': 'Wikidata', 'value': 'Q193196'}, {'scheme': 'RRID', 'value': 'RRID:nlx_86831'}, {'scheme': 'FundRef', 'value': '501100000685'}, {'scheme': 'OrgRef', 'value': '531066'}, {'scheme': 'GRID', 'value': 'grid.83440.3b'}, {'scheme': 'OrgRef', 'value': '1131835'}, {'scheme': 'mag_id', 'value': '45129253'}, {'scheme': 'OrgRef', 'value': '3348837'}, {'scheme': 'PIC', 'value': '999975620'}, {'scheme': 'ISNI', 'value': '0000000121901201'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011603'}, {'scheme': 'UCAS', 'value': 'U80'}, {'scheme': 'FundRef', 'value': '501100000845'}, {'scheme': 'UKPRN', 'value': '10007766'}, {'scheme': 'FundRef', 'value': '501100001299'}]}, {'acronym': 'KTH', 'id': 'openorgs____::7501d66d2297a963ebfb075c43fff88e', 'legalName': 'Royal Institute of Technology', 'pids': [{'scheme': 'ISNI', 'value': '0000000121581746'}, {'scheme': 'GRID', 'value': 'grid.5037.1'}, {'scheme': 'mag_id', 'value': '86987016'}, {'scheme': 'Wikidata', 'value': 'Q854280'}, {'scheme': 'PIC', 'value': '999990946'}, {'scheme': 'OrgReg', 'value': 'SE0008'}, {'scheme': 'FundRef', 'value': '501100004270'}, {'scheme': 'RRID', 'value': 'RRID:SCR_000992'}, {'scheme': 'ROR', 'value': 'https://ror.org/026vcq606'}, {'scheme': 'OrgRef', 'value': '25609'}, {'scheme': 'RRID', 'value': 'RRID:nlx_48999'}]}, {'acronym': 'University of Cambridge', 'id': 'openorgs____::b03ae6770284a0dfaca038c0f8193048', 'legalName': 'University of Cambridge', 'pids': [{'scheme': 'FundRef', 'value': '501100004537'}, {'scheme': 'OrgReg', 'value': 'UK0020'}, {'scheme': 'FundRef', 'value': '501100000710'}, {'scheme': 'OrgRef', 'value': '31805'}, {'scheme': 'FundRef', 'value': '100010441'}, {'scheme': 'FundRef', 'value': '501100004222'}, {'scheme': 'OrgRef', 'value': '26015915'}, {'scheme': 'FundRef', 'value': '501100000591'}, {'scheme': 'OrgRef', 'value': '239420'}, {'scheme': 'OrgRef', 'value': '2793352'}, {'scheme': 'FundRef', 'value': '501100000742'}, {'scheme': 'UCAS', 'value': 'C0121'}, {'scheme': 'OrgRef', 'value': '73199'}, {'scheme': 'FundRef', 'value': '501100000663'}, {'scheme': 'OrgRef', 'value': '480151'}, {'scheme': 'FundRef', 'value': '501100000653'}, {'scheme': 'OrgRef', 'value': '180326'}, {'scheme': 'GRID', 'value': 'grid.5335.0'}, {'scheme': 'OrgRef', 'value': '1167853'}, {'scheme': 'ISNI', 'value': '0000000121885934'}, {'scheme': 'FundRef', 'value': '501100006646'}, {'scheme': 'OrgRef', 'value': '498109'}, {'scheme': 'OrgRef', 'value': '327748'}, {'scheme': 'OrgRef', 'value': '151267'}, {'scheme': 'FundRef', 'value': '501100000590'}, {'scheme': 'Wikidata', 'value': 'Q35794'}, {'scheme': 'ROR', 'value': 'https://ror.org/013meh722'}, {'scheme': 'HESA', 'value': '0114'}, {'scheme': 'FundRef', 'value': '501100007552'}, {'scheme': 'FundRef', 'value': '501100000602'}, {'scheme': 'Wikidata', 'value': 'Q24679079'}, {'scheme': 'OrgRef', 'value': '457564'}, {'scheme': 'FundRef', 'value': '501100004495'}, {'scheme': 'FundRef', 'value': '501100000609'}, {'scheme': 'FundRef', 'value': '501100000603'}, {'scheme': 'RRID', 'value': 'RRID:nlx_31670'}, {'scheme': 'FundRef', 'value': '501100008420'}, {'scheme': 'OrgRef', 'value': '31803'}, {'scheme': 'mag_id', 'value': '241749'}, {'scheme': 'FundRef', 'value': '501100000705'}, {'scheme': 'FundRef', 'value': '501100000735'}, {'scheme': 'FundRef', 'value': '501100005962'}, {'scheme': 'OrgRef', 'value': '157283'}, {'scheme': 'OrgRef', 'value': '201369'}, {'scheme': 'FundRef', 'value': '501100000727'}, {'scheme': 'FundRef', 'value': '501100000644'}, {'scheme': 'RRID', 'value': 'RRID:SCR_000996'}, {'scheme': 'UKPRN', 'value': '10007788'}, {'scheme': 'FundRef', 'value': '501100000580'}, {'scheme': 'FundRef', 'value': '501100005796'}, {'scheme': 'OrgRef', 'value': '7317906'}, {'scheme': 'FundRef', 'value': '501100001625'}, {'scheme': 'OrgRef', 'value': '23747745'}, {'scheme': 'OrgRef', 'value': '498120'}, {'scheme': 'Wikidata', 'value': 'Q10899168'}, {'scheme': 'FundRef', 'value': '501100006299'}, {'scheme': 'FundRef', 'value': '501100003987'}, {'scheme': 'FundRef', 'value': '501100005705'}, {'scheme': 'FundRef', 'value': '501100000587'}, {'scheme': 'OrgRef', 'value': '25978572'}, {'scheme': 'OrgRef', 'value': '48671'}, {'scheme': 'Wikidata', 'value': 'Q181892'}, {'scheme': 'FundRef', 'value': '501100000648'}, {'scheme': 'FundRef', 'value': '501100000622'}, {'scheme': 'FundRef', 'value': '501100000585'}, {'scheme': 'OrgRef', 'value': '75963'}, {'scheme': 'FundRef', 'value': '501100000621'}, {'scheme': 'OrgRef', 'value': '212179'}]}, {'acronym': 'Loughborough University', 'id': 'openorgs____::276882186c235f87bab02e2a0b714705', 'legalName': 'Loughborough University', 'pids': [{'scheme': 'ISNI', 'value': '0000000419368542'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011350'}, {'scheme': 'ROR', 'value': 'https://ror.org/04vg4w365'}, {'scheme': 'UCAS', 'value': 'L79'}, {'scheme': 'GRID', 'value': 'grid.6571.5'}, {'scheme': 'OrgRef', 'value': '338982'}, {'scheme': 'FundRef', 'value': '501100000857'}, {'scheme': 'Wikidata', 'value': 'Q1434547'}, {'scheme': 'UKPRN', 'value': '10004113'}, {'scheme': 'OrgReg', 'value': 'UK0077'}, {'scheme': 'FundRef', 'value': '501100000634'}, {'scheme': 'RRID', 'value': 'RRID:nlx_158227'}, {'scheme': 'mag_id', 'value': '143804889'}, {'scheme': 'HESA', 'value': '0152'}, {'scheme': 'PIC', 'value': '999990752'}]}, {'acronym': 'UCC', 'id': 'openorgs____::b8b8ca674452579f3f593d9f5e557483', 'legalName': 'University College Cork', 'pids': [{'scheme': 'Wikidata', 'value': 'Q16902157'}, {'scheme': 'mag_id', 'value': '27577105'}, {'scheme': 'ISNI', 'value': '0000000123318773'}, {'scheme': 'PIC', 'value': '999975717'}, {'scheme': 'OrgRef', 'value': '738094'}, {'scheme': 'Wikidata', 'value': 'Q1574185'}, {'scheme': 'OrgReg', 'value': 'IE0002'}, {'scheme': 'FundRef', 'value': '501100001636'}, {'scheme': 'GRID', 'value': 'grid.7872.a'}, {'scheme': 'ROR', 'value': 'https://ror.org/03265fv13'}]}, {'acronym': 'IEA', 'id': 'openorgs____::7abe320859f250131bb347056016fb46', 'legalName': 'International Energy Agency', 'pids': [{'scheme': 'mag_id', 'value': '159082835'}, {'scheme': 'ROR', 'value': 'https://ror.org/020frhs78'}, {'scheme': 'GRID', 'value': 'grid.435668.a'}, {'scheme': 'FundRef', 'value': '501100015271'}, {'scheme': 'ISNI', 'value': '0000000121060676'}, {'scheme': 'Wikidata', 'value': 'Q826700'}]}, {'acronym': 'CyI', 'id': 'openorgs____::3d1ea5562daee084d77227f58d2eb216', 'legalName': 'Cyprus Institute', 'pids': [{'scheme': 'OrgRef', 'value': '22382061'}, {'scheme': 'mag_id', 'value': '148518341'}, {'scheme': 'OrgReg', 'value': 'CY0039'}, {'scheme': 'ROR', 'value': 'https://ror.org/01q8k8p90'}, {'scheme': 'PIC', 'value': '965934440'}, {'scheme': 'GRID', 'value': 'grid.426429.f'}, {'scheme': 'Wikidata', 'value': 'Q7728557'}, {'scheme': 'ISNI', 'value': '0000000405803152'}]}, {'acronym': 'Imperial College London', 'id': 'openorgs____::778fb8061fc9d6356293bec4c38fb72f', 'legalName': 'Imperial College London', 'pids': [{'scheme': 'UCAS', 'value': 'I50'}, {'scheme': 'mag_id', 'value': '47508984'}, {'scheme': 'GRID', 'value': 'grid.7445.2'}, {'scheme': 'ROR', 'value': 'https://ror.org/041kmwe10'}, {'scheme': 'ISNI', 'value': '0000000121138111'}, {'scheme': 'UKPRN', 'value': '10003270'}, {'scheme': 'OrgRef', 'value': '61116'}, {'scheme': 'OrgReg', 'value': 'UK0053'}, {'scheme': 'OrgRef', 'value': '2244827'}, {'scheme': 'Wikidata', 'value': 'Q189022'}, {'scheme': 'FundRef', 'value': '501100000850'}, {'scheme': 'HESA', 'value': '0132'}, {'scheme': 'RRID', 'value': 'RRID:SCR_011293'}, {'scheme': 'RRID', 'value': 'RRID:nlx_21884'}, {'scheme': 'FundRef', 'value': '501100000761'}, {'scheme': 'OrgRef', 'value': '2244729'}]}, {'acronym': 'UFOP', 'id': 'openorgs____::a728cd6a528330724118096476919305', 'legalName': 'Universidade Federal de Ouro Preto', 'pids': [{'scheme': 'ISNI', 'value': '0000000404884317'}, {'scheme': 'mag_id', 'value': '10824318'}, {'scheme': 'ROR', 'value': 'https://ror.org/056s65p46'}, {'scheme': 'Wikidata', 'value': 'Q6741204'}, {'scheme': 'OrgRef', 'value': '38766892'}, {'scheme': 'FundRef', 'value': '501100009730'}, {'scheme': 'GRID', 'value': 'grid.411213.4'}]}], 'originalIds': ['50|datacite____::2cb78aa6b21092cd0172764a3117ecdc', '10.5281/zenodo.4756708', 'oai:zenodo.org:4756708', '50|od______2659::5e532a80448fbbcbfa3b0e71cfc072de', '50|datacite____::a8bf24a1fc72533ab311fa0c626af9ce', '10.5281/zenodo.4650795', 'oai:zenodo.org:4650795', '50|od______2659::22edb408c78fbadaf591df0218915805', '50|datacite____::b8848e8a40afe94345231538d752e163', '10.5281/zenodo.4650794', '50|datacite____::cb5b58e6a5bdc32eacc1576a248d89b2', '10.5281/zenodo.7539162', '50|od______2659::001ee175ee6dd1a6e280f919f7aa6120', 'oai:zenodo.org:7539162'], 'pids': [{'scheme': 'doi', 'value': '10.5281/zenodo.4756708'}, {'scheme': 'doi', 'value': '10.5281/zenodo.4650795'}, {'scheme': 'doi', 'value': '10.5281/zenodo.4650794'}, {'scheme': 'doi', 'value': '10.5281/zenodo.7539162'}], 'programmingLanguage': None, 'projects': None, 'publicationDate': '2021-03-31', 'publiclyFunded': None, 'publisher': 'Zenodo', 'size': None, 'sources': None, 'subjects': [{'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'GNUMathProg'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'energy system modelling'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'linear programming'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'GLPK'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'Liberia'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'OSeMOSYS'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'clicSAND'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': 'energy'}}, {'provenance': None, 'subject': {'scheme': 'keyword', 'value': '#CCG'}}], 'subTitle': None, 'tools': None, 'type': 'dataset', 'version': 'v1.1.0'}
E         
E         Full diff:
E           [
E               {
E                   'authors': [
E                       {
E                           'fullName': 'Allington, Lucy',
E                           'name': 'Lucy',
E                           'pid': {
E                               'id': {
E                                   'scheme': 'orcid_pending',
E                                   'value': '0000-0003-1801-899x',
E                               },
E                               'provenance': None,
E                           },
E                           'rank': 1,
E                           'surname': 'Allington',
E                       },
(I've removed the rest of the output)

I think it's because of some changes to the API response since the time you created the fixture openaire_v2.json, so this change gets around that. Otherwise we have to make sure the fixtures are updated at regular intervals.

Copy link
Copy Markdown
Contributor

@willu47 willu47 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ssheikholeslami

Initially, I was unable to recreate the issue, which is why I got confused and went down the API key rabbit hole...

However, I realised that the problem was the use of a CachedSession, which caches API calls. I still had my old cache, so the fixture matched the cached version of the response. When I removed the cache, then this issue popped up.

I'll make new issues for both the API key and the CachedSession...

Otherwise, this is ready for merging.

@ssheikholeslami
Copy link
Copy Markdown
Collaborator Author

Thanks! once I get more comfortable with the codebase I can start by refactoring and redesigning the tests.

@ssheikholeslami ssheikholeslami merged commit e762b4f into main Jan 26, 2026
10 of 14 checks passed
@willu47 willu47 deleted the fix/mock-openaire-test branch January 26, 2026 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants