25
25
26
26
import org .neo4j .driver .Driver ;
27
27
import org .neo4j .driver .GraphDatabase ;
28
- import org .neo4j .driver .Session ;
29
28
import org .neo4j .driver .Result ;
29
+ import org .neo4j .driver .Session ;
30
30
import org .neo4j .driver .util .DatabaseExtension ;
31
31
import org .neo4j .driver .util .Neo4jSettings ;
32
32
import org .neo4j .driver .util .ParallelizableIT ;
@@ -51,15 +51,25 @@ void shouldLoadCSV() throws Throwable
51
51
String csvFileUrl = createLocalIrisData ( session );
52
52
53
53
// When
54
- Result result = session .run (
55
- "USING PERIODIC COMMIT 40\n " +
56
- "LOAD CSV WITH HEADERS FROM $csvFileUrl AS l\n " +
57
- "MATCH (c:Class {name: l.class_name})\n " +
58
- "CREATE (s:Sample {sepal_length: l.sepal_length, sepal_width: l.sepal_width, petal_length: l.petal_length, petal_width: l.petal_width})\n " +
54
+ String query = neo4j .isNeo4j44OrEarlier () ?
55
+ "USING PERIODIC COMMIT 40\n " +
56
+ "LOAD CSV WITH HEADERS FROM $csvFileUrl AS l\n " +
57
+ "MATCH (c:Class {name: l.class_name})\n " +
58
+ "CREATE (s:Sample {sepal_length: l.sepal_length, sepal_width: l.sepal_width, petal_length: l.petal_length, petal_width: l.petal_width})\n " +
59
+
60
+ "CREATE (c)<-[:HAS_CLASS]-(s) " +
61
+ "RETURN count(*) AS c"
62
+ :
63
+ "LOAD CSV WITH HEADERS FROM $csvFileUrl AS l\n " +
64
+ "CALL {\n " +
65
+ "WITH l\n " +
66
+ "MATCH (c:Class {name: l.class_name})\n " +
67
+ "CREATE (s:Sample {sepal_length: l.sepal_length, sepal_width: l.sepal_width, petal_length: l.petal_length, petal_width: l.petal_width})\n " +
68
+ "CREATE (c)<-[:HAS_CLASS]-(s)" +
69
+ "} IN TRANSACTIONS\n " +
70
+ "RETURN count(*) AS c" ;
59
71
60
- "CREATE (c)<-[:HAS_CLASS]-(s) " +
61
- "RETURN count(*) AS c" ,
62
- parameters ( "csvFileUrl" , csvFileUrl ) );
72
+ Result result = session .run ( query , parameters ( "csvFileUrl" , csvFileUrl ) );
63
73
64
74
// Then
65
75
assertThat ( result .next ().get ( "c" ).asInt (), equalTo ( 150 ) );
0 commit comments