joern icon indicating copy to clipboard operation
joern copied to clipboard

How can I generate/export the node.csv and edge.csv files in the current version of Joern?

Open trianglexx opened this issue 9 months ago • 6 comments

I'm currently replicating the workflow from a research paper which requires exporting node.csv and edge.csv. It seems that older versions of Joern supported exporting these files. Is this functionality still available in the current version? Thank you!

trianglexx avatar Apr 14 '25 07:04 trianglexx

We offer a neo4jcsv export https://github.com/joernio/joern/blob/master/joern-cli/src/main/scala/io/joern/joerncli/JoernExport.scala#L109 Check if that helps.

max-leuthaeuser avatar Apr 16 '25 13:04 max-leuthaeuser

We offer a neo4jcsv export https://github.com/joernio/joern/blob/master/joern-cli/src/main/scala/io/joern/joerncli/JoernExport.scala#L109 Check if that helps.

Thank you very much for your response!As I'm new to this field, I'm still getting familiar with Joern and Java. I have a basic question that I'd like to ask for guidance:

When I previously used Joern, I would simply clone the joern-cli folder, extract it, and run it using ./joern in that directory. Now that I've cloned the entire Joern project repository, how should I properly execute the JoernParse.scala method you provided in this project folder?

I understand this might be a very simple (or even trivial) question, but as a beginner, it has genuinely confused me for some time. I would greatly appreciate your expert advice on this matter. Thank you kindly for your support!

trianglexx avatar Apr 17 '25 08:04 trianglexx

Just like the ./joern start script there is also one for ./joern-export. Run ./joern-export --help for guidance.

max-leuthaeuser avatar Apr 17 '25 08:04 max-leuthaeuser

Just like the ./joern start script there is also one for ./joern-export. Run ./joern-export --help for guidance.

There are two folders containing joern-export:

https://github.com/joernio/joern/blob/master/joern-export

https://github.com/joernio/joern/blob/master/joern-cli/src/main/scala/io/joern/joerncli/JoernExport.scala

Should I run it in the former directory? But when I downloaded and tried to run it, the system reported 'no such file or directory', even though I can clearly see it when I run 'ls'. What could be the reason for this?"

trianglexx avatar Apr 17 '25 10:04 trianglexx

Simply download the latest release at https://github.com/joernio/joern/releases, unpack the zip and run the joern-export script in the resulting folder.

max-leuthaeuser avatar Apr 17 '25 10:04 max-leuthaeuser

Simply download the latest release at https://github.com/joernio/joern/releases, unpack the zip and run the joern-export script in the resulting folder.

Thank you very much for your answer! Following your method, I successfully generated the CSV files. However, when processing the example file x42.c, nearly 100 different CSV files were generated in the folder, such as:

edges_ARGUMENT_cypher edges_ARGUMENT_data edges_ARGUMENT_header

nodes_LOCAL_cypher nodes_LOCAL_data nodes_LOCAL_header and others... Could you please explain what these files represent?Or, when processing a CPG , is there a method to generate a comprehensive file containing all node properties (such as ID, type, etc.) in the graph? Thank you very much!"

trianglexx avatar Apr 19 '25 05:04 trianglexx