ricgraph 3.0__tar.gz → 3.2__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-3.0/ricgraph.egg-info → ricgraph-3.2}/PKG-INFO +4 -3
- {ricgraph-3.0 → ricgraph-3.2}/README-PyPI.md +3 -2
- {ricgraph-3.0 → ricgraph-3.2}/README.md +75 -19
- {ricgraph-3.0 → ricgraph-3.2}/pyproject.toml +1 -1
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph/ricgraph.py +50 -30
- ricgraph-3.2/ricgraph/ricgraph_cache.py +277 -0
- ricgraph-3.2/ricgraph/ricgraph_constants.py +210 -0
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph/ricgraph_cypher.py +175 -172
- ricgraph-3.2/ricgraph/ricgraph_file.py +310 -0
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph/ricgraph_graphdb.py +68 -30
- ricgraph-3.2/ricgraph/ricgraph_harvest.py +536 -0
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph/ricgraph_researchinfo.py +36 -12
- ricgraph-3.2/ricgraph/ricgraph_utils.py +936 -0
- {ricgraph-3.0 → ricgraph-3.2/ricgraph.egg-info}/PKG-INFO +4 -3
- ricgraph-3.0/ricgraph/ricgraph_cache.py +0 -197
- ricgraph-3.0/ricgraph/ricgraph_constants.py +0 -192
- ricgraph-3.0/ricgraph/ricgraph_file.py +0 -192
- ricgraph-3.0/ricgraph/ricgraph_harvest.py +0 -176
- ricgraph-3.0/ricgraph/ricgraph_utils.py +0 -404
- {ricgraph-3.0 → ricgraph-3.2}/LICENSE +0 -0
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph/__init__.py +0 -0
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph/ricgraph_restapi.py +0 -0
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph.egg-info/SOURCES.txt +0 -0
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph.egg-info/dependency_links.txt +0 -0
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph.egg-info/requires.txt +0 -0
- {ricgraph-3.0 → ricgraph-3.2}/ricgraph.egg-info/top_level.txt +0 -0
- {ricgraph-3.0 → ricgraph-3.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ricgraph
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.2
|
|
4
4
|
Summary: Ricgraph - Research in context graph
|
|
5
5
|
Author: Rik D.T. Janssen
|
|
6
6
|
License-Expression: MIT
|
|
@@ -25,6 +25,7 @@ Requires-Dist: unidecode
|
|
|
25
25
|
Dynamic: license-file
|
|
26
26
|
|
|
27
27
|
[](https://doi.org/10.5281/zenodo.7524314)
|
|
28
|
+
[](https://doi.org/10.2139/ssrn.5524439)
|
|
28
29
|
[](https://doi.org/10.1016/j.softx.2024.101736)
|
|
29
30
|
[](https://www.ricgraph.eu)
|
|
30
31
|
[](https://docs.ricgraph.eu)
|
|
@@ -134,8 +135,8 @@ The items surrounded by the red line are the solution to this use case.
|
|
|
134
135
|
## Read more about Ricgraph
|
|
135
136
|
|
|
136
137
|
For a gentle introduction in Ricgraph, read the reference publication:
|
|
137
|
-
Rik D.T. Janssen (2024). Ricgraph: A flexible and extensible graph to explore research in
|
|
138
|
-
context from various systems
|
|
138
|
+
Rik D.T. Janssen (2024). *Ricgraph: A flexible and extensible graph to explore research in
|
|
139
|
+
context from various systems*. SoftwareX, 26(101736).
|
|
139
140
|
[https://doi.org/10.1016/j.softx.2024.101736](https://doi.org/10.1016/j.softx.2024.101736).
|
|
140
141
|
|
|
141
142
|
You might also want to read the documentation on
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
[](https://doi.org/10.5281/zenodo.7524314)
|
|
2
|
+
[](https://doi.org/10.2139/ssrn.5524439)
|
|
2
3
|
[](https://doi.org/10.1016/j.softx.2024.101736)
|
|
3
4
|
[](https://www.ricgraph.eu)
|
|
4
5
|
[](https://docs.ricgraph.eu)
|
|
@@ -108,8 +109,8 @@ The items surrounded by the red line are the solution to this use case.
|
|
|
108
109
|
## Read more about Ricgraph
|
|
109
110
|
|
|
110
111
|
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
|
|
112
|
+
Rik D.T. Janssen (2024). *Ricgraph: A flexible and extensible graph to explore research in
|
|
113
|
+
context from various systems*. SoftwareX, 26(101736).
|
|
113
114
|
[https://doi.org/10.1016/j.softx.2024.101736](https://doi.org/10.1016/j.softx.2024.101736).
|
|
114
115
|
|
|
115
116
|
You might also want to read the documentation on
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
[](https://doi.org/10.5281/zenodo.7524314)
|
|
2
2
|
[](https://doi.org/10.1016/j.softx.2024.101736)
|
|
3
|
+
[](https://doi.org/10.2139/ssrn.5524439)
|
|
3
4
|
[](https://www.ricgraph.eu)
|
|
4
5
|
[](https://docs.ricgraph.eu)
|
|
5
6
|
[](https://github.com/UtrechtUniversity/ricgraph)
|
|
@@ -53,6 +54,54 @@ relations that are not present in any of the separate source systems.
|
|
|
53
54
|
It is flexible and extensible, and can be
|
|
54
55
|
adapted to new application areas.
|
|
55
56
|
|
|
57
|
+
Throughout this documentation, we illustrate how Ricgraph works by applying
|
|
58
|
+
it to the application area research information.
|
|
59
|
+
|
|
60
|
+
## Ricgraph introduction videos
|
|
61
|
+
|
|
62
|
+
You may want to watch the following videos about Ricgraph. The left one is a
|
|
63
|
+
short video, only including the Ricgraph use cases. The right one is a more
|
|
64
|
+
extensive one (also including the use cases).
|
|
65
|
+
|
|
66
|
+
<table>
|
|
67
|
+
<tr>
|
|
68
|
+
<td style="width:50%;"><b>Ricgraph use cases video (1m30s)</b></td>
|
|
69
|
+
<td style="width:50%;"><b>Ricgraph introduction video including use cases (2m28s)</b></td>
|
|
70
|
+
</tr>
|
|
71
|
+
<tr>
|
|
72
|
+
<td><video src="docs/videos/ricgraph_usecases.mp4" controls width="90%">Ricgraph use cases video (1m30s)</video></td>
|
|
73
|
+
<td><video src="docs/videos/ricgraph_intro_usecases.mp4" controls width="90%">Ricgraph introduction video including use cases (2m28s)</video></td>
|
|
74
|
+
</tr>
|
|
75
|
+
<tr>
|
|
76
|
+
<td>
|
|
77
|
+
<a href="https://docs.ricgraph.eu/docs/videos/ricgraph_usecases.mp4" target="_blank">
|
|
78
|
+
Click to play or download the Ricgraph use cases video</a>.
|
|
79
|
+
</td>
|
|
80
|
+
<td>
|
|
81
|
+
<a href="https://docs.ricgraph.eu/docs/videos/ricgraph_intro_usecases.mp4" target="_blank">
|
|
82
|
+
Click to play or download the Ricgraph introduction video</a>.
|
|
83
|
+
</td>
|
|
84
|
+
</tr>
|
|
85
|
+
</table>
|
|
86
|
+
|
|
87
|
+
## Ricgraph news
|
|
88
|
+
|
|
89
|
+
Read my recent preprint:
|
|
90
|
+
|
|
91
|
+
* Rik D.T. Janssen (2025).
|
|
92
|
+
*Utilizing Ricgraph to gain insights into research collaborations across institutions,
|
|
93
|
+
at every organizational level*. Submitted to SoftwareX [preprint].
|
|
94
|
+
[https://doi.org/10.2139/ssrn.5524439](https://doi.org/10.2139/ssrn.5524439).
|
|
95
|
+
|
|
96
|
+
See Ricgraph in action:
|
|
97
|
+
|
|
98
|
+
* Use the Open Ricgraph demo server
|
|
99
|
+
via [https://explorer.ricgraph.eu](https://explorer.ricgraph.eu).
|
|
100
|
+
Read more (and join) at
|
|
101
|
+
[pilot project Open Ricgraph demo
|
|
102
|
+
server](https://www.ricgraph.eu/pilot-project-open-ricgraph-demo-server.html).
|
|
103
|
+
|
|
104
|
+
|
|
56
105
|
Currently, there are people working on the following extensions for Ricgraph:
|
|
57
106
|
|
|
58
107
|
* [BackToPure](https://github.com/UtrechtUniversity/backtopure)
|
|
@@ -70,9 +119,15 @@ Currently, there are people working on the following extensions for Ricgraph:
|
|
|
70
119
|
or "With what organizations does that faculty collaborate?".
|
|
71
120
|
It uses a local Large Language Model.
|
|
72
121
|
Status: planning stage (pre-alpha).
|
|
73
|
-
* A project that
|
|
74
|
-
[
|
|
75
|
-
|
|
122
|
+
* A project with six students from the University of Applied Sciences, Utrecht, that aims to
|
|
123
|
+
[create a general harvester for
|
|
124
|
+
Ricgraph](docs/ricgraph_outreach.md#ricgraph-projects-with-students).
|
|
125
|
+
It will remove a lot of code duplication in the harvest scripts, and will
|
|
126
|
+
make it easier to add new harvest sources.
|
|
127
|
+
Status: planning stage (pre-alpha).
|
|
128
|
+
* A project with a student from the University of Applied Sciences, Utrecht, that aims to use
|
|
129
|
+
[AI and Large Language Models to find topics and visualize large amounts of research
|
|
130
|
+
information](docs/ricgraph_outreach.md#ricgraph-projects-with-students).
|
|
76
131
|
It assigns *topics* to publications,
|
|
77
132
|
data sets, and software. By selecting a number of topics, research results are
|
|
78
133
|
grouped, and possibly experts on these topics can be found.
|
|
@@ -80,12 +135,6 @@ Currently, there are people working on the following extensions for Ricgraph:
|
|
|
80
135
|
* A tool that helps Pure administrators to clean up "external organizations" in Pure.
|
|
81
136
|
Status: planning stage (pre-alpha).
|
|
82
137
|
|
|
83
|
-
Starting around mid-September, you can see Ricgraph in action with the
|
|
84
|
-
[pilot project Open Ricgraph demo server](https://www.ricgraph.eu/pilot-project-open-ricgraph-demo-server.html).
|
|
85
|
-
|
|
86
|
-
Throughout this documentation, we illustrate how Ricgraph works by applying
|
|
87
|
-
it to the application area research information.
|
|
88
|
-
|
|
89
138
|
|
|
90
139
|
## Motivation
|
|
91
140
|
|
|
@@ -299,10 +348,17 @@ The following figure shows how three persons have contributed to one research ou
|
|
|
299
348
|
|
|
300
349
|
* Explore the full documentation of Ricgraph on
|
|
301
350
|
[https://docs.ricgraph.eu](https://docs.ricgraph.eu).
|
|
351
|
+
* Play the [Ricgraph use cases video](docs/videos/ricgraph_usecases.mp4), or the
|
|
352
|
+
[Ricgraph introduction video](docs/videos/ricgraph_intro_usecases.mp4).
|
|
302
353
|
* For a gentle introduction in Ricgraph, read the reference publication:
|
|
303
|
-
Rik D.T. Janssen (2024). Ricgraph: A flexible and extensible graph to explore research in
|
|
304
|
-
context from various systems
|
|
354
|
+
Rik D.T. Janssen (2024). *Ricgraph: A flexible and extensible graph to explore research in
|
|
355
|
+
context from various systems*. SoftwareX, 26(101736).
|
|
305
356
|
[https://doi.org/10.1016/j.softx.2024.101736](https://doi.org/10.1016/j.softx.2024.101736).
|
|
357
|
+
* We also have an article about collaborations and Ricgraph:
|
|
358
|
+
Rik D.T. Janssen (2025).
|
|
359
|
+
*Utilizing Ricgraph to gain insights into research collaborations across institutions,
|
|
360
|
+
at every organizational level*. Submitted to SoftwareX [preprint].
|
|
361
|
+
[https://doi.org/10.2139/ssrn.5524439](https://doi.org/10.2139/ssrn.5524439).
|
|
306
362
|
* For a further introduction, you might want to read these two presentations:
|
|
307
363
|
* A general presentation about Ricgraph, presenting Ricgraph in a visual manner:
|
|
308
364
|
[https://doi.org/10.5281/zenodo.12634234](https://doi.org/10.5281/zenodo.12634234).
|
|
@@ -318,13 +374,13 @@ The following figure shows how three persons have contributed to one research ou
|
|
|
318
374
|
systems, not present in one's own Pure _A_.
|
|
319
375
|
|
|
320
376
|
* Read more about
|
|
321
|
-
[publications](docs/
|
|
322
|
-
[presentations](docs/
|
|
323
|
-
[newsletters](docs/
|
|
377
|
+
[publications](docs/ricgraph_outreach.md#ricgraph-publications),
|
|
378
|
+
[presentations](docs/ricgraph_outreach.md#ricgraph-presentations),
|
|
379
|
+
[newsletters](docs/ricgraph_outreach.md#ricgraph-newsletters)
|
|
324
380
|
(to subscribe, go to [Ricgraph Contact](#contact)),
|
|
325
|
-
[projects with students](docs/
|
|
326
|
-
[use](docs/
|
|
327
|
-
[mentions](docs/
|
|
381
|
+
[projects with students](docs/ricgraph_outreach.md#ricgraph-projects-with-students),
|
|
382
|
+
[use](docs/ricgraph_outreach.md#ricgraph-use), and
|
|
383
|
+
[mentions](docs/ricgraph_outreach.md#ricgraph-mentions)
|
|
328
384
|
of Ricgraph.
|
|
329
385
|
* The Ricgraph main website is www.ricgraph.eu.
|
|
330
386
|
Alternative sites are www.ricgraph.nl and www.ricgraph.com.
|
|
@@ -382,7 +438,7 @@ newsletter.
|
|
|
382
438
|
a subscribe email text. Please complete it
|
|
383
439
|
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).
|
|
384
440
|
We also have a
|
|
385
|
-
[newsletter archive](docs/
|
|
441
|
+
[newsletter archive](docs/ricgraph_outreach.md#ricgraph-newsletters).
|
|
386
442
|
|
|
387
443
|
If you like Ricgraph, please give it a GitHub Star by clicking on the top right
|
|
388
444
|
*Star* button on the Ricgraph GitHub page
|
|
@@ -393,4 +449,4 @@ please let me know by creating a GitHub *Issue* at the top left of that page.
|
|
|
393
449
|
<!-- Do not change the lines below. The version number will be
|
|
394
450
|
modified by script maintenance/update_version.bash -->
|
|
395
451
|
This README.md file is part of the
|
|
396
|
-
documentation for version 3.
|
|
452
|
+
documentation for version 3.2 of Ricgraph - Research in context graph.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
#
|
|
7
7
|
# MIT License
|
|
8
8
|
#
|
|
9
|
-
# Copyright (c) 2023
|
|
9
|
+
# Copyright (c) 2023 - 2026 Rik D.T. Janssen
|
|
10
10
|
#
|
|
11
11
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
12
|
# of this software and associated documentation files (the "Software"), to deal
|
|
@@ -101,14 +101,18 @@ In the default configuration of Ricgraph, the following properties are included:
|
|
|
101
101
|
from numpy import nan
|
|
102
102
|
from pandas import DataFrame, concat, set_option
|
|
103
103
|
from typing import Union
|
|
104
|
-
|
|
104
|
+
|
|
105
|
+
from .ricgraph_utils import (timestamp, timestamp_posix,
|
|
106
|
+
print_records_per_minute,
|
|
107
|
+
print_progress)
|
|
105
108
|
from .ricgraph_graphdb import (create_update_node, create_two_nodes_and_edge,
|
|
106
|
-
|
|
107
|
-
|
|
109
|
+
get_ricgraph_nodeadd_mode,
|
|
110
|
+
get_ricgraph_properties_standard,
|
|
111
|
+
get_ricgraph_properties_additional)
|
|
108
112
|
|
|
109
113
|
|
|
110
114
|
__author__ = 'Rik D.T. Janssen'
|
|
111
|
-
__copyright__ = 'Copyright (c) 2023
|
|
115
|
+
__copyright__ = 'Copyright (c) 2023 - 2026 Rik D.T. Janssen'
|
|
112
116
|
__email__ = ''
|
|
113
117
|
__license__ = 'MIT License'
|
|
114
118
|
__package__ = 'Ricgraph'
|
|
@@ -116,7 +120,7 @@ __package__ = 'Ricgraph'
|
|
|
116
120
|
# __version__ should be placed here instead of in __init__.py.
|
|
117
121
|
# If not here, it cannot be found when executing something like
|
|
118
122
|
# PYTHONPATH=../ricgraph ../bin/python ricgraph_explorer.py
|
|
119
|
-
__version__ = '3.
|
|
123
|
+
__version__ = '3.2'
|
|
120
124
|
|
|
121
125
|
|
|
122
126
|
# ##############################################################################
|
|
@@ -148,18 +152,14 @@ def update_nodes_df(nodes: DataFrame) -> None:
|
|
|
148
152
|
nodes_clean.drop_duplicates(keep='first', inplace=True, ignore_index=True)
|
|
149
153
|
|
|
150
154
|
print('There are ' + str(len(nodes_clean)) + ' nodes ('
|
|
151
|
-
+ timestamp() + '), updating node:
|
|
155
|
+
+ timestamp() + '), updating node:')
|
|
152
156
|
count = 0
|
|
157
|
+
start_ts = timestamp_posix()
|
|
153
158
|
columns = nodes_clean.columns
|
|
154
159
|
for row in nodes_clean.itertuples():
|
|
155
|
-
count
|
|
156
|
-
if count % 250 == 0:
|
|
157
|
-
print(count, ' ', end='', flush=True)
|
|
158
|
-
if count % 2500 == 0:
|
|
159
|
-
print('(' + timestamp() + ')\n', end='', flush=True)
|
|
160
|
-
|
|
160
|
+
count = print_progress(count=count, interval=250)
|
|
161
161
|
node_properties = {}
|
|
162
|
-
for prop_name in
|
|
162
|
+
for prop_name in get_ricgraph_properties_additional():
|
|
163
163
|
for other_name in columns:
|
|
164
164
|
if prop_name == other_name:
|
|
165
165
|
node_properties[prop_name] = getattr(row, other_name)
|
|
@@ -167,7 +167,11 @@ def update_nodes_df(nodes: DataFrame) -> None:
|
|
|
167
167
|
create_update_node(name=row.name, category=row.category, value=row.value,
|
|
168
168
|
other_properties=node_properties)
|
|
169
169
|
|
|
170
|
-
|
|
170
|
+
print_progress(count=count, now=True)
|
|
171
|
+
end_ts = timestamp_posix()
|
|
172
|
+
print_records_per_minute(start_ts=start_ts, end_ts=end_ts,
|
|
173
|
+
nr_records=count,
|
|
174
|
+
what='Updated')
|
|
171
175
|
return
|
|
172
176
|
|
|
173
177
|
|
|
@@ -184,18 +188,14 @@ def create_nodepairs_and_edges_df(left_and_right_nodepairs: DataFrame) -> None:
|
|
|
184
188
|
:return: None.
|
|
185
189
|
"""
|
|
186
190
|
print('There are ' + str(len(left_and_right_nodepairs)) + ' rows ('
|
|
187
|
-
+ timestamp() + '), creating nodes and edges for row:
|
|
191
|
+
+ timestamp() + '), creating nodes and edges for row:')
|
|
188
192
|
count = 0
|
|
193
|
+
start_ts = timestamp_posix()
|
|
189
194
|
columns = left_and_right_nodepairs.columns
|
|
190
195
|
for row in left_and_right_nodepairs.itertuples():
|
|
191
|
-
count
|
|
192
|
-
if count % 250 == 0:
|
|
193
|
-
print(count, ' ', end='', flush=True)
|
|
194
|
-
if count % 2500 == 0:
|
|
195
|
-
print('(' + timestamp() + ')\n', end='', flush=True)
|
|
196
|
-
|
|
196
|
+
count = print_progress(count=count, interval=250)
|
|
197
197
|
node_properties = {}
|
|
198
|
-
for prop_name in
|
|
198
|
+
for prop_name in get_ricgraph_properties_additional():
|
|
199
199
|
for other_name in columns:
|
|
200
200
|
if prop_name + '1' == other_name:
|
|
201
201
|
node_properties[prop_name + '1'] = getattr(row, other_name)
|
|
@@ -206,7 +206,11 @@ def create_nodepairs_and_edges_df(left_and_right_nodepairs: DataFrame) -> None:
|
|
|
206
206
|
create_two_nodes_and_edge(name1=row.name1, category1=row.category1, value1=row.value1,
|
|
207
207
|
name2=row.name2, category2=row.category2, value2=row.value2,
|
|
208
208
|
**node_properties)
|
|
209
|
-
|
|
209
|
+
print_progress(count=count, now=True)
|
|
210
|
+
end_ts = timestamp_posix()
|
|
211
|
+
print_records_per_minute(start_ts=start_ts, end_ts=end_ts,
|
|
212
|
+
nr_records=count,
|
|
213
|
+
what='Created')
|
|
210
214
|
return
|
|
211
215
|
|
|
212
216
|
|
|
@@ -242,7 +246,7 @@ def create_nodepairs_and_edges_params(name1: Union[dict, str], category1: Union[
|
|
|
242
246
|
left_and_right_nodepairs.rename(columns={value1.name: 'value1'}, inplace=True)
|
|
243
247
|
|
|
244
248
|
# This makes programming more efficient
|
|
245
|
-
allowed_properties =
|
|
249
|
+
allowed_properties = get_ricgraph_properties_additional() + get_ricgraph_properties_standard()
|
|
246
250
|
ext_other_properties = other_properties.copy()
|
|
247
251
|
ext_other_properties['name1'] = name1
|
|
248
252
|
ext_other_properties['name2'] = name2
|
|
@@ -310,7 +314,7 @@ def unify_personal_identifiers(personal_identifiers: DataFrame,
|
|
|
310
314
|
identifiers.dropna(axis=0, how='any', inplace=True)
|
|
311
315
|
identifiers.drop_duplicates(keep='first', inplace=True, ignore_index=True)
|
|
312
316
|
|
|
313
|
-
if
|
|
317
|
+
if get_ricgraph_nodeadd_mode() == 'strict':
|
|
314
318
|
# Remove rows which have a cell value that occurs more than once.
|
|
315
319
|
# There are two situations: (1) nodes with unique value; (2) nodes with non-unique value.
|
|
316
320
|
# (1) We assume that in one source system, always the same ID is used to connect to
|
|
@@ -336,10 +340,21 @@ def unify_personal_identifiers(personal_identifiers: DataFrame,
|
|
|
336
340
|
identifiers.drop_duplicates(subset=column1, keep=False, inplace=True, ignore_index=True)
|
|
337
341
|
identifiers.drop_duplicates(subset=column2, keep=False, inplace=True, ignore_index=True)
|
|
338
342
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
+
identifiers.rename(columns={column1: 'value1',
|
|
344
|
+
column2: 'value2'}, inplace=True)
|
|
345
|
+
new_identifiers_columns = {'name1': column1,
|
|
346
|
+
'category1': 'person',
|
|
347
|
+
'name2': column2,
|
|
348
|
+
'category2': 'person',
|
|
349
|
+
'source_event1': source_event,
|
|
350
|
+
'history_event1': history_event,
|
|
351
|
+
'source_event2': source_event,
|
|
352
|
+
'history_event2': history_event}
|
|
353
|
+
identifiers = identifiers.assign(**new_identifiers_columns)
|
|
354
|
+
identifiers = identifiers[['name1', 'category1', 'value1', 'source_event1', 'history_event1',
|
|
355
|
+
'name2', 'category2', 'value2', 'source_event2', 'history_event2']]
|
|
356
|
+
create_nodepairs_and_edges_df(left_and_right_nodepairs=identifiers)
|
|
357
|
+
|
|
343
358
|
print('\nDone at ' + timestamp() + '.\n')
|
|
344
359
|
return
|
|
345
360
|
|
|
@@ -357,3 +372,8 @@ set_option('display.width', 500)
|
|
|
357
372
|
# in a future version. To retain the old behavior, explicitly call `result.infer_objects(copy=False)`.
|
|
358
373
|
# To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`"
|
|
359
374
|
set_option('future.no_silent_downcasting', True)
|
|
375
|
+
|
|
376
|
+
print('\nThis is Ricgraph, Research in contect graph.')
|
|
377
|
+
print('To learn about Ricgraph, please go to www.ricgraph.eu.')
|
|
378
|
+
print('You are using Ricgraph version ' + get_ricgraph_version() + '.\n')
|
|
379
|
+
|