blob: bb669cf288f4f92e27aeeb91053f1d7ee404192e [file]
import React, { useState } from 'react';
import * as styles from './styles/HowToAge.module.scss';
import storagePmg from '../img/img-Storage.png';
const HowToAge = () => {
const [toggle, setToggle] = useState('');
const onToggle = (num) => {
setToggle(String(num));
};
return (
<div className={styles.root}>
<div className={styles.Section1}>
<span>AGE Architecture</span>
<div className={styles.Section1Wrap}>
<div className={styles.Vertical}>
<button
type="button"
className={toggle === '5' ? styles.Toggle : ''}
onClick={() => onToggle(5)}
onMouseEnter={() => onToggle(5)}
>
Transaction / Cache Layer
</button>
</div>
<div className={styles.Horizon}>
<button
type="button"
className={toggle === '1' ? styles.Toggle : ''}
onClick={() => onToggle(1)}
onMouseEnter={() => onToggle(1)}
>
Query Parsing
</button>
<button
type="button"
className={toggle === '2' ? styles.Toggle : ''}
onClick={() => onToggle(2)}
onMouseEnter={() => onToggle(2)}
>
Query Transform
</button>
<button
type="button"
className={toggle === '3' ? styles.Toggle : ''}
onClick={() => onToggle(3)}
onMouseEnter={() => onToggle(3)}
>
Planner/Optimizer
</button>
<button
type="button"
className={toggle === '4' ? styles.Toggle : ''}
onClick={() => onToggle(4)}
onMouseEnter={() => onToggle(4)}
>
Executor
</button>
</div>
</div>
<div className={styles.StorageImg}>
<img src={storagePmg} />
</div>
</div>
<div className={styles.Section2}>
<p className={toggle === '1' ? styles.Toggle : ''}>
<i>1</i>
<span>
Parses Cypher queries embedded in cypher function calls. Here we implement the grammar for openCypher.
</span>
</p>
<p className={toggle === '2' ? styles.Toggle : ''}>
<i>2</i>
Transforms a Cypher query into a Query tree that will be attached as a subquery node.
</p>
<p className={toggle === '3' ? styles.Toggle : ''}>
<i>3</i>
Understands some graph operations and produces plan nodes that are related to graph operations.
</p>
<p className={toggle === '4' ? styles.Toggle : ''}>
<i>4</i>
Executes plan nodes that are related to graph operations.
</p>
<p className={toggle === '5' ? styles.Toggle : ''}>
<i>5</i>
Cypher queries work with Postgres existing fully transactional system (ACID).
</p>
</div>
</div>
);
};
export default HowToAge;