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