Skip to main content

A Global Scholarly
Knowledge Graph


377 M Research Products

PUBLICATIONS. DATA. SOFTWARE. +
  results are shown in the Graph user interface, OpenAIRE EXPLORE
 

Join our next Community Call

July 15, 2026 @ 11:00 CEST

Grab your coffee and join our online user meeting to learn about how to best take advantage of the Graph and new or pending developments.

Join the Graph User Forum

Get involved to help shape a better service.

Why the OpenAIRE Graph?

Open. Transparent. Trusted.

A 360o view of research

Publications, research data, software, protocols and other research outcomes interlinked, and all linked to authors, organisations, funders and publication venues.

Interoperable

Data uploaded to the Graph contain ORCID, ROR, Scholix, OpenCitations, and other registry identifiers, allowing for global interoperability and registered data is compliant with the OpenAIRE Guidelines.

Open & Trasparent

Provenance is tracked at all levels of records and properties, fully documented. The Graph is freely available for download and re-use to all as CC-BY or CC-0.

Enriched

Each record is classified with information related to Fields of Science, emerging scientific or technological topics, SDGs.

Connected

Open Access publications are processed by AI algorithms and extract information on authors citations of datasets, software, bioentities, methods, diseases, etc. providing context for discovery and assessment.

Completed with Metrics

Metrics are embedded into each record of the Graph to provide advanced statistics about its use, impact and openness.

The epitome of a community driven-effort and technological advancement.

How can I use or contribute to the OpenAIRE Graph?

document.addEventListener("DOMContentLoaded", function() { function fixImages() { document.querySelectorAll('img').forEach(function(img) { var src = img.getAttribute('src'); if (src && src.startsWith('images/')) { img.setAttribute('src', '/' + src); } }); } // Εκτέλεση κατά το πρώτο φόρτωμα fixImages(); // Παρακολούθηση της σελίδας για dynamic αλλαγές (π.χ. lazy loading) var observer = new MutationObserver(fixImages); observer.observe(document.body, { childList: true, subtree: true }); }); document.addEventListener("DOMContentLoaded", function() { function bypassBrokenCache() { document.querySelectorAll('img').forEach(function(img) { var currentSrc = img.getAttribute('src'); if (currentSrc) { // Περίπτωση Α: Η εικόνα περνάει από το com_ajax cache του YOOtheme if (currentSrc.includes('com_ajax') && currentSrc.includes('&src=images/')) { // Απομονώνουμε το κομμάτι μετά το &src= var parts = currentSrc.split('&src='); if (parts[1]) { var realPath = parts[1].split('&')[0]; // Παίρνουμε μόνο το path της εικόνας img.setAttribute('src', '/' + decodeURIComponent(realPath)); } } // Περίπτωση Β: Η εικόνα είναι απλό relative path χωρίς slash else if (currentSrc.startsWith('images/')) { img.setAttribute('src', '/' + currentSrc); } } }); } // Εκτέλεση παντού και συνεχώς (για lazy loading και tabs) bypassBrokenCache(); var observer = new MutationObserver(bypassBrokenCache); observer.observe(document.body, { childList: true, subtree: true }); document.addEventListener('click', function() { setTimeout(bypassBrokenCache, 50); setTimeout(bypassBrokenCache, 200); }); });