Skip to content

Releases: UtrechtUniversity/ricgraph

2.4 - Ricgraph

10 Sep 12:14
Compare
Choose a tag to compare

The following improvements have been made to Ricgraph.

Structural changes:

  • Ricgraph now has a Makefile. A Ricgraph installation involves a number of steps. This Makefile makes installation of (parts of) Ricgraph easier, since it automates a number of these steps.
  • Now, you can also use the Nginx webserver for Ricgraph. It was already possible to use the Apache webserver.

Documentation:

  • Added Ricgraph presentations: among other things, a general Ricgraph presentation and a presentation about Enriching Pure data (both with DOIs).
  • Added Ricgraph newsletters.
  • Various clarifications.

Upgrading:

  • If you upgrade from Ricgraph v2.3, you do not need to re-install or reharvest.

2.3 - Ricgraph

10 Jun 07:59
Compare
Choose a tag to compare

The following improvements have been made to Ricgraph.

Structural changes:

  • Ricgraph now has a REST API. You can use the Ricgraph REST API to get data from Ricgraph, or to execute predefined queries in Ricgraph and Ricgraph Explorer. The advantage of a REST API is that your code is not dependent on any Ricgraph code. Ricgraph Explorer has a button that shows the documentation and allow you to try out REST API calls. Read more about this REST API.
  • Ricgraph now uses a different type of index if you use Neo4j as graph database backend. This results in a much faster harvesting process and much faster queries.
  • Ricgraph has a main Ricgraph website on www.ricgraph.eu. Alternative sites are www.ricgraph.nl and www.ricgraph.com. The code and the final published website are in a separate GitHub repository Website for Ricgraph - Research in context graph.
  • Ricgraph uses a new WSGI/ASGI webserver gunicorn. This is required for the REST API.

Ricgraph Explorer:

  • Some pages now show histograms, e.g. of the types of research results to which a person has contributed, or the skills in a (sub-)organization.
  • It is possible to adjust the maximum number of results from a query, and the maximum number of rows in a table.

Ricgraph:

  • Changes to use the Neo4j elementId() function call instead of deprecated id() in neo4j. However, for memgraph, elementId() does not exist and id() should be used.

Harvest scripts:

  • The harvest scripts for Pure and OpenAlex now harvest (as default) the years 2021 - 2024, this used to be 2020 - 2023.
  • OpenAlex has defined new research result types. These have been added to the harvest script for OpenAlex.

Documentation:

  • Documentation for the REST API, including installation instructions.
  • Various clarifications.

Upgrading:

  • If you upgrade from any Ricgraph version, you will need to re-install Ricgraph, re-use your previous Ricgraph initialization file, and reharvest your sources. This is due to the many changes. It is advisable to remove all of your existing files and directories, except for ricgraph.ini, before you re-install Ricgraph.
  • If you don't use at least Python 3.9, you will need to upgrade to at least this Python version.

2.2 - Ricgraph

01 May 06:27
Compare
Choose a tag to compare

This release is the same as Ricgraph v2.1, except for these minor changes:

  • Some mentions have been added.
  • CITATION.cff is now correctly formatted (as was not the case in v2.1, which confused some metadata harvesters).

Please read the Release notes of Ricgraph v2.1 to read what you have to do when upgrading Ricgraph.

2.1 - Ricgraph

24 Apr 07:24
Compare
Choose a tag to compare

A journal article has been published about Ricgraph. Please read it to get a gentle introduction in Ricgraph. 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.

The following improvements have been made to Ricgraph.

Structural change:

  • As an alternative to Neo4j, you can also use Memgraph. Memgraph is an in memory graph database. You can use Memgraph by modifying some settings in the Ricgraph initialization file. Memgraph with Ricgraph has not been tested extensively, but first tests seem to indicate that Memgraph is much faster than Neo4j, especially for harvesting.

Ricgraph Explorer:

  • Improved the speed of finding persons that share research result types with a certain person.

Ricgraph:

  • Added a function to get datestamps and timestamps to monitor clock time progress.
  • Added counters for the number of accesses to the graph database backend.

Harvest scripts:

  • Every harvest script now prints datestamps and timestamps to monitor clock time progress. They also have counters for the number of accesses to the graph database backend. Both can be used to get an idea about the performance of the graph database backend.

Documentation:

  • Added documentation how to use Memgraph.

Upgrading:

  • If you upgrade from Ricgraph v2.0, you do not need to re-install or reharvest.
  • If you upgrade from any Ricgraph version earlier than v2.0, you will need to re-install Ricgraph, re-create your Ricgraph initialization file, and reharvest your sources. This is due to the many changes.

2.0 - Ricgraph

