ricgraph 2.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ricgraph-2.8/LICENSE +21 -0
- ricgraph-2.8/PKG-INFO +125 -0
- ricgraph-2.8/README-PyPI.md +101 -0
- ricgraph-2.8/README.md +383 -0
- ricgraph-2.8/pyproject.toml +39 -0
- ricgraph-2.8/ricgraph/__init__.py +38 -0
- ricgraph-2.8/ricgraph/ricgraph.py +2866 -0
- ricgraph-2.8/ricgraph.egg-info/PKG-INFO +125 -0
- ricgraph-2.8/ricgraph.egg-info/SOURCES.txt +11 -0
- ricgraph-2.8/ricgraph.egg-info/dependency_links.txt +1 -0
- ricgraph-2.8/ricgraph.egg-info/requires.txt +4 -0
- ricgraph-2.8/ricgraph.egg-info/top_level.txt +1 -0
- ricgraph-2.8/setup.cfg +4 -0
ricgraph-2.8/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Rik D.T. Janssen
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
ricgraph-2.8/PKG-INFO
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: ricgraph
|
|
3
|
+
Version: 2.8
|
|
4
|
+
Summary: Ricgraph - Research in context graph
|
|
5
|
+
Author: Rik D.T. Janssen
|
|
6
|
+
Project-URL: Website, https://www.ricgraph.eu
|
|
7
|
+
Project-URL: Documentation, https://github.com/UtrechtUniversity/ricgraph/blob/main/README.md
|
|
8
|
+
Project-URL: GitHub, https://github.com/UtrechtUniversity/ricgraph
|
|
9
|
+
Project-URL: Issues, https://github.com/UtrechtUniversity/ricgraph/issues
|
|
10
|
+
Project-URL: Download, https://github.com/UtrechtUniversity/ricgraph/releases
|
|
11
|
+
Project-URL: Release Notes, https://github.com/UtrechtUniversity/ricgraph/releases
|
|
12
|
+
Keywords: Ricgraph,Ricgraph Explorer,Ricgraph REST API,Research in context graph,Graph,Graph database,Data harvesting,Data enrichment,Data linking,Linked data,Knowledge graph,Metadata,Utrecht University
|
|
13
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
License-File: LICENSE
|
|
20
|
+
Requires-Dist: neo4j>=5.8
|
|
21
|
+
Requires-Dist: numpy
|
|
22
|
+
Requires-Dist: pandas
|
|
23
|
+
Requires-Dist: requests
|
|
24
|
+
|
|
25
|
+
[](https://doi.org/10.5281/zenodo.7524314)
|
|
26
|
+
[](https://doi.org/10.1016/j.softx.2024.101736)
|
|
27
|
+
[](https://www.ricgraph.eu)
|
|
28
|
+

|
|
29
|
+
[](https://github.com/UtrechtUniversity/ricgraph/releases)
|
|
30
|
+

|
|
31
|
+

|
|
32
|
+
[](https://pypi.org/project/ricgraph)
|
|
33
|
+
[](https://pypistats.org/packages/ricgraph)
|
|
34
|
+
[](https://github.com/UtrechtUniversity/ricgraph/blob/main/docs/ricgraph_containerized.md)
|
|
35
|
+
[](https://github.com/utrechtuniversity/ricgraph/pkgs/container/ricgraph)
|
|
36
|
+
[](LICENSE)
|
|
37
|
+
[](https://www.repostatus.org/#active)
|
|
38
|
+
[](https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-metadata-requirements.md#15--you-should-express-a-technology-readiness-level)
|
|
39
|
+
[](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=32110&r=123)
|
|
40
|
+
|
|
41
|
+
<!---
|
|
42
|
+
Note, the lines 'Website' and
|
|
43
|
+
'PyPI downloads' end in two spaces, to force a line break but not a paragraph break.
|
|
44
|
+
Similar for others.
|
|
45
|
+
We use color=#4c1 (green), that color is used by the 'repo status' badge.
|
|
46
|
+
Documentation about the Podman badges can be found here: https://github.com/eggplants/ghcr-badge.
|
|
47
|
+
--->
|
|
48
|
+
|
|
49
|
+
<img alt="Ricgraph logo" src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/refs/heads/main/docs/images/ricgraph_logo.png" height="30">
|
|
50
|
+
|
|
51
|
+
# Ricgraph - Research in context graph
|
|
52
|
+
|
|
53
|
+
## What is Ricgraph?
|
|
54
|
+
|
|
55
|
+
Ricgraph, also known as Research in context graph, enables the exploration of researchers,
|
|
56
|
+
teams, their results,
|
|
57
|
+
collaborations, skills, projects, and the relations between these items.
|
|
58
|
+
|
|
59
|
+
Ricgraph can store many types of items into a single graph.
|
|
60
|
+
These items can be obtained from various systems and from
|
|
61
|
+
multiple organizations. Ricgraph facilitates reasoning about these
|
|
62
|
+
items because it infers new relations between items,
|
|
63
|
+
relations that are not present in any of the separate source systems.
|
|
64
|
+
It is flexible and extensible, and can be
|
|
65
|
+
adapted to new application areas.
|
|
66
|
+
|
|
67
|
+
### Motivation
|
|
68
|
+
|
|
69
|
+
Ricgraph, also known as Research in context graph, is software that is about
|
|
70
|
+
relations between items. These items can be collected from various source
|
|
71
|
+
systems and from multiple organizations. We
|
|
72
|
+
explain how Ricgraph works by applying it to the application area
|
|
73
|
+
*research information*. We show the insights that can be
|
|
74
|
+
obtained by combining information from various source systems,
|
|
75
|
+
insight arising from new relations that are not present
|
|
76
|
+
in each separate source system.
|
|
77
|
+
|
|
78
|
+
*Research information* is about anything related to research: research
|
|
79
|
+
results, the persons in a research team, their
|
|
80
|
+
collaborations, their skills, projects in which they have
|
|
81
|
+
participated, as well as the relations between these entities.
|
|
82
|
+
Examples of *research results* are publications, data sets, and software.
|
|
83
|
+
|
|
84
|
+
Example use cases from the application area research information are:
|
|
85
|
+
|
|
86
|
+
| Use case | In Ricgraph |
|
|
87
|
+
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
|
|
88
|
+
| 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*. | <img src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/main/docs/images/journalist-use-case.jpg" width="700"> |
|
|
89
|
+
| 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. | <img src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/main/docs/images/librarian-use-case.jpg" width="700"> |
|
|
90
|
+
| 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. | <img src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/main/docs/images/researcher-use-case.jpg" width="700"> |
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
These use cases use different types of information (called *items*):
|
|
94
|
+
researchers, skills, publications,
|
|
95
|
+
etc. Most often, these types of information are not stored in
|
|
96
|
+
one system, so the use cases may be difficult or
|
|
97
|
+
time-consuming to answer. However, by using Ricgraph, these
|
|
98
|
+
use cases (and many others) are easy to answer, as will be
|
|
99
|
+
explained throughout this documentation.
|
|
100
|
+
|
|
101
|
+
Although this documentation illustrates Ricgraph in the application area
|
|
102
|
+
research information, the principle “relations
|
|
103
|
+
between items from various source systems” is general,
|
|
104
|
+
so Ricgraph can be used in other application areas.
|
|
105
|
+
|
|
106
|
+
### Main contributions of Ricgraph
|
|
107
|
+
|
|
108
|
+
* Ricgraph can store many types of items in a single graph.
|
|
109
|
+
* Ricgraph harvests multiple source systems into a single graph.
|
|
110
|
+
* Ricgraph Explorer is the exploration tool for Ricgraph.
|
|
111
|
+
* Ricgraph facilitates reasoning about items because it infers new relations between items.
|
|
112
|
+
* Ricgraph can be tailored for an application area.
|
|
113
|
+
|
|
114
|
+
### Read more about Ricgraph
|
|
115
|
+
|
|
116
|
+
For a gentle introduction in Ricgraph, read the reference publication:
|
|
117
|
+
Rik D.T. Janssen (2024). Ricgraph: A flexible and extensible graph to explore research in
|
|
118
|
+
context from various systems. *SoftwareX*, 26(101736).
|
|
119
|
+
https://doi.org/10.1016/j.softx.2024.101736.
|
|
120
|
+
|
|
121
|
+
You might also want to read the documentation in
|
|
122
|
+
the [Ricgraph GitHub repository](https://github.com/UtrechtUniversity/ricgraph).
|
|
123
|
+
To use Ricgraph, installing the [Ricgraph package from PyPI](https://pypi.org/project/ricgraph)
|
|
124
|
+
is not sufficient. Please read the
|
|
125
|
+
installation instructions in the Ricgraph GitHub repository.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
[](https://doi.org/10.5281/zenodo.7524314)
|
|
2
|
+
[](https://doi.org/10.1016/j.softx.2024.101736)
|
|
3
|
+
[](https://www.ricgraph.eu)
|
|
4
|
+

|
|
5
|
+
[](https://github.com/UtrechtUniversity/ricgraph/releases)
|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
[](https://pypi.org/project/ricgraph)
|
|
9
|
+
[](https://pypistats.org/packages/ricgraph)
|
|
10
|
+
[](https://github.com/UtrechtUniversity/ricgraph/blob/main/docs/ricgraph_containerized.md)
|
|
11
|
+
[](https://github.com/utrechtuniversity/ricgraph/pkgs/container/ricgraph)
|
|
12
|
+
[](LICENSE)
|
|
13
|
+
[](https://www.repostatus.org/#active)
|
|
14
|
+
[](https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-metadata-requirements.md#15--you-should-express-a-technology-readiness-level)
|
|
15
|
+
[](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=32110&r=123)
|
|
16
|
+
|
|
17
|
+
<!---
|
|
18
|
+
Note, the lines 'Website' and
|
|
19
|
+
'PyPI downloads' end in two spaces, to force a line break but not a paragraph break.
|
|
20
|
+
Similar for others.
|
|
21
|
+
We use color=#4c1 (green), that color is used by the 'repo status' badge.
|
|
22
|
+
Documentation about the Podman badges can be found here: https://github.com/eggplants/ghcr-badge.
|
|
23
|
+
--->
|
|
24
|
+
|
|
25
|
+
<img alt="Ricgraph logo" src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/refs/heads/main/docs/images/ricgraph_logo.png" height="30">
|
|
26
|
+
|
|
27
|
+
# Ricgraph - Research in context graph
|
|
28
|
+
|
|
29
|
+
## What is Ricgraph?
|
|
30
|
+
|
|
31
|
+
Ricgraph, also known as Research in context graph, enables the exploration of researchers,
|
|
32
|
+
teams, their results,
|
|
33
|
+
collaborations, skills, projects, and the relations between these items.
|
|
34
|
+
|
|
35
|
+
Ricgraph can store many types of items into a single graph.
|
|
36
|
+
These items can be obtained from various systems and from
|
|
37
|
+
multiple organizations. Ricgraph facilitates reasoning about these
|
|
38
|
+
items because it infers new relations between items,
|
|
39
|
+
relations that are not present in any of the separate source systems.
|
|
40
|
+
It is flexible and extensible, and can be
|
|
41
|
+
adapted to new application areas.
|
|
42
|
+
|
|
43
|
+
### Motivation
|
|
44
|
+
|
|
45
|
+
Ricgraph, also known as Research in context graph, is software that is about
|
|
46
|
+
relations between items. These items can be collected from various source
|
|
47
|
+
systems and from multiple organizations. We
|
|
48
|
+
explain how Ricgraph works by applying it to the application area
|
|
49
|
+
*research information*. We show the insights that can be
|
|
50
|
+
obtained by combining information from various source systems,
|
|
51
|
+
insight arising from new relations that are not present
|
|
52
|
+
in each separate source system.
|
|
53
|
+
|
|
54
|
+
*Research information* is about anything related to research: research
|
|
55
|
+
results, the persons in a research team, their
|
|
56
|
+
collaborations, their skills, projects in which they have
|
|
57
|
+
participated, as well as the relations between these entities.
|
|
58
|
+
Examples of *research results* are publications, data sets, and software.
|
|
59
|
+
|
|
60
|
+
Example use cases from the application area research information are:
|
|
61
|
+
|
|
62
|
+
| Use case | In Ricgraph |
|
|
63
|
+
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------|
|
|
64
|
+
| 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*. | <img src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/main/docs/images/journalist-use-case.jpg" width="700"> |
|
|
65
|
+
| 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. | <img src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/main/docs/images/librarian-use-case.jpg" width="700"> |
|
|
66
|
+
| 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. | <img src="https://raw.githubusercontent.com/UtrechtUniversity/ricgraph/main/docs/images/researcher-use-case.jpg" width="700"> |
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
These use cases use different types of information (called *items*):
|
|
70
|
+
researchers, skills, publications,
|
|
71
|
+
etc. Most often, these types of information are not stored in
|
|
72
|
+
one system, so the use cases may be difficult or
|
|
73
|
+
time-consuming to answer. However, by using Ricgraph, these
|
|
74
|
+
use cases (and many others) are easy to answer, as will be
|
|
75
|
+
explained throughout this documentation.
|
|
76
|
+
|
|
77
|
+
Although this documentation illustrates Ricgraph in the application area
|
|
78
|
+
research information, the principle “relations
|
|
79
|
+
between items from various source systems” is general,
|
|
80
|
+
so Ricgraph can be used in other application areas.
|
|
81
|
+
|
|
82
|
+
### Main contributions of Ricgraph
|
|
83
|
+
|
|
84
|
+
* Ricgraph can store many types of items in a single graph.
|
|
85
|
+
* Ricgraph harvests multiple source systems into a single graph.
|
|
86
|
+
* Ricgraph Explorer is the exploration tool for Ricgraph.
|
|
87
|
+
* Ricgraph facilitates reasoning about items because it infers new relations between items.
|
|
88
|
+
* Ricgraph can be tailored for an application area.
|
|
89
|
+
|
|
90
|
+
### Read more about Ricgraph
|
|
91
|
+
|
|
92
|
+
For a gentle introduction in Ricgraph, read the reference publication:
|
|
93
|
+
Rik D.T. Janssen (2024). Ricgraph: A flexible and extensible graph to explore research in
|
|
94
|
+
context from various systems. *SoftwareX*, 26(101736).
|
|
95
|
+
https://doi.org/10.1016/j.softx.2024.101736.
|
|
96
|
+
|
|
97
|
+
You might also want to read the documentation in
|
|
98
|
+
the [Ricgraph GitHub repository](https://github.com/UtrechtUniversity/ricgraph).
|
|
99
|
+
To use Ricgraph, installing the [Ricgraph package from PyPI](https://pypi.org/project/ricgraph)
|
|
100
|
+
is not sufficient. Please read the
|
|
101
|
+
installation instructions in the Ricgraph GitHub repository.
|
ricgraph-2.8/README.md
ADDED
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
[](https://doi.org/10.5281/zenodo.7524314)
|
|
2
|
+
[](https://doi.org/10.1016/j.softx.2024.101736)
|
|
3
|
+
[](https://www.ricgraph.eu)
|
|
4
|
+

|
|
5
|
+
[](https://github.com/UtrechtUniversity/ricgraph/releases)
|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
[](https://pypi.org/project/ricgraph)
|
|
9
|
+
[](https://pypistats.org/packages/ricgraph)
|
|
10
|
+
[](https://github.com/UtrechtUniversity/ricgraph/blob/main/docs/ricgraph_containerized.md)
|
|
11
|
+
[](https://github.com/utrechtuniversity/ricgraph/pkgs/container/ricgraph)
|
|
12
|
+
[](LICENSE)
|
|
13
|
+
[](https://www.repostatus.org/#active)
|
|
14
|
+
[](https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-metadata-requirements.md#15--you-should-express-a-technology-readiness-level)
|
|
15
|
+
[](https://fairsoftwarechecklist.net/v0.2?f=31&a=32113&i=32110&r=123)
|
|
16
|
+
|
|
17
|
+
<!---
|
|
18
|
+
Note, the lines 'Website' and
|
|
19
|
+
'PyPI downloads' end in two spaces, to force a line break but not a paragraph break.
|
|
20
|
+
Similar for others.
|
|
21
|
+
We use color=#4c1 (green), that color is used by the 'repo status' badge.
|
|
22
|
+
Documentation about the Podman badges can be found here: https://github.com/eggplants/ghcr-badge.
|
|
23
|
+
--->
|
|
24
|
+
|
|
25
|
+
<img alt="Ricgraph logo" src="docs/images/ricgraph_logo.png" height="30">
|
|
26
|
+
|
|
27
|
+
# Ricgraph - Research in context graph
|
|
28
|
+
|
|
29
|
+
[Table of contents of Ricgraph documentation](docs/ricgraph_toc_documentation.md) and
|
|
30
|
+
[Index of Ricgraph documentation](docs/ricgraph_index_documentation.md).
|
|
31
|
+
|
|
32
|
+
## What is Ricgraph?
|
|
33
|
+
|
|
34
|
+
Ricgraph, also known as Research in context graph, enables the exploration of researchers,
|
|
35
|
+
teams, their results,
|
|
36
|
+
collaborations, skills, projects, and the relations between these items.
|
|
37
|
+
|
|
38
|
+
Ricgraph can store many types of items into a single graph.
|
|
39
|
+
These items can be obtained from various systems and from
|
|
40
|
+
multiple organizations. Ricgraph facilitates reasoning about these
|
|
41
|
+
items because it infers new relations between items,
|
|
42
|
+
relations that are not present in any of the separate source systems.
|
|
43
|
+
It is flexible and extensible, and can be
|
|
44
|
+
adapted to new application areas.
|
|
45
|
+
|
|
46
|
+
Throughout this documentation, we illustrate how Ricgraph works by applying
|
|
47
|
+
it to the application area research information.
|
|
48
|
+
|
|
49
|
+
### Motivation
|
|
50
|
+
|
|
51
|
+
Ricgraph, also known as Research in context graph, is software that is about
|
|
52
|
+
relations between items. These items can be collected from various source
|
|
53
|
+
systems and from multiple organizations. We
|
|
54
|
+
explain how Ricgraph works by applying it to the application area
|
|
55
|
+
*research information*. We show the insights that can be
|
|
56
|
+
obtained by combining information from various source systems,
|
|
57
|
+
insight arising from new relations that are not present
|
|
58
|
+
in each separate source system.
|
|
59
|
+
|
|
60
|
+
*Research information* is about anything related to research: research
|
|
61
|
+
results, the persons in a research team, their
|
|
62
|
+
collaborations, their skills, projects in which they have
|
|
63
|
+
participated, as well as the relations between these entities.
|
|
64
|
+
Examples of *research results* are publications, data sets, and software.
|
|
65
|
+
|
|
66
|
+
Example use cases from the application area research information are:
|
|
67
|
+
|
|
68
|
+
| Use case | In Ricgraph (click to enlarge) |
|
|
69
|
+
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------|
|
|
70
|
+
| 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*. | <img src="docs/images/journalist-use-case.jpg" width="700"> |
|
|
71
|
+
| 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. | <img src="docs/images/librarian-use-case.jpg" width="700"> |
|
|
72
|
+
| 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. | <img src="docs/images/researcher-use-case.jpg" width="700"> |
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
These use cases use different types of information (called *items*):
|
|
76
|
+
researchers, skills, publications,
|
|
77
|
+
etc. Most often, these types of information are not stored in
|
|
78
|
+
one system, so the use cases may be difficult or
|
|
79
|
+
time-consuming to answer. However, by using Ricgraph, these
|
|
80
|
+
use cases (and many others) are easy to answer, as will be
|
|
81
|
+
explained throughout this documentation.
|
|
82
|
+
|
|
83
|
+
Although this documentation illustrates Ricgraph in the application area
|
|
84
|
+
research information, the principle “relations
|
|
85
|
+
between items from various source systems” is general,
|
|
86
|
+
so Ricgraph can be used in other application areas.
|
|
87
|
+
|
|
88
|
+
### Main contributions of Ricgraph
|
|
89
|
+
|
|
90
|
+
* Ricgraph can store many types of items in a single graph.
|
|
91
|
+
* Ricgraph harvests multiple source systems into a single graph.
|
|
92
|
+
* Ricgraph Explorer is the exploration tool for Ricgraph.
|
|
93
|
+
* Ricgraph facilitates reasoning about items because it infers new relations between items.
|
|
94
|
+
* Ricgraph can be tailored for an application area.
|
|
95
|
+
|
|
96
|
+
### How to use Ricgraph (very short)
|
|
97
|
+
|
|
98
|
+
* [Install and configure Ricgraph](docs/ricgraph_install_configure.md).
|
|
99
|
+
* Start harvesting data, see [Ricgraph harvest scripts](docs/ricgraph_harvest_scripts.md).
|
|
100
|
+
* Use [Ricgraph Explorer](docs/ricgraph_explorer.md),
|
|
101
|
+
the exploration tool for Ricgraph.
|
|
102
|
+
* Use the [Ricgraph REST API](docs/ricgraph_restapi.md),
|
|
103
|
+
the REST API for Ricgraph.
|
|
104
|
+
* Optional: modify code to fit Ricgraph to your specific use case.
|
|
105
|
+
|
|
106
|
+
For more details, read the remainder of this documentation.
|
|
107
|
+
|
|
108
|
+
### Read more about Ricgraph
|
|
109
|
+
|
|
110
|
+
For a gentle introduction in Ricgraph, read the reference publication:
|
|
111
|
+
Rik D.T. Janssen (2024). Ricgraph: A flexible and extensible graph to explore research in
|
|
112
|
+
context from various systems. *SoftwareX*, 26(101736).
|
|
113
|
+
https://doi.org/10.1016/j.softx.2024.101736.
|
|
114
|
+
|
|
115
|
+
For a further introduction, you might want to read these two presentations:
|
|
116
|
+
* A general presentation about Ricgraph, presenting Ricgraph in a visual manner:
|
|
117
|
+
https://doi.org/10.5281/zenodo.12634234.
|
|
118
|
+
* A presentation explaining how to enrich
|
|
119
|
+
the [Research Information System Pure](https://www.elsevier.com/solutions/pure)
|
|
120
|
+
(and other source systems) using Ricgraph
|
|
121
|
+
and [BackToPure](https://github.com/UtrechtUniversity/BackToPure):
|
|
122
|
+
https://doi.org/10.5281/zenodo.12634658.
|
|
123
|
+
This presentation explains that after harvesting several Pure systems
|
|
124
|
+
(from different institutions) and other source systems,
|
|
125
|
+
such as [OpenAlex](https://openalex.org),
|
|
126
|
+
one can enrich its own Pure _A_ by using information in other source
|
|
127
|
+
systems, not present in one's own Pure _A_.
|
|
128
|
+
|
|
129
|
+
To learn more about Ricgraph,
|
|
130
|
+
[read why Ricgraph has been developed](#why-ricgraph).
|
|
131
|
+
This is followed by
|
|
132
|
+
[Ricgraph in bullet points](#ricgraph-in-bullet-points). There is also
|
|
133
|
+
[a section with next steps you might want to take](#next-steps),
|
|
134
|
+
including [further information about
|
|
135
|
+
Ricgraph](#further-information-about-ricgraph),
|
|
136
|
+
an [explanation how to install Ricgraph and harvest
|
|
137
|
+
data](#steps-to-take-if-you-would-like-to-install-ricgraph-and-harvest-data),
|
|
138
|
+
an [explanation how to use Ricgraph](#steps-to-take-if-you-would-like-to-use-ricgraph),
|
|
139
|
+
and [information about extending Ricgraph](#read-this-in-case-you-would-like-to-extend-ricgraph).
|
|
140
|
+
Of course there are
|
|
141
|
+
[videos we have made to demonstrate Ricgraph](docs/ricgraph_example_use_videos.md),
|
|
142
|
+
and there is an overview of the
|
|
143
|
+
[publications](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-publications),
|
|
144
|
+
[presentations](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-presentations),
|
|
145
|
+
[newsletters](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-newsletters)
|
|
146
|
+
(to subscribe, go to [Ricgraph Contact](#contact)),
|
|
147
|
+
[use](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-use), and
|
|
148
|
+
[mentions](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-mentions)
|
|
149
|
+
of Ricgraph.
|
|
150
|
+
|
|
151
|
+
You can also use the [Table of contents of Ricgraph documentation](docs/ricgraph_toc_documentation.md)
|
|
152
|
+
or the [Index of Ricgraph documentation](docs/ricgraph_index_documentation.md).
|
|
153
|
+
|
|
154
|
+
## Why Ricgraph?
|
|
155
|
+
|
|
156
|
+
Ricgraph can answer questions like:
|
|
157
|
+
* Which researcher has contributed to which publication, dataset, software package, project, etc.?
|
|
158
|
+
* Given e.g. a dataset, software package, or project, who has contributed to it?
|
|
159
|
+
* What identifiers does a researcher have (e.g.
|
|
160
|
+
[ORCID](https://en.wikipedia.org/wiki/ORCID),
|
|
161
|
+
[ISNI](https://en.wikipedia.org/wiki/International_Standard_Name_Identifier),
|
|
162
|
+
organization employee ID, email address)?
|
|
163
|
+
* What skills does a researcher have?
|
|
164
|
+
* Show a network of researchers who have worked together?
|
|
165
|
+
* Which organizations have worked together?
|
|
166
|
+
|
|
167
|
+
Also, more elaborate information can be found using Ricgraph and
|
|
168
|
+
[Ricgraph Explorer](docs/ricgraph_explorer.md), the
|
|
169
|
+
exploration tool for Ricgraph:
|
|
170
|
+
* You can find information about persons or their results in a (sub-)organization
|
|
171
|
+
(unit, department, faculty, university).
|
|
172
|
+
For example, you can find out what data sets or software are produced in your faculty.
|
|
173
|
+
Or the skills of all persons in your department. Of course this is only possible in case you have harvested them.
|
|
174
|
+
* You can find out with whom a person shares research output types.
|
|
175
|
+
For example, you can find out with whom someone shares software or data sets.
|
|
176
|
+
* You can get tables showing how you can enrich a source system based on other systems you have harvested.
|
|
177
|
+
For example, suppose you have harvested both
|
|
178
|
+
[Research Information System Pure](https://www.elsevier.com/solutions/pure) and
|
|
179
|
+
[OpenAlex](https://openalex.org), using this feature you can find out
|
|
180
|
+
which publications in OpenAlex are not in Pure. You might want to add those to Pure.
|
|
181
|
+
* You can get a table that shows the overlap in harvests from different source systems.
|
|
182
|
+
For example, after a query to show all ORCID nodes,
|
|
183
|
+
the table summarizes the number of ORCID nodes which were
|
|
184
|
+
only found in one source, and which were found in multiple sources.
|
|
185
|
+
Another table gives a detailed overview how many
|
|
186
|
+
nodes originate from which different source systems. Then, you can drill down by
|
|
187
|
+
clicking on a number in one of these
|
|
188
|
+
two tables to find the nodes corresponding to that number.
|
|
189
|
+
|
|
190
|
+
With Ricgraph, you can get metadata from objects from any source system you’d like.
|
|
191
|
+
You run the harvest script for that
|
|
192
|
+
system, and data will be imported in Ricgraph and will be
|
|
193
|
+
combined automatically with data which is already there.
|
|
194
|
+
Ricgraph provides harvest scripts for the systems mentioned above.
|
|
195
|
+
Scripts for other sources can be written easily.
|
|
196
|
+
|
|
197
|
+
In the remainder of this text, Ricgraph is described in the use case of
|
|
198
|
+
showing people, organizations and research outputs in relation to each other
|
|
199
|
+
in a university context.
|
|
200
|
+
|
|
201
|
+
## Examples
|
|
202
|
+
|
|
203
|
+
See the figures below for example graphs that show how Ricgraph works.
|
|
204
|
+
Click a figure to enlarge.
|
|
205
|
+
|
|
206
|
+
| one person with several research outputs | symbols for type of object | colors for source system |
|
|
207
|
+
|---------------------------------------------------------------------------|--------------------------------------------------|----------------------------------------------------------|
|
|
208
|
+
| <img src="docs/images/one-person-with-research-outputs.jpg" height="170"> | <img src="docs/images/symbols.jpg" height="170"> | <img src="docs/images/colors-vertical.jpg" height="170"> |
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
This figure shows one person *A* using a
|
|
212
|
+
[*person-root* node, a node which "represents" a person](docs/ricgraph_details.md#person-root-node-in-ricgraph)
|
|
213
|
+
as it is called
|
|
214
|
+
in Ricgraph.
|
|
215
|
+
This person has contributed to three articles, two data sets and one software package.
|
|
216
|
+
Two articles and one data set are from
|
|
217
|
+
the [Research Information System Pure](https://www.elsevier.com/solutions/pure)
|
|
218
|
+
(their color is green),
|
|
219
|
+
one data set is from
|
|
220
|
+
the data repository [Yoda](https://www.uu.nl/en/research/yoda)
|
|
221
|
+
(in orange),
|
|
222
|
+
one article is from [OpenAlex](https://openalex.org) (in purple),
|
|
223
|
+
and
|
|
224
|
+
the software package is from the
|
|
225
|
+
[Research Software Directory](https://research-software-directory.org) (in blue).
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
| several persons with several research outputs | one person with several identifiers and research outputs |
|
|
229
|
+
|--------------------------------------------------------------------------------|------------------------------------------------------------------|
|
|
230
|
+
| <img src="docs/images/several-persons-with-research-outputs.jpg" height="200"> | <img src="docs/images/identifiers-and-outputs.jpg" height="200"> |
|
|
231
|
+
|
|
232
|
+
The left part of this figure shows several persons having several research outputs
|
|
233
|
+
(the symbols) and
|
|
234
|
+
how these are related (i.e. which person contributed to which research output).
|
|
235
|
+
It also shows from which source system these research outputs have originated
|
|
236
|
+
(using different colors).
|
|
237
|
+
The right part shows one person having several identifiers and several research outputs.
|
|
238
|
+
This person has two different ORCIDs, one ISNI, one SCOPUS_AUTHOR_ID, and two FULL_NAMEs (which differ
|
|
239
|
+
in spelling). These identifiers have also been obtained from different source systems, as their color indicates.
|
|
240
|
+
|
|
241
|
+
More examples can be found in [Ricgraph details](docs/ricgraph_details.md).
|
|
242
|
+
|
|
243
|
+
## Ricgraph in bullet points
|
|
244
|
+
|
|
245
|
+
* The philosophy of Ricgraph is that it stores metadata, not the objects the metadata
|
|
246
|
+
refer to. To access an object, a node has a link to that object in
|
|
247
|
+
the system it was obtained from.
|
|
248
|
+
* We have chosen a
|
|
249
|
+
graph as a datastructure, since it is a logical and efficient
|
|
250
|
+
method to access objects
|
|
251
|
+
which are close to objects they have a relation to. For example,
|
|
252
|
+
starting with a person, its research outputs are only one
|
|
253
|
+
step away by following one edge, and other contributors to that research output are
|
|
254
|
+
again one step (edge) away.
|
|
255
|
+
* Ricgraph can be used to store, manipulate and read metadata of any object that
|
|
256
|
+
has a relation to another object,
|
|
257
|
+
as long as every object can be "represented" by at least a *name* and a *value*.
|
|
258
|
+
In Ricgraph, one node represents one object, and an edge represents the
|
|
259
|
+
relation between two objects.
|
|
260
|
+
* Ricgraph and Ricgraph Explorer are written in Python. You can use two different
|
|
261
|
+
[graph database backends](https://en.wikipedia.org/wiki/Graph_database):
|
|
262
|
+
* [Neo4j](https://neo4j.com) (either Neo4j Desktop or Neo4j Community Edition);
|
|
263
|
+
* [Memgraph](https://memgraph.com).
|
|
264
|
+
* Metadata of an object are stored as "properties"
|
|
265
|
+
in a node, i.e. as information associated with a node.
|
|
266
|
+
For example, a node may store two properties, *name = PET* and
|
|
267
|
+
*value = cat*. Another node may store *name = FULL_NAME* and *value = John Doe*.
|
|
268
|
+
Then the edge between those two nodes means that the person with FULL_NAME John Doe
|
|
269
|
+
has a PET which is a cat. Ricgraph can store any number of properties in a node.
|
|
270
|
+
* The objective of Ricgraph is to get metadata from
|
|
271
|
+
objects from a source system in a process called "harvesting".
|
|
272
|
+
That means that e.g. persons and publications
|
|
273
|
+
can be harvested from one system, data sets from another system, and software from a third system.
|
|
274
|
+
Everything found will be combined into one graph.
|
|
275
|
+
* Ricgraph can harvest from many sources, and you can write your own
|
|
276
|
+
harvesting scripts. Example scripts are included to
|
|
277
|
+
harvest from the [OpenAlex](https://openalex.org),
|
|
278
|
+
the [Research Information System Pure](https://www.elsevier.com/solutions/pure),
|
|
279
|
+
the data repository [Yoda](https://www.uu.nl/en/research/yoda),
|
|
280
|
+
the [Research Software Directory](https://research-software-directory.org), and
|
|
281
|
+
for the [Utrecht University staff pages](https://www.uu.nl/staff/search).
|
|
282
|
+
* Ricgraph can be used as an ID resolver. It can, given an identifier of a person,
|
|
283
|
+
easily find other identifiers of that person. When new identifiers are found when
|
|
284
|
+
harvesting from new systems,
|
|
285
|
+
they will be added automatically.
|
|
286
|
+
* Ricgraph can check the consistency of information harvested. For example, ORCIDs and ISNIs
|
|
287
|
+
are supposed to refer to one person, so every node representing such an identifier should have
|
|
288
|
+
only one edge. This can be checked easily.
|
|
289
|
+
An example script is included.
|
|
290
|
+
* Ricgraph can enrich information in its own graph by using information from other systems.
|
|
291
|
+
For example,
|
|
292
|
+
if a person has an ORCID, but not a Scopus Author ID,
|
|
293
|
+
[OpenAlex](https://openalex.org) can be used
|
|
294
|
+
to find the missing Scopus Author ID. An example script is included.
|
|
295
|
+
* Ricgraph can enrich a source system based on information that is present in one
|
|
296
|
+
source system, but not in another source system. See the use case above.
|
|
297
|
+
|
|
298
|
+
## Next steps
|
|
299
|
+
|
|
300
|
+
[Table of contents of Ricgraph documentation](docs/ricgraph_toc_documentation.md) and
|
|
301
|
+
[Index of Ricgraph documentation](docs/ricgraph_index_documentation.md).
|
|
302
|
+
|
|
303
|
+
### Further information about Ricgraph
|
|
304
|
+
* For a gentle introduction in Ricgraph, read the reference publication:
|
|
305
|
+
Rik D.T. Janssen (2024). Ricgraph: A flexible and extensible graph to explore research in
|
|
306
|
+
context from various systems. *SoftwareX*, 26(101736).
|
|
307
|
+
https://doi.org/10.1016/j.softx.2024.101736.
|
|
308
|
+
* For a further introduction, you might want to read these two presentations:
|
|
309
|
+
* A general presentation about Ricgraph, presenting Ricgraph in a visual manner:
|
|
310
|
+
https://doi.org/10.5281/zenodo.12634234.
|
|
311
|
+
* A presentation explaining how to enrich
|
|
312
|
+
the [Research Information System Pure](https://www.elsevier.com/solutions/pure)
|
|
313
|
+
(and other source systems) using Ricgraph
|
|
314
|
+
and [BackToPure](https://github.com/UtrechtUniversity/BackToPure):
|
|
315
|
+
https://doi.org/10.5281/zenodo.12634658.
|
|
316
|
+
This presentation explains that after harvesting several Pure systems
|
|
317
|
+
(from different institutions) and other source systems,
|
|
318
|
+
such as [OpenAlex](https://openalex.org),
|
|
319
|
+
one can enrich its own Pure _A_ by using information in other source
|
|
320
|
+
systems, not present in one's own Pure _A_.
|
|
321
|
+
|
|
322
|
+
* Read more about
|
|
323
|
+
[publications](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-publications),
|
|
324
|
+
[presentations](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-presentations),
|
|
325
|
+
[newsletters](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-newsletters)
|
|
326
|
+
(to subscribe, go to [Ricgraph Contact](#contact)),
|
|
327
|
+
[use](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-use), and
|
|
328
|
+
[mentions](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-mentions)
|
|
329
|
+
of Ricgraph.
|
|
330
|
+
* Look at the [videos we have made to demonstrate Ricgraph](docs/ricgraph_example_use_videos.md).
|
|
331
|
+
* Read more about [Ricgraph details](docs/ricgraph_details.md),
|
|
332
|
+
such as example graphs, person identifiers and the *person-root* node.
|
|
333
|
+
* You might want to [compare Ricgraph to other systems](docs/ricgraph_comparison.md).
|
|
334
|
+
|
|
335
|
+
### Steps to take if you would like to install Ricgraph and harvest data
|
|
336
|
+
* [Install and configure Ricgraph](docs/ricgraph_install_configure.md).
|
|
337
|
+
* Start harvesting data, see [Ricgraph harvest scripts](docs/ricgraph_harvest_scripts.md),
|
|
338
|
+
e.g. by doing a harvest for Utrecht University data sets and
|
|
339
|
+
software.
|
|
340
|
+
You will observe that the information from two sources is neatly combined into one graph.
|
|
341
|
+
* Unfortunately, there is a bug, see [known bugs](docs/ricgraph_known_bugs.md).
|
|
342
|
+
This bug may occur
|
|
343
|
+
if you start a harvest script, and as first step in the script you want to empty Ricgraph.
|
|
344
|
+
In that case, a Python error might occur while emptying Ricgraph. Follow the link
|
|
345
|
+
to read more and find out how to repair that.
|
|
346
|
+
|
|
347
|
+
### Steps to take if you would like to use Ricgraph
|
|
348
|
+
* First, install Ricgraph (see above).
|
|
349
|
+
* Use [Ricgraph Explorer](docs/ricgraph_explorer.md),
|
|
350
|
+
the exploration tool for Ricgraph.
|
|
351
|
+
* Use the [Ricgraph REST API](docs/ricgraph_restapi.md),
|
|
352
|
+
the REST API for Ricgraph.
|
|
353
|
+
* Alternatively, you might want to read
|
|
354
|
+
[Query and visualize Ricgraph](docs/ricgraph_query_visualize.md).
|
|
355
|
+
|
|
356
|
+
### Read this in case you would like to extend Ricgraph
|
|
357
|
+
* Start writing scripts, see [Ricgraph script writing](docs/ricgraph_script_writing.md).
|
|
358
|
+
* Of course, there is [future work to do](docs/ricgraph_future_work.md). Please let me know
|
|
359
|
+
if you'd like to help.
|
|
360
|
+
|
|
361
|
+
### Ricgraph website
|
|
362
|
+
Ricgraph has a main Ricgraph website on www.ricgraph.eu.
|
|
363
|
+
Alternative sites are www.ricgraph.nl and www.ricgraph.com.
|
|
364
|
+
The sources for this website are on GitHub in repository
|
|
365
|
+
https://github.com/UtrechtUniversity/ricgraph-website.
|
|
366
|
+
|
|
367
|
+
## Contact
|
|
368
|
+
Ricgraph has been created and is being maintained by
|
|
369
|
+
[Rik D.T. Janssen from Utrecht University in the Netherlands](https://www.uu.nl/staff/DTJanssen)
|
|
370
|
+
[(ORCID 0000-0001-9510-0802)](https://orcid.org/0000-0001-9510-0802).
|
|
371
|
+
You can contact him for presentations, demos and workshops.
|
|
372
|
+
|
|
373
|
+
About three to four times a year we send out a
|
|
374
|
+
newsletter.
|
|
375
|
+
[Please click here to subscribe to it. Your email program will open with
|
|
376
|
+
a subscribe email text. Please complete it
|
|
377
|
+
by filling in your name and email address](mailto:r.d.t.janssen@uu.nl?subject=Please%20add%20me%20to%20the%20Ricgraph%20newsletter%20email%20list&body=Hi%20Rik%2C%0D%0A%0D%0ACan%20you%20please%20add%20me%20to%20your%20Ricgraph%20newsletter%20email%20list%3F%20Thanks!%0D%0A%0D%0ABest%20regards%2C%0D%0A%0D%0A%5Bplease%20replace%20with%20your%20name%5D%0D%0A%5Bplease%20replace%20with%20your%20email%20address%5D).
|
|
378
|
+
We also have a
|
|
379
|
+
[newsletter archive](docs/ricgraph_pubs_pres_news_use_ment.md#ricgraph-newsletters).
|
|
380
|
+
|
|
381
|
+
If you like Ricgraph, please give it a GitHub Star by clicking on the top right
|
|
382
|
+
*Star* button on this page. If you have any suggestions or improvements,
|
|
383
|
+
please let me know by creating a GitHub *Issue* at the top left of this page.
|