Skip to content

Add support for OpenAIRE#299

Merged
tomkralidis merged 4 commits intogeopython:masterfrom
jli2025:openaire
Feb 10, 2026
Merged

Add support for OpenAIRE#299
tomkralidis merged 4 commits intogeopython:masterfrom
jli2025:openaire

Conversation

@jli2025
Copy link
Copy Markdown
Contributor

@jli2025 jli2025 commented Dec 5, 2025

This PR adds support for openaire metadata. It only supports import (openaire -> mcf).

It can use used for metadata record from the new openaire api: OpenAIRE Graph API

An example openaire metadata record: https://api.openaire.eu/graph/v2/researchProducts?pid=10.3390/proceedings2019030057

@pvgenuchten
Copy link
Copy Markdown
Contributor

Thanx @jli2025 i’ll have a look asap

@jli2025
Copy link
Copy Markdown
Contributor Author

jli2025 commented Dec 15, 2025

Hi @pvgenuchten I just added a commit to fix the identifier issue (when there is no pids) as we discussed.

@pvgenuchten
Copy link
Copy Markdown
Contributor

pvgenuchten commented Jan 12, 2026

Code looks really nice @jli2025, some small comments:

  • I noticed a tag: test at root level of the generated yml, not sure how it was generated?
  • Is it possible to add a /metadata/datestamp element on the record (maybe with date today, if the imported source does not have it), datestamp seems a required element on mcf

Copy link
Copy Markdown
Contributor

@pvgenuchten pvgenuchten left a comment

Choose a reason for hiding this comment

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

added minor fixes

Comment thread pygeometa/schemas/openaire/__init__.py Outdated
@pvgenuchten pvgenuchten force-pushed the openaire branch 2 times, most recently from 06ba553 to 82cc422 Compare January 13, 2026 10:17
@pvgenuchten
Copy link
Copy Markdown
Contributor

pvgenuchten commented Jan 29, 2026

@jli2025 Can you extend the plugin to make metadata_ = md.get('results')[0] optional
we can not assume the header/results wrapper is always available (although if it is available, good to unwrap the individual results) -> resolved

@pvgenuchten pvgenuchten force-pushed the openaire branch 2 times, most recently from 8514419 to 9c41c48 Compare January 29, 2026 12:07
@pvgenuchten pvgenuchten requested review from pvgenuchten and tomkralidis and removed request for pvgenuchten January 29, 2026 12:09
Copy link
Copy Markdown
Contributor

@pvgenuchten pvgenuchten left a comment

Choose a reason for hiding this comment

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

operational now, added a import test

Copy link
Copy Markdown
Member

@tomkralidis tomkralidis left a comment

Choose a reason for hiding this comment

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

Great work! Some additional comments/change requests.

Comment thread pygeometa/schemas/openaire/__init__.py Outdated
Comment thread pygeometa/schemas/openaire/__init__.py
Comment thread pygeometa/schemas/openaire/__init__.py Outdated
Comment thread pygeometa/schemas/openaire/__init__.py
Comment thread pygeometa/schemas/openaire/__init__.py
Comment thread pygeometa/schemas/openaire/__init__.py
Comment thread pygeometa/schemas/openaire/__init__.py Outdated
Comment thread pygeometa/schemas/openaire/__init__.py
Comment thread pygeometa/schemas/openaire/__init__.py
Comment thread pygeometa/schemas/openaire/__init__.py Outdated
@pvgenuchten
Copy link
Copy Markdown
Contributor

pvgenuchten commented Jan 29, 2026

actually, maybe we are too friendly here... we should also have a clear case indicating: "This json is not in OpenAire format", else it would parse any json and return an almost empty mcf... in case schema:autodetect is used

actually, the openaire is totally not considered yet when using autodetect, an update is needed elsewhere?
--> this is actually a problem of the schema-org plugin, the schema-org plugin returns empty document when not matching, and then does not continue to next schema to try

@pvgenuchten
Copy link
Copy Markdown
Contributor

rebased to main... resolved conflicts... anything pending?

jli2025 and others added 4 commits February 10, 2026 22:21
initialize

update

last update on the old openaire api format

create mapping for new openaire api

update

update

add new samples

remove sample data

add project

remove run_test script
- do not require results wrapper
- add import test
@tomkralidis tomkralidis merged commit e07217e into geopython:master Feb 10, 2026
1 check passed
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