diff --git a/initial_run.sh b/initial_run.sh
deleted file mode 100755
index cd3a57b..0000000
--- a/initial_run.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env bash
-mvn install:install-file -Dfile=lib/RDFtoPGConverter.jar -DgroupId=org.example -DartifactId=rdf4j-getting-started -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
diff --git a/pom.xml b/pom.xml
index b7f8f0a..3291a86 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,6 +20,7 @@
3.5.23
3.5.0.15
1.7.5
+ 4.0.1
@@ -46,11 +47,18 @@
${neo4j.version}
test
+
+
+
+
+
+
- org.neo4j
- neo4j-kernel
- ${neo4j.version}
-
+ org.neo4j
+ neo4j-jdbc-bolt
+ ${neo4j-jdbc-version}
+ test
+
diff --git a/src/com/KRacR/s2c/App.java b/src/main/java/com/KRacR/s2c/App.java
similarity index 60%
rename from src/com/KRacR/s2c/App.java
rename to src/main/java/com/KRacR/s2c/App.java
index a283905..869cc54 100644
--- a/src/com/KRacR/s2c/App.java
+++ b/src/main/java/com/KRacR/s2c/App.java
@@ -1,13 +1,13 @@
package com.KRacR.s2c;
import org.neo4j.cypher.*;
-import org.neo4j.cypher.internal.ast.Query;
+//import org.neo4j.cypher.internal.ast.Query;
import org.apache.jena.*;
public class App {
public static void main( String[] args ){
- Query q = new Query(null, null, null);
- System.out.println(q.asCanonicalStringVal());
+// Query q = new Query(null, null, null);
+// System.out.println(q.asCanonicalStringVal());
org.apache.jena.query.Query q2 = new org.apache.jena.query.Query();
}
}
\ No newline at end of file
diff --git a/src/com/KRacR/s2c/SparqlToCypher.java b/src/main/java/com/KRacR/s2c/SparqlToCypher.java
similarity index 74%
rename from src/com/KRacR/s2c/SparqlToCypher.java
rename to src/main/java/com/KRacR/s2c/SparqlToCypher.java
index 37693d5..f979a6b 100644
--- a/src/com/KRacR/s2c/SparqlToCypher.java
+++ b/src/main/java/com/KRacR/s2c/SparqlToCypher.java
@@ -1,8 +1,5 @@
package com.KRacR.s2c;
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
import java.lang.String;
public class SparqlToCypher {
diff --git a/src/test/java/com/KRacR/s2c/SparqlToCypherTest.java b/src/test/java/com/KRacR/s2c/SparqlToCypherTest.java
index f8b36f3..b67ad6e 100644
--- a/src/test/java/com/KRacR/s2c/SparqlToCypherTest.java
+++ b/src/test/java/com/KRacR/s2c/SparqlToCypherTest.java
@@ -1,4 +1,5 @@
-package test.java.com.KRacR.s2c;
+package com.KRacR.s2c;
+//package test.java.com.KRacR.s2c;
//import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
@@ -11,7 +12,16 @@
import java.nio.file.Paths;
import java.util.Arrays;
-import org.junit.Test;
+import org.apache.jena.query.Query;
+import org.apache.jena.query.QueryExecution;
+import org.apache.jena.query.QueryExecutionFactory;
+import org.apache.jena.query.QueryFactory;
+import org.apache.jena.query.QuerySolution;
+import org.apache.jena.query.ResultSet;
+import org.apache.jena.query.ResultSetFormatter;
+import org.apache.jena.rdf.model.Model;
+import org.apache.jena.riot.RDFDataMgr;
+import org.junit.jupiter.api.Test;
import org.neo4j.driver.v1.Config;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
@@ -21,6 +31,7 @@
import com.KRacR.s2c.SparqlToCypher;
+
/**
* Unit test for Sparql to Cypher
*/
@@ -28,7 +39,7 @@ public class SparqlToCypherTest{
private ServerControls embeddedDatabaseServer;
private static final Config driverConfig = Config.build().withoutEncryption().toConfig();
- private void run_TTL_Automated_Test(String folder) {
+ private void run_TTL_Automated_Test(String folder){
Path rdf_path = Paths.get(folder, "rdf.ttl");
Path path_to_pg_bench = Paths.get("lib/RDFtoPGConverter.jar");
@@ -47,6 +58,9 @@ private void run_TTL_Automated_Test(String folder) {
fail("RDFtoPGConverter interrupted for folder " + folder);
}
+ // Create RDF model from ttl
+ Model rdf_model = RDFDataMgr.loadModel(rdf_path.toString()) ;
+
// Create in-memory neo4j database and load converted Output.json
try (Driver driver = GraphDatabase.driver(embeddedDatabaseServer.boltURI(), driverConfig);
Session session = driver.session()) {
@@ -62,7 +76,7 @@ private void run_TTL_Automated_Test(String folder) {
);
}
- // Iterate over all sparql files in query
+ // Iterate over all sparql files in queries folder
FileFilter sparqlFilter = new FileFilter() {
public boolean accept(File file) {
String extension = "";
@@ -75,7 +89,6 @@ public boolean accept(File file) {
return file.isFile() && (extension.equals("sparql"));
}
};
-
File[] query_files = Paths.get(folder, "queries").toFile().listFiles(sparqlFilter);
for (File query_file : query_files) {
String sparql_query = null;
@@ -84,13 +97,22 @@ public boolean accept(File file) {
} catch (IOException e) {
e.printStackTrace();
}
+
+ // Run the Sparql to Cypher converter
String cypher_query = SparqlToCypher.convert(sparql_query);
+
+ // Execute the cypher query on the database
+
+ // Execute the sparql query on the database
+ Query query = QueryFactory.create(sparql_query);
+ QueryExecution qe = QueryExecutionFactory.create(query, rdf_model);
+ ResultSet results = qe.execSelect();
+ ResultSetFormatter.out(System.out, results, query);
}
-
}
@Test
- public void test_All_TTL_Automated() throws IOException{
+ public void All_TTL_Automated_Test() throws IOException{
// Code for iterating over all directories:
// Source: http://www.avajava.com/tutorials/lessons/how-do-i-use-a-filefilter-to-display-only-the-directories-within-a-directory.html
File f = new File("src/test/resources/ttl_automated_tests"); // current directory
@@ -104,12 +126,12 @@ public boolean accept(File file) {
File[] files = f.listFiles(directoryFilter);
setupNeo4jServer();
for (File folder : files) {
- delete_all_from_database();
+ delete_all_from_neo4j();
run_TTL_Automated_Test(folder.getCanonicalPath());
}
}
- private void delete_all_from_database() {
+ private void delete_all_from_neo4j() {
try (Driver driver = GraphDatabase.driver(embeddedDatabaseServer.boltURI(), driverConfig);
Session session = driver.session()) {
session.run("match (n) detach delete n;");
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/README b/src/test/resources/ttl_automated_tests/test1/queries/not_working/README
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/README
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/README
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q1.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q1.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q1.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q1.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q11.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q11.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q11.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q11.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q12a.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q12a.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q12a.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q12a.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q12b.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q12b.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q12b.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q12b.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q12c.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q12c.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q12c.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q12c.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q2.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q2.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q2.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q2.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q3a.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q3a.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q3a.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q3a.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q3b.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q3b.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q3b.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q3b.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q3c.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q3c.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q3c.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q3c.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q4.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q4.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q4.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q4.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q5a.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q5a.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q5a.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q5a.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q5b.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q5b.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q5b.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q5b.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q6.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q6.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q6.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q6.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q7.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q7.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q7.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q7.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q8.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q8.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q8.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q8.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/q9.sparql b/src/test/resources/ttl_automated_tests/test1/queries/not_working/q9.sparql
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/q9.sparql
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/q9.sparql
diff --git a/src/test/resources/ttl_automated_tests/test1/queries/sp2b_queries.txt b/src/test/resources/ttl_automated_tests/test1/queries/not_working/sp2b_queries.txt
similarity index 100%
rename from src/test/resources/ttl_automated_tests/test1/queries/sp2b_queries.txt
rename to src/test/resources/ttl_automated_tests/test1/queries/not_working/sp2b_queries.txt