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](https://github.com/UtrechtUniversity/ricgraph/blob/main/docs/ricgraph_explorer.md).
- Added documentation how to run Ricgraph and Ricgraph Explorer in a multi-user environment. Please read [Ricgraph as a server on Linux](https://github.com/UtrechtUniversity/ricgraph/blob/main/docs/ricgraph_as_server.md).
- 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:
- If you upgrade from any Ricgraph version, you will need to [re-install Ricgraph](https://github.com/UtrechtUniversity/ricgraph/blob/main/docs/ricgraph_install_configure.md), re-create your [Ricgraph initialization file](https://github.com/UtrechtUniversity/ricgraph/blob/main/docs/ricgraph_install_configure.md#ricgraph-initialization-file), and reharvest your sources. This is due to the many changes.