ricgraph 3.1
Ricgraph - Research in context graph
Requires Python: >=3.9
Keywords: Research in context graph, Ricgraph, Ricgraph Explorer, Ricgraph REST API, Data enrichment, Data harvesting, Data linking, Enrichment, Graph, Graph database, Harvest, Harvest data, Harvester, Knowledge graph, Linked data, Metadata, Utrecht University, Visualization

[![DOI Ricgraph software](https://img.shields.io/badge/software-10.5281/zenodo.7524314-blue?logo=doi&logoColor=fff)](https://doi.org/10.5281/zenodo.7524314)
[![DOI Ricgraph collaborations preprint](https://img.shields.io/badge/collaborations%20preprint-10.2139%2Fssrn.5524439-blue?logo=doi&logoColor=fff)](https://doi.org/10.2139/ssrn.5524439)
[![DOI Ricgraph reference publication](https://img.shields.io/badge/reference%20publication-10.1016%2Fj.softx.2024.101736-blue?logo=doi&logoColor=fff)](https://doi.org/10.1016/j.softx.2024.101736)
[![Ricgraph website](https://img.shields.io/badge/website-www.ricgraph.eu-blue?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MC43NTIiIGhlaWdodD0iNzAuNzYxIiB2aWV3Qm94PSIwIDAgMTguNzIgMTguNzIyIj48ZyBzdHlsZT0ic3Ryb2tlOiNmZmY7c3Ryb2tlLW9wYWNpdHk6MSIgdHJhbnNmb3JtPSJtYXRyaXgoMS4wNTIwNCAwIDAgMS4wNTIwNCAtNjguMzM1IC0xMy4wODMpIj48Y2lyY2xlIGN4PSI2OS44MDkiIGN5PSIxNC43MDciIHI9IjEuODcyIiBmaWxsPSJub25lIiBzdHlsZT0iZmlsbDojZmZmO2ZpbGwtb3BhY2l0eTowO3N0cm9rZTojZmZmO3N0cm9rZS13aWR0aDouODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIvPjxjaXJjbGUgY3g9IjczLjMwMiIgY3k9IjIxLjA0OSIgcj0iMS44NzIiIGZpbGw9Im5vbmUiIHN0eWxlPSJmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjA7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOi44O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIi8+PGNpcmNsZSBjeD0iODAuNDc3IiBjeT0iMjIuNTk2IiByPSIxLjg3MiIgZmlsbD0ibm9uZSIgc3R5bGU9ImZpbGw6I2ZmZjtmaWxsLW9wYWNpdHk6MDtzdHJva2U6I2ZmZjtzdHJva2Utd2lkdGg6Ljg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiLz48Y2lyY2xlIGN4PSI3OC41MyIgY3k9IjE2LjM2OSIgcj0iMS44NzIiIGZpbGw9Im5vbmUiIHN0eWxlPSJmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjA7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOi44O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIi8+PGNpcmNsZSBjeD0iNjcuMjI3IiBjeT0iMjMuNDQ2IiByPSIxLjg3MiIgZmlsbD0ibm9uZSIgc3R5bGU9ImZpbGw6I2ZmZjtmaWxsLW9wYWNpdHk6MDtzdHJva2U6I2ZmZjtzdHJva2Utd2lkdGg6Ljg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiLz48Y2lyY2xlIGN4PSI3Ni4zNjgiIGN5PSIyNy45NiIgcj0iMS44NzIiIGZpbGw9Im5vbmUiIHN0eWxlPSJmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjA7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOi44O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIi8+PHBhdGggZD0ibTc3LjUwNiAyNi40NzQgMS44MzMtMi4zOTJNNzAuNzEyIDE2LjM0N2wxLjY4NyAzLjA2M002OC45NjggMjIuNzZsMi41OTMtMS4wMjRNNzcuMTM1IDE3LjYxOCA3NC42OTcgMTkuOE03NS4xMzIgMjEuNDQ0bDMuNTE1Ljc1N003OS4wODkgMTguMTU1bC44MyAyLjY1NCIgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZjtzdHJva2Utd2lkdGg6Ljg7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiLz48L2c+PC9zdmc+)](https://www.ricgraph.eu)
[![Ricgraph documentation website](https://img.shields.io/badge/doc%20website-docs.ricgraph.eu-blue?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MC43NTIiIGhlaWdodD0iNzAuNzYxIiB2aWV3Qm94PSIwIDAgMTguNzIgMTguNzIyIj48ZyBzdHlsZT0ic3Ryb2tlOiNmZmY7c3Ryb2tlLW9wYWNpdHk6MSIgdHJhbnNmb3JtPSJtYXRyaXgoMS4wNTIwNCAwIDAgMS4wNTIwNCAtNjguMzM1IC0xMy4wODMpIj48Y2lyY2xlIGN4PSI2OS44MDkiIGN5PSIxNC43MDciIHI9IjEuODcyIiBmaWxsPSJub25lIiBzdHlsZT0iZmlsbDojZmZmO2ZpbGwtb3BhY2l0eTowO3N0cm9rZTojZmZmO3N0cm9rZS13aWR0aDouODtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIvPjxjaXJjbGUgY3g9IjczLjMwMiIgY3k9IjIxLjA0OSIgcj0iMS44NzIiIGZpbGw9Im5vbmUiIHN0eWxlPSJmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjA7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOi44O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIi8+PGNpcmNsZSBjeD0iODAuNDc3IiBjeT0iMjIuNTk2IiByPSIxLjg3MiIgZmlsbD0ibm9uZSIgc3R5bGU9ImZpbGw6I2ZmZjtmaWxsLW9wYWNpdHk6MDtzdHJva2U6I2ZmZjtzdHJva2Utd2lkdGg6Ljg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiLz48Y2lyY2xlIGN4PSI3OC41MyIgY3k9IjE2LjM2OSIgcj0iMS44NzIiIGZpbGw9Im5vbmUiIHN0eWxlPSJmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjA7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOi44O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIi8+PGNpcmNsZSBjeD0iNjcuMjI3IiBjeT0iMjMuNDQ2IiByPSIxLjg3MiIgZmlsbD0ibm9uZSIgc3R5bGU9ImZpbGw6I2ZmZjtmaWxsLW9wYWNpdHk6MDtzdHJva2U6I2ZmZjtzdHJva2Utd2lkdGg6Ljg7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiLz48Y2lyY2xlIGN4PSI3Ni4zNjgiIGN5PSIyNy45NiIgcj0iMS44NzIiIGZpbGw9Im5vbmUiIHN0eWxlPSJmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjA7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOi44O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIi8+PHBhdGggZD0ibTc3LjUwNiAyNi40NzQgMS44MzMtMi4zOTJNNzAuNzEyIDE2LjM0N2wxLjY4NyAzLjA2M002OC45NjggMjIuNzZsMi41OTMtMS4wMjRNNzcuMTM1IDE3LjYxOCA3NC42OTcgMTkuOE03NS4xMzIgMjEuNDQ0bDMuNTE1Ljc1N003OS4wODkgMTguMTU1bC44MyAyLjY1NCIgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZjtzdHJva2Utd2lkdGg6Ljg7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiLz48L2c+PC9zdmc+)](https://docs.ricgraph.eu)
[![GitHub Ricgraph](https://img.shields.io/badge/GitHub-UtrechtUniversity/ricgraph-blue?logo=github)](https://github.com/UtrechtUniversity/ricgraph)  
![GitHub release date](https://img.shields.io/github/release-date/UtrechtUniversity/ricgraph?color=%234c1&logo=github)
[![GitHub latest release](https://img.shields.io/github/release/UtrechtUniversity/ricgraph?color=%234c1&logo=github)](https://github.com/UtrechtUniversity/ricgraph/releases)
![GitHub commits since latest release](https://img.shields.io/github/commits-since/UtrechtUniversity/ricgraph/latest?color=%234c1&logo=github)
![GitHub last commit](https://img.shields.io/github/last-commit/UtrechtUniversity/ricgraph?color=%234c1&logo=github)
[![PyPI version](https://img.shields.io/pypi/v/ricgraph?label=PyPI%20version&color=%234c1&logo=pypi&logoColor=ffffff)](https://pypi.org/project/ricgraph)
[![PyPI downloads](https://img.shields.io/pypi/dm/ricgraph?label=PyPI%20downloads&color=%234c1&logo=pypi&logoColor=ffffff)](https://pypistats.org/packages/ricgraph)  
[![GitHub license](https://img.shields.io/github/license/UtrechtUniversity/ricgraph?color=%234c1)](LICENSE)

<!---
Note, some lines above end in two spaces, to force a line break but not a paragraph break.
We use color=#4c1 (green), that color is used by the 'repo status' badge.
Documentation about the Podman badges can be found here: https://github.com/eggplants/ghcr-badge.
--->

<img alt="Ricgraph logo" src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/refs/heads/main/docs/images/ricgraph_logo.png" width="30%">

# Ricgraph - Research in context graph

## What is Ricgraph?

Ricgraph, also known as Research in context graph, enables the exploration of researchers, 
teams, their results,
collaborations, skills, projects, and the relations between these items.

Ricgraph can store many types of items into a single graph. 
These items can be obtained from various systems and from
multiple organizations. Ricgraph facilitates reasoning about these 
items because it infers new relations between items,
relations that are not present in any of the separate source systems. 
It is flexible and extensible, and can be
adapted to new application areas.

## Motivation

Ricgraph is software that is about
relations between items. These items can be collected from various source
systems and from multiple organizations. We
explain how Ricgraph works by applying it to the application area
*research information*. We show the insights that can be
obtained by combining information from various source systems,
insight arising from new relations that are not present
in each separate source system.

*Research information* is about anything related to research: research
results, the persons in a research team, their
collaborations, their skills, projects in which they have
participated, as well as the relations between these entities.
Examples of *research results* are publications, data sets, and software.

The following sections show three use cases
that use different types of information (called *items*):
researchers, skills, publications,
etc. Most often, these types of information are not stored in
one system, so the use cases may be difficult or
time-consuming to answer. However, by using Ricgraph, these
use cases (and many others) are easy to answer, as will be
explained throughout this documentation.

Although this documentation illustrates Ricgraph in the application area
research information, the principle “relations
between items from various source systems” is general,
so Ricgraph can be used in other application areas.

### Use case for a journalist
As a journalist, I want to find researchers with a certain skill S and their publications,
so that I can interview them for a newspaper article.
Example skills can be: *climate change* or *stem cells*.
The items surrounded by the red line are the solution to this use case.

<!-- 
The 'width=...' in the lines below to include a figure are necessary for 
the documentation generated with Quarto, a.o. for the documentation website.
We will need a width instead of a height to prevent right margin overflows
on small mobile screens.
-->

<img src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/main/docs/images/journalist-use-case.jpg" alt="Ricgraph use case for a journalist." width="70%">

### Use case for a librarian
As a librarian, I want to enrich my local research information system with research results
from person A that are in other systems (in orange, *RIS2*) but not in
ours (in green, *RIS1*), so that we have a more complete view of research at our university.
The items surrounded by the red line are the solution to this use case.

<img src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/main/docs/images/librarian-use-case.jpg" alt="Ricgraph use case for a librarian." width="75%"> 

### Use case for a researcher
As a researcher A, I want to find researchers from other universities that have
co-authored publications written by the co-authors of my own publications,
so that I can read their publications to find out if we share common research interests.
The items surrounded by the red line are the solution to this use case.

<img src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/main/docs/images/researcher-use-case.jpg" alt="Ricgraph use case for a researcher." width="35%">

## Main contributions of Ricgraph

* Ricgraph can store many types of items in a single graph.
* Ricgraph harvests multiple source systems into a single graph.
* Ricgraph Explorer is the exploration tool for Ricgraph.
* Ricgraph facilitates reasoning about items because it infers new relations between items.
* Ricgraph can be tailored for an application area.

## Read more about Ricgraph

For a gentle introduction in Ricgraph, read the reference publication: 
Rik D.T. Janssen (2024). *Ricgraph: A flexible and extensible graph to explore research in
context from various systems*. SoftwareX, 26(101736).
[https://doi.org/10.1016/j.softx.2024.101736](https://doi.org/10.1016/j.softx.2024.101736).

You might also want to read the documentation on 
[https://docs.ricgraph.eu](https://docs.ricgraph.eu).
You can also go to the [Ricgraph GitHub repository](https://github.com/UtrechtUniversity/ricgraph).
To use Ricgraph, installing the [Ricgraph package from PyPI](https://pypi.org/project/ricgraph) 
is not sufficient. Please read the
installation instructions in the Ricgraph GitHub repository.

## Contact

Ricgraph has been created and is being maintained by
Rik D.T. Janssen from Utrecht University in the Netherlands. 
You can find contact details at
[his Utrecht University employee page](https://www.uu.nl/staff/DTJanssen).
He also has an ORCID profile on
[ORCID 0000-0001-9510-0802](https://orcid.org/0000-0001-9510-0802).