Rumah > Soal Jawab > teks badan
Saya telah menggunakan neo4j-driver dalam node-app untuk mendapatkan semula hasil pertanyaan neo4j. Saya ingin mendapatkan hasil ini dalam format graf json (nod dan pautan) untuk mengisinya ke dalam d3 seperti ini: https://www.jsonkeeper.com/b/5ZYS
Tetapi keputusan yang saya dapat adalah dalam format ini: https://www.jsonkeeper.com/b/FMJ1
Saya mencuba beberapa penyelesaian untuk mencapai ini tetapi tiada siapa yang dapat melaksanakannya dengan sempurna. Bolehkah anda membimbing saya bagaimana untuk melaksanakannya?
Ini adalah pengawal saya dalam aplikasi Node Express saya:
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粉6681137682024-04-03 16:54:19
Anda boleh menstrim JSON ke output senarai nod dan perhubungan.
Ia bukan dalam format yang sama seperti anda, tetapi ia sangat hampir dengan nod dalam senarai dan perhubungan dalam senarai lain.
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
Untuk maklumat lanjut tentang pilihan output JSON, sila lawati: https://neo4j.com /labs/apoc/4.1/export/json/