recherche

Maison  >  Questions et réponses  >  le corps du texte

Convertir les résultats de la requête neo4j en graphjson comme les nœuds et les liens dans nodejs

J'utilise neo4j-driver dans node-app pour récupérer les résultats de la requête neo4j. Je souhaite obtenir ce résultat au format graphique json (nœuds et liens) pour le remplir dans d3 comme ceci : https://www.jsonkeeper.com/b/5ZYS

Mais le résultat que j'obtiens est sous ce format : https://www.jsonkeeper.com/b/FMJ1

J'ai essayé quelques solutions pour y parvenir mais personne n'a réussi à les mettre en œuvre parfaitement. Pouvez-vous me guider sur la manière de le mettre en œuvre ?

Voici mon contrôleur dans mon application Node Express :

import neo4j from 'neo4j-driver';
import {
  NEO4J_PASSWORD,
  NEO4J_URL,
  NEO4J_USERNAME,
} from '../../constants/index.js';
export const runMatchQuery = async (req, res) => {
  const query = req?.body?.query;
  if (query?.toLowerCase()?.includes('match')) {
    const driver = neo4j.driver(
      NEO4J_URL,
      neo4j.auth.basic(NEO4J_USERNAME, NEO4J_PASSWORD)
    );
    const session = driver.session();

    try {
      const result = await session.run(query);
      return res.status(200).json(result);
    } catch (error) {
      console.log(error);
      return res.status(500).json({ message: error.message });
    } finally {
      await session.close();
      await driver.close();
    }
  } else {
    return res.send(405).json({ message: 'Query not permitted.' });
  }
};

P粉035600555P粉035600555231 Il y a quelques jours453

répondre à tous(1)je répondrai

  • P粉668113768

    P粉6681137682024-04-03 16:54:19

    Vous pouvez diffuser du JSON vers la sortie des listes de nœuds et de relations.

    Ce n'est pas dans le même format que le vôtre, mais c'est très proche d'un nœud dans une liste et d'une relation dans une autre liste.

    MATCH (n:MyNode)-[r:MY_REL]-()
    WITH COLLECT(n) as mynodes, COLLECT(r) as myrels
    CALL apoc.export.json.data(mynodes, myrels, null, {stream:True, jsonFormat: "JSON", writeNodeProperties:False})
    YIELD data
    RETURN data

    Pour plus d'informations sur les options de sortie JSON, veuillez visiter : https://neo4j.com /labs/apoc/4.1/export/json/

    répondre
    0
  • Annulerrépondre