NFDI
The Python library NFDI provides:
- basic information about NFDI (also known as Nationale ForschungsDatenInfrastruktur and National Research Data Infrastructure) and all funded NFDI consortia,
- support for Wikidata WikiProject NFDI aimed to create and edit the Wikidata entities and entity schemas relevant for NFDI,
- simple named entity linker on texts for the accepted NFDI consortia.
The NFDI Jupyter Book describes:
- how to use the library,
- how to send SPARQL queries to Wikidata and to get visualisations for NFDI consortia,
- Wikidata WikiProject NFDI and relevant entity schemas,
- how we parsed the data,
- how we edited Wikidata.
Table of contents
Installation
pip install NFDI
How to use
Module info
The module info has classes consortium and consortia:
from nfdi import info
nfdi = info.consortia()
berd = info.consortium('BERD@NFDI')
The instance nfdi has the following attributes: 'label', 'homepage', 'wikidata', 'github', 'google', 'linkedin', 'twitter', 'youtube', 'zenodo', 'labels', 'consortia'. For example:
nfdi.twitter
prints
"https://twitter.com/NFDI_de"
The instances nfdi and berd have the methods print, dict and _wikidata:
json = berd._wikidata()
nfdi.print()
The json variable contains JSON representation of the corresponding entity at Wikidata including labels, aliases and descriptions:
print('LABELS', json.get('labels'))
print('DESCRIPTIONS', json.get('descriptions'))
print('ALIASES', json.get('aliases'))
It prints:
LABELS {'en': {'language': 'en', 'value': 'BERD@NFDI'}, 'de': {'language': 'de', 'value': 'BERD@NFDI'}, 'fr': {'language': 'fr', 'value': 'BERD@NFDI'}, 'bar': {'language': 'bar', 'value': 'BERD@NFDI'}, 'de-at': {'language': 'de-at', 'value': 'BERD@NFDI'}, 'de-ch': {'language': 'de-ch', 'value': 'BERD@NFDI'}, 'de-formal': {'language': 'de-formal', 'value': 'BERD@NFDI'}, 'en-ca': {'language': 'en-ca', 'value': 'BERD@NFDI'}, 'en-gb': {'language': 'en-gb', 'value': 'BERD@NFDI'}, 'es': {'language': 'es', 'value': 'BERD@NFDI'}, 'nl': {'language': 'nl', 'value': 'BERD@NFDI'}, 'pt': {'language': 'pt', 'value': 'BERD@NFDI'}, 'simple': {'language': 'simple', 'value': 'BERD@NFDI'}}
DESCRIPTIONS {'en': {'language': 'en', 'value': 'NFDI consortium for Business, Economic and Related Data (Social and Behavioural Sciences)'}, 'de': {'language': 'de', 'value': 'NFDI für Wirtschaftsdaten und Verwandtes (Sozial- und Verhaltenswissenschaften)'}}
ALIASES {'en': [{'language': 'en', 'value': 'BERD-NFDI'}], 'de': [{'language': 'de', 'value': 'BERD-NFDI'}], 'fr': [{'language': 'fr', 'value': 'BERD-NFDI'}], 'bar': [{'language': 'bar', 'value': 'BERD-NFDI'}], 'de-at': [{'language': 'de-at', 'value': 'BERD-NFDI'}], 'de-ch': [{'language': 'de-ch', 'value': 'BERD-NFDI'}], 'de-formal': [{'language': 'de-formal', 'value': 'BERD-NFDI'}], 'en-ca': [{'language': 'en-ca', 'value': 'BERD-NFDI'}], 'en-gb': [{'language': 'en-gb', 'value': 'BERD-NFDI'}], 'es': [{'language': 'es', 'value': 'BERD-NFDI'}], 'nl': [{'language': 'nl', 'value': 'BERD-NFDI'}], 'pt': [{'language': 'pt', 'value': 'BERD-NFDI'}], 'simple': [{'language': 'simple', 'value': 'BERD-NFDI'}]}
Module data
The module data has raw data as a dictionary:
from nfdi import data
data.raw()
Module nel
The module nel provides simple rule-based named entity linker for the NFDI consortia. In Jupyter Notebook use
from nfdi.nel import linker, test
t = linker(test)
t.render()
where test stores the following sentences:
What are BERD@NFDI, NFDI4Earth, NFDI4DataScience, NFDI-MatWerk, PUNCH4NFDI, FAIRmat and Text+?
How are they related to NFDI4Ing, NFDI4Culture, NFDI4Chem and NFDIGHGA?
In Python console use:
from nfdi.nel import linker, test
t = linker(test)
t.serve()
The Wikidata QIDs are stored in .ent_id_:
from nfdi.nel import linker, test
t = linker(test)
for span in t.doc.ents:
print((span.text, span.ent_id_, span.label_))
It prints:
('BERD@NFDI', 'Q108542181', 'ORG')
('NFDI4Earth', 'Q108542504', 'ORG')
('NFDI4DataScience', 'Q108542422', 'ORG')
('NFDI-MatWerk', 'Q108542607', 'ORG')
('PUNCH4NFDI', 'Q108542637', 'ORG')
('FAIRmat', 'Q108542373', 'ORG')
('Text+', 'Q98271443', 'ORG')
('NFDI4Ing', 'Q98380344', 'ORG')
('NFDI4Culture', 'Q98276929', 'ORG')
('NFDI4Chem', 'Q96678459', 'ORG')
('NFDIGHGA', 'Q98380337', 'ORG')
NFDI Jupyter Book
Check out NFDI Jupyter Book.
Deploying the Book locally
First, create and activate conda environment using the provided docs/environment.yml:
conda env create -f docs/environment.yml
conda activate nfdi
Then, build the Book:
jb build docs
Open the file docs/_build/html/index.html in a browser.
To remove the build folder, run:
jb clean --all docs
Deploying the Book at GitHub
Install ghp-import:
pip install ghp-import
Once the book is built, run:
ghp-import -n -p -f docs/_build/html
Metadata
Release files for NFDI 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| NFDI-0.1.1.tar.gz | 7.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| NFDI-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.5 kB
Release files / NFDI-0.1.1.tar.gz
| Download URL | NFDI-0.1.1.tar.gz |
|---|---|
| Size | 7.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4efd08b8ae78791e70d7f60ce8be27858649766992def561bb3145d75301be21
|
|
BLAKE2b-256 checksum How to use checksums |
4778dac7f713ecef70dd2f2f18809389d4143b90d703186e3f6751a793623d2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.6
|
Release files / NFDI-0.1.1-py3-none-any.whl
| Download URL | NFDI-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2744f58e1c1035f06551d7a46b94912e0f5226ae7a39554a2a21cfc1bf21acd0
|
|
BLAKE2b-256 checksum How to use checksums |
17292d2033544db996d706113ee2fbfa94dbd4a65fd9d5b16765a3a1d9373519
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.6
|