chemist-preprocessor-0.1.0.0: Chemist Raw Data Preprocessor
Safe HaskellSafe-Inferred
LanguageHaskell2010

Domain.Converter.Instances

Description

This module defines instances for converting Neo4j elements (nodes and relationships) into Haskell types and their corresponding interactants within the domain model.

Base

  • Instances of the FromValue type class to handle conversion from Bolt's Value type to various Haskell types such as Int, String, and Float, as well as lists and optional values.
  • ElemInteractant instances for translating Neo4j graph elements into domain-specific types like Molecule, Catalyst, Reaction, and more. The Identity type is introduced to facilitate the mapping of Neo4j objects and building relationships.
  • Instances of NodeMask and RelMask to prepare data for creating or updating nodes and relationships in the database.

This module is integral for enabling seamless interaction with Neo4j, facilitating the conversion of graph structures into Haskell types for further processing and manipulation.

Orphan instances

ElemInteractant PathMask #

Converts a Neo4j path to a Haskell PathMask (Introduce PathMask instance to avoid introducing a new typeclass for a pseudo-collection of Interactant's).

Instance details

FromValue String #

Converts a Bolt Value of type T (Text) to a Haskell String.

Instance details

FromValue Float #

Converts a Bolt Value of type F (Double) to a Haskell Float.

Instance details

FromValue Int #

Converts a Bolt Value of type I (Int) to a Haskell Int.

Instance details

InteractantElem NodeMask #

Converts a node interactant to a NodeMask.

Instance details

InteractantElem RelMask #

Converts a relation of Interactants to a RelMask.

Instance details

FromValue a => FromValue (Maybe a) #

Converts a Bolt Value of type N (Null) to a Haskell Maybe type.

Instance details

FromValue a => FromValue [a] #

Converts a Bolt Value of type L (List) to a Haskell list of the specified type.

Instance details

ElemInteractant (ACCELERATE, Identity) #

Converts a Neo4j relationship of type ACCELERATE to a Haskell ACCELERATE and its Identity.

Instance details

ElemInteractant (Catalyst, Identity) #

Converts a Neo4j node with label Catalyst to a Haskell Catalyst and its Identity.

Instance details

ElemInteractant (Molecule, Identity) #

Converts a Neo4j node with label Molecule to a Haskell Molecule and its Identity.

Instance details

ElemInteractant (PRODUCT_FROM, Identity) #

Converts a Neo4j relationship of type PRODUCT_FROM to a Haskell PRODUCT_FROM and its Identity.

Instance details

ElemInteractant (REAGENT_IN, Identity) #

Converts a Neo4j relationship of type REAGENT_IN to a Haskell REAGENT_IN and its Identity.

Instance details

ElemInteractant (Reaction, Identity) #

Converts a Neo4j node with label Reaction to a Haskell Reaction and its Identity.

Instance details

ElemInteractant (Interactant, Identity) #

Converts a Neo4j node to a Haskell Interactant based on its label (if Node) or type (if URelationship).

Instance details

ElemInteractant (FOLLOW, Identity) #

Converts a Neo4j relationship of type FOLLOW to a Haskell FOLLOW and its Identity.

Instance details

ElemInteractant (Mechanism, Identity) #

Converts a Neo4j node with label Mechanism to a Haskell Mechanism and its Identity.

Instance details

ElemInteractant (Stage, Identity) #

Converts a Neo4j node with label Stage to a Haskell Stage and its Identity.

Instance details

ElemInteractant (INCLUDE, Identity, Identity) #

Converts a Neo4j relationship of type INCLUDE to a Haskell INCLUDE and its two Identity values.

Instance details