tegrom

Temporal graph model on DOM

https://github.com/phplam/tegrom

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

analysis neo4j python temporal-data temporal-graph temporal-networks
Last synced: 6 months ago · JSON representation ·

Repository

Temporal graph model on DOM

Basic Info
  • Host: GitHub
  • Owner: PhPlam
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 229 MB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 1
Topics
analysis neo4j python temporal-data temporal-graph temporal-networks
Created over 4 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

README.md

A snapshot-based graph model for multivariate time series in Neo4j

Authors: Philipp Plamper, Oliver J. Lechtenfeld, Anika Groß
Date: 25. june 2024

This project contains our implementation and source code for a snapshot-based knowledge graph model. The novel approach is based on a temporal graph and is able to predict interactions between nodes in succeeding snapshots. A practical application in environmental chemistry is already shown in the paper "A temporal graph model to predict chemical transformations in complex dissolved organic matter" (Philipp Plamper, Oliver J. Lechtenfeld, Peter Herzsprung, Anika Groß) (https://doi.org/10.1021/acs.est.3c00351).

The experimental data from FT-ICR-MS used in this project were originally used in paper "Photochemically Induced Changes of Dissolved Organic Matter in a Humic-Rich and Forested Stream" (Christin Wilske, Peter Herzsprung, Oliver J. Lechtenfeld, Norbert Kamjunke, Wolf von Tümpling) (https://doi.org/10.3390/w12020331).

Graph Model in chemical application

graph_model_v4

Instructions to set up temporal graph in a Neo4j Desktop instance

tested on Manjaro Linux (25. june 2024)

Project

Software Versions

  • Neo4j Desktop Link > Desktop version 1.6.0 (25. june 2024)
    > Database version 5.20.0 (25. june 2024)
  • Python version 3.12.3 (25. june 2024)
  • neo4j (Python driver) Link > version 5.20.0 (25. june 2024)

Project structure

  • Temporal-Graphs-Neo4j
    • models
    • analyze
    • create_models
    • data_preprocessing
    • filesformodel
    • variables
    • requirements
    • test
    • notebooks
      • results

Setup Neo4j Desktop

  1. Download and run Neo4j Desktop Link
  2. Create a new project (no whitespace or special characters):

create_new_project

  1. Go to project and add a new local database

    • Name: e.g. MoleculeGraph
    • Password: e.g. test1234 (choose the same password in 'models/variables/V001_variables.py' at 'passwd')
    • “Create”

    add_local_db

  2. Allow data from external sources

    • open the settings of the database (three dots on the right side)
    • search for: “dbms.directories.import=import”
      • in newer version: “server.directories.import=import”
    • comment the line with “#”
      • e.g. “#dbms.directories.import=import”
    • “Apply” and “Close”

    ext_src

  3. Install the APOC and the Graph Data Science Library Plugin

    • Click on the database (a window should appear on the right side)
    • Go to “Plugins” and install APOC and Graph Data Science Library

    plugins

  4. Start the database

Requirements

  • install required python libraries
    • they can be found in: “requirements/requirements.txt” (see chapter “Project Structure”)
    • install required libraries (e.g. manually via pip or with command line)
      • command line:
        $ pip install -r Path/To/requirements.txt

Temporal graph model

Prepare data

  • molecular data file structure
    • molecules and properties
      • delimiter = ‘,’ or ‘;’
      • requires ascending order of measurements
        • e.g. measurement id 1, measurement id 2, …
      • columns:
        • “measurement_id” : Integer
        • “peakrelinttic” (normalized intensity) : Float
        • “formulamassnominal” : Integer
        • “formula_string” : String
          • molecular formulas should be in the form CHNOS
          • e.g. “C9 H12 O5”, “C15 H11 N1 O6”, “C16 H14 O9 S1”
        • “C” : Integer
        • “H” : Integer
        • “N” : Integer
        • “O” : Integer
        • “S” : Integer
    • transformation units
      • delimiter = ‘,’ or ‘;’
      • columns:
        • “element” : String
        • “C” : Integer
        • “H” : Integer
        • “N” : Integer
        • “O” : Integer
        • “S” : Integer
        • “plus” : Boolean (0,1) → photo addition
        • “minus” : Boolean (0,1) → photo elimination

Execute tegrom

  • to execute tegrom follow the 'instructions.txt' in 'EXECUTE_TEGROM'

Owner

  • Login: PhPlam
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
authors:
- family-names: "Plamper"
  given-names: "Philipp"
- family-names: "Lechtenfeld"
  given-names: "Oliver J."
- family-names: "Herzsprung"
  given-names: "Peter"
- family-names: "Groß"
  given-names: "Anika"
title: "Temporal graph model on DOM (tegrom)"
version: v3.10-23
date-released: 2023-10-20
doi: 10.5281/zenodo.10025073
url: "https://github.com/PhPlam/tegrom"

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Dependencies

requirements/requirements.txt pypi
  • matplotlib *
  • neo4j *
  • numpy *
  • pandas *
  • progress *
  • scipy *