10 Apr 08:21
Compare
Choose a tag to compare

The following improvements have been made to Ricgraph.

Structural change:

  • Previously, Ricgraph used the Python module py2neo to connect with the graph database backend Neo4j. This module is end-of-life. Now, Ricgraph uses the Python module neo4j. This required many changes, including explicit Cypher calls in the code. This results in a faster Ricgraph, and it may be possible to use other graph database backends that use the same Python module (such as Memgraph or Avantgraph).

Ricgraph Explorer:

  • Added a function that finds with which (sub-)organizations a person collaborates.
  • Modifications to make Ricgraph Explorer run in a multi-user environment. This includes an Apache config file, and changes so that Ricgraph Explorer can be run as a Linux service, or using WSGI.

Ricgraph:

  • Cleanup and optimization of code.
  • Added a script to count the number of organizations that contributed to a category, so that you will be able to see which (sub-)organizations collaborate.
  • Modifications to make Ricgraph run in a multi-user environment.
  • A call to get_personroot_node() or get_all_personroot_nodes() now returns person-root nodes of any type of node.
  • Previously, if a new node had a FULL_NAME that was already in Ricgraph, the new node was joined with the node already present. It appears that in case you harvest multiple source systems, this may not be a good idea: a person named J. Doe from source system 1 may be someone else than person J. Doe from source system 2. Thus, this is not done any more, unless you set RICGRAPH_NODEADD_MODE to something else than 'strict'.
  • Modified initialization file by renaming a section, and adding and renaming graph database backend parameters.
  • Removed function get_edges().

Harvest scripts:

  • Added University Medical Center Utrecht to the list of nodes to rename in the batch harvest script batch_harvest.py.

Documentation:

  • Added the reference publication: Rik D.T. Janssen, Ricgraph: A Flexible and Extensible Graph to Explore Research in Context from Various Systems. January 2024. Submitted to SoftwareX. https://doi.org/10.2139/ssrn.4712466.
  • Added use cases as in the reference publication.
  • Added documentation for Ricgraph Explorer.
  • Added documentation how to run Ricgraph and Ricgraph Explorer in a multi-user environment. Please read Ricgraph as a server on Linux.
  • Added a Ricgraph presentation and a table where Ricgraph has been used.
  • Added an explation how to dump data in Neo4j Desktop and use it in Neo4j Community Edition.
  • Reorganized the documentation structure.
  • Updated badges in README.md file.
  • And many other improvements and clarifications to the documentation.

GitHub:

  • The default branch name of Ricgraph in GitHub has been renamed from master to main.

Upgrading:

1.14 - Ricgraph

25 Jan 13:20
Compare
Choose a tag to compare

The following improvements have been made to Ricgraph.

Ricgraph Explorer:

  • The option to get more information about persons or their results in an organization is much faster.
  • The option to find persons that share research output types with another person is faster.
  • Removed the option to find overlap in source systems for an organization.
  • Added a transparant favicon.

If you upgrade from Ricgraph v1.13, you do not need to reharvest your sources. If you upgrade from Ricgraph v1.11 or earlier, you do need to reharvest your sources.

1.13 - Ricgraph

04 Jan 13:51
Compare
Choose a tag to compare

The following improvements have been made to Ricgraph.

Ricgraph Explorer:

  • Full rewrite of the code, to make the structure easier to understand and the code easier to extend.
  • User experience improvements, such as a new flow through the application, buttons with predefined search queries, and dropdown lists for various input fields.
  • Added a cache for nodes.
  • Statistics such as the names of the harvested systems, number of nodes and edges, and use of the node cache.
  • Speed improvements.

Ricgraph:

  • Minor changes related to the rewrite of Ricgraph Explorer.

If you upgrade from Ricgraph v1.12, you do not need to reharvest your sources. If you upgrade from Ricgraph v1.11 or earlier, you do need to reharvest your sources.

1.12 - Ricgraph

19 Dec 09:52
Compare
Choose a tag to compare

The following improvements have been made to Ricgraph.

Ricgraph Explorer:

  • User experience improvements.
  • Speed improvements

Ricgraph:

  • The FULL_NAME of nodes is cached in the comment field of its person-root node.
  • Limit the number of organization nodes to return in filterorganization() for improvement of speed.
  • Changed the object identifier of nodes from RCGNode to RicgraphNode.

Harvest scripts:

  • In case a person is part of multiple (child) organizations (such as university, faculty, department, unit), this person will be connected to all of these (child) organizations.
  • Pure harvesting: more author names will be added to Ricgraph: the not active persons, the external persons and the author collaborations.
  • Pure harvesting: projects without identifiers will be harvested.
  • Pure harvesting: projects are connected to all of their parent organizations.

