63 lines
1.9 KiB
Markdown
63 lines
1.9 KiB
Markdown
# mdm2neo4j
|
||
mdm2neo4j imports ODM-XML-files into a Neo4j graph database.
|
||
|
||
## Quickstart
|
||
|
||
Create a configuration file, storing your details for the database-connection.
|
||
E.g. in your home-directory with the name `mdm.conf`.
|
||
|
||
```ini
|
||
[neo4j]
|
||
uri = bolt://localhost:7687
|
||
username = neo4j
|
||
password = myfancypassword
|
||
```
|
||
|
||
Start the program by providing the location of your configuration-file and the location of the XML-files.
|
||
|
||
```sh
|
||
python3 src/run.py --conf ~/mdm.conf --files ~/Desktop/datasource
|
||
```
|
||
|
||
## Requirements
|
||
|
||
- make sure, `python3` is installed
|
||
- install the required libraries with `pip install -r requirements.txt`
|
||
- download all ODM-XML-files from the [MDM portal]( https://mdm.mi.uni-heidelberg.de/access/register ) and place all XML-files you want to load in one folder
|
||
- have a running Neo4j DB (Neo4j version 5)
|
||
- create the configuration-file as described in the [Quickstart section](#quickstart)
|
||
|
||
## General Structure of Repo
|
||
|
||

|
||
|
||
The two main scripts that do things are `database_connector.py` and `xml_processor.py`.
|
||
`run.py` is the "main" script where everything comes together and that is responsible for running everything.
|
||
|
||
## Detailled Infos
|
||
|
||
The mapping of the odm-xml files to Neo4j is based on specification for ODM version 1.3.2.
|
||
The specification document is available on the CDISC website http://www.cdisc.org/odm.
|
||
|
||
The mapping includes 18 of 39 elements of the "Study" section (section 3.1.1) of the "General Elements" (section 3) of the ODM specification.
|
||
The Neo4j graph has eleven labels:
|
||
- Study
|
||
- StudyEvent
|
||
- Form
|
||
- ItemGroup
|
||
- Item
|
||
- RangeCheck
|
||
- CodeList
|
||
- CodeListItem
|
||
- BasicDefinitions
|
||
- MeasurementUnit
|
||
- Alias
|
||
|
||
|
||
## Tech Docu
|
||
|
||
Find the technical documentation in the [`docs`-folder.](docs/)
|
||
|
||
## Licence
|
||
This program is released under [Version 3 of the GPL or any later version](https://www.gnu.org/licenses/gpl-3.0.en.html).
|