Documentation:

  • Added Ricgraph abstract, presentation and video at Pure International Conference 2023 in Dubrovik, Croatia.
  • Added several badges in README.md.
  • Added metadata for the Clariah tools website, and for other sites that obtain their metadata from the Clariah tools website.

If you upgrade from Ricgraph v1.11 or earlier, you need to reharvest your sources.

1.11 - Ricgraph

08 Nov 15:49
Compare
Choose a tag to compare

The following improvements have been made to Ricgraph.

Ricgraph explorer:

  • Now you can find information about persons or their results in a (child) organization (unit, department, faculty, university). For example, you can find out what data sets or software are produced in your faculty. Or the skills of all persons in your department. Of course this is only possible in case you have harvested them.
  • Also, you can find out with whom a person shares research output types. For example, you can find out with whom someone shares software or data sets.
  • You can get tables showing how you can enrich a source system based on other systems you have harvested. For example, suppose you have harvested both Pure and OpenAlex, using this feature you can find out which publications in OpenAlex are not in Pure. You might want to add those to Pure.
  • The search page has been restructured and improved.
  • All pages use the URL parameter/value mechanism (i.e. similar to hostname/webpage/?parameter1=value1&parameter2=value2).

Ricgraph:

  • The functions get_all_neighbor_nodes() and get_all_neighbor_nodes_person() now have an optional parameter limiting the number of neighbor nodes to return. This is used for a speedup of Ricgraph explorer.

If you upgrade from Ricgraph v1.10, you do not need to reharvest your sources.

1.10 - Ricgraph

27 Oct 08:15
Compare
Choose a tag to compare

The following improvements have been made to Ricgraph.

Ricgraph explorer:

  • If you have harvested from more than one source, it may be possible that a record which you've harvested from system 2 (say, ORCID 1234 for Alice), may already be in Ricgraph because it was also present in system 1. This is perfectly fine behaviour. This ORCID record will not be inserted twice, because it is already present. The only modification will be that system 2 is added to the _source list of the ORCID record of Alice. In this new release, Ricgraph explorer has an option to create a table that shows the overlap in harvests from different source systems. You do a query in Ricgraph (e.g. show all ORCID nodes), and then you choose to show a table that summarizes the number of ORCID nodes which were only found in one source, and which were found in multiple sources. Another table gives a detailed overview how many nodes originate from which different source systems. Then, you can drill down by clicking on a number in one of these two tables to find the nodes corresponding to that number. In the example ORCID node of Alice, the first table will tell you that there is 1 node found in multiple sources, and the second table will tell you that this node originated from system 1 and system 2 by showing a "1" in row and column representing these systems. Another use of this table is that you e.g. find Alices node, and then the tables will show which of the nodes connected to Alice (e.g. her journal articles or software packages) are unique to only one source system, and which nodes originate from multiple sources.

Ricgraph:

  • Now there are global research output type names defined in ricgraph.py, such als journal article or software. Each harvest script has a mapping table that translates the name used in that source (e.g. article) to the name which is used in Ricgraph (journal article). The advantage of this is that there is one place where all research output type names are defined, and that there is only one way how they show up in Ricgraph.

Harvest scripts:

  • Modifications for the mapping table for research output type names.
  • For organizations, now their names are used for the value field, so you can search for an organization name. Previously, Ricgraph used identifiers, such as local Pure UUIDs or RORs. Although the latter might be preferred, I changed this because there do not seem to be generally used organization identifiers yet for sub organizations (for e.g. faculties or departments of a university).
  • Pure harvesting: suppose Alice works for University X, Faculty Y, and Department Z. Previously this hierarchy was represented in Ricgraph. Now, each of the (sub) organizations a person works for, are directly connected to the person-root node of this person. In the example with Alice, the node for University X is connected to the person-root node of Alice, as are the nodes for Faculty Y and Department Z. This has the advantage that you are able to select e.g. University X, and find the persons working for this university, or that you can select e.g. Faculty Y, and find the persons involved with that faculty, etc.
  • Pure harvesting: if a person works for multiple (sub) organizations, this person will be connected to all of these (sub) organizations. Previously a person was only connected to one (sub) organization.
  • The batch harvesting script batch_harvest.py now has some error checking. Also, you can have this script modify your graph specific for your organization. For example, for Utrecht University, in the Pure harvest we find organization name University: Universiteit Utrecht, while this same organization is called Utrecht University in OpenAlex. In the batch script we change the name from the former to the latter, so that records harvested from OpenAlex will be mapped to the same organization as records harvested from Pure. This ensures a more concise graph.