diff --git a/README.md b/README.md index e6bfe91..ae20492 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ An R2RML implementation that can export relational database contents as RDF graphs, based on an [R2RML](http://www.w3.org/TR/r2rml/) mapping document. Contains an R2RML [mapping document](https://github.com/nkons/r2rml-parser/blob/master/dspace/dspace-mapping.rdf) for the [DSpace](http://www.dspace.org/) institutional repository solution. Early results presented in [1]. More up-to-date results in the [wiki](https://github.com/nkons/r2rml-parser/wiki). -## R2RML Implementation +## Implementation details -R2RML implementation written fully in Java, using Apache Jena, Spring, JUnit, and Maven. Tested against MySQL and PostgreSQL. +R2RML implementation written fully in Java 7, using Apache Jena 2.7, Spring 3.2, JUnit 4.8, and Maven 3.0. Tested against MySQL 5.6 and PostgreSQL 9.2. ## Licence @@ -17,5 +17,3 @@ You can use the work as long as you provide proper reference, e.g. a link to the ## Publications [1] N. Konstantinou, D.E. Spanos, N. Houssos, N. Mitrou: Exposing Scholarly Information as Linked Open Data: RDFizing DSpace contents, In The Electronic Library, to appear (2013). - -[![githalytics.com alpha](https://cruel-carlota.pagodabox.com/e4cf60f85b533bc770726ca7ebed0891 "githalytics.com")](http://githalytics.com/nkons/r2rml-parser) diff --git a/src/test/java/gr/ekt/r2rml/test/ComplianceTests.java b/src/test/java/gr/ekt/r2rml/test/ComplianceTests.java index c08d540..90d329f 100644 --- a/src/test/java/gr/ekt/r2rml/test/ComplianceTests.java +++ b/src/test/java/gr/ekt/r2rml/test/ComplianceTests.java @@ -81,7 +81,7 @@ public void testAll() { int counter = 0; for (String key : tests.keySet()) { if (counter == 19) { //(counter > 4 && counter < 6) { - String folder = "src/test/resources/" + key + "/"; + String folder = "src/test/resources/postgres/" + key + "/"; initialiseSourceDatabase(folder + "create.sql"); for (String mappingFile : tests.get(key)) { @@ -113,7 +113,7 @@ public void testAll() { @Test public void testSingle() { log.info("test single. Careful, database 'test' will be erased and re-created!"); - String folder = "src/test/resources/D002-1table2columns1row/"; + String folder = "src/test/resources/postgres/D002-1table2columns1row/"; initialiseSourceDatabase(folder + "create.sql"); //Override property file @@ -211,5 +211,4 @@ private void openConnection() { e.printStackTrace(); } } - } diff --git a/src/test/resources/mysql/D000-1table1column0rows/create.sql b/src/test/resources/mysql/D000-1table1column0rows/create.sql new file mode 100644 index 0000000..ccf1992 --- /dev/null +++ b/src/test/resources/mysql/D000-1table1column0rows/create.sql @@ -0,0 +1,3 @@ +CREATE TABLE Student ( + Name varchar(50) +); diff --git a/src/test/resources/D000-1table1column0rows/directGraph.ttl b/src/test/resources/mysql/D000-1table1column0rows/directGraph.ttl similarity index 100% rename from src/test/resources/D000-1table1column0rows/directGraph.ttl rename to src/test/resources/mysql/D000-1table1column0rows/directGraph.ttl diff --git a/src/test/resources/D000-1table1column0rows/manifest.ttl b/src/test/resources/mysql/D000-1table1column0rows/manifest.ttl similarity index 100% rename from src/test/resources/D000-1table1column0rows/manifest.ttl rename to src/test/resources/mysql/D000-1table1column0rows/manifest.ttl diff --git a/src/test/resources/D000-1table1column0rows/mapped.nq b/src/test/resources/mysql/D000-1table1column0rows/mapped.nq similarity index 100% rename from src/test/resources/D000-1table1column0rows/mapped.nq rename to src/test/resources/mysql/D000-1table1column0rows/mapped.nq diff --git a/src/test/resources/D000-1table1column0rows/r2rml.ttl b/src/test/resources/mysql/D000-1table1column0rows/r2rml.ttl similarity index 100% rename from src/test/resources/D000-1table1column0rows/r2rml.ttl rename to src/test/resources/mysql/D000-1table1column0rows/r2rml.ttl diff --git a/src/test/resources/mysql/D001-1table1column1row/create.sql b/src/test/resources/mysql/D001-1table1column1row/create.sql new file mode 100644 index 0000000..fddcb78 --- /dev/null +++ b/src/test/resources/mysql/D001-1table1column1row/create.sql @@ -0,0 +1,4 @@ +CREATE TABLE Student ( +Name varchar(50) +); +INSERT INTO Student VALUES ('Venus') diff --git a/src/test/resources/D001-1table1column1row/directGraph.ttl b/src/test/resources/mysql/D001-1table1column1row/directGraph.ttl similarity index 100% rename from src/test/resources/D001-1table1column1row/directGraph.ttl rename to src/test/resources/mysql/D001-1table1column1row/directGraph.ttl diff --git a/src/test/resources/D001-1table1column1row/manifest.ttl b/src/test/resources/mysql/D001-1table1column1row/manifest.ttl similarity index 100% rename from src/test/resources/D001-1table1column1row/manifest.ttl rename to src/test/resources/mysql/D001-1table1column1row/manifest.ttl diff --git a/src/test/resources/D001-1table1column1row/mappeda.nq b/src/test/resources/mysql/D001-1table1column1row/mappeda.nq similarity index 100% rename from src/test/resources/D001-1table1column1row/mappeda.nq rename to src/test/resources/mysql/D001-1table1column1row/mappeda.nq diff --git a/src/test/resources/D001-1table1column1row/mappedb.nq b/src/test/resources/mysql/D001-1table1column1row/mappedb.nq similarity index 100% rename from src/test/resources/D001-1table1column1row/mappedb.nq rename to src/test/resources/mysql/D001-1table1column1row/mappedb.nq diff --git a/src/test/resources/D001-1table1column1row/r2rmla.ttl b/src/test/resources/mysql/D001-1table1column1row/r2rmla.ttl similarity index 100% rename from src/test/resources/D001-1table1column1row/r2rmla.ttl rename to src/test/resources/mysql/D001-1table1column1row/r2rmla.ttl diff --git a/src/test/resources/D001-1table1column1row/r2rmlb.ttl b/src/test/resources/mysql/D001-1table1column1row/r2rmlb.ttl similarity index 100% rename from src/test/resources/D001-1table1column1row/r2rmlb.ttl rename to src/test/resources/mysql/D001-1table1column1row/r2rmlb.ttl diff --git a/src/test/resources/mysql/D002-1table2columns1row/create.sql b/src/test/resources/mysql/D002-1table2columns1row/create.sql new file mode 100644 index 0000000..0e86268 --- /dev/null +++ b/src/test/resources/mysql/D002-1table2columns1row/create.sql @@ -0,0 +1,5 @@ +CREATE TABLE `Student` ( +`ID` INTEGER, +`Name` VARCHAR(15) +); +INSERT INTO `Student` (`ID`, `Name`) VALUES(10,'Venus'); diff --git a/src/test/resources/D002-1table2columns1row/directGraph.ttl b/src/test/resources/mysql/D002-1table2columns1row/directGraph.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/directGraph.ttl rename to src/test/resources/mysql/D002-1table2columns1row/directGraph.ttl diff --git a/src/test/resources/D002-1table2columns1row/manifest.ttl b/src/test/resources/mysql/D002-1table2columns1row/manifest.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/manifest.ttl rename to src/test/resources/mysql/D002-1table2columns1row/manifest.ttl diff --git a/src/test/resources/D002-1table2columns1row/mappeda.nq b/src/test/resources/mysql/D002-1table2columns1row/mappeda.nq similarity index 100% rename from src/test/resources/D002-1table2columns1row/mappeda.nq rename to src/test/resources/mysql/D002-1table2columns1row/mappeda.nq diff --git a/src/test/resources/D002-1table2columns1row/mappedb.nq b/src/test/resources/mysql/D002-1table2columns1row/mappedb.nq similarity index 100% rename from src/test/resources/D002-1table2columns1row/mappedb.nq rename to src/test/resources/mysql/D002-1table2columns1row/mappedb.nq diff --git a/src/test/resources/D002-1table2columns1row/mappedd.nq b/src/test/resources/mysql/D002-1table2columns1row/mappedd.nq similarity index 100% rename from src/test/resources/D002-1table2columns1row/mappedd.nq rename to src/test/resources/mysql/D002-1table2columns1row/mappedd.nq diff --git a/src/test/resources/D002-1table2columns1row/mappedi.nq b/src/test/resources/mysql/D002-1table2columns1row/mappedi.nq similarity index 100% rename from src/test/resources/D002-1table2columns1row/mappedi.nq rename to src/test/resources/mysql/D002-1table2columns1row/mappedi.nq diff --git a/src/test/resources/D002-1table2columns1row/mappedj.nq b/src/test/resources/mysql/D002-1table2columns1row/mappedj.nq similarity index 100% rename from src/test/resources/D002-1table2columns1row/mappedj.nq rename to src/test/resources/mysql/D002-1table2columns1row/mappedj.nq diff --git a/src/test/resources/D002-1table2columns1row/r2rmla.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmla.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmla.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmla.ttl diff --git a/src/test/resources/D002-1table2columns1row/r2rmlb.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmlb.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmlb.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmlb.ttl diff --git a/src/test/resources/D002-1table2columns1row/r2rmlc.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmlc.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmlc.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmlc.ttl diff --git a/src/test/resources/D002-1table2columns1row/r2rmld.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmld.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmld.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmld.ttl diff --git a/src/test/resources/D002-1table2columns1row/r2rmle.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmle.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmle.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmle.ttl diff --git a/src/test/resources/D002-1table2columns1row/r2rmlf.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmlf.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmlf.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmlf.ttl diff --git a/src/test/resources/D002-1table2columns1row/r2rmlg.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmlg.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmlg.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmlg.ttl diff --git a/src/test/resources/D002-1table2columns1row/r2rmlh.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmlh.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmlh.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmlh.ttl diff --git a/src/test/resources/D002-1table2columns1row/r2rmli.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmli.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmli.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmli.ttl diff --git a/src/test/resources/D002-1table2columns1row/r2rmlj.ttl b/src/test/resources/mysql/D002-1table2columns1row/r2rmlj.ttl similarity index 100% rename from src/test/resources/D002-1table2columns1row/r2rmlj.ttl rename to src/test/resources/mysql/D002-1table2columns1row/r2rmlj.ttl diff --git a/src/test/resources/mysql/D003-1table3columns1row/create.sql b/src/test/resources/mysql/D003-1table3columns1row/create.sql new file mode 100644 index 0000000..68b8b8c --- /dev/null +++ b/src/test/resources/mysql/D003-1table3columns1row/create.sql @@ -0,0 +1,6 @@ +CREATE TABLE Student ( +ID INTEGER, +FirstName VARCHAR(50), +LastName VARCHAR(50) +); +INSERT INTO Student (ID, FirstName, LastName) VALUES (10,'Venus', 'Williams'); diff --git a/src/test/resources/D003-1table3columns1row/directGraph.ttl b/src/test/resources/mysql/D003-1table3columns1row/directGraph.ttl similarity index 100% rename from src/test/resources/D003-1table3columns1row/directGraph.ttl rename to src/test/resources/mysql/D003-1table3columns1row/directGraph.ttl diff --git a/src/test/resources/D003-1table3columns1row/manifest.ttl b/src/test/resources/mysql/D003-1table3columns1row/manifest.ttl similarity index 100% rename from src/test/resources/D003-1table3columns1row/manifest.ttl rename to src/test/resources/mysql/D003-1table3columns1row/manifest.ttl diff --git a/src/test/resources/D003-1table3columns1row/mappedb.nq b/src/test/resources/mysql/D003-1table3columns1row/mappedb.nq similarity index 100% rename from src/test/resources/D003-1table3columns1row/mappedb.nq rename to src/test/resources/mysql/D003-1table3columns1row/mappedb.nq diff --git a/src/test/resources/D003-1table3columns1row/mappedc.nq b/src/test/resources/mysql/D003-1table3columns1row/mappedc.nq similarity index 100% rename from src/test/resources/D003-1table3columns1row/mappedc.nq rename to src/test/resources/mysql/D003-1table3columns1row/mappedc.nq diff --git a/src/test/resources/D003-1table3columns1row/r2rmla.ttl b/src/test/resources/mysql/D003-1table3columns1row/r2rmla.ttl similarity index 100% rename from src/test/resources/D003-1table3columns1row/r2rmla.ttl rename to src/test/resources/mysql/D003-1table3columns1row/r2rmla.ttl diff --git a/src/test/resources/D003-1table3columns1row/r2rmlb.ttl b/src/test/resources/mysql/D003-1table3columns1row/r2rmlb.ttl similarity index 100% rename from src/test/resources/D003-1table3columns1row/r2rmlb.ttl rename to src/test/resources/mysql/D003-1table3columns1row/r2rmlb.ttl diff --git a/src/test/resources/D003-1table3columns1row/r2rmlc.ttl b/src/test/resources/mysql/D003-1table3columns1row/r2rmlc.ttl similarity index 100% rename from src/test/resources/D003-1table3columns1row/r2rmlc.ttl rename to src/test/resources/mysql/D003-1table3columns1row/r2rmlc.ttl diff --git a/src/test/resources/mysql/D004-1table2columns1row/create.sql b/src/test/resources/mysql/D004-1table2columns1row/create.sql new file mode 100644 index 0000000..5da7104 --- /dev/null +++ b/src/test/resources/mysql/D004-1table2columns1row/create.sql @@ -0,0 +1,5 @@ +CREATE TABLE Student_Sport( + Student varchar(50), + Sport varchar(50) +); +INSERT INTO Student_Sport (Student,Sport) VALUES ('Venus', 'Tennis'); diff --git a/src/test/resources/D004-1table2columns1row/directGraph.ttl b/src/test/resources/mysql/D004-1table2columns1row/directGraph.ttl similarity index 100% rename from src/test/resources/D004-1table2columns1row/directGraph.ttl rename to src/test/resources/mysql/D004-1table2columns1row/directGraph.ttl diff --git a/src/test/resources/D004-1table2columns1row/manifest.ttl b/src/test/resources/mysql/D004-1table2columns1row/manifest.ttl similarity index 100% rename from src/test/resources/D004-1table2columns1row/manifest.ttl rename to src/test/resources/mysql/D004-1table2columns1row/manifest.ttl diff --git a/src/test/resources/D004-1table2columns1row/mappeda.nq b/src/test/resources/mysql/D004-1table2columns1row/mappeda.nq similarity index 100% rename from src/test/resources/D004-1table2columns1row/mappeda.nq rename to src/test/resources/mysql/D004-1table2columns1row/mappeda.nq diff --git a/src/test/resources/D004-1table2columns1row/r2rmla.ttl b/src/test/resources/mysql/D004-1table2columns1row/r2rmla.ttl similarity index 100% rename from src/test/resources/D004-1table2columns1row/r2rmla.ttl rename to src/test/resources/mysql/D004-1table2columns1row/r2rmla.ttl diff --git a/src/test/resources/D004-1table2columns1row/r2rmlb.ttl b/src/test/resources/mysql/D004-1table2columns1row/r2rmlb.ttl similarity index 100% rename from src/test/resources/D004-1table2columns1row/r2rmlb.ttl rename to src/test/resources/mysql/D004-1table2columns1row/r2rmlb.ttl diff --git a/src/test/resources/mysql/D005-1table3columns3rows2duplicates/create.sql b/src/test/resources/mysql/D005-1table3columns3rows2duplicates/create.sql new file mode 100644 index 0000000..85c3c36 --- /dev/null +++ b/src/test/resources/mysql/D005-1table3columns3rows2duplicates/create.sql @@ -0,0 +1,7 @@ +CREATE TABLE IOUs ( + fname VARCHAR(20), + lname VARCHAR(20), + amount FLOAT); +INSERT INTO IOUs (fname, lname, amount) VALUES ('Bob', 'Smith', 30); +INSERT INTO IOUs (fname, lname, amount) VALUES ('Sue', 'Jones', 20); +INSERT INTO IOUs (fname, lname, amount) VALUES ('Bob', 'Smith', 30); diff --git a/src/test/resources/D005-1table3columns3rows2duplicates/directGraph.ttl b/src/test/resources/mysql/D005-1table3columns3rows2duplicates/directGraph.ttl similarity index 100% rename from src/test/resources/D005-1table3columns3rows2duplicates/directGraph.ttl rename to src/test/resources/mysql/D005-1table3columns3rows2duplicates/directGraph.ttl diff --git a/src/test/resources/D005-1table3columns3rows2duplicates/manifest.ttl b/src/test/resources/mysql/D005-1table3columns3rows2duplicates/manifest.ttl similarity index 100% rename from src/test/resources/D005-1table3columns3rows2duplicates/manifest.ttl rename to src/test/resources/mysql/D005-1table3columns3rows2duplicates/manifest.ttl diff --git a/src/test/resources/D005-1table3columns3rows2duplicates/mappeda.nq b/src/test/resources/mysql/D005-1table3columns3rows2duplicates/mappeda.nq similarity index 100% rename from src/test/resources/D005-1table3columns3rows2duplicates/mappeda.nq rename to src/test/resources/mysql/D005-1table3columns3rows2duplicates/mappeda.nq diff --git a/src/test/resources/D005-1table3columns3rows2duplicates/mappedb.nq b/src/test/resources/mysql/D005-1table3columns3rows2duplicates/mappedb.nq similarity index 100% rename from src/test/resources/D005-1table3columns3rows2duplicates/mappedb.nq rename to src/test/resources/mysql/D005-1table3columns3rows2duplicates/mappedb.nq diff --git a/src/test/resources/D005-1table3columns3rows2duplicates/r2rmla.ttl b/src/test/resources/mysql/D005-1table3columns3rows2duplicates/r2rmla.ttl similarity index 100% rename from src/test/resources/D005-1table3columns3rows2duplicates/r2rmla.ttl rename to src/test/resources/mysql/D005-1table3columns3rows2duplicates/r2rmla.ttl diff --git a/src/test/resources/D005-1table3columns3rows2duplicates/r2rmlb.ttl b/src/test/resources/mysql/D005-1table3columns3rows2duplicates/r2rmlb.ttl similarity index 100% rename from src/test/resources/D005-1table3columns3rows2duplicates/r2rmlb.ttl rename to src/test/resources/mysql/D005-1table3columns3rows2duplicates/r2rmlb.ttl diff --git a/src/test/resources/mysql/D006-1table1primarykey1column1row/create.sql b/src/test/resources/mysql/D006-1table1primarykey1column1row/create.sql new file mode 100644 index 0000000..a02e660 --- /dev/null +++ b/src/test/resources/mysql/D006-1table1primarykey1column1row/create.sql @@ -0,0 +1,4 @@ +CREATE TABLE Student ( +Name varchar(50) PRIMARY KEY +); +INSERT INTO Student (Name) VALUES ('Venus'); diff --git a/src/test/resources/D006-1table1primarykey1column1row/directGraph.ttl b/src/test/resources/mysql/D006-1table1primarykey1column1row/directGraph.ttl similarity index 100% rename from src/test/resources/D006-1table1primarykey1column1row/directGraph.ttl rename to src/test/resources/mysql/D006-1table1primarykey1column1row/directGraph.ttl diff --git a/src/test/resources/D006-1table1primarykey1column1row/manifest.ttl b/src/test/resources/mysql/D006-1table1primarykey1column1row/manifest.ttl similarity index 100% rename from src/test/resources/D006-1table1primarykey1column1row/manifest.ttl rename to src/test/resources/mysql/D006-1table1primarykey1column1row/manifest.ttl diff --git a/src/test/resources/D006-1table1primarykey1column1row/mappeda.nq b/src/test/resources/mysql/D006-1table1primarykey1column1row/mappeda.nq similarity index 100% rename from src/test/resources/D006-1table1primarykey1column1row/mappeda.nq rename to src/test/resources/mysql/D006-1table1primarykey1column1row/mappeda.nq diff --git a/src/test/resources/D006-1table1primarykey1column1row/r2rmla.ttl b/src/test/resources/mysql/D006-1table1primarykey1column1row/r2rmla.ttl similarity index 100% rename from src/test/resources/D006-1table1primarykey1column1row/r2rmla.ttl rename to src/test/resources/mysql/D006-1table1primarykey1column1row/r2rmla.ttl diff --git a/src/test/resources/mysql/D007-1table1primarykey2columns1row/create.sql b/src/test/resources/mysql/D007-1table1primarykey2columns1row/create.sql new file mode 100644 index 0000000..1e7f8e3 --- /dev/null +++ b/src/test/resources/mysql/D007-1table1primarykey2columns1row/create.sql @@ -0,0 +1,6 @@ +CREATE TABLE Student ( +ID integer, +Name varchar(50), +PRIMARY KEY (ID) +); +INSERT INTO Student (ID, Name) VALUES(10,'Venus'); diff --git a/src/test/resources/D007-1table1primarykey2columns1row/directGraph.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/directGraph.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/directGraph.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/directGraph.ttl diff --git a/src/test/resources/D007-1table1primarykey2columns1row/manifest.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/manifest.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/manifest.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/manifest.ttl diff --git a/src/test/resources/D007-1table1primarykey2columns1row/mappeda.nq b/src/test/resources/mysql/D007-1table1primarykey2columns1row/mappeda.nq similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/mappeda.nq rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/mappeda.nq diff --git a/src/test/resources/D007-1table1primarykey2columns1row/mappedb.nq b/src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedb.nq similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/mappedb.nq rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedb.nq diff --git a/src/test/resources/D007-1table1primarykey2columns1row/mappedc.nq b/src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedc.nq similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/mappedc.nq rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedc.nq diff --git a/src/test/resources/D007-1table1primarykey2columns1row/mappedd.nq b/src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedd.nq similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/mappedd.nq rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedd.nq diff --git a/src/test/resources/D007-1table1primarykey2columns1row/mappede.nq b/src/test/resources/mysql/D007-1table1primarykey2columns1row/mappede.nq similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/mappede.nq rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/mappede.nq diff --git a/src/test/resources/D007-1table1primarykey2columns1row/mappedf.nq b/src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedf.nq similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/mappedf.nq rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedf.nq diff --git a/src/test/resources/D007-1table1primarykey2columns1row/mappedg.nq b/src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedg.nq similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/mappedg.nq rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/mappedg.nq diff --git a/src/test/resources/D007-1table1primarykey2columns1row/r2rmla.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmla.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/r2rmla.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmla.ttl diff --git a/src/test/resources/D007-1table1primarykey2columns1row/r2rmlb.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlb.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/r2rmlb.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlb.ttl diff --git a/src/test/resources/D007-1table1primarykey2columns1row/r2rmlc.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlc.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/r2rmlc.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlc.ttl diff --git a/src/test/resources/D007-1table1primarykey2columns1row/r2rmld.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmld.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/r2rmld.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmld.ttl diff --git a/src/test/resources/D007-1table1primarykey2columns1row/r2rmle.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmle.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/r2rmle.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmle.ttl diff --git a/src/test/resources/D007-1table1primarykey2columns1row/r2rmlf.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlf.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/r2rmlf.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlf.ttl diff --git a/src/test/resources/D007-1table1primarykey2columns1row/r2rmlg.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlg.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/r2rmlg.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlg.ttl diff --git a/src/test/resources/D007-1table1primarykey2columns1row/r2rmlh.ttl b/src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlh.ttl similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/r2rmlh.ttl rename to src/test/resources/mysql/D007-1table1primarykey2columns1row/r2rmlh.ttl diff --git a/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/create.sql b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/create.sql new file mode 100644 index 0000000..c924836 --- /dev/null +++ b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/create.sql @@ -0,0 +1,7 @@ +CREATE TABLE Student ( +ID integer, +Name varchar(50), +Sport varchar (50), +PRIMARY KEY (ID,Name) +); +INSERT INTO Student (ID, Name,Sport) VALUES(10,'Venus Williams','Tennis'); diff --git a/src/test/resources/D008-1table1compositeprimarykey3columns1row/directGraph.ttl b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/directGraph.ttl similarity index 100% rename from src/test/resources/D008-1table1compositeprimarykey3columns1row/directGraph.ttl rename to src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/directGraph.ttl diff --git a/src/test/resources/D008-1table1compositeprimarykey3columns1row/manifest.ttl b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/manifest.ttl similarity index 100% rename from src/test/resources/D008-1table1compositeprimarykey3columns1row/manifest.ttl rename to src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/manifest.ttl diff --git a/src/test/resources/D008-1table1compositeprimarykey3columns1row/mappeda.nq b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/mappeda.nq similarity index 100% rename from src/test/resources/D008-1table1compositeprimarykey3columns1row/mappeda.nq rename to src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/mappeda.nq diff --git a/src/test/resources/D008-1table1compositeprimarykey3columns1row/mappedb.nq b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/mappedb.nq similarity index 100% rename from src/test/resources/D008-1table1compositeprimarykey3columns1row/mappedb.nq rename to src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/mappedb.nq diff --git a/src/test/resources/D008-1table1compositeprimarykey3columns1row/mappedc.nq b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/mappedc.nq similarity index 100% rename from src/test/resources/D008-1table1compositeprimarykey3columns1row/mappedc.nq rename to src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/mappedc.nq diff --git a/src/test/resources/D008-1table1compositeprimarykey3columns1row/r2rmla.ttl b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/r2rmla.ttl similarity index 100% rename from src/test/resources/D008-1table1compositeprimarykey3columns1row/r2rmla.ttl rename to src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/r2rmla.ttl diff --git a/src/test/resources/D008-1table1compositeprimarykey3columns1row/r2rmlb.ttl b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/r2rmlb.ttl similarity index 100% rename from src/test/resources/D008-1table1compositeprimarykey3columns1row/r2rmlb.ttl rename to src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/r2rmlb.ttl diff --git a/src/test/resources/D008-1table1compositeprimarykey3columns1row/r2rmlc.ttl b/src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/r2rmlc.ttl similarity index 100% rename from src/test/resources/D008-1table1compositeprimarykey3columns1row/r2rmlc.ttl rename to src/test/resources/mysql/D008-1table1compositeprimarykey3columns1row/r2rmlc.ttl diff --git a/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/create.sql b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/create.sql new file mode 100644 index 0000000..0afeac3 --- /dev/null +++ b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/create.sql @@ -0,0 +1,18 @@ +CREATE TABLE Sport ( +ID integer, +Name varchar (50), +PRIMARY KEY (ID) +); + +CREATE TABLE Student ( +ID integer, +Name varchar(50), +Sport integer, +PRIMARY KEY (ID), +FOREIGN KEY(Sport) REFERENCES Sport(ID) +); + +INSERT INTO Sport (ID, Name) VALUES (100,'Tennis'); +INSERT INTO Student (ID, Name, Sport) VALUES (10,'Venus Williams', 100); +INSERT INTO Student (ID, Name, Sport) VALUES (20,'Demi Moore', NULL); + diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/directGraph.ttl b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/directGraph.ttl similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/directGraph.ttl rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/directGraph.ttl diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/manifest.ttl b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/manifest.ttl similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/manifest.ttl rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/manifest.ttl diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/mappeda.nq b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/mappeda.nq similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/mappeda.nq rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/mappeda.nq diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/mappedb.nq b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/mappedb.nq similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/mappedb.nq rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/mappedb.nq diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/mappedc.nq b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/mappedc.nq similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/mappedc.nq rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/mappedc.nq diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/mappedd.nq b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/mappedd.nq similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/mappedd.nq rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/mappedd.nq diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/r2rmla.ttl b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/r2rmla.ttl similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/r2rmla.ttl rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/r2rmla.ttl diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/r2rmlb.ttl b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/r2rmlb.ttl similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/r2rmlb.ttl rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/r2rmlb.ttl diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/r2rmlc.ttl b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/r2rmlc.ttl similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/r2rmlc.ttl rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/r2rmlc.ttl diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/r2rmld.ttl b/src/test/resources/mysql/D009-2tables1primarykey1foreignkey/r2rmld.ttl similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/r2rmld.ttl rename to src/test/resources/mysql/D009-2tables1primarykey1foreignkey/r2rmld.ttl diff --git a/src/test/resources/mysql/D010-1table1primarykey3colums3rows/create.sql b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/create.sql new file mode 100644 index 0000000..1a65f13 --- /dev/null +++ b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/create.sql @@ -0,0 +1,9 @@ +CREATE TABLE `Country Info` ( + `Country Code` INTEGER PRIMARY KEY, + Name VARCHAR(100), + `ISO 3166` VARCHAR(10) +); + +INSERT INTO `Country Info` (`Country Code`, Name, `ISO 3166`) VALUES (1, 'Bolivia, Plurinational State of', 'BO'); +INSERT INTO `Country Info` (`Country Code`, Name, `ISO 3166`) VALUES (2, 'Ireland', 'IE'); +INSERT INTO `Country Info` (`Country Code`, Name, `ISO 3166`) VALUES (3, 'Saint Martin (French part)', 'MF'); diff --git a/src/test/resources/D010-1table1primarykey3colums3rows/directGraph.ttl b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/directGraph.ttl similarity index 100% rename from src/test/resources/D010-1table1primarykey3colums3rows/directGraph.ttl rename to src/test/resources/mysql/D010-1table1primarykey3colums3rows/directGraph.ttl diff --git a/src/test/resources/D010-1table1primarykey3colums3rows/manifest.ttl b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/manifest.ttl similarity index 100% rename from src/test/resources/D010-1table1primarykey3colums3rows/manifest.ttl rename to src/test/resources/mysql/D010-1table1primarykey3colums3rows/manifest.ttl diff --git a/src/test/resources/D010-1table1primarykey3colums3rows/mappeda.nq b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/mappeda.nq similarity index 100% rename from src/test/resources/D010-1table1primarykey3colums3rows/mappeda.nq rename to src/test/resources/mysql/D010-1table1primarykey3colums3rows/mappeda.nq diff --git a/src/test/resources/D010-1table1primarykey3colums3rows/mappedb.nq b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/mappedb.nq similarity index 100% rename from src/test/resources/D010-1table1primarykey3colums3rows/mappedb.nq rename to src/test/resources/mysql/D010-1table1primarykey3colums3rows/mappedb.nq diff --git a/src/test/resources/D010-1table1primarykey3colums3rows/mappedc.nq b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/mappedc.nq similarity index 100% rename from src/test/resources/D010-1table1primarykey3colums3rows/mappedc.nq rename to src/test/resources/mysql/D010-1table1primarykey3colums3rows/mappedc.nq diff --git a/src/test/resources/D010-1table1primarykey3colums3rows/r2rmla.ttl b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/r2rmla.ttl similarity index 100% rename from src/test/resources/D010-1table1primarykey3colums3rows/r2rmla.ttl rename to src/test/resources/mysql/D010-1table1primarykey3colums3rows/r2rmla.ttl diff --git a/src/test/resources/D010-1table1primarykey3colums3rows/r2rmlb.ttl b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/r2rmlb.ttl similarity index 100% rename from src/test/resources/D010-1table1primarykey3colums3rows/r2rmlb.ttl rename to src/test/resources/mysql/D010-1table1primarykey3colums3rows/r2rmlb.ttl diff --git a/src/test/resources/D010-1table1primarykey3colums3rows/r2rmlc.ttl b/src/test/resources/mysql/D010-1table1primarykey3colums3rows/r2rmlc.ttl similarity index 100% rename from src/test/resources/D010-1table1primarykey3colums3rows/r2rmlc.ttl rename to src/test/resources/mysql/D010-1table1primarykey3colums3rows/r2rmlc.ttl diff --git a/src/test/resources/mysql/D011-M2MRelations/create.sql b/src/test/resources/mysql/D011-M2MRelations/create.sql new file mode 100644 index 0000000..f7fc823 --- /dev/null +++ b/src/test/resources/mysql/D011-M2MRelations/create.sql @@ -0,0 +1,29 @@ +CREATE TABLE Student ( +ID integer PRIMARY KEY, +FirstName varchar(50), +LastName varchar(50) +); +CREATE TABLE Sport ( +ID integer PRIMARY KEY, +Description varchar(50) +); +CREATE TABLE Student_Sport ( +ID_Student integer, +ID_Sport integer, +PRIMARY KEY (ID_Student,ID_Sport), +FOREIGN KEY (ID_Student) REFERENCES Student(ID), +FOREIGN KEY (ID_Sport) REFERENCES Sport(ID) +); + +INSERT INTO Student (ID,FirstName,LastName) VALUES (10,'Venus', 'Williams'); +INSERT INTO Student (ID,FirstName,LastName) VALUES (11,'Fernando', 'Alonso'); +INSERT INTO Student (ID,FirstName,LastName) VALUES (12,'David', 'Villa'); + +INSERT INTO Sport (ID, Description) VALUES (110,'Tennis'); +INSERT INTO Sport (ID, Description) VALUES (111,'Football'); +INSERT INTO Sport (ID, Description) VALUES (112,'Formula1'); + +INSERT INTO Student_Sport (ID_Student, ID_Sport) VALUES (10,110); +INSERT INTO Student_Sport (ID_Student, ID_Sport) VALUES (11,111); +INSERT INTO Student_Sport (ID_Student, ID_Sport) VALUES (11,112); +INSERT INTO Student_Sport (ID_Student, ID_Sport) VALUES (12,111); diff --git a/src/test/resources/D011-M2MRelations/directGraph.ttl b/src/test/resources/mysql/D011-M2MRelations/directGraph.ttl similarity index 100% rename from src/test/resources/D011-M2MRelations/directGraph.ttl rename to src/test/resources/mysql/D011-M2MRelations/directGraph.ttl diff --git a/src/test/resources/D011-M2MRelations/manifest.ttl b/src/test/resources/mysql/D011-M2MRelations/manifest.ttl similarity index 100% rename from src/test/resources/D011-M2MRelations/manifest.ttl rename to src/test/resources/mysql/D011-M2MRelations/manifest.ttl diff --git a/src/test/resources/D011-M2MRelations/mappeda.nq b/src/test/resources/mysql/D011-M2MRelations/mappeda.nq similarity index 100% rename from src/test/resources/D011-M2MRelations/mappeda.nq rename to src/test/resources/mysql/D011-M2MRelations/mappeda.nq diff --git a/src/test/resources/D011-M2MRelations/mappedb.nq b/src/test/resources/mysql/D011-M2MRelations/mappedb.nq similarity index 100% rename from src/test/resources/D011-M2MRelations/mappedb.nq rename to src/test/resources/mysql/D011-M2MRelations/mappedb.nq diff --git a/src/test/resources/mysql/D011-M2MRelations/r2rmla.ttl b/src/test/resources/mysql/D011-M2MRelations/r2rmla.ttl new file mode 100644 index 0000000..76f475a --- /dev/null +++ b/src/test/resources/mysql/D011-M2MRelations/r2rmla.ttl @@ -0,0 +1,66 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:sqlQuery """ + SELECT Student.ID as ID, + Student.FirstName as FirstName, + Student.LastName as LastName, + Sport.Description as Description, + Sport.ID as Sport_ID + FROM Student,Sport,Student_Sport + WHERE Student.ID = Student_Sport.ID_Student + AND Sport.ID = Student_Sport.ID_Sport; + """; ]; + + rr:subjectMap [ rr:template "http://example.com/{ID}/{FirstName};{LastName}" ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "ID"; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:firstName ; + rr:objectMap [ rr:column "FirstName" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:lastName ; + rr:objectMap [ rr:column "LastName" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:plays ; + rr:objectMap [ rr:template "http://example.com/{Sport_ID}/{Description}" ] + ] + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Sport\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"ID\"}/{\"Description\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:description ; + rr:objectMap [ rr:column "\"Description\"" ] + ] + . diff --git a/src/test/resources/D011-M2MRelations/r2rmlb.ttl b/src/test/resources/mysql/D011-M2MRelations/r2rmlb.ttl similarity index 100% rename from src/test/resources/D011-M2MRelations/r2rmlb.ttl rename to src/test/resources/mysql/D011-M2MRelations/r2rmlb.ttl diff --git a/src/test/resources/mysql/D012-2tables2duplicates0nulls/create.sql b/src/test/resources/mysql/D012-2tables2duplicates0nulls/create.sql new file mode 100644 index 0000000..bf220b9 --- /dev/null +++ b/src/test/resources/mysql/D012-2tables2duplicates0nulls/create.sql @@ -0,0 +1,17 @@ +CREATE TABLE IOUs ( + fname VARCHAR(20), + lname VARCHAR(20), + amount FLOAT); + +CREATE TABLE Lives ( + fname VARCHAR(20), + lname VARCHAR(20), + city VARCHAR(20)); + +INSERT INTO IOUs (fname, lname, amount) VALUES ('Bob', 'Smith', 30); +INSERT INTO IOUs (fname, lname, amount) VALUES ('Sue', 'Jones', 20); +INSERT INTO IOUs (fname, lname, amount) VALUES ('Bob', 'Smith', 30); + +INSERT INTO Lives (fname, lname, city) VALUES ('Bob', 'Smith', 'London'); +INSERT INTO Lives (fname, lname, city) VALUES ('Sue', 'Jones', 'Madrid'); +INSERT INTO Lives (fname, lname, city) VALUES ('Bob', 'Smith', 'London'); \ No newline at end of file diff --git a/src/test/resources/D012-2tables2duplicates0nulls/directGraph.ttl b/src/test/resources/mysql/D012-2tables2duplicates0nulls/directGraph.ttl similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/directGraph.ttl rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/directGraph.ttl diff --git a/src/test/resources/D012-2tables2duplicates0nulls/manifest.ttl b/src/test/resources/mysql/D012-2tables2duplicates0nulls/manifest.ttl similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/manifest.ttl rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/manifest.ttl diff --git a/src/test/resources/D012-2tables2duplicates0nulls/mappeda.nq b/src/test/resources/mysql/D012-2tables2duplicates0nulls/mappeda.nq similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/mappeda.nq rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/mappeda.nq diff --git a/src/test/resources/D012-2tables2duplicates0nulls/mappedb.nq b/src/test/resources/mysql/D012-2tables2duplicates0nulls/mappedb.nq similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/mappedb.nq rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/mappedb.nq diff --git a/src/test/resources/D012-2tables2duplicates0nulls/mappede.nq b/src/test/resources/mysql/D012-2tables2duplicates0nulls/mappede.nq similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/mappede.nq rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/mappede.nq diff --git a/src/test/resources/D012-2tables2duplicates0nulls/r2rmla.ttl b/src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmla.ttl similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/r2rmla.ttl rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmla.ttl diff --git a/src/test/resources/D012-2tables2duplicates0nulls/r2rmlb.ttl b/src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmlb.ttl similarity index 95% rename from src/test/resources/D012-2tables2duplicates0nulls/r2rmlb.ttl rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmlb.ttl index 49a560a..5625a74 100644 --- a/src/test/resources/D012-2tables2duplicates0nulls/r2rmlb.ttl +++ b/src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmlb.ttl @@ -36,6 +36,6 @@ rr:predicateObjectMap [ rr:predicate ex:city ; - rr:objectMap [ rr:column "\"city\""; ] + rr:objectMap [ rr:constant "At"; ] ]; . diff --git a/src/test/resources/D012-2tables2duplicates0nulls/r2rmlc.ttl b/src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmlc.ttl similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/r2rmlc.ttl rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmlc.ttl diff --git a/src/test/resources/D012-2tables2duplicates0nulls/r2rmld.ttl b/src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmld.ttl similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/r2rmld.ttl rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmld.ttl diff --git a/src/test/resources/D012-2tables2duplicates0nulls/r2rmle.ttl b/src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmle.ttl similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/r2rmle.ttl rename to src/test/resources/mysql/D012-2tables2duplicates0nulls/r2rmle.ttl diff --git a/src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/create.sql b/src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/create.sql new file mode 100644 index 0000000..7283b1f --- /dev/null +++ b/src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/create.sql @@ -0,0 +1,8 @@ +CREATE TABLE Person ( +ID integer, +Name varchar(50), +DateOfBirth varchar(50), +PRIMARY KEY (ID) +); +INSERT INTO Person (ID, Name, DateOfBirth) VALUES (1,'Alice', NULL); +INSERT INTO Person (ID, Name, DateOfBirth) VALUES (2,'Bob', 'September, 2010'); \ No newline at end of file diff --git a/src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/directGraph.ttl b/src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/directGraph.ttl similarity index 100% rename from src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/directGraph.ttl rename to src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/directGraph.ttl diff --git a/src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/manifest.ttl b/src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/manifest.ttl similarity index 100% rename from src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/manifest.ttl rename to src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/manifest.ttl diff --git a/src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/mappeda.nq b/src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/mappeda.nq similarity index 100% rename from src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/mappeda.nq rename to src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/mappeda.nq diff --git a/src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/r2rmla.ttl b/src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/r2rmla.ttl similarity index 100% rename from src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/r2rmla.ttl rename to src/test/resources/mysql/D013-1table1primarykey3columns2rows1nullvalue/r2rmla.ttl diff --git a/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/create.sql b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/create.sql new file mode 100644 index 0000000..b1cc6e3 --- /dev/null +++ b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/create.sql @@ -0,0 +1,22 @@ +CREATE TABLE DEPT ( + deptno INTEGER UNIQUE, + dname VARCHAR(30), + loc VARCHAR(100)); + +CREATE TABLE EMP ( + empno INTEGER PRIMARY KEY, + ename VARCHAR(100), + job VARCHAR(30), + deptno INTEGER REFERENCES DEPT (deptno), + etype VARCHAR(30)); + +CREATE TABLE LIKES ( + id INTEGER, + likeType VARCHAR(30), + likedObj VARCHAR(100)); + +INSERT INTO DEPT (deptno, dname, loc) VALUES (10, 'APPSERVER', 'NEW YORK'); +INSERT INTO EMP (empno, ename, job, deptno, etype ) VALUES (7369, 'SMITH', 'CLERK', 10, 'PART_TIME'); + +INSERT INTO LIKES (id, likeType, likedObj) VALUES (7369, 'Playing', 'Soccer'); +INSERT INTO LIKES (id, likeType, likedObj) VALUES (7369, 'Watching', 'Basketball'); \ No newline at end of file diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/directGraph.ttl b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/directGraph.ttl similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/directGraph.ttl rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/directGraph.ttl diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/manifest.ttl b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/manifest.ttl similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/manifest.ttl rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/manifest.ttl diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/mappeda.nq b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/mappeda.nq similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/mappeda.nq rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/mappeda.nq diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/mappedb.nq b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/mappedb.nq similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/mappedb.nq rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/mappedb.nq diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/mappedc.nq b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/mappedc.nq similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/mappedc.nq rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/mappedc.nq diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/mappedd.nq b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/mappedd.nq similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/mappedd.nq rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/mappedd.nq diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/r2rmla.ttl b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/r2rmla.ttl similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/r2rmla.ttl rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/r2rmla.ttl diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/r2rmlb.ttl b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/r2rmlb.ttl similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/r2rmlb.ttl rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/r2rmlb.ttl diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/r2rmlc.ttl b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/r2rmlc.ttl similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/r2rmlc.ttl rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/r2rmlc.ttl diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/r2rmld.ttl b/src/test/resources/mysql/D014-3tables1primarykey1foreignkey/r2rmld.ttl similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/r2rmld.ttl rename to src/test/resources/mysql/D014-3tables1primarykey1foreignkey/r2rmld.ttl diff --git a/src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/create.sql b/src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/create.sql new file mode 100644 index 0000000..14ec027 --- /dev/null +++ b/src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/create.sql @@ -0,0 +1,11 @@ +CREATE TABLE Country ( + Code VARCHAR(2), + Name VARCHAR(100), + Lan VARCHAR(10), + PRIMARY KEY (Code,Lan) +); +INSERT INTO Country (Code, Name, Lan) VALUES ('BO', 'Bolivia, Plurinational State of', 'EN'); +INSERT INTO Country (Code, Name, Lan) VALUES ('BO', 'Estado Plurinacional de Bolivia', 'ES'); +INSERT INTO Country (Code, Name, Lan) VALUES ('IE', 'Ireland', 'EN'); +INSERT INTO Country (Code, Name, Lan) VALUES ('IE', 'Irlanda', 'ES'); + diff --git a/src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/directGraph.ttl b/src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/directGraph.ttl similarity index 100% rename from src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/directGraph.ttl rename to src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/directGraph.ttl diff --git a/src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/manifest.ttl b/src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/manifest.ttl similarity index 100% rename from src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/manifest.ttl rename to src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/manifest.ttl diff --git a/src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/mappeda.nq b/src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/mappeda.nq similarity index 100% rename from src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/mappeda.nq rename to src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/mappeda.nq diff --git a/src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/r2rmla.ttl b/src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/r2rmla.ttl similarity index 100% rename from src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/r2rmla.ttl rename to src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/r2rmla.ttl diff --git a/src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/r2rmlb.ttl b/src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/r2rmlb.ttl similarity index 100% rename from src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/r2rmlb.ttl rename to src/test/resources/mysql/D015-1table3columns1composityeprimarykey3rows2languages/r2rmlb.ttl diff --git a/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/create.sql b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/create.sql new file mode 100644 index 0000000..d4233d0 --- /dev/null +++ b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/create.sql @@ -0,0 +1,25 @@ +CREATE TABLE Patient ( +ID INTEGER, +FirstName VARCHAR(50), +LastName VARCHAR(50), +Sex VARCHAR(6), +Weight REAL, +Height FLOAT, +BirthDate DATE, +EntranceDate TIMESTAMP, +PaidInAdvance BOOLEAN, +Photo VARBINARY(200), +PRIMARY KEY (ID) +); + +INSERT INTO Patient (ID, FirstName,LastName,Sex,Weight,Height,BirthDate,EntranceDate,PaidInAdvance,Photo) +VALUES (10,'Monica','Geller','female',80.25,1.65,'1981-10-10','2009-10-10 12:12:22',FALSE, +X'89504E470D0A1A0A0000000D49484452000000050000000508060000008D6F26E50000001C4944415408D763F9FFFEBFC37F062005C3201284D031F18258CD04000EF535CBD18E0E1F0000000049454E44AE426082'); + +INSERT INTO Patient (ID, FirstName,LastName,Sex,Weight,Height,BirthDate,EntranceDate,PaidInAdvance,Photo) +VALUES (11,'Rachel','Green','female',70.22,1.70,'1982-11-12','2008-11-12 09:45:44',TRUE, +X'89504E470D0A1A0A0000000D49484452000000050000000508060000008D6F26E50000001C4944415408D763F9FFFF3FC37F062005C3201284D031F18258CD04000EF535CBD18E0E1F0000000049454E44AE426082'); + +INSERT INTO Patient (ID, FirstName,LastName,Sex,Weight,Height,BirthDate,EntranceDate,PaidInAdvance,Photo) +VALUES (12,'Chandler','Bing','male',90.31,1.76,'1978-04-06','2007-03-12 02:13:14',TRUE, +X'89504E470D0A1A0A0000000D49484452000000050000000508060000008D6F26E50000001C4944415408D763F9FFFEBFC37F062005C3201284D031F18258CD04000EF535CBD18E0E1F0000000049454E44AE426082'); \ No newline at end of file diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/directGraph.ttl b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/directGraph.ttl similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/directGraph.ttl rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/directGraph.ttl diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/manifest.ttl b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/manifest.ttl similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/manifest.ttl rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/manifest.ttl diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappeda.nq b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappeda.nq similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappeda.nq rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappeda.nq diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedb.nq b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedb.nq similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedb.nq rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedb.nq diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedc.nq b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedc.nq similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedc.nq rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedc.nq diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedd.nq b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedd.nq similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedd.nq rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedd.nq diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappede.nq b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappede.nq similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/mappede.nq rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/mappede.nq diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmla.ttl b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmla.ttl similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmla.ttl rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmla.ttl diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlb.ttl b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlb.ttl similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlb.ttl rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlb.ttl diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlc.ttl b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlc.ttl similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlc.ttl rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlc.ttl diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmld.ttl b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmld.ttl similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmld.ttl rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmld.ttl diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmle.ttl b/src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmle.ttl similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmle.ttl rename to src/test/resources/mysql/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmle.ttl diff --git a/src/test/resources/mysql/D017-I18NnoSpecialChars/create.sql b/src/test/resources/mysql/D017-I18NnoSpecialChars/create.sql new file mode 100644 index 0000000..69c669c --- /dev/null +++ b/src/test/resources/mysql/D017-I18NnoSpecialChars/create.sql @@ -0,0 +1,15 @@ +CREATE TABLE 植物 ( + 名 VARCHAR(10), + 使用部 VARCHAR(10), + 条件 VARCHAR(10), + PRIMARY KEY (名, 使用部) +); +INSERT INTO 植物 (名, 使用部, 条件) VALUES ('しそ', '葉', '新鮮な'); + +CREATE TABLE 成分 ( + 皿 VARCHAR(10), + 植物名 VARCHAR(10), + 使用部 VARCHAR(10), + FOREIGN KEY (植物名, 使用部) REFERENCES 植物(名, 使用部) +); +INSERT INTO 成分 (皿, 植物名, 使用部) VALUES ('しそのとまと', 'しそ', '葉'); \ No newline at end of file diff --git a/src/test/resources/D017-I18NnoSpecialChars/directGraph.ttl b/src/test/resources/mysql/D017-I18NnoSpecialChars/directGraph.ttl similarity index 98% rename from src/test/resources/D017-I18NnoSpecialChars/directGraph.ttl rename to src/test/resources/mysql/D017-I18NnoSpecialChars/directGraph.ttl index 9debba4..4bab646 100644 --- a/src/test/resources/D017-I18NnoSpecialChars/directGraph.ttl +++ b/src/test/resources/mysql/D017-I18NnoSpecialChars/directGraph.ttl @@ -1,11 +1,11 @@ -@base . - -<植物/名=しそ;使用部=葉> <植物> . -<植物/名=しそ;使用部=葉> <植物#使用部> "葉" . -<植物/名=しそ;使用部=葉> <植物#名> "しそ" . -<植物/名=しそ;使用部=葉> <植物#条件> "新鮮な" . -_:a <成分> . -_:a <成分#使用部> "葉" . -_:a <成分#植物名> "しそ" . -_:a <成分#ref-植物名;使用部> <植物/名=しそ;使用部=葉> . -_:a <成分#皿> "しそのとまと" . +@base . + +<植物/名=しそ;使用部=葉> <植物> . +<植物/名=しそ;使用部=葉> <植物#使用部> "葉" . +<植物/名=しそ;使用部=葉> <植物#名> "しそ" . +<植物/名=しそ;使用部=葉> <植物#条件> "新鮮な" . +_:a <成分> . +_:a <成分#使用部> "葉" . +_:a <成分#植物名> "しそ" . +_:a <成分#ref-植物名;使用部> <植物/名=しそ;使用部=葉> . +_:a <成分#皿> "しそのとまと" . diff --git a/src/test/resources/D017-I18NnoSpecialChars/manifest.ttl b/src/test/resources/mysql/D017-I18NnoSpecialChars/manifest.ttl similarity index 100% rename from src/test/resources/D017-I18NnoSpecialChars/manifest.ttl rename to src/test/resources/mysql/D017-I18NnoSpecialChars/manifest.ttl diff --git a/src/test/resources/mysql/D018-1table1primarykey2columns3rows/create.sql b/src/test/resources/mysql/D018-1table1primarykey2columns3rows/create.sql new file mode 100644 index 0000000..1a97c3a --- /dev/null +++ b/src/test/resources/mysql/D018-1table1primarykey2columns3rows/create.sql @@ -0,0 +1,7 @@ +CREATE TABLE Student ( +ID INTEGER, +Name CHAR(15) +); +INSERT INTO Student (ID,Name) VALUES (10,'Venus'); +INSERT INTO Student (ID,Name) VALUES (20,'Fernando'); +INSERT INTO Student (ID,Name) VALUES (30,'David'); diff --git a/src/test/resources/D018-1table1primarykey2columns3rows/directGraph.ttl b/src/test/resources/mysql/D018-1table1primarykey2columns3rows/directGraph.ttl similarity index 100% rename from src/test/resources/D018-1table1primarykey2columns3rows/directGraph.ttl rename to src/test/resources/mysql/D018-1table1primarykey2columns3rows/directGraph.ttl diff --git a/src/test/resources/D018-1table1primarykey2columns3rows/manifest.ttl b/src/test/resources/mysql/D018-1table1primarykey2columns3rows/manifest.ttl similarity index 100% rename from src/test/resources/D018-1table1primarykey2columns3rows/manifest.ttl rename to src/test/resources/mysql/D018-1table1primarykey2columns3rows/manifest.ttl diff --git a/src/test/resources/D018-1table1primarykey2columns3rows/mappeda.nq b/src/test/resources/mysql/D018-1table1primarykey2columns3rows/mappeda.nq similarity index 100% rename from src/test/resources/D018-1table1primarykey2columns3rows/mappeda.nq rename to src/test/resources/mysql/D018-1table1primarykey2columns3rows/mappeda.nq diff --git a/src/test/resources/D018-1table1primarykey2columns3rows/r2rmla.ttl b/src/test/resources/mysql/D018-1table1primarykey2columns3rows/r2rmla.ttl similarity index 100% rename from src/test/resources/D018-1table1primarykey2columns3rows/r2rmla.ttl rename to src/test/resources/mysql/D018-1table1primarykey2columns3rows/r2rmla.ttl diff --git a/src/test/resources/mysql/D019-1table1primarykey3columns3rows/create.sql b/src/test/resources/mysql/D019-1table1primarykey3columns3rows/create.sql new file mode 100644 index 0000000..d12d040 --- /dev/null +++ b/src/test/resources/mysql/D019-1table1primarykey3columns3rows/create.sql @@ -0,0 +1,8 @@ +CREATE TABLE Employee ( +ID INTEGER, +FirstName VARCHAR(50), +LastName VARCHAR(50) +); +INSERT INTO Employee (ID,FirstName,LastName) VALUES (10,'http://example.com/ns#Jhon','Smith'); +INSERT INTO Employee (ID,FirstName,LastName) VALUES (20,'Carlos','Mendoza'); +INSERT INTO Employee (ID,FirstName,LastName) VALUES (30,'Juan Daniel','Crespo'); \ No newline at end of file diff --git a/src/test/resources/D019-1table1primarykey3columns3rows/manifest.ttl b/src/test/resources/mysql/D019-1table1primarykey3columns3rows/manifest.ttl similarity index 100% rename from src/test/resources/D019-1table1primarykey3columns3rows/manifest.ttl rename to src/test/resources/mysql/D019-1table1primarykey3columns3rows/manifest.ttl diff --git a/src/test/resources/D019-1table1primarykey3columns3rows/mappeda.nq b/src/test/resources/mysql/D019-1table1primarykey3columns3rows/mappeda.nq similarity index 100% rename from src/test/resources/D019-1table1primarykey3columns3rows/mappeda.nq rename to src/test/resources/mysql/D019-1table1primarykey3columns3rows/mappeda.nq diff --git a/src/test/resources/D019-1table1primarykey3columns3rows/r2rmla.ttl b/src/test/resources/mysql/D019-1table1primarykey3columns3rows/r2rmla.ttl similarity index 100% rename from src/test/resources/D019-1table1primarykey3columns3rows/r2rmla.ttl rename to src/test/resources/mysql/D019-1table1primarykey3columns3rows/r2rmla.ttl diff --git a/src/test/resources/D019-1table1primarykey3columns3rows/r2rmlb.ttl b/src/test/resources/mysql/D019-1table1primarykey3columns3rows/r2rmlb.ttl similarity index 100% rename from src/test/resources/D019-1table1primarykey3columns3rows/r2rmlb.ttl rename to src/test/resources/mysql/D019-1table1primarykey3columns3rows/r2rmlb.ttl diff --git a/src/test/resources/mysql/D020-1table1column5rows/create.sql b/src/test/resources/mysql/D020-1table1column5rows/create.sql new file mode 100644 index 0000000..4aad9f3 --- /dev/null +++ b/src/test/resources/mysql/D020-1table1column5rows/create.sql @@ -0,0 +1,9 @@ +CREATE TABLE Student ( +Name VARCHAR(50) +); + +INSERT INTO Student (Name) VALUES ('http://example.com/company/Alice'); +INSERT INTO Student (Name) VALUES ('Bob'); +INSERT INTO Student (Name) VALUES ('Bob/Charles'); +INSERT INTO Student (Name) VALUES ('path/../Danny'); +INSERT INTO Student (Name) VALUES ('Emily Smith'); \ No newline at end of file diff --git a/src/test/resources/D020-1table1column5rows/manifest.ttl b/src/test/resources/mysql/D020-1table1column5rows/manifest.ttl similarity index 100% rename from src/test/resources/D020-1table1column5rows/manifest.ttl rename to src/test/resources/mysql/D020-1table1column5rows/manifest.ttl diff --git a/src/test/resources/D020-1table1column5rows/mappeda.nq b/src/test/resources/mysql/D020-1table1column5rows/mappeda.nq similarity index 100% rename from src/test/resources/D020-1table1column5rows/mappeda.nq rename to src/test/resources/mysql/D020-1table1column5rows/mappeda.nq diff --git a/src/test/resources/D020-1table1column5rows/r2rmla.ttl b/src/test/resources/mysql/D020-1table1column5rows/r2rmla.ttl similarity index 100% rename from src/test/resources/D020-1table1column5rows/r2rmla.ttl rename to src/test/resources/mysql/D020-1table1column5rows/r2rmla.ttl diff --git a/src/test/resources/D020-1table1column5rows/r2rmlb.ttl b/src/test/resources/mysql/D020-1table1column5rows/r2rmlb.ttl similarity index 100% rename from src/test/resources/D020-1table1column5rows/r2rmlb.ttl rename to src/test/resources/mysql/D020-1table1column5rows/r2rmlb.ttl diff --git a/src/test/resources/mysql/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/create.sql b/src/test/resources/mysql/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/create.sql new file mode 100644 index 0000000..7e9a17c --- /dev/null +++ b/src/test/resources/mysql/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/create.sql @@ -0,0 +1,33 @@ +CREATE TABLE Target ( + PK INT, + PRIMARY KEY(PK), + key1attr1 CHAR(5), + key1attr2 CHAR(5), + UNIQUE (key1attr1, key1attr2), + key2attr1 CHAR(5), + key2attr2 CHAR(5), + UNIQUE (key2attr2, key2attr1) +); + +CREATE TABLE Source ( + ID INT, + PRIMARY KEY(ID), + attrA CHAR(5), + attrB CHAR(5), + FOREIGN KEY (attrA, attrB) REFERENCES Target(key2attr2, key2attr1) +); + +INSERT INTO Target (PK, key1attr1, key1attr2, key2attr1, key2attr2) + VALUES (1010, 'K1A11' , 'K1A21' , 'K2A11' , 'K2A21' ); +INSERT INTO Target (PK, key1attr1, key1attr2, key2attr1, key2attr2) + VALUES (1011, 'K1A12' , 'K1A22' , NULL , 'K2A22' ); +INSERT INTO Target (PK, key1attr1, key1attr2, key2attr1, key2attr2) + VALUES (1012, 'K1A13' , 'K1A23' , NULL , NULL ); + +INSERT INTO Source (ID, attrA, attrB) + VALUES (1100, 'K2A21', 'K2A11'); +INSERT INTO Source (ID, attrA, attrB) + VALUES (1101, 'K2A22', NULL ); +INSERT INTO Source (ID, attrA, attrB) + VALUES (1102, NULL , NULL ); + diff --git a/src/test/resources/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/directGraph.ttl b/src/test/resources/mysql/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/directGraph.ttl similarity index 100% rename from src/test/resources/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/directGraph.ttl rename to src/test/resources/mysql/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/directGraph.ttl diff --git a/src/test/resources/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/manifest.ttl b/src/test/resources/mysql/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/manifest.ttl similarity index 100% rename from src/test/resources/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/manifest.ttl rename to src/test/resources/mysql/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/manifest.ttl diff --git a/src/test/resources/mysql/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/create.sql b/src/test/resources/mysql/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/create.sql new file mode 100644 index 0000000..7f9bd6c --- /dev/null +++ b/src/test/resources/mysql/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/create.sql @@ -0,0 +1,24 @@ +CREATE TABLE Target ( + litattr1 INT, + -- PRIMARY KEY(PK), + key1attr1 CHAR(4), + key1attr2 CHAR(4), + UNIQUE (key1attr1, key1attr2), + key2attr1 CHAR(4), + key2attr2 CHAR(4), + UNIQUE (key2attr2, key2attr1) +); + +CREATE TABLE Source ( + ID INT, + PRIMARY KEY(ID), + attrA CHAR(4), + attrB CHAR(4), + FOREIGN KEY (attrA, attrB) REFERENCES Target(key2attr2, key2attr1) +); + +INSERT INTO Target (litattr1, key1attr1, key1attr2, key2attr1, key2attr2) + VALUES (1010 , 'K1A1' , 'K1A2' , 'K2A1' , 'K2A2'); + +INSERT INTO Source (ID, attrA, attrB) + VALUES (1100, 'K2A2' , 'K2A1' ); diff --git a/src/test/resources/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/directGraph.ttl b/src/test/resources/mysql/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/directGraph.ttl similarity index 100% rename from src/test/resources/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/directGraph.ttl rename to src/test/resources/mysql/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/directGraph.ttl diff --git a/src/test/resources/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/manifest.ttl b/src/test/resources/mysql/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/manifest.ttl similarity index 100% rename from src/test/resources/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/manifest.ttl rename to src/test/resources/mysql/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/manifest.ttl diff --git a/src/test/resources/mysql/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/create.sql b/src/test/resources/mysql/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/create.sql new file mode 100644 index 0000000..128f5dc --- /dev/null +++ b/src/test/resources/mysql/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/create.sql @@ -0,0 +1,24 @@ +CREATE TABLE Target ( + PK INT, + PRIMARY KEY(PK), + key1attr1 CHAR(4), + key1attr2 CHAR(4), + UNIQUE (key1attr1, key1attr2), + key2attr1 CHAR(4), + key2attr2 CHAR(4), + UNIQUE (key2attr2, key2attr1) +); + +CREATE TABLE Source ( + ID INT, + PRIMARY KEY(ID), + attrA CHAR(4), + attrB CHAR(4), + FOREIGN KEY (attrA, attrB) REFERENCES Target(key2attr2, key2attr1) +); + +INSERT INTO Target (PK, key1attr1, key1attr2, key2attr1, key2attr2) + VALUES (1010, 'K1A1' , 'K1A2' , 'K2A1' , 'K2A2' ); + +INSERT INTO Source (ID, attrA, attrB) + VALUES (1100, 'K2A2' , 'K2A1' ); diff --git a/src/test/resources/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/directGraph.ttl b/src/test/resources/mysql/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/directGraph.ttl similarity index 100% rename from src/test/resources/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/directGraph.ttl rename to src/test/resources/mysql/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/directGraph.ttl diff --git a/src/test/resources/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/manifest.ttl b/src/test/resources/mysql/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/manifest.ttl similarity index 100% rename from src/test/resources/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/manifest.ttl rename to src/test/resources/mysql/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/manifest.ttl diff --git a/src/test/resources/mysql/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/create.sql b/src/test/resources/mysql/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/create.sql new file mode 100644 index 0000000..43991ba --- /dev/null +++ b/src/test/resources/mysql/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/create.sql @@ -0,0 +1,29 @@ +CREATE TABLE Target ( + PK INT, + PRIMARY KEY(PK), + key1attr1 CHAR(5), + key1attr2 CHAR(5), + UNIQUE (key1attr1, key1attr2), + key2attr1 CHAR(5), + key2attr2 CHAR(5), + UNIQUE (key2attr2, key2attr1) +); + +CREATE TABLE Source ( + ID INT, + PRIMARY KEY(ID), + attrA CHAR(5), + attrB CHAR(5), + FOREIGN KEY (attrA, attrB) REFERENCES Target(key2attr2, key2attr1) +); + +INSERT INTO Target (PK, key1attr1, key1attr2, key2attr1, key2attr2) + VALUES (1010, 'K1A11' , 'K1A21' , 'K2A11' , 'K2A21' ); +INSERT INTO Target (PK, key1attr1, key1attr2, key2attr1, key2attr2) + VALUES (1011, 'K1A12' , 'K1A22' , NULL , 'K2A22' ); + +INSERT INTO Source (ID, attrA, attrB) + VALUES (1100, 'K2A21', 'K2A11'); +INSERT INTO Source (ID, attrA, attrB) + VALUES (1101, 'K2A22', NULL ); + diff --git a/src/test/resources/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/directGraph.ttl b/src/test/resources/mysql/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/directGraph.ttl similarity index 100% rename from src/test/resources/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/directGraph.ttl rename to src/test/resources/mysql/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/directGraph.ttl diff --git a/src/test/resources/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/manifest.ttl b/src/test/resources/mysql/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/manifest.ttl similarity index 100% rename from src/test/resources/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/manifest.ttl rename to src/test/resources/mysql/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/manifest.ttl diff --git a/src/test/resources/mysql/D025-3tables3primarykeys3foreignkeys/create.sql b/src/test/resources/mysql/D025-3tables3primarykeys3foreignkeys/create.sql new file mode 100644 index 0000000..6f6d49c --- /dev/null +++ b/src/test/resources/mysql/D025-3tables3primarykeys3foreignkeys/create.sql @@ -0,0 +1,69 @@ +CREATE TABLE Addresses ( + ID INT, + PRIMARY KEY(ID), + city VARCHAR(10), + state CHAR(2) +); + +CREATE TABLE Department ( + ID INT, + PRIMARY KEY(ID), + name VARCHAR(50), + city VARCHAR(50), + UNIQUE (name, city), + manager INT +); + +CREATE TABLE People ( + ID INT, + PRIMARY KEY(ID), + fname VARCHAR(10), + addr INT, + FOREIGN KEY (addr) REFERENCES Addresses(ID), + deptName VARCHAR(50), + deptCity VARCHAR(50) +); + +ALTER TABLE Department ADD FOREIGN KEY(manager) REFERENCES People(ID); +ALTER TABLE People ADD FOREIGN KEY(deptName, deptCity) REFERENCES Department(name, city); + +INSERT INTO Addresses (ID, city, state) + VALUES (18, 'Cambridge', 'MA'); + +INSERT INTO People (ID, fname, addr, deptName, deptCity ) + VALUES (8, 'Sue', NULL, NULL, NULL); + +INSERT INTO Department (ID, name, city, manager) + VALUES (23, 'accounting', 'Cambridge', 8); + +INSERT INTO People (ID, fname, addr, deptName, deptCity ) + VALUES (7, 'Bob', 18, 'accounting', 'Cambridge'); + +CREATE TABLE Projects ( + lead INT, + name VARCHAR(50), + UNIQUE (lead, name), + deptName VARCHAR(50), + deptCity VARCHAR(50), + UNIQUE (name, deptName, deptCity), + FOREIGN KEY (deptName, deptCity) REFERENCES Department(name, city) +); +CREATE TABLE TaskAssignments ( + worker INT, + project VARCHAR(50), + PRIMARY KEY (worker, project), + deptName VARCHAR(50), + deptCity VARCHAR(50), + FOREIGN KEY (project, deptName, deptCity) REFERENCES Projects(name, deptName, deptCity), + FOREIGN KEY (deptName, deptCity) REFERENCES Department(name, city) +); + +ALTER TABLE Projects ADD FOREIGN KEY(lead) REFERENCES People(ID); +ALTER TABLE TaskAssignments ADD FOREIGN KEY(worker) REFERENCES People(ID); + +INSERT INTO Projects (lead, name, deptName, deptCity ) + VALUES (8, 'pencil survey', 'accounting', 'Cambridge'); +INSERT INTO Projects (lead, name, deptName, deptCity ) + VALUES (8, 'eraser survey', 'accounting', 'Cambridge'); +INSERT INTO TaskAssignments (worker, project, deptName, deptCity ) + VALUES (7, 'pencil survey', 'accounting', 'Cambridge'); \ No newline at end of file diff --git a/src/test/resources/D025-3tables3primarykeys3foreignkeys/directGraph.ttl b/src/test/resources/mysql/D025-3tables3primarykeys3foreignkeys/directGraph.ttl similarity index 100% rename from src/test/resources/D025-3tables3primarykeys3foreignkeys/directGraph.ttl rename to src/test/resources/mysql/D025-3tables3primarykeys3foreignkeys/directGraph.ttl diff --git a/src/test/resources/D025-3tables3primarykeys3foreignkeys/manifest.ttl b/src/test/resources/mysql/D025-3tables3primarykeys3foreignkeys/manifest.ttl similarity index 100% rename from src/test/resources/D025-3tables3primarykeys3foreignkeys/manifest.ttl rename to src/test/resources/mysql/D025-3tables3primarykeys3foreignkeys/manifest.ttl diff --git a/src/test/resources/D000-1table1column0rows/create.sql b/src/test/resources/postgres/D000-1table1column0rows/create.sql similarity index 100% rename from src/test/resources/D000-1table1column0rows/create.sql rename to src/test/resources/postgres/D000-1table1column0rows/create.sql diff --git a/src/test/resources/postgres/D000-1table1column0rows/directGraph.ttl b/src/test/resources/postgres/D000-1table1column0rows/directGraph.ttl new file mode 100644 index 0000000..5e6e110 --- /dev/null +++ b/src/test/resources/postgres/D000-1table1column0rows/directGraph.ttl @@ -0,0 +1 @@ +# empty graph diff --git a/src/test/resources/postgres/D000-1table1column0rows/manifest.ttl b/src/test/resources/postgres/D000-1table1column0rows/manifest.ttl new file mode 100644 index 0000000..a0bb534 --- /dev/null +++ b/src/test/resources/postgres/D000-1table1column0rows/manifest.ttl @@ -0,0 +1,34 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, a column, zero rows, no primary key" ; + dcterms:identifier "D000-1table1column0rows" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , ; +. + + a rdb2rdftest:DirectMapping; + dcterms:title "Direct mapping of an empty table"; + dcterms:identifier "DirectGraphTC0000" ; + test:purpose "Tests if an empty table produces an empty RDF graph" ; + test:specificationReference "#no-pk" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:database ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "one table, one column, zero rows" ; + dcterms:identifier "R2RMLTC0000" ; + test:purpose "Tests if an empty table produces an empty RDF graph" ; + test:specificationReference "#physical-tables" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:database ; + rdb2rdftest:output "mapped.nq" ; + rdb2rdftest:mappingDocument "r2rml.ttl" ; +. diff --git a/src/test/resources/postgres/D000-1table1column0rows/mapped.nq b/src/test/resources/postgres/D000-1table1column0rows/mapped.nq new file mode 100644 index 0000000..ca0b991 --- /dev/null +++ b/src/test/resources/postgres/D000-1table1column0rows/mapped.nq @@ -0,0 +1 @@ +# empty database diff --git a/src/test/resources/postgres/D000-1table1column0rows/r2rml.ttl b/src/test/resources/postgres/D000-1table1column0rows/r2rml.ttl new file mode 100644 index 0000000..7193674 --- /dev/null +++ b/src/test/resources/postgres/D000-1table1column0rows/r2rml.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\""; ] ; + + rr:subjectMap [ rr:template "http://example.com/{\"Name\"}" ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/D001-1table1column1row/create.sql b/src/test/resources/postgres/D001-1table1column1row/create.sql similarity index 100% rename from src/test/resources/D001-1table1column1row/create.sql rename to src/test/resources/postgres/D001-1table1column1row/create.sql diff --git a/src/test/resources/postgres/D001-1table1column1row/directGraph.ttl b/src/test/resources/postgres/D001-1table1column1row/directGraph.ttl new file mode 100644 index 0000000..1222f93 --- /dev/null +++ b/src/test/resources/postgres/D001-1table1column1row/directGraph.ttl @@ -0,0 +1,4 @@ +@base . + +_:a "Venus". +_:a . diff --git a/src/test/resources/postgres/D001-1table1column1row/manifest.ttl b/src/test/resources/postgres/D001-1table1column1row/manifest.ttl new file mode 100644 index 0000000..017a70d --- /dev/null +++ b/src/test/resources/postgres/D001-1table1column1row/manifest.ttl @@ -0,0 +1,46 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, one column, one row, no primary key" ; + dcterms:identifier "D001-1table1column1row" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , ; +. + + a rdb2rdftest:DirectMapping; + dcterms:title "Direct mapping that generates a BlankNode"; + dcterms:identifier "DirectGraphTC0001" ; + test:purpose "Tests: (1) one column mapping, no primary key; (2) generation of a \"BlankNode\" subject; (3) one column to one property" ; + test:specificationReference "#no-pk" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "One column mapping, subject URI generation by using rr:template" ; + dcterms:identifier "R2RMLTC0001a" ; + test:purpose "Tests: (1) one column mapping; (2) subject URI generation by using rr:tmplate; (3) one column to one property" ; + test:specificationReference "#dfn-template-valued-term-map" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "One column mapping, generation of a BlankNode subject by using rr:termType" ; + dcterms:identifier "R2RMLTC0001b" ; + test:purpose "Tests: (1) one column mapping; (2) generation of a BlankNode subject by using rr:termType; (3) one column to one property" ; + test:specificationReference "#termtype" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. \ No newline at end of file diff --git a/src/test/resources/postgres/D001-1table1column1row/mappeda.nq b/src/test/resources/postgres/D001-1table1column1row/mappeda.nq new file mode 100644 index 0000000..efbb554 --- /dev/null +++ b/src/test/resources/postgres/D001-1table1column1row/mappeda.nq @@ -0,0 +1 @@ + "Venus" . diff --git a/src/test/resources/postgres/D001-1table1column1row/mappedb.nq b/src/test/resources/postgres/D001-1table1column1row/mappedb.nq new file mode 100644 index 0000000..0080ff7 --- /dev/null +++ b/src/test/resources/postgres/D001-1table1column1row/mappedb.nq @@ -0,0 +1 @@ +_:Venus "Venus" . diff --git a/src/test/resources/postgres/D001-1table1column1row/r2rmla.ttl b/src/test/resources/postgres/D001-1table1column1row/r2rmla.ttl new file mode 100644 index 0000000..51cbdf1 --- /dev/null +++ b/src/test/resources/postgres/D001-1table1column1row/r2rmla.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"Name\"}" ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/postgres/D001-1table1column1row/r2rmlb.ttl b/src/test/resources/postgres/D001-1table1column1row/r2rmlb.ttl new file mode 100644 index 0000000..a0f8712 --- /dev/null +++ b/src/test/resources/postgres/D001-1table1column1row/r2rmlb.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "{\"Name\"}"; rr:termType rr:BlankNode ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/D002-1table2columns1row/create.sql b/src/test/resources/postgres/D002-1table2columns1row/create.sql similarity index 100% rename from src/test/resources/D002-1table2columns1row/create.sql rename to src/test/resources/postgres/D002-1table2columns1row/create.sql diff --git a/src/test/resources/postgres/D002-1table2columns1row/directGraph.ttl b/src/test/resources/postgres/D002-1table2columns1row/directGraph.ttl new file mode 100644 index 0000000..74ff4f7 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/directGraph.ttl @@ -0,0 +1,5 @@ +@base . + +_:a . +_:a "10"^^ . +_:a "Venus" . \ No newline at end of file diff --git a/src/test/resources/postgres/D002-1table2columns1row/manifest.ttl b/src/test/resources/postgres/D002-1table2columns1row/manifest.ttl new file mode 100644 index 0000000..4889b64 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/manifest.ttl @@ -0,0 +1,142 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, two columns, one row, no primary key" ; + dcterms:identifier "D002-1table2columns1row" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , , , , , , , , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Two columns mapping, generation of a BlankNode subject" ; + dcterms:identifier "DirectGraphTC0002" ; + test:purpose "Tests: (1) two columns mapping; (2) generation of a BlankNode subject; (3) one column to one property" ; + test:specificationReference "#no-pk" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, generation of a subject URI by the concatenation of two column values" ; + dcterms:identifier "R2RMLTC0002a" ; + test:purpose "Tests: (1) two column mapping, no primary key; (2) subject URI generated by the concatenation of two column values; (3) one column to one property" ; + test:specificationReference "#from-template" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, generation of a BlankNode subject by using rr:template and rr:termType" ; + dcterms:identifier "R2RMLTC0002b" ; + test:purpose "Tests: (1) two column mapping, no primary key; (2) generation of a BlankNode subject by using rr:template; (3) one column to one property" ; + test:specificationReference "#termtype" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, an undefined SQL identifier" ; + dcterms:identifier "R2RMLTC0002c" ; + test:purpose "Tests the presence of an undefined SQL identifier" ; + test:specificationReference "#dfn-sql-identifier" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:mappingDocument "r2rmlc.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, generation of a BlankNode subject by using a SQL Query that concatenates two columns" ; + dcterms:identifier "R2RMLTC0002d" ; + test:purpose "Tests (1) two column mapping, no primary key; (2) generation of a BlankNode subject by using a SQL Query that concatenates two columns; (3) one column to one property" ; + test:specificationReference "#dfn-sql-query" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedd.nq" ; + rdb2rdftest:mappingDocument "r2rmld.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, an undefined rr:tableName" ; + dcterms:identifier "R2RMLTC0002e" ; + test:purpose "Tests the presence of an undefined rr:tableName" ; + test:specificationReference "#dfn-sql-identifier" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:mappingDocument "r2rmle.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, delimited identifiers referenced as regular identifiers" ; + dcterms:identifier "R2RMLTC0002f" ; + test:purpose "Tests the presence of delimited identifiers referenced as regular identifiers. Within rr:template ID is ok, but Name is not" ; + test:specificationReference "#from-template" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:mappingDocument "r2rmlf.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, invalid SQL query" ; + dcterms:identifier "R2RMLTC0002g" ; + test:purpose "Tests the presence of an invalid SQL query" ; + test:specificationReference "#dfn-sql-identifier" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:mappingDocument "r2rmlg.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, duplicate column name in SELECT" ; + dcterms:identifier "R2RMLTC0002h" ; + test:purpose "Tests the presence of duplicate column names in the SELECT list of the SQL query" ; + test:specificationReference "#dfn-sql-identifier" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:mappingDocument "r2rmlh.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, SQL Version identifier" ; + dcterms:identifier "R2RMLTC0002i" ; + test:purpose "Tests the presence of a SQL Version identifier " ; + test:specificationReference "#dfn-sql-version-identifier" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedi.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmli.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two columns mapping, qualified column names" ; + dcterms:identifier "R2RMLTC0002j" ; + test:purpose "Tests the presence of qualified column names in the SELECT list of the SQL query" ; + test:specificationReference "#dfn-schema-qualified-name" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedj.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlj.ttl" ; +. diff --git a/src/test/resources/postgres/D002-1table2columns1row/mappeda.nq b/src/test/resources/postgres/D002-1table2columns1row/mappeda.nq new file mode 100644 index 0000000..224747a --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/mappeda.nq @@ -0,0 +1,3 @@ + "Venus" . + "10"^^ . + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/mappedb.nq b/src/test/resources/postgres/D002-1table2columns1row/mappedb.nq new file mode 100644 index 0000000..407dd74 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/mappedb.nq @@ -0,0 +1 @@ +_:students10 "Venus" . diff --git a/src/test/resources/postgres/D002-1table2columns1row/mappedd.nq b/src/test/resources/postgres/D002-1table2columns1row/mappedd.nq new file mode 100644 index 0000000..425f867 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/mappedd.nq @@ -0,0 +1 @@ +_:Student10 "Venus" . \ No newline at end of file diff --git a/src/test/resources/postgres/D002-1table2columns1row/mappedi.nq b/src/test/resources/postgres/D002-1table2columns1row/mappedi.nq new file mode 100644 index 0000000..f894792 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/mappedi.nq @@ -0,0 +1 @@ + "Venus" . \ No newline at end of file diff --git a/src/test/resources/postgres/D002-1table2columns1row/mappedj.nq b/src/test/resources/postgres/D002-1table2columns1row/mappedj.nq new file mode 100644 index 0000000..f894792 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/mappedj.nq @@ -0,0 +1 @@ + "Venus" . \ No newline at end of file diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmla.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmla.ttl new file mode 100644 index 0000000..b5e5547 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmla.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"ID\"}/{\"Name\"}"; + rr:class foaf:Person ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmlb.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmlb.ttl new file mode 100644 index 0000000..f8d5512 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmlb.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\""; ]; + + rr:subjectMap [ rr:template "students{\"ID\"}"; rr:termType rr:BlankNode; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmlc.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmlc.ttl new file mode 100644 index 0000000..d2d164f --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmlc.ttl @@ -0,0 +1,20 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"ID\"}/{\"Name\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"IDs\""; ] + ] + + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmld.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmld.ttl new file mode 100644 index 0000000..f4d67d0 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmld.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ + rr:sqlQuery """ + Select ('Student' || "ID" ) AS StudentId + , "ID" + , "Name" + from "Student" + """ + ]; + + rr:subjectMap [ rr:column "StudentId"; rr:termType rr:BlankNode; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmle.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmle.ttl new file mode 100644 index 0000000..ea5bc75 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmle.ttl @@ -0,0 +1,20 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Students\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"ID\"}/{\"Name\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmlf.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmlf.ttl new file mode 100644 index 0000000..3df79c9 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmlf.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{ID}/{Name}"; + rr:class foaf:Person ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmlg.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmlg.ttl new file mode 100644 index 0000000..4f0a719 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmlg.ttl @@ -0,0 +1,23 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ + rr:sqlQuery """ + THIS IS NOT A VALID SQL QUERY + """ + ]; + + rr:subjectMap [ rr:column "StudentId"; ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmlh.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmlh.ttl new file mode 100644 index 0000000..25ce9fb --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmlh.ttl @@ -0,0 +1,28 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ + rr:sqlQuery """ + Select ('Student' || ID ) AS StudentId + , "ID" + , "Name" + , 1 AS "ID" + from "Student" + """ + ]; + + rr:subjectMap [ rr:column "StudentId"; ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmli.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmli.ttl new file mode 100644 index 0000000..bb718f8 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmli.ttl @@ -0,0 +1,28 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ + rr:sqlQuery """ + SELECT "ID", + "Name" + FROM "Student" + """; + + rr:sqlVersion rr:SQL2008 + + ]; + + rr:subjectMap [ rr:template "http://example.com/{\"ID\"}/{\"Name\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/postgres/D002-1table2columns1row/r2rmlj.ttl b/src/test/resources/postgres/D002-1table2columns1row/r2rmlj.ttl new file mode 100644 index 0000000..93fecc9 --- /dev/null +++ b/src/test/resources/postgres/D002-1table2columns1row/r2rmlj.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ + rr:sqlQuery """ + SELECT "Student"."ID", "Student"."Name" + FROM "Student" + """ + ]; + + rr:subjectMap [ rr:template "http://example.com/{\"ID\"}/{\"Name\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/D003-1table3columns1row/create.sql b/src/test/resources/postgres/D003-1table3columns1row/create.sql similarity index 100% rename from src/test/resources/D003-1table3columns1row/create.sql rename to src/test/resources/postgres/D003-1table3columns1row/create.sql diff --git a/src/test/resources/postgres/D003-1table3columns1row/directGraph.ttl b/src/test/resources/postgres/D003-1table3columns1row/directGraph.ttl new file mode 100644 index 0000000..404d0ef --- /dev/null +++ b/src/test/resources/postgres/D003-1table3columns1row/directGraph.ttl @@ -0,0 +1,6 @@ +@base . + +_:a . +_:a "10"^^ . +_:a "Venus" . +_:a "Williams" . diff --git a/src/test/resources/postgres/D003-1table3columns1row/manifest.ttl b/src/test/resources/postgres/D003-1table3columns1row/manifest.ttl new file mode 100644 index 0000000..45489c7 --- /dev/null +++ b/src/test/resources/postgres/D003-1table3columns1row/manifest.ttl @@ -0,0 +1,59 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, three columns, one row, no primary key" ; + dcterms:identifier "D003-1table3columns1row" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Three columns mapping, generation of a BlankNode" ; + dcterms:identifier "DirectGraphTC0003" ; + test:purpose "Tests: (1) three columns mapping; (2) generation of a \"BlankNode\" subject; (3) one column to one property" ; + test:specificationReference "#no-pk" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Three columns mapping, undefined SQL Version identifier" ; + dcterms:identifier "R2RMLTC0003a" ; + test:purpose "Tests the presence of an undefined SQL Version identifier" ; + test:specificationReference "#dfn-sql-version-identifier" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Three columns mapping, concatenation of columns, by using a rr:sqlQuery to produce literal" ; + dcterms:identifier "R2RMLTC0003b" ; + test:purpose "Tests: (1) three column mapping; and (2) concatenation of columns to produce literal, by using a rr:sqlQuery" ; + test:specificationReference "#dfn-sql-query" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Three columns mapping, by using a rr:template to produce literal" ; + dcterms:identifier "R2RMLTC0003c" ; + test:purpose "Tests: (1) three column mapping; and (2) the use of rr:template to produce literal" ; + test:specificationReference "#from-template" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedc.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlc.ttl" ; +. + diff --git a/src/test/resources/postgres/D003-1table3columns1row/mappedb.nq b/src/test/resources/postgres/D003-1table3columns1row/mappedb.nq new file mode 100644 index 0000000..ab88b88 --- /dev/null +++ b/src/test/resources/postgres/D003-1table3columns1row/mappedb.nq @@ -0,0 +1 @@ + "Venus Williams" . \ No newline at end of file diff --git a/src/test/resources/postgres/D003-1table3columns1row/mappedc.nq b/src/test/resources/postgres/D003-1table3columns1row/mappedc.nq new file mode 100644 index 0000000..180f90c --- /dev/null +++ b/src/test/resources/postgres/D003-1table3columns1row/mappedc.nq @@ -0,0 +1 @@ + "Venus Williams" . diff --git a/src/test/resources/postgres/D003-1table3columns1row/r2rmla.ttl b/src/test/resources/postgres/D003-1table3columns1row/r2rmla.ttl new file mode 100644 index 0000000..6655093 --- /dev/null +++ b/src/test/resources/postgres/D003-1table3columns1row/r2rmla.ttl @@ -0,0 +1,28 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ + rr:sqlQuery """ + SELECT "ID", + "FirstName", + "LastName" + FROM "Student" + """; + rr:sqlVersion rr:SQL1979 + ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"FirstName\"}-{\"LastName\"}"; + rr:class foaf:Person ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + . diff --git a/src/test/resources/postgres/D003-1table3columns1row/r2rmlb.ttl b/src/test/resources/postgres/D003-1table3columns1row/r2rmlb.ttl new file mode 100644 index 0000000..fc746c0 --- /dev/null +++ b/src/test/resources/postgres/D003-1table3columns1row/r2rmlb.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ + rr:sqlQuery """ + SELECT "ID", + ("FirstName" || ' ' || "LastName") AS Name + FROM "Student" + """ + ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "Name" ] + ] + . diff --git a/src/test/resources/postgres/D003-1table3columns1row/r2rmlc.ttl b/src/test/resources/postgres/D003-1table3columns1row/r2rmlc.ttl new file mode 100644 index 0000000..9f6d579 --- /dev/null +++ b/src/test/resources/postgres/D003-1table3columns1row/r2rmlc.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Student{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:template "{\"FirstName\"} {\"LastName\"}"; rr:termType rr:Literal; ] + ] + . diff --git a/src/test/resources/D004-1table2columns1row/create.sql b/src/test/resources/postgres/D004-1table2columns1row/create.sql similarity index 100% rename from src/test/resources/D004-1table2columns1row/create.sql rename to src/test/resources/postgres/D004-1table2columns1row/create.sql diff --git a/src/test/resources/postgres/D004-1table2columns1row/directGraph.ttl b/src/test/resources/postgres/D004-1table2columns1row/directGraph.ttl new file mode 100644 index 0000000..fb8567d --- /dev/null +++ b/src/test/resources/postgres/D004-1table2columns1row/directGraph.ttl @@ -0,0 +1,5 @@ +@base . + +_:a . +_:a "Venus" . +_:a "Tennis" . diff --git a/src/test/resources/postgres/D004-1table2columns1row/manifest.ttl b/src/test/resources/postgres/D004-1table2columns1row/manifest.ttl new file mode 100644 index 0000000..ae8db3b --- /dev/null +++ b/src/test/resources/postgres/D004-1table2columns1row/manifest.ttl @@ -0,0 +1,46 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, two columns, one row, projection, no primary key" ; + dcterms:identifier "D004-1table2columns1row" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Two column mapping, generation of a BlankNode subject"; + dcterms:identifier "DirectGraphTC0004" ; + test:purpose "Tests: (1) two column mapping (2) generation of a \"BlankNode\" subject" ; + test:specificationReference "#no-pk" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two column mapping, from one row table to two different triples" ; + dcterms:identifier "R2RMLTC0004a" ; + test:purpose "Tests: (1) two column mapping, (2) subject URI generated by a column value; (3) from one row table to two different triples (4) typing by using rr:class" ; + test:specificationReference "#typing" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Two column mapping, presence of rr:termType rr:Literal on rr:subjectMap" ; + dcterms:identifier "R2RMLTC0004b" ; + test:purpose "Tests: (1) two column mapping (2) the presence of rr:termType rr:Literal on rr:subjectMap, which is invalid" ; + test:specificationReference "#termtype" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. \ No newline at end of file diff --git a/src/test/resources/postgres/D004-1table2columns1row/mappeda.nq b/src/test/resources/postgres/D004-1table2columns1row/mappeda.nq new file mode 100644 index 0000000..ab10283 --- /dev/null +++ b/src/test/resources/postgres/D004-1table2columns1row/mappeda.nq @@ -0,0 +1,4 @@ + "Venus" . + . + "Tennis" . + . diff --git a/src/test/resources/postgres/D004-1table2columns1row/r2rmla.ttl b/src/test/resources/postgres/D004-1table2columns1row/r2rmla.ttl new file mode 100644 index 0000000..d2cc3ff --- /dev/null +++ b/src/test/resources/postgres/D004-1table2columns1row/r2rmla.ttl @@ -0,0 +1,35 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student_Sport\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"Student\"}"; + rr:class ex:Student ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Student\"" ] + ] + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student_Sport\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"Sport\"}"; + rr:class ex:Sport ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Sport\"" ] + ] + . diff --git a/src/test/resources/postgres/D004-1table2columns1row/r2rmlb.ttl b/src/test/resources/postgres/D004-1table2columns1row/r2rmlb.ttl new file mode 100644 index 0000000..d2c0045 --- /dev/null +++ b/src/test/resources/postgres/D004-1table2columns1row/r2rmlb.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:sqlQuery """ + SELECT ('Student' || "Student") AS StudentId, + "Student" + FROM "Student_Sport" + """; + ] ; + + rr:subjectMap [ rr:column "StudentId"; rr:termType rr:Literal; + rr:class ex:Student ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Student\"" ] + ] + . diff --git a/src/test/resources/D005-1table3columns3rows2duplicates/create.sql b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/create.sql similarity index 100% rename from src/test/resources/D005-1table3columns3rows2duplicates/create.sql rename to src/test/resources/postgres/D005-1table3columns3rows2duplicates/create.sql diff --git a/src/test/resources/postgres/D005-1table3columns3rows2duplicates/directGraph.ttl b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/directGraph.ttl new file mode 100644 index 0000000..049576c --- /dev/null +++ b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/directGraph.ttl @@ -0,0 +1,16 @@ +@base . + +_:a . +_:a "Bob" . +_:a "Smith" . +_:a "3.0E1"^^ . + +_:b . +_:b "Sue" . +_:b "Jones" . +_:b "2.0E1"^^ . + +_:c . +_:c "Bob" . +_:c "Smith" . +_:c "3.0E1"^^ . \ No newline at end of file diff --git a/src/test/resources/postgres/D005-1table3columns3rows2duplicates/manifest.ttl b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/manifest.ttl new file mode 100644 index 0000000..d8f9905 --- /dev/null +++ b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/manifest.ttl @@ -0,0 +1,46 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, three columns, three rows, two duplicate tuples, no primary key" ; + dcterms:identifier "D005-1table3columns3rows2duplicates" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of BlankNodes from duplicate tuples"; + dcterms:identifier "DirectGraphTC0005" ; + test:purpose "Tests the generation of Blank Nodes for duplicate tuples" ; + test:specificationReference "#no-pk" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Typing of resources" ; + dcterms:identifier "R2RMLTC0005a" ; + test:purpose "Tests the typing of resources" ; + test:specificationReference "#typing" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Default mapping" ; + dcterms:identifier "R2RMLTC0005b" ; + test:purpose "Tests the generation of a default mapping for tables without a primary key" ; + test:specificationReference "#default-mappings" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. diff --git a/src/test/resources/postgres/D005-1table3columns3rows2duplicates/mappeda.nq b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/mappeda.nq new file mode 100644 index 0000000..cc57ab1 --- /dev/null +++ b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/mappeda.nq @@ -0,0 +1,4 @@ + . + "3.0E1"^^ . + . + "2.0E1"^^ . diff --git a/src/test/resources/postgres/D005-1table3columns3rows2duplicates/mappedb.nq b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/mappedb.nq new file mode 100644 index 0000000..a1a052d --- /dev/null +++ b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/mappedb.nq @@ -0,0 +1,9 @@ +_:BobSmith . +_:BobSmith "Bob" . +_:BobSmith "Smith" . +_:BobSmith "3.0E1"^^ . +_:SueJones . +_:SueJones "Sue" . +_:SueJones "Jones" . +_:SueJones "2.0E1"^^ . + \ No newline at end of file diff --git a/src/test/resources/postgres/D005-1table3columns3rows2duplicates/r2rmla.ttl b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/r2rmla.ttl new file mode 100644 index 0000000..4fa9099 --- /dev/null +++ b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/r2rmla.ttl @@ -0,0 +1,21 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"IOUs\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"fname\"};{\"lname\"}"; + rr:class foaf:Person ]; + + rr:predicateObjectMap + [ + rr:predicate ex:owes ; + rr:objectMap [ rr:column "\"amount\""; ] + ]; + + . diff --git a/src/test/resources/postgres/D005-1table3columns3rows2duplicates/r2rmlb.ttl b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/r2rmlb.ttl new file mode 100644 index 0000000..980d511 --- /dev/null +++ b/src/test/resources/postgres/D005-1table3columns3rows2duplicates/r2rmlb.ttl @@ -0,0 +1,33 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"IOUs\"" ]; + + rr:subjectMap [ rr:template "{\"fname\"}_{\"lname\"}"; + rr:class ; + rr:termType rr:BlankNode; ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ rr:column "\"fname\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ rr:column "\"lname\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ rr:column "\"amount\""; ] + ]; + . diff --git a/src/test/resources/D006-1table1primarykey1column1row/create.sql b/src/test/resources/postgres/D006-1table1primarykey1column1row/create.sql similarity index 100% rename from src/test/resources/D006-1table1primarykey1column1row/create.sql rename to src/test/resources/postgres/D006-1table1primarykey1column1row/create.sql diff --git a/src/test/resources/postgres/D006-1table1primarykey1column1row/directGraph.ttl b/src/test/resources/postgres/D006-1table1primarykey1column1row/directGraph.ttl new file mode 100644 index 0000000..c6159f2 --- /dev/null +++ b/src/test/resources/postgres/D006-1table1primarykey1column1row/directGraph.ttl @@ -0,0 +1,5 @@ +@base . + + "Venus" . + . + diff --git a/src/test/resources/postgres/D006-1table1primarykey1column1row/manifest.ttl b/src/test/resources/postgres/D006-1table1primarykey1column1row/manifest.ttl new file mode 100644 index 0000000..22df9e8 --- /dev/null +++ b/src/test/resources/postgres/D006-1table1primarykey1column1row/manifest.ttl @@ -0,0 +1,34 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, one primary key, one column, one row" ; + dcterms:identifier "D006-1table1primarykey1column1row" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of subjects"; + dcterms:identifier "DirectGraphTC0006" ; + test:purpose "Tests the generation of subjects" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Long form of R2RML by using rr:constant in rr:subjectMap, rr:predicateMap, rr:objectMap and rr:graphMap" ; + dcterms:identifier "R2RMLTC0006a" ; + test:purpose "Tests the use of rr:constant in rr:subjectMap, rr:predicateMap, rr:objectMap and rr:graphMap" ; + test:specificationReference "#constant" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. diff --git a/src/test/resources/postgres/D006-1table1primarykey1column1row/mappeda.nq b/src/test/resources/postgres/D006-1table1primarykey1column1row/mappeda.nq new file mode 100644 index 0000000..f7ebd9e --- /dev/null +++ b/src/test/resources/postgres/D006-1table1primarykey1column1row/mappeda.nq @@ -0,0 +1 @@ + "Bad Student" . diff --git a/src/test/resources/postgres/D006-1table1primarykey1column1row/r2rmla.ttl b/src/test/resources/postgres/D006-1table1primarykey1column1row/r2rmla.ttl new file mode 100644 index 0000000..b40184f --- /dev/null +++ b/src/test/resources/postgres/D006-1table1primarykey1column1row/r2rmla.ttl @@ -0,0 +1,20 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:constant ex:BadStudent; + rr:graphMap [ rr:constant ]; ]; + + rr:predicateObjectMap + [ + rr:predicateMap [ rr:constant ex:description ]; + rr:objectMap [ rr:constant "Bad Student"; ] + ] + . diff --git a/src/test/resources/D007-1table1primarykey2columns1row/create.sql b/src/test/resources/postgres/D007-1table1primarykey2columns1row/create.sql similarity index 100% rename from src/test/resources/D007-1table1primarykey2columns1row/create.sql rename to src/test/resources/postgres/D007-1table1primarykey2columns1row/create.sql diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/directGraph.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/directGraph.ttl new file mode 100644 index 0000000..719856a --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/directGraph.ttl @@ -0,0 +1,5 @@ +@base . + + "10"^^ . + "Venus" . + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/manifest.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/manifest.ttl new file mode 100644 index 0000000..726c3c5 --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/manifest.ttl @@ -0,0 +1,118 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, one primary key, two columns, one row" ; + dcterms:identifier "D007-1table1primarykey2columns1row" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , , , , , , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of a subject"; + dcterms:identifier "DirectGraphTC0007" ; + test:purpose "Tests the generation of a subject" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Typing resources by relying on rdf:type predicate" ; + dcterms:identifier "R2RMLTC0007a" ; + test:purpose "Tests the typing resources by relying on rdf:type predicate" ; + test:specificationReference "#typing" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Assigning triples to Named Graphs" ; + dcterms:identifier "R2RMLTC0007b" ; + test:purpose "Tests the generation of triples to a named graph" ; + test:specificationReference "#named-graphs" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "One column mapping, using rr:class" ; + dcterms:identifier "R2RMLTC0007c" ; + test:purpose "Tests subjectmap with more than one class IRIs, rr:class" ; + test:specificationReference "#typing" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedc.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlc.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "One column mapping, specifying an rr:predicateObjectMap with rdf:type" ; + dcterms:identifier "R2RMLTC0007d" ; + test:purpose " Tests subjectmap with an alternative of having rr:class, i.e., by specifying an rr:predicateObjectMap with predicate rdf:type" ; + test:specificationReference "#typing" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedd.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmld.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "One column mapping, using rr:graphMap and rr:class" ; + dcterms:identifier "R2RMLTC0007e" ; + test:purpose "Tests subjectmap with rr:graphMap and rr:class" ; + test:specificationReference "#named-graphs" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappede.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmle.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "One column mapping, using rr:graphMap and specifying an rr:predicateObjectMap with rdf:type" ; + dcterms:identifier "R2RMLTC0007f" ; + test:purpose "Tests subjectmap with rr:graphMap and specifying an rr:predicateObjectMap with predicate rdf:type" ; + test:specificationReference "#named-graphs" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedf.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlf.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Assigning triples to the default graph" ; + dcterms:identifier "R2RMLTC0007g" ; + test:purpose "Tests the generation of triples to the default graph" ; + test:specificationReference "#named-graphs" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedg.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlg.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Assigning triples to a non-IRI named graph" ; + dcterms:identifier "R2RMLTC0007h" ; + test:purpose "Tests the generation of triples to a non-IRI named graph, which is an error" ; + test:specificationReference "#named-graphs" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:mappingDocument "r2rmlh.ttl" ; +. diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappeda.nq b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappeda.nq new file mode 100644 index 0000000..3cededf --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappeda.nq @@ -0,0 +1 @@ + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedb.nq b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedb.nq new file mode 100644 index 0000000..43cc4cf --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedb.nq @@ -0,0 +1,2 @@ + "Venus" . + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedc.nq b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedc.nq new file mode 100644 index 0000000..a058546 --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedc.nq @@ -0,0 +1,4 @@ + "Venus" . + "10"^^ . + . + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedd.nq b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedd.nq new file mode 100644 index 0000000..a058546 --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedd.nq @@ -0,0 +1,4 @@ + "Venus" . + "10"^^ . + . + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappede.nq b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappede.nq new file mode 100644 index 0000000..ff41285 --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappede.nq @@ -0,0 +1,3 @@ + "10"^^ . + "Venus" . + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedf.nq b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedf.nq new file mode 100644 index 0000000..a9de80c --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedf.nq @@ -0,0 +1,3 @@ + . + "Venus" . + "10"^^ . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedg.nq b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedg.nq new file mode 100644 index 0000000..7aed66f --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/mappedg.nq @@ -0,0 +1,2 @@ + "Venus" . + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmla.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmla.ttl new file mode 100644 index 0000000..81a61eb --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmla.ttl @@ -0,0 +1,20 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type ; + rr:object foaf:Person; + ]; + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlb.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlb.ttl new file mode 100644 index 0000000..1b7fc00 --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlb.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\""; ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; + rr:graph ex:PersonGraph; + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name; + rr:objectMap [ rr:column "\"Name\"" ] + ] + + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlc.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlc.ttl new file mode 100644 index 0000000..4a33a99 --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlc.ttl @@ -0,0 +1,31 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; + rr:class foaf:Person,ex:Student; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmld.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmld.ttl new file mode 100644 index 0000000..17915d3 --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmld.ttl @@ -0,0 +1,42 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object ex:Student; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmle.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmle.ttl new file mode 100644 index 0000000..c291bbe --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmle.ttl @@ -0,0 +1,31 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; + rr:graph ex:PersonGraph ; + rr:class foaf:Person + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlf.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlf.ttl new file mode 100644 index 0000000..2682e61 --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlf.ttl @@ -0,0 +1,35 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; + rr:graph ex:PersonGraph ; + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type ; + rr:object foaf:Person ; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlg.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlg.ttl new file mode 100644 index 0000000..e64702e --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlg.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\""; ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; + rr:graph rr:defaultGraph; + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name; + rr:objectMap [ rr:column "\"Name\"" ] + ] + + . diff --git a/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlh.ttl b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlh.ttl new file mode 100644 index 0000000..aad7112 --- /dev/null +++ b/src/test/resources/postgres/D007-1table1primarykey2columns1row/r2rmlh.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\""; ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; + rr:graphMap [ rr:column "\"Name\""; rr:termType rr:Literal; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name; + rr:objectMap [ rr:column "\"Name\"" ] + ] + + . diff --git a/src/test/resources/D008-1table1compositeprimarykey3columns1row/create.sql b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/create.sql similarity index 100% rename from src/test/resources/D008-1table1compositeprimarykey3columns1row/create.sql rename to src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/create.sql diff --git a/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/directGraph.ttl b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/directGraph.ttl new file mode 100644 index 0000000..0b42724 --- /dev/null +++ b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/directGraph.ttl @@ -0,0 +1,7 @@ +@base . + + "10"^^ . + "Venus Williams" . + "Tennis" . + . + diff --git a/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/manifest.ttl b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/manifest.ttl new file mode 100644 index 0000000..a61defe --- /dev/null +++ b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/manifest.ttl @@ -0,0 +1,58 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, a composite primary key, three columns, one row" ; + dcterms:identifier "D008-1table1compositeprimarykey3columns1row" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of direct graph from a table with composite primary key"; + dcterms:identifier "DirectGraphTC0008" ; + test:purpose "Tests the generation of a direct graph from a table with a composite primary key" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples to a target graph by using rr:graphMap and rr:template" ; + dcterms:identifier "R2RMLTC0008a" ; + test:purpose "Test that results of the mapping can be directed to a target graph by using rr:graphMap and rr:template" ; + test:specificationReference "#named-graphs" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples referencing object map" ; + dcterms:identifier "R2RMLTC0008b" ; + test:purpose "Tests the mapping specification referencing object map without join" ; + test:specificationReference "#dfn-referencing-object-map" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples by using multiple predicateMaps within a rr:predicateObjectMap" ; + dcterms:identifier "R2RMLTC0008c" ; + test:purpose "Tests the generation of triples by using multiple predicateMaps within a rr:predicateObjectMap" ; + test:specificationReference "#physical-tables" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedc.nq" ; + rdb2rdftest:mappingDocument "r2rmlc.ttl" ; +. diff --git a/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/mappeda.nq b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/mappeda.nq new file mode 100644 index 0000000..cdbcd49 --- /dev/null +++ b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/mappeda.nq @@ -0,0 +1,5 @@ + . + "Venus Williams" . + "10"^^ . + "Tennis" . + diff --git a/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/mappedb.nq b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/mappedb.nq new file mode 100644 index 0000000..c83057b --- /dev/null +++ b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/mappedb.nq @@ -0,0 +1,6 @@ + . + "Venus Williams" . + "10"^^ . + . + . + diff --git a/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/mappedc.nq b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/mappedc.nq new file mode 100644 index 0000000..d36f700 --- /dev/null +++ b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/mappedc.nq @@ -0,0 +1,3 @@ + "Venus Williams" . + "Venus Williams" . + diff --git a/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/r2rmla.ttl b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/r2rmla.ttl new file mode 100644 index 0000000..3abaa0f --- /dev/null +++ b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/r2rmla.ttl @@ -0,0 +1,42 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; + rr:graphMap [ rr:template "http://example.com/graph/Student/{\"ID\"}/{\"Name\"}"; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type ; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:Sport ; + rr:objectMap [ rr:column "\"Sport\"" ] + ] + + . diff --git a/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/r2rmlb.ttl b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/r2rmlb.ttl new file mode 100644 index 0000000..7b4dccf --- /dev/null +++ b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/r2rmlb.ttl @@ -0,0 +1,62 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix activity: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"Sport\"}"; ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type ; + rr:object activity:Sport ; + ]; +. + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type ; + rr:object foaf:Person ; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:Sport ; + rr:objectMap + ] + + . + + + + a rr:RefObjectMap; + rr:parentTriplesMap ; +. + + diff --git a/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/r2rmlc.ttl b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/r2rmlc.ttl new file mode 100644 index 0000000..13df18f --- /dev/null +++ b/src/test/resources/postgres/D008-1table1compositeprimarykey3columns1row/r2rmlc.ttl @@ -0,0 +1,22 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{\"ID\"}/{\"Name\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:predicate ex:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ]; + . diff --git a/src/test/resources/D009-2tables1primarykey1foreignkey/create.sql b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/create.sql similarity index 100% rename from src/test/resources/D009-2tables1primarykey1foreignkey/create.sql rename to src/test/resources/postgres/D009-2tables1primarykey1foreignkey/create.sql diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/directGraph.ttl b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/directGraph.ttl new file mode 100644 index 0000000..672bf03 --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/directGraph.ttl @@ -0,0 +1,14 @@ +@base . + + . + "10"^^ . + "Venus Williams" . + "100"^^ . + . + . + "20"^^ . + "Demi Moore" . + "100"^^ . + . + "Tennis" . + diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/manifest.ttl b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/manifest.ttl new file mode 100644 index 0000000..3c6a7c0 --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/manifest.ttl @@ -0,0 +1,70 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "Two tables, a primary key, a foreign key" ; + dcterms:identifier "D009-2tables1primarykey1foreignkey" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Two tables 1 primary key 1 foreign key"; + dcterms:identifier "DirectGraphTC0009" ; + test:purpose "Tests two tables with a primary key and a foreign key" ; + test:specificationReference "#fk-candidate" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples from foreign key relations" ; + dcterms:identifier "R2RMLTC0009a" ; + test:purpose "Test foreign key relationships among logical tables" ; + test:specificationReference "#foreign-key" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples to multiple graphs" ; + dcterms:identifier "R2RMLTC0009b" ; + test:purpose "Test that results from distinct parts of the mapping can be directed to different target graphs." ; + test:specificationReference "#named-graphs" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Unnamed column in a logical table" ; + dcterms:identifier "R2RMLTC0009c" ; + test:purpose "Test a logical table with unnamed column." ; + test:specificationReference "#dfn-sql-query" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedc.nq" ; + rdb2rdftest:mappingDocument "r2rmlc.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Named column in logical table" ; + dcterms:identifier "R2RMLTC0009d" ; + test:purpose "Test a logical table named column." ; + test:specificationReference "#dfn-sql-query" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedd.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmld.ttl" ; +. diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappeda.nq b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappeda.nq new file mode 100644 index 0000000..23189e0 --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappeda.nq @@ -0,0 +1,4 @@ + "Venus Williams" . + "Demi Moore" . + "Tennis" . + . \ No newline at end of file diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappedb.nq b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappedb.nq new file mode 100644 index 0000000..292e12d --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappedb.nq @@ -0,0 +1,8 @@ + . + "Venus Williams" . + . + "Demi Moore" . + . + "Tennis" . + . + . \ No newline at end of file diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappedc.nq b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappedc.nq new file mode 100644 index 0000000..bd1d759 --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappedc.nq @@ -0,0 +1,3 @@ + "Venus Williams" . + "Demi Moore" . + diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappedd.nq b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappedd.nq new file mode 100644 index 0000000..831d247 --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/mappedd.nq @@ -0,0 +1,6 @@ + "Venus Williams" . + "1"^^ . + "Demi Moore" . + "0"^^ . + + diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmla.ttl b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmla.ttl new file mode 100644 index 0000000..49fa9e0 --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmla.ttl @@ -0,0 +1,47 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rdfs: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/resource/student_{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\""; ]; + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ + a rr:RefObjectMap ; + rr:parentTriplesMap ; + rr:joinCondition [ + rr:child "\"Sport\"" ; + rr:parent "\"ID\"" ; + ] + ]; + ]; + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Sport\"" ]; + + rr:subjectMap [ rr:template "http://example.com/resource/sport_{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate rdfs:label ; + rr:objectMap [ rr:column "\"Name\""; ]; + ]; + . diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmlb.ttl b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmlb.ttl new file mode 100644 index 0000000..355929f --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmlb.ttl @@ -0,0 +1,59 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rdfs: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap + [ + rr:template "http://example.com/resource/student_{\"ID\"}"; + rr:class ; + rr:graph ; + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\""; ]; + rr:graph ; + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ + a rr:RefObjectMap ; + rr:parentTriplesMap ; + rr:joinCondition [ + rr:child "\"Sport\"" ; + rr:parent "\"ID\"" ; + ] + ]; + rr:graph ; + ]; + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Sport\"" ]; + + rr:subjectMap + [ + rr:template "http://example.com/resource/sport_{\"ID\"}"; + rr:class ; + rr:graph ; + ]; + + rr:predicateObjectMap + [ + rr:predicate rdfs:label ; + rr:objectMap [ rr:column "\"Name\""; ]; + ]; + . diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmlc.ttl b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmlc.ttl new file mode 100644 index 0000000..4016ebd --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmlc.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rdfs: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:sqlQuery """ + SELECT "Name", COUNT("Sport") + FROM "Student" + GROUP BY "Name" + """ ]; + + rr:subjectMap [ rr:template "http://example.com/resource/student_{\"Name\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\""; ]; + ]; + . + diff --git a/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmld.ttl b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmld.ttl new file mode 100644 index 0000000..c841ae5 --- /dev/null +++ b/src/test/resources/postgres/D009-2tables1primarykey1foreignkey/r2rmld.ttl @@ -0,0 +1,31 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rdfs: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:sqlQuery """ + SELECT "Name", COUNT("Sport") as SPORTCOUNT + FROM "Student" + GROUP BY "Name" + """ ]; + + rr:subjectMap [ rr:template "http://example.com/resource/student_{\"Name\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\""; ]; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:numSport ; + rr:objectMap [ rr:column "SPORTCOUNT"; ]; + ]; + . + diff --git a/src/test/resources/D010-1table1primarykey3colums3rows/create.sql b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/create.sql similarity index 100% rename from src/test/resources/D010-1table1primarykey3colums3rows/create.sql rename to src/test/resources/postgres/D010-1table1primarykey3colums3rows/create.sql diff --git a/src/test/resources/postgres/D010-1table1primarykey3colums3rows/directGraph.ttl b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/directGraph.ttl new file mode 100644 index 0000000..730e485 --- /dev/null +++ b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/directGraph.ttl @@ -0,0 +1,14 @@ +@base . + + . + "1"^^ . + "Bolivia, Plurinational State of" . + "BO" . + . + "2"^^ . + "Ireland" . + "IE" . + . + "3"^^ . + "Saint Martin (French part)" . + "MF" . \ No newline at end of file diff --git a/src/test/resources/postgres/D010-1table1primarykey3colums3rows/manifest.ttl b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/manifest.ttl new file mode 100644 index 0000000..e78be1c --- /dev/null +++ b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/manifest.ttl @@ -0,0 +1,60 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, a primary key, three columns, three rows" ; + dcterms:identifier "D010-1table1primarykey3colums3rows" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of direct graph for table names with spaces"; + dcterms:identifier "DirectGraphTC0010" ; + test:purpose "Tests the generation of the direct graph for table names with spaces" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Template with table column with special chars" ; + dcterms:identifier "R2RMLTC0010a" ; + test:purpose "Tests a template with blank space in column value" ; + test:specificationReference "#dfn-template-valued-term-map" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Template with table columns with special chars" ; + dcterms:identifier "R2RMLTC0010b" ; + test:purpose "Tests a template with special chars in column value" ; + test:specificationReference "#dfn-template-valued-term-map" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Template with table columns with special chars and backslashes" ; + dcterms:identifier "R2RMLTC0010c" ; + test:purpose "Tests a template with special chars in column value and backslash escapes in string templates" ; + test:specificationReference "#dfn-template-valued-term-map" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedc.nq" ; + rdb2rdftest:mappingDocument "r2rmlc.ttl" ; +. + + diff --git a/src/test/resources/postgres/D010-1table1primarykey3colums3rows/mappeda.nq b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/mappeda.nq new file mode 100644 index 0000000..9c16540 --- /dev/null +++ b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/mappeda.nq @@ -0,0 +1,3 @@ + "Bolivia, Plurinational State of" . + "Ireland" . + "Saint Martin (French part)" . diff --git a/src/test/resources/postgres/D010-1table1primarykey3colums3rows/mappedb.nq b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/mappedb.nq new file mode 100644 index 0000000..ef70af0 --- /dev/null +++ b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/mappedb.nq @@ -0,0 +1,3 @@ + "Bolivia, Plurinational State of" . + "Ireland" . + "Saint Martin (French part)" . diff --git a/src/test/resources/postgres/D010-1table1primarykey3colums3rows/mappedc.nq b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/mappedc.nq new file mode 100644 index 0000000..b633c26 --- /dev/null +++ b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/mappedc.nq @@ -0,0 +1,3 @@ + "{{{ BO }}}" . + "{{{ IE }}}" . + "{{{ MF }}}" . diff --git a/src/test/resources/postgres/D010-1table1primarykey3colums3rows/r2rmla.ttl b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/r2rmla.ttl new file mode 100644 index 0000000..eed618d --- /dev/null +++ b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/r2rmla.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Country Info\""; ] ; + + rr:subjectMap [ rr:template "http://example.com/{\"Country Code\"}" ]; + + rr:predicateObjectMap + [ + rr:predicate ex:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/postgres/D010-1table1primarykey3colums3rows/r2rmlb.ttl b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/r2rmlb.ttl new file mode 100644 index 0000000..8cbca7b --- /dev/null +++ b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/r2rmlb.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Country Info\""; ] ; + + rr:subjectMap [ rr:template "http://example.com/{\"Country Code\"}/{\"Name\"}" ]; + + rr:predicateObjectMap + [ + rr:predicate ex:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/postgres/D010-1table1primarykey3colums3rows/r2rmlc.ttl b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/r2rmlc.ttl new file mode 100644 index 0000000..6414c9a --- /dev/null +++ b/src/test/resources/postgres/D010-1table1primarykey3colums3rows/r2rmlc.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Country Info\""; ] ; + + rr:subjectMap [ rr:template "http://example.com/{\"Country Code\"}/{\"Name\"}" ]; + + rr:predicateObjectMap + [ + rr:predicate ex:code ; + rr:objectMap [ rr:template "\\{\\{\\{ {\"ISO 3166\"} \\}\\}\\}"; rr:termType rr:Literal; ] + ] + . diff --git a/src/test/resources/D011-M2MRelations/create.sql b/src/test/resources/postgres/D011-M2MRelations/create.sql similarity index 100% rename from src/test/resources/D011-M2MRelations/create.sql rename to src/test/resources/postgres/D011-M2MRelations/create.sql diff --git a/src/test/resources/postgres/D011-M2MRelations/directGraph.ttl b/src/test/resources/postgres/D011-M2MRelations/directGraph.ttl new file mode 100644 index 0000000..4690e09 --- /dev/null +++ b/src/test/resources/postgres/D011-M2MRelations/directGraph.ttl @@ -0,0 +1,44 @@ +@base . + + . + "Venus". + "10"^^ . + "Williams" . + . + "Fernando". + "11"^^ . + "Alonso" . + . + "David". + "12"^^ . + "Villa" . + . + "10"^^ . + . + "110"^^ . + . + . + "11"^^ . + . + "111"^^ . + . + . + "11"^^ . + . + "112"^^ . + . + . + "12"^^ . + . + "111"^^ . + . + . + "110"^^ . + "Tennis" . + . + "111"^^ . + "Football" . + . + "112"^^ . + "Formula1" . + diff --git a/src/test/resources/postgres/D011-M2MRelations/manifest.ttl b/src/test/resources/postgres/D011-M2MRelations/manifest.ttl new file mode 100644 index 0000000..01ffeab --- /dev/null +++ b/src/test/resources/postgres/D011-M2MRelations/manifest.ttl @@ -0,0 +1,46 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "Database with many to many relations" ; + dcterms:identifier "D011-M2MRelations" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Many to Many relations"; + dcterms:identifier "DirectGraphTC0011" ; + test:purpose "Tests the generation of triples from tables M to M relations" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "M to M relation, by using a SQL query" ; + dcterms:identifier "R2RMLTC0011a" ; + test:purpose "Tests, M to M relations, by using a SQL query" ; + test:specificationReference "#r2rml-views" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "M to M relation, by using an additional Triples Map" ; + dcterms:identifier "R2RMLTC0011b" ; + test:purpose "Tests, M to M relations, by using an additional Triples Map" ; + test:specificationReference "#physical-tables" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. diff --git a/src/test/resources/postgres/D011-M2MRelations/mappeda.nq b/src/test/resources/postgres/D011-M2MRelations/mappeda.nq new file mode 100644 index 0000000..a0bdb9f --- /dev/null +++ b/src/test/resources/postgres/D011-M2MRelations/mappeda.nq @@ -0,0 +1,19 @@ + "Tennis" . + "110"^^ . + . + "Williams" . + "Venus" . + "10"^^ . + "Football" . + "111"^^ . + . + "Villa" . + "David" . + "12"^^ . + "Formula1" . + "112"^^ . + "Alonso" . + "Fernando" . + "11"^^ . + . + . diff --git a/src/test/resources/postgres/D011-M2MRelations/mappedb.nq b/src/test/resources/postgres/D011-M2MRelations/mappedb.nq new file mode 100644 index 0000000..e794a4e --- /dev/null +++ b/src/test/resources/postgres/D011-M2MRelations/mappedb.nq @@ -0,0 +1,16 @@ + "Williams" . + "Venus" . + "Villa" . + "David" . + "Alonso" . + "Fernando" . + "Tennis" . + "110"^^ . + "Football" . + "111"^^ . + "Formula1" . + "112"^^ . + . + . + . + . diff --git a/src/test/resources/D011-M2MRelations/r2rmla.ttl b/src/test/resources/postgres/D011-M2MRelations/r2rmla.ttl similarity index 100% rename from src/test/resources/D011-M2MRelations/r2rmla.ttl rename to src/test/resources/postgres/D011-M2MRelations/r2rmla.ttl diff --git a/src/test/resources/postgres/D011-M2MRelations/r2rmlb.ttl b/src/test/resources/postgres/D011-M2MRelations/r2rmlb.ttl new file mode 100644 index 0000000..0a00875 --- /dev/null +++ b/src/test/resources/postgres/D011-M2MRelations/r2rmlb.ttl @@ -0,0 +1,59 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\""; ] ; + + rr:subjectMap [ rr:template "http://example.com/student/{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate ex:firstName ; + rr:objectMap [ rr:column "\"FirstName\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:lastName ; + rr:objectMap [ rr:column "\"LastName\"" ] + ] + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Sport\""; ] ; + + rr:subjectMap [ rr:template "http://example.com/sport/{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:description ; + rr:objectMap [ rr:column "\"Description\"" ] + ] + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student_Sport\"" ]; + + rr:subjectMap [ rr:template "http://example.com/student/{\"ID_Student\"}" ]; + + rr:predicateObjectMap [ + rr:predicate ex:plays ; + rr:objectMap [ rr:template "http://example.com/sport/{\"ID_Sport\"}" ]; + ]. + + diff --git a/src/test/resources/D012-2tables2duplicates0nulls/create.sql b/src/test/resources/postgres/D012-2tables2duplicates0nulls/create.sql similarity index 100% rename from src/test/resources/D012-2tables2duplicates0nulls/create.sql rename to src/test/resources/postgres/D012-2tables2duplicates0nulls/create.sql diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/directGraph.ttl b/src/test/resources/postgres/D012-2tables2duplicates0nulls/directGraph.ttl new file mode 100644 index 0000000..3acd1dc --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/directGraph.ttl @@ -0,0 +1,26 @@ +@base . + +_:a . +_:a "Bob" . +_:a "Smith" . +_:a "3.0E1"^^ . +_:b . +_:b "Sue" . +_:b "Jones" . +_:b "2.0E1"^^ . +_:c . +_:c "Bob" . +_:c "Smith" . +_:c "3.0E1"^^ . +_:d . +_:d "Bob" . +_:d "Smith" . +_:d "London" . +_:e . +_:e "Sue" . +_:e "Jones" . +_:e "Madrid" . +_:f . +_:f "Bob" . +_:f "Smith" . +_:f "London" . diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/manifest.ttl b/src/test/resources/postgres/D012-2tables2duplicates0nulls/manifest.ttl new file mode 100644 index 0000000..3f1a007 --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/manifest.ttl @@ -0,0 +1,82 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@prefix xsd: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "Two tables, two duplicate records, zero nulls, no primary key" ; + dcterms:identifier "D012-2tables2duplicates0nulls" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , , , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of direct graph from a database without primary keys"; + dcterms:identifier "DirectGraphTC0012" ; + test:purpose "Test the generation of direct graph from a database without primary keys, by creating subject BlankNodes" ; + test:specificationReference "#no-pk" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + a rdb2rdftest:R2RML ; + dcterms:title "Duplicate tuples generate same blank node" ; + dcterms:identifier "R2RMLTC0012a" ; + test:purpose "Tests that blank nodes with same identifier and in the same graph but generated by different logical rows are considered equivalent." ; + test:specificationReference "#blank-nodes" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Duplicate tuples generate same blank node" ; + dcterms:identifier "R2RMLTC0012b" ; + test:purpose "Tests that blank nodes with same identifier and in the same graph but generated by different logical rows are considered equivalent." ; + test:specificationReference "#blank-nodes" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "TriplesMap without subjectMap" ; + dcterms:identifier "R2RMLTC0012c" ; + test:purpose "Tests a R2RML with missing information, TriplesMap without subjectMap." ; + test:specificationReference "#dfn-template-valued-term-map" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:mappingDocument "r2rmlc.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "TriplesMap with two subjectMap" ; + dcterms:identifier "R2RMLTC0012d" ; + test:purpose "Tests a R2RML with wrong information, TriplesMap with two subjectMap." ; + test:specificationReference "#dfn-template-valued-term-map" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:mappingDocument "r2rmld.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Default mapping" ; + dcterms:identifier "R2RMLTC0012e" ; + test:purpose "Tests the generation of a default mapping for tables without a primary key." ; + test:specificationReference "#default-mappings" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappede.nq" ; + rdb2rdftest:mappingDocument "r2rmle.ttl" ; +. diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/mappeda.nq b/src/test/resources/postgres/D012-2tables2duplicates0nulls/mappeda.nq new file mode 100644 index 0000000..34bb480 --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/mappeda.nq @@ -0,0 +1,4 @@ +_:BobSmith30 "3.0E1"^^ . +_:BobSmith30 "Bob Smith" . +_:SueJones20 "2.0E1"^^ . +_:SueJones20 "Sue Jones" . diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/mappedb.nq b/src/test/resources/postgres/D012-2tables2duplicates0nulls/mappedb.nq new file mode 100644 index 0000000..1bcb667 --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/mappedb.nq @@ -0,0 +1,4 @@ +_:BobSmith "London" . +_:BobSmith "Bob Smith" . +_:SueJones "Madrid" . +_:SueJones "Sue Jones" . \ No newline at end of file diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/mappede.nq b/src/test/resources/postgres/D012-2tables2duplicates0nulls/mappede.nq new file mode 100644 index 0000000..0205c56 --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/mappede.nq @@ -0,0 +1,17 @@ +_:BobSmith30 . +_:BobSmith30 "Bob" . +_:BobSmith30 "Smith" . +_:BobSmith30 "3.0E1"^^ . +_:SueJones20 . +_:SueJones20 "Sue" . +_:SueJones20 "Jones" . +_:SueJones20 "2.0E1"^^ . +_:BobSmithLondon . +_:BobSmithLondon "Bob" . +_:BobSmithLondon "Smith" . +_:BobSmithLondon "London" . +_:SueJonesMadrid . +_:SueJonesMadrid "Sue" . +_:SueJonesMadrid "Jones" . +_:SueJonesMadrid "Madrid" . + diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmla.ttl b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmla.ttl new file mode 100644 index 0000000..2eb0477 --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmla.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"IOUs\"" ]; + + rr:subjectMap [ rr:template "{\"fname\"}_{\"lname\"}_{\"amount\"}"; rr:termType rr:BlankNode; ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ + rr:template "{\"fname\"} {\"lname\"}"; + rr:termType rr:Literal ; + ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:amount ; + rr:objectMap [ + rr:column "\"amount\""; + ] + ]; + . diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmlb.ttl b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmlb.ttl new file mode 100644 index 0000000..5625a74 --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmlb.ttl @@ -0,0 +1,41 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"IOUs\"" ]; + + rr:subjectMap [ + rr:template "{\"fname\"}_{\"lname\"}"; + rr:termType rr:BlankNode ; + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ + rr:template "{\"fname\"} {\"lname\"}"; + rr:termType rr:Literal ; + ] + ]; + . + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Lives\"" ]; + + rr:subjectMap [ + rr:template "{\"fname\"}_{\"lname\"}"; + rr:termType rr:BlankNode; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:city ; + rr:objectMap [ rr:constant "At"; ] + ]; + . diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmlc.ttl b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmlc.ttl new file mode 100644 index 0000000..49fce1b --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmlc.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"IOUs\"" ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ + rr:template "{\"fname\"} {\"lname\"}"; + rr:termType rr:Literal ; + ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:amount ; + rr:objectMap [ rr:column "\"amount\""; ] + ]; + . diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmld.ttl b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmld.ttl new file mode 100644 index 0000000..b9cbc16 --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmld.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"IOUs\"" ]; + + rr:subjectMap [ + rr:template "{\"fname\"}_{\"lname\"}_{\"amount\"}"; + ]; + + rr:subjectMap [ + rr:template "{\"amount\"}_{\"fname\"}_{\"lname\"}"; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:amount ; + rr:objectMap [ rr:column "\"amount\""; ] + ]; + . diff --git a/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmle.ttl b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmle.ttl new file mode 100644 index 0000000..0e3832c --- /dev/null +++ b/src/test/resources/postgres/D012-2tables2duplicates0nulls/r2rmle.ttl @@ -0,0 +1,68 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rdf: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"IOUs\"" ]; + + rr:subjectMap [ rr:template "{\"fname\"}_{\"lname\"}_{\"amount\"}"; rr:termType rr:BlankNode; ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type; + rr:object ; + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ rr:column "\"fname\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ rr:column "\"lname\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ rr:column "\"amount\""; ] + ]; + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Lives\"" ]; + + rr:subjectMap [ rr:template "{\"fname\"}_{\"lname\"}_{\"city\"}"; rr:termType rr:BlankNode; ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type; + rr:object ; + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ rr:column "\"fname\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ rr:column "\"lname\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ; + rr:objectMap [ rr:column "\"city\""; ] + ]; + . diff --git a/src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/create.sql b/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/create.sql similarity index 100% rename from src/test/resources/D013-1table1primarykey3columns2rows1nullvalue/create.sql rename to src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/create.sql diff --git a/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/directGraph.ttl b/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/directGraph.ttl new file mode 100644 index 0000000..a6b73b2 --- /dev/null +++ b/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/directGraph.ttl @@ -0,0 +1,9 @@ +@base . + + . + "1"^^ . + "Alice" . + . + "2"^^ . + "Bob" . + "September, 2010" . diff --git a/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/manifest.ttl b/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/manifest.ttl new file mode 100644 index 0000000..2d78539 --- /dev/null +++ b/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/manifest.ttl @@ -0,0 +1,34 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, one primary key, three columns, two rows, a null value" ; + dcterms:identifier "D013-1table1primarykey3columns2rows1nullvalue" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of a direct graph from a table with NULL values"; + dcterms:identifier "DirectGraphTC0013" ; + test:purpose "Tests the generation of a Direct Graph from a table with NULL values" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of empty triples from referenced columns that have null values" ; + dcterms:identifier "R2RMLTC0013a" ; + test:purpose "Tests the generation of empty triples from referenced columns that have null values" ; + test:specificationReference "#dfn-template-valued-term-map" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. diff --git a/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/mappeda.nq b/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/mappeda.nq new file mode 100644 index 0000000..6060858 --- /dev/null +++ b/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/mappeda.nq @@ -0,0 +1,2 @@ + "September, 2010" . + diff --git a/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/r2rmla.ttl b/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/r2rmla.ttl new file mode 100644 index 0000000..9a221f1 --- /dev/null +++ b/src/test/resources/postgres/D013-1table1primarykey3columns2rows1nullvalue/r2rmla.ttl @@ -0,0 +1,21 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Person\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Person/{\"ID\"}/{\"Name\"}/{\"DateOfBirth\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate ex:BirthDay ; + rr:objectMap [ rr:column "\"DateOfBirth\"" ] + ] + . diff --git a/src/test/resources/D014-3tables1primarykey1foreignkey/create.sql b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/create.sql similarity index 100% rename from src/test/resources/D014-3tables1primarykey1foreignkey/create.sql rename to src/test/resources/postgres/D014-3tables1primarykey1foreignkey/create.sql diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/directGraph.ttl b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/directGraph.ttl new file mode 100644 index 0000000..b93ebba --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/directGraph.ttl @@ -0,0 +1,23 @@ +@base . + + . + "7369"^^ . + "10"^^ . + _:c . + "SMITH" . + "CLERK" . + "PART_TIME" . +_:a . +_:a "7369"^^ . +_:a "Playing" . +_:a "Soccer" . +_:b . +_:b "7369"^^ . +_:b "Watching" . +_:b "Basketball" . +_:c . +_:c "10"^^ . +_:c "APPSERVER" . +_:c "NEW YORK" . + + diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/manifest.ttl b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/manifest.ttl new file mode 100644 index 0000000..ccc7391 --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/manifest.ttl @@ -0,0 +1,71 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@prefix xsd: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "3 tables, one primary key, one foreign key" ; + dcterms:identifier "D014-3tables1primarykey1foreignkey" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of direct graph from a database with primary key referencing candidate key"; + dcterms:identifier "DirectGraphTC0014" ; + test:purpose "Test the generation of direct graph from a database with primary key referencing candidate key"; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Subjectmap with rr:inverseExpression" ; + dcterms:identifier "R2RMLTC0014a" ; + test:purpose "Tests a rr:subjectMap with rr:inverseExpression" ; + test:specificationReference "#inverse" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Triplesmaps with rr:inverseExpression and rr:joinCondition" ; + dcterms:identifier "R2RMLTC0014b" ; + test:purpose "Test two triplesmaps, one with a rr:inverseExpression and the other with a rr:joinCondition for foerign key relations" ; + test:specificationReference "#dfn-join-condition" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Triplesmaps with rr:inverseExpression, rr:joinCondition, and referencing object maps" ; + dcterms:identifier "R2RMLTC0014c" ; + test:purpose "Triplesmaps with rr:inverseExpression, rr:joinCondition, and referencing object maps" ; + test:specificationReference "#foreign-key" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappedc.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmlc.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "three tables, one primary key, one foreign key" ; + dcterms:identifier "R2RMLTC0014d" ; + test:purpose "Test the translation of database type codes to IRIs" ; + test:specificationReference "#example-translationtable" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedd.nq" ; + rdb2rdftest:mappingDocument "r2rmld.ttl" ; +. \ No newline at end of file diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappeda.nq b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappeda.nq new file mode 100644 index 0000000..3a33fd6 --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappeda.nq @@ -0,0 +1 @@ +_:Department10 "NEW YORK" . diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappedb.nq b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappedb.nq new file mode 100644 index 0000000..2de69e9 --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappedb.nq @@ -0,0 +1,14 @@ + . + . + . + . + "7369"^^ . + "SMITH" . + "CLERK" . + "10"^^ . + "PART_TIME" . + _:Department10 . +_:Department10 "10"^^ . +_:Department10 "APPSERVER" . +_:Department10 "NEW YORK" . +_:Department10 "EXAMPLE Corporation" . \ No newline at end of file diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappedc.nq b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappedc.nq new file mode 100644 index 0000000..f3975e5 --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappedc.nq @@ -0,0 +1,14 @@ + . + . + . + . + "7369"^^ . + "CLERK" . + "10"^^ . + "PART_TIME" . + _:Department10 . + "SMITH" . +_:Department10 "10"^^ . +_:Department10 "APPSERVER" . +_:Department10 "NEW YORK" . +_:Department10 "EXAMPLE Corporation" . diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappedd.nq b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappedd.nq new file mode 100644 index 0000000..95b7277 --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/mappedd.nq @@ -0,0 +1 @@ + . \ No newline at end of file diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmla.ttl b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmla.ttl new file mode 100644 index 0000000..201511d --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmla.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix dept: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + rr:logicalTable [ rr:sqlQuery """ + SELECT ('Department' || "deptno") AS "deptId" + , "deptno" + , "dname" + , "loc" + FROM "DEPT" + """ ]; + + rr:subjectMap [ rr:column "\"deptId\""; rr:termType rr:BlankNode; + rr:inverseExpression "{\"deptno\"} = substr({\"deptId\"},length('Department')+1)"]; + + rr:predicateObjectMap + [ + rr:predicate dept:location ; + rr:objectMap [ rr:column "\"loc\"" ] + ]; + +. diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmlb.ttl b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmlb.ttl new file mode 100644 index 0000000..798bde8 --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmlb.ttl @@ -0,0 +1,131 @@ +@prefix rr: . +@prefix rdf: . +@prefix ex: . +@prefix emp: . +@prefix dept: . +@prefix likes: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + rr:logicalTable [ rr:sqlQuery """ + SELECT ('Department' || "deptno") AS deptId + , "deptno" + , "dname" + , "loc" + FROM "DEPT" + """ ]; + + rr:subjectMap [ rr:column "deptId"; rr:termType rr:BlankNode; + rr:inverseExpression "{\"deptno\"} = substr({deptId},length('Department')+1)" ]; + + rr:predicateObjectMap + [ + rr:predicate dept:deptno ; + rr:objectMap [ rr:column "\"deptno\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate dept:name ; + rr:objectMap [ rr:column "\"dname\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate dept:location ; + rr:objectMap [ rr:column "\"loc\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate dept:COMPANY ; + rr:object "EXAMPLE Corporation" + ] +. + + + a rr:TriplesMap; + rr:logicalTable [ rr:sqlQuery """ + SELECT ('http://example.com/emp/' || "empno") AS empURI + , "empno" + , "ename" + , ('http://example.com/emp/job/'|| "job") AS jobTypeURI + , "job" + , "deptno" + , ('http://example.com/emp/etype/'|| "etype") AS empTypeURI + , "etype" + , ('http://example.com/graph/'|| "job" || '/' || "etype") AS graphURI + FROM "EMP" + """ ]; + + rr:subjectMap [ rr:column "empURI"; ]; + + rr:predicateObjectMap + [ + rr:predicate emp:jobtype ; + rr:objectMap [ rr:column "jobTypeURI"; rr:termType rr:IRI; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type ; + rr:objectMap [ rr:column "jobTypeURI"; rr:termType rr:IRI; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:emptype ; + rr:objectMap [ rr:column "empTypeURI"; rr:termType rr:IRI; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type ; + rr:objectMap [ rr:column "empTypeURI"; rr:termType rr:IRI; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:empno ; + rr:objectMap [ rr:column "\"empno\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:name ; + rr:objectMap [ rr:column "\"ename\"" ]; + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:job ; + rr:objectMap [ rr:column "\"job\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:deptNum ; + rr:objectMap [ rr:column "\"deptno\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:etype ; + rr:objectMap [ rr:column "\"etype\"" ] + ]; + + rr:predicateObjectMap [ + rr:predicate emp:c_ref_deptno ; + rr:objectMap [ + a rr:RefObjectMap ; + rr:parentTriplesMap ; + rr:joinCondition [ + rr:child "\"deptno\""; + rr:parent "\"deptno\""; + ]; + ]; + ] + . diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmlc.ttl b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmlc.ttl new file mode 100644 index 0000000..f8f7fc1 --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmlc.ttl @@ -0,0 +1,131 @@ +@prefix rr: . +@prefix rdf: . +@prefix ex: . +@prefix emp: . +@prefix dept: . +@prefix likes: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + rr:logicalTable [ rr:sqlQuery """ + Select ('Department' || "deptno") AS deptId + , "deptno" + , "dname" + , "loc" + from "DEPT" + """ ]; + + rr:subjectMap [ rr:column "deptId"; rr:termType rr:BlankNode; + rr:inverseExpression "{\"deptno\"} = substr({deptId},length('Department')+1)"]; + + rr:predicateObjectMap + [ + rr:predicate dept:deptno ; + rr:objectMap [ rr:column "\"deptno\""; rr:datatype xsd:positiveInteger ] + ]; + + rr:predicateObjectMap + [ + rr:predicate dept:name ; + rr:objectMap [ rr:column "\"dname\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate dept:location ; + rr:objectMap [ rr:column "\"loc\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate dept:COMPANY ; + rr:objectMap [ rr:constant "EXAMPLE Corporation"; ] + ] +. + + + + a rr:ObjectMap; + rr:template "http://example.com/emp/job/{\"job\"}" + . + + + a rr:ObjectMap; + rr:template "http://example.com/emp/etype/{\"etype\"}" + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"EMP\"" ]; + + rr:subjectMap [ rr:template "http://example.com/emp/{\"empno\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate emp:jobtype ; + rr:objectMap + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type ; + rr:objectMap + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:emptype ; + rr:objectMap + ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type ; + rr:objectMap + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:empno ; + rr:objectMap [ rr:column "\"empno\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:name ; + rr:objectMap [ rr:column "\"ename\"" ]; + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:job ; + rr:objectMap [ rr:column "\"job\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:deptNum ; + rr:objectMap [ rr:column "\"deptno\"" ] + ]; + + rr:predicateObjectMap + [ + rr:predicate emp:etype ; + rr:objectMap [ rr:column "\"etype\"" ] + ]; + + rr:predicateObjectMap [ + rr:predicate emp:c_ref_deptno ; + rr:objectMap [ + a rr:RefObjectMap ; + rr:parentTriplesMap ; + rr:joinCondition [ + rr:child "\"deptno\""; + rr:parent "\"deptno\""; + ]; + ]; + ] + . diff --git a/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmld.ttl b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmld.ttl new file mode 100644 index 0000000..424bda4 --- /dev/null +++ b/src/test/resources/postgres/D014-3tables1primarykey1foreignkey/r2rmld.ttl @@ -0,0 +1,27 @@ +@prefix rr: . +@prefix rdf: . +@prefix ex: . +@prefix emp: . +@prefix dept: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + rr:logicalTable [ rr:sqlQuery """ + + SELECT "EMP".*, (CASE "job" + WHEN 'CLERK' THEN 'general-office' + WHEN 'NIGHTGUARD' THEN 'security' + WHEN 'ENGINEER' THEN 'engineering' + END) AS ROLE FROM "EMP" + + """ ]; + rr:subjectMap [ + rr:template "http://data.example.com/employee/{\"empno\"}"; + ]; + rr:predicateObjectMap [ + rr:predicate ex:role; + rr:objectMap [ rr:template "http://data.example.com/roles/{ROLE}" ]; + ]. + diff --git a/src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/create.sql b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/create.sql similarity index 100% rename from src/test/resources/D015-1table3columns1composityeprimarykey3rows2languages/create.sql rename to src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/create.sql diff --git a/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/directGraph.ttl b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/directGraph.ttl new file mode 100644 index 0000000..20387e8 --- /dev/null +++ b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/directGraph.ttl @@ -0,0 +1,18 @@ +@base . + + . + "BO" . + "EN" . + "Bolivia, Plurinational State of" . + . + "BO" . + "ES" . + "Estado Plurinacional de Bolivia" . + . + "IE" . + "EN" . + "Ireland" . + . + "IE" . + "ES" . + "Irlanda" . \ No newline at end of file diff --git a/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/manifest.ttl b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/manifest.ttl new file mode 100644 index 0000000..c1b9ade --- /dev/null +++ b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/manifest.ttl @@ -0,0 +1,46 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, three columns, one composite primary key, three rows, two languages" ; + dcterms:identifier "D015-1table3columns1composityeprimarykey3rows2languages" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of direct graph from multi-column primary keys"; + dcterms:identifier "DirectGraphTC0015" ; + test:purpose "Tests the generation of direct graph from multi-column primary keys" ; + test:specificationReference "#multi-key" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of language tags from a table with language information" ; + dcterms:identifier "R2RMLTC0015a" ; + test:purpose "Generation of language tags from a table with language information" ; + test:specificationReference "#language-tags" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of language tags from a table with language information, and a term map with invalid rr:language value" ; + dcterms:identifier "R2RMLTC0015b" ; + test:purpose "Tests a term map with an invalid rr:language value, which is an error" ; + test:specificationReference "#language-tags" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "non-conforming R2RML mapping"; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. diff --git a/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/mappeda.nq b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/mappeda.nq new file mode 100644 index 0000000..d98119d --- /dev/null +++ b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/mappeda.nq @@ -0,0 +1,5 @@ + "Bolivia, Plurinational State of"@en . + "Estado Plurinacional de Bolivia"@es . + "Ireland"@en . + "Irlanda"@es . + diff --git a/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/r2rmla.ttl b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/r2rmla.ttl new file mode 100644 index 0000000..d98a17c --- /dev/null +++ b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/r2rmla.ttl @@ -0,0 +1,43 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:sqlQuery """ + SELECT "Code", "Name", "Lan" + FROM "Country" + WHERE "Lan" = 'EN'; + """ ] ; + + rr:subjectMap [ rr:template "http://example.com/{\"Code\"}" ]; + + rr:predicateObjectMap + [ + rr:predicate rdfs:label; + rr:objectMap [ rr:column "\"Name\""; rr:language "en" ] + ] + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:sqlQuery """ + SELECT "Code", "Name", "Lan" + FROM "Country" + WHERE "Lan" = 'ES'; + """ ] ; + + rr:subjectMap [ rr:template "http://example.com/{\"Code\"}" ]; + + rr:predicateObjectMap + [ + rr:predicate rdfs:label; + rr:objectMap [ rr:column "\"Name\""; rr:language "es" ] + ] + . diff --git a/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/r2rmlb.ttl b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/r2rmlb.ttl new file mode 100644 index 0000000..3aa294f --- /dev/null +++ b/src/test/resources/postgres/D015-1table3columns1composityeprimarykey3rows2languages/r2rmlb.ttl @@ -0,0 +1,43 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:sqlQuery """ + SELECT "Code", "Name", "Lan" + FROM "Country" + WHERE "Lan" = 'EN'; + """ ] ; + + rr:subjectMap [ rr:template "http://example.com/{\"Code\"}" ]; + + rr:predicateObjectMap + [ + rr:predicate rdfs:label; + rr:objectMap [ rr:column "\"Name\""; rr:language "english" ] + ] + . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:sqlQuery """ + SELECT "Code", "Name", "Lan" + FROM "Country" + WHERE "Lan" = 'ES'; + """ ] ; + + rr:subjectMap [ rr:template "http://example.com/{\"Code\"}" ]; + + rr:predicateObjectMap + [ + rr:predicate rdfs:label; + rr:objectMap [ rr:column "\"Name\""; rr:language "spanish" ] + ] + . diff --git a/src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/create.sql b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/create.sql similarity index 100% rename from src/test/resources/D016-1table1primarykey10columns3rowsSQLdatatypes/create.sql rename to src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/create.sql diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/directGraph.ttl b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/directGraph.ttl new file mode 100644 index 0000000..9183a57 --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/directGraph.ttl @@ -0,0 +1,35 @@ +@base . + + . + "10"^^ . + "Monica" . + "Geller" . + "female" . + "8.025E1"^^ . + "1.65E0"^^ . + "1981-10-10"^^ . + "2009-10-10T12:12:22"^^ . + "false"^^ . + "89504E470D0A1A0A0000000D49484452000000050000000508060000008D6F26E50000001C4944415408D763F9FFFEBFC37F062005C3201284D031F18258CD04000EF535CBD18E0E1F0000000049454E44AE426082"^^ . + . + "11"^^ . + "Rachel" . + "Green" . + "female" . + "7.022E1"^^ . + "1.7E0"^^ . + "1982-11-12"^^ . + "2008-11-12T09:45:44"^^ . + "true"^^ . + "89504E470D0A1A0A0000000D49484452000000050000000508060000008D6F26E50000001C4944415408D763F9FFFF3FC37F062005C3201284D031F18258CD04000EF535CBD18E0E1F0000000049454E44AE426082"^^ . + . + "12"^^ . + "Chandler" . + "Bing" . + "male" . + "9.031E1"^^ . + "1.76E0"^^ . + "1978-04-06"^^ . + "2007-03-12T02:13:14"^^ . + "true"^^ . + "89504E470D0A1A0A0000000D49484452000000050000000508060000008D6F26E50000001C4944415408D763F9FFFEBFC37F062005C3201284D031F18258CD04000EF535CBD18E0E1F0000000049454E44AE426082"^^ . \ No newline at end of file diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/manifest.ttl b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/manifest.ttl new file mode 100644 index 0000000..40718e8 --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/manifest.ttl @@ -0,0 +1,84 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, one primary key, ten columns, three rows with sql datatypes" ; + dcterms:identifier "D016-1table1primarykey10columns3rowsSQLdatatypes" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , , , , , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of direct graph from a database with sql datatypes"; + dcterms:identifier "DirectGraphTC0016" ; + test:purpose "Tests the generation of direct graph from a database with sql datatypes" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + + a rdb2rdftest:R2RML ; + dcterms:title "Table with datatypes: string and integer" ; + dcterms:identifier "R2RMLTC0016a" ; + test:purpose "Tests the rr:termtype and datatype conversions: string and integer" ; + test:specificationReference "#datatype-conversions" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Table with datatypes: real and float" ; + dcterms:identifier "R2RMLTC0016b" ; + test:purpose "Tests the rr:termtype and datatype conversions: real and float" ; + test:specificationReference "#datatype-conversions" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedb.nq" ; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Table with datatypes: date and timestamp" ; + dcterms:identifier "R2RMLTC0016c" ; + test:purpose "Tests the rr:termtype and datatype conversions: date and timestamp" ; + test:specificationReference "#datatype-conversions" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedc.nq" ; + rdb2rdftest:mappingDocument "r2rmlc.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Table with datatypes, boolean conversions" ; + dcterms:identifier "R2RMLTC0016d" ; + test:purpose "Tests the rr:termtype and datatype conversions: boolean" ; + test:specificationReference "#datatype-conversions" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappedd.nq" ; + rdb2rdftest:mappingDocument "r2rmld.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Table with datatypes, binary column" ; + dcterms:identifier "R2RMLTC0016e" ; + test:purpose "Tests the rr:termtype and datatype conversions: binary" ; + test:specificationReference "#datatype-conversions" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "mappede.nq" ; + rdb2rdftest:mappingDocument "r2rmle.ttl" ; +. + diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappeda.nq b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappeda.nq new file mode 100644 index 0000000..c854ecf --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappeda.nq @@ -0,0 +1,16 @@ + . + "10"^^ . + "Monica" . + "Geller" . + "female" . + . + "11"^^ . + "Rachel" . + "Green" . + "female" . + . + "12"^^ . + "Chandler" . + "Bing" . + "male" . + diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedb.nq b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedb.nq new file mode 100644 index 0000000..497b8d3 --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedb.nq @@ -0,0 +1,10 @@ + . + "8.025E1"^^ . + "1.65E0"^^ . + . + "7.022E1"^^ . + "1.7E0"^^ . + . + "9.031E1"^^ . + "1.76E0"^^ . + diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedc.nq b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedc.nq new file mode 100644 index 0000000..32f238a --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedc.nq @@ -0,0 +1,10 @@ + . + "1981-10-10"^^ . + "2009-10-10T12:12:22"^^ . + . + "1982-11-12"^^ . + "2008-11-12T09:45:44"^^ . + . + "1978-04-06"^^ . + "2007-03-12T02:13:14"^^ . + diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedd.nq b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedd.nq new file mode 100644 index 0000000..71b7871 --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappedd.nq @@ -0,0 +1,7 @@ + . + "false"^^ . + . + "true"^^ . + . + "true"^^ . + diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappede.nq b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappede.nq new file mode 100644 index 0000000..af73c56 --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/mappede.nq @@ -0,0 +1,6 @@ + . + . + . + . + . + . \ No newline at end of file diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmla.ttl b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmla.ttl new file mode 100644 index 0000000..11c2645 --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmla.ttl @@ -0,0 +1,46 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Patient\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Patient/{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:firstName; + rr:objectMap [ rr:column "\"FirstName\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:lastName; + rr:objectMap [ rr:column "\"LastName\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:gender; + rr:objectMap [ rr:column "\"Sex\""; ] + ]; + + . diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlb.ttl b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlb.ttl new file mode 100644 index 0000000..880ad74 --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlb.ttl @@ -0,0 +1,34 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Patient\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Patient{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:weight; + rr:objectMap [ rr:column "\"Weight\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:height; + rr:objectMap [ rr:column "\"Height\""; ] + ]; + + . diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlc.ttl b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlc.ttl new file mode 100644 index 0000000..19716a1 --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmlc.ttl @@ -0,0 +1,34 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Patient\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Patient{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:birthdate; + rr:objectMap [ rr:column "\"BirthDate\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:entrancedate; + rr:objectMap [ rr:column "\"EntranceDate\""; ] + ]; + + . diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmld.ttl b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmld.ttl new file mode 100644 index 0000000..60878fa --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmld.ttl @@ -0,0 +1,28 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Patient\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Patient{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:paid; + rr:objectMap [ rr:column "\"PaidInAdvance\""; ] + ]; + + . diff --git a/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmle.ttl b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmle.ttl new file mode 100644 index 0000000..88c41c4 --- /dev/null +++ b/src/test/resources/postgres/D016-1table1primarykey10columns3rowsSQLdatatypes/r2rmle.ttl @@ -0,0 +1,28 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdf: . +@prefix ex: . +@prefix xsd: . +@base . + + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Patient\"" ]; + + rr:subjectMap [ rr:template "http://example.com/Patient{\"ID\"}"; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:photo; + rr:objectMap [ rr:template "data:image/png;hex,{\"Photo\"}"; ]; + ]; + + . diff --git a/src/test/resources/D017-I18NnoSpecialChars/create.sql b/src/test/resources/postgres/D017-I18NnoSpecialChars/create.sql similarity index 100% rename from src/test/resources/D017-I18NnoSpecialChars/create.sql rename to src/test/resources/postgres/D017-I18NnoSpecialChars/create.sql diff --git a/src/test/resources/postgres/D017-I18NnoSpecialChars/directGraph.ttl b/src/test/resources/postgres/D017-I18NnoSpecialChars/directGraph.ttl new file mode 100644 index 0000000..4bab646 --- /dev/null +++ b/src/test/resources/postgres/D017-I18NnoSpecialChars/directGraph.ttl @@ -0,0 +1,11 @@ +@base . + +<植物/名=しそ;使用部=葉> <植物> . +<植物/名=しそ;使用部=葉> <植物#使用部> "葉" . +<植物/名=しそ;使用部=葉> <植物#名> "しそ" . +<植物/名=しそ;使用部=葉> <植物#条件> "新鮮な" . +_:a <成分> . +_:a <成分#使用部> "葉" . +_:a <成分#植物名> "しそ" . +_:a <成分#ref-植物名;使用部> <植物/名=しそ;使用部=葉> . +_:a <成分#皿> "しそのとまと" . diff --git a/src/test/resources/postgres/D017-I18NnoSpecialChars/manifest.ttl b/src/test/resources/postgres/D017-I18NnoSpecialChars/manifest.ttl new file mode 100644 index 0000000..22b03db --- /dev/null +++ b/src/test/resources/postgres/D017-I18NnoSpecialChars/manifest.ttl @@ -0,0 +1,22 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "I18N No Special Chars" ; + dcterms:identifier "D017-I18NnoSpecialChars" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "I18N No Special Chars" ; + dcterms:identifier "DirectGraphTC0017" ; + test:purpose "Test de generation of a direct graph from a I18N No Special Chars database" ; + test:specificationReference "#no-pk" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. diff --git a/src/test/resources/D018-1table1primarykey2columns3rows/create.sql b/src/test/resources/postgres/D018-1table1primarykey2columns3rows/create.sql similarity index 100% rename from src/test/resources/D018-1table1primarykey2columns3rows/create.sql rename to src/test/resources/postgres/D018-1table1primarykey2columns3rows/create.sql diff --git a/src/test/resources/postgres/D018-1table1primarykey2columns3rows/directGraph.ttl b/src/test/resources/postgres/D018-1table1primarykey2columns3rows/directGraph.ttl new file mode 100644 index 0000000..566f2ad --- /dev/null +++ b/src/test/resources/postgres/D018-1table1primarykey2columns3rows/directGraph.ttl @@ -0,0 +1,11 @@ +@base . + +_:a . +_:a "10"^^ . +_:a "Venus " . +_:b . +_:b "20"^^ . +_:b "Fernando " . +_:c . +_:c "30"^^ . +_:c "David " . diff --git a/src/test/resources/postgres/D018-1table1primarykey2columns3rows/manifest.ttl b/src/test/resources/postgres/D018-1table1primarykey2columns3rows/manifest.ttl new file mode 100644 index 0000000..e2e9b91 --- /dev/null +++ b/src/test/resources/postgres/D018-1table1primarykey2columns3rows/manifest.ttl @@ -0,0 +1,34 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, one primary key, two columns, three rows" ; + dcterms:identifier "D018-1table1primarykey2columns3rows" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of triples by using CHAR datatype column"; + dcterms:identifier "DirectGraphTC0018" ; + test:purpose "Generation of triples by using CHAR datatype column, resulting RDF literal is space-padded." ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples by using CHAR datatype column" ; + dcterms:identifier "R2RMLTC0018a" ; + test:purpose "Generation of triples by using CHAR datatype column, resulting RDF literal is space-padded." ; + test:specificationReference "#from-template" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. diff --git a/src/test/resources/postgres/D018-1table1primarykey2columns3rows/mappeda.nq b/src/test/resources/postgres/D018-1table1primarykey2columns3rows/mappeda.nq new file mode 100644 index 0000000..ae8816d --- /dev/null +++ b/src/test/resources/postgres/D018-1table1primarykey2columns3rows/mappeda.nq @@ -0,0 +1,9 @@ + "Venus " . + "10"^^ . + . + "Fernando " . + "20"^^ . + . + "David " . + "30"^^ . + . diff --git a/src/test/resources/postgres/D018-1table1primarykey2columns3rows/r2rmla.ttl b/src/test/resources/postgres/D018-1table1primarykey2columns3rows/r2rmla.ttl new file mode 100644 index 0000000..916b628 --- /dev/null +++ b/src/test/resources/postgres/D018-1table1primarykey2columns3rows/r2rmla.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + + rr:logicalTable [ rr:tableName "\"Student\"" ]; + + rr:subjectMap [ rr:template "http://example.com/{\"ID\"}"; + rr:class foaf:Person ]; + + rr:predicateObjectMap + [ + rr:predicate ex:id ; + rr:objectMap [ rr:column "\"ID\""; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rr:column "\"Name\"" ] + ] + . diff --git a/src/test/resources/D019-1table1primarykey3columns3rows/create.sql b/src/test/resources/postgres/D019-1table1primarykey3columns3rows/create.sql similarity index 100% rename from src/test/resources/D019-1table1primarykey3columns3rows/create.sql rename to src/test/resources/postgres/D019-1table1primarykey3columns3rows/create.sql diff --git a/src/test/resources/postgres/D019-1table1primarykey3columns3rows/manifest.ttl b/src/test/resources/postgres/D019-1table1primarykey3columns3rows/manifest.ttl new file mode 100644 index 0000000..05ac2f1 --- /dev/null +++ b/src/test/resources/postgres/D019-1table1primarykey3columns3rows/manifest.ttl @@ -0,0 +1,35 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, one primary key, three columns, three rows" ; + dcterms:identifier "D019-1table1primarykey3columns3rows" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples by using IRI value in columns" ; + dcterms:identifier "R2RMLTC0019a" ; + test:purpose "Test the generation of triples by using IRI value in columns" ; + test:specificationReference "#from-column" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples by using IRI value in columns, with data error" ; + dcterms:identifier "R2RMLTC0019b" ; + test:purpose "Test the generation of triples by using IRI value in columns, conforming R2RML mapping with data error (and no result)" ; + test:specificationReference "#from-column" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "Conforming R2RML mapping with data error"; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. diff --git a/src/test/resources/postgres/D019-1table1primarykey3columns3rows/mappeda.nq b/src/test/resources/postgres/D019-1table1primarykey3columns3rows/mappeda.nq new file mode 100644 index 0000000..744598e --- /dev/null +++ b/src/test/resources/postgres/D019-1table1primarykey3columns3rows/mappeda.nq @@ -0,0 +1,2 @@ + "http://example.com/ns#Jhon" . + "Carlos" . \ No newline at end of file diff --git a/src/test/resources/postgres/D019-1table1primarykey3columns3rows/r2rmla.ttl b/src/test/resources/postgres/D019-1table1primarykey3columns3rows/r2rmla.ttl new file mode 100644 index 0000000..4d43416 --- /dev/null +++ b/src/test/resources/postgres/D019-1table1primarykey3columns3rows/r2rmla.ttl @@ -0,0 +1,23 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + rr:logicalTable [ + rr:sqlQuery """ + SELECT "ID", "FirstName", "LastName" + FROM "Employee" + WHERE "ID" < 30 + """ + ]; + + rr:subjectMap [ rr:column "\"FirstName\"" ]; + rr:predicateObjectMap + [ + rr:predicate foaf:name; + rr:objectMap [ rr:column "\"FirstName\"" ]; + ]; +. diff --git a/src/test/resources/postgres/D019-1table1primarykey3columns3rows/r2rmlb.ttl b/src/test/resources/postgres/D019-1table1primarykey3columns3rows/r2rmlb.ttl new file mode 100644 index 0000000..dfef940 --- /dev/null +++ b/src/test/resources/postgres/D019-1table1primarykey3columns3rows/r2rmlb.ttl @@ -0,0 +1,16 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@base . + + + a rr:TriplesMap; + rr:logicalTable [ rr:tableName "\"Employee\"" ]; + rr:subjectMap [ rr:column "\"FirstName\"" ]; + rr:predicateObjectMap + [ + rr:predicate foaf:name; + rr:objectMap [ rr:column "\"FirstName\"" ]; + ]; +. diff --git a/src/test/resources/D020-1table1column5rows/create.sql b/src/test/resources/postgres/D020-1table1column5rows/create.sql similarity index 100% rename from src/test/resources/D020-1table1column5rows/create.sql rename to src/test/resources/postgres/D020-1table1column5rows/create.sql diff --git a/src/test/resources/postgres/D020-1table1column5rows/manifest.ttl b/src/test/resources/postgres/D020-1table1column5rows/manifest.ttl new file mode 100644 index 0000000..394c29d --- /dev/null +++ b/src/test/resources/postgres/D020-1table1column5rows/manifest.ttl @@ -0,0 +1,35 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "One table, one column, five rows" ; + dcterms:identifier "D020-1table1column5rows" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase , ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples by using IRI value in columns" ; + dcterms:identifier "R2RMLTC0020a" ; + test:purpose "Test the generation of triples by using IRI value in columns" ; + test:specificationReference "#from-template" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:output "mappeda.nq" ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:mappingDocument "r2rmla.ttl" ; +. + + a rdb2rdftest:R2RML ; + dcterms:title "Generation of triples by using IRI value in columns, with data errors" ; + dcterms:identifier "R2RMLTC0020b" ; + test:purpose "Test the generation of triples by using IRI value in columns, conforming R2RML mapping with data error (and no result)" ; + test:specificationReference "#from-column" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput false ; + rdb2rdftest:failMessage "Conforming R2RML mapping with data error"; + rdb2rdftest:mappingDocument "r2rmlb.ttl" ; +. diff --git a/src/test/resources/postgres/D020-1table1column5rows/mappeda.nq b/src/test/resources/postgres/D020-1table1column5rows/mappeda.nq new file mode 100644 index 0000000..65071a5 --- /dev/null +++ b/src/test/resources/postgres/D020-1table1column5rows/mappeda.nq @@ -0,0 +1,5 @@ + . + . + . + . + . diff --git a/src/test/resources/postgres/D020-1table1column5rows/r2rmla.ttl b/src/test/resources/postgres/D020-1table1column5rows/r2rmla.ttl new file mode 100644 index 0000000..a883e98 --- /dev/null +++ b/src/test/resources/postgres/D020-1table1column5rows/r2rmla.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rdf: . +@base . + + + a rr:TriplesMap; + rr:logicalTable [ rr:tableName "\"Student\""; ]; + + rr:subjectMap [ rr:template "{\"Name\"}"; rr:termType rr:IRI; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; +. diff --git a/src/test/resources/postgres/D020-1table1column5rows/r2rmlb.ttl b/src/test/resources/postgres/D020-1table1column5rows/r2rmlb.ttl new file mode 100644 index 0000000..84ff510 --- /dev/null +++ b/src/test/resources/postgres/D020-1table1column5rows/r2rmlb.ttl @@ -0,0 +1,19 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rdf: . +@base . + + + a rr:TriplesMap; + rr:logicalTable [ rr:tableName "\"Student\""; ]; + + rr:subjectMap [ rr:column "\"Name\""; rr:termType rr:IRI; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; +. diff --git a/src/test/resources/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/create.sql b/src/test/resources/postgres/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/create.sql similarity index 100% rename from src/test/resources/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/create.sql rename to src/test/resources/postgres/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/create.sql diff --git a/src/test/resources/postgres/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/directGraph.ttl b/src/test/resources/postgres/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/directGraph.ttl new file mode 100644 index 0000000..77aeb70 --- /dev/null +++ b/src/test/resources/postgres/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/directGraph.ttl @@ -0,0 +1,34 @@ +@prefix xsd: . +@base . + + . + 1010 . + "K1A11" . + "K1A21" . + "K2A11" . + "K2A21" . + + . + 1011 . + "K1A12" . + "K1A22" . + "K2A22" . + + . + 1012 . + "K1A13" . + "K1A23" . + + . + 1100 . + "K2A21" . + "K2A11" . + . + + . + 1101 . + "K2A22" . + + . + 1102 . + diff --git a/src/test/resources/postgres/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/manifest.ttl b/src/test/resources/postgres/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/manifest.ttl new file mode 100644 index 0000000..fde4bfe --- /dev/null +++ b/src/test/resources/postgres/D021-2tables2primarykeys1foreignkeyReferencesAllNulls/manifest.ttl @@ -0,0 +1,22 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "Two tables, two primary keys, a foreign key, references all nulls" ; + dcterms:identifier "D021-2tables2primarykeys1foreignkeyReferencesAllNulls" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of triples for two tables, two primary keys, a foreign key, references all nulls"; + dcterms:identifier "DirectGraphTC0021" ; + test:purpose "Generation of triples two tables, two primary keys, a foreign key, references all nulls" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. diff --git a/src/test/resources/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/create.sql b/src/test/resources/postgres/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/create.sql similarity index 100% rename from src/test/resources/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/create.sql rename to src/test/resources/postgres/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/create.sql diff --git a/src/test/resources/postgres/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/directGraph.ttl b/src/test/resources/postgres/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/directGraph.ttl new file mode 100644 index 0000000..c43fcbd --- /dev/null +++ b/src/test/resources/postgres/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/directGraph.ttl @@ -0,0 +1,16 @@ +@prefix xsd: . +@base . + +_:a . +_:a 1010 . +_:a "K1A1" . +_:a "K1A2" . +_:a "K2A1" . +_:a "K2A2" . + + . + 1100 . + "K2A2" . + "K2A1" . + _:a . + diff --git a/src/test/resources/postgres/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/manifest.ttl b/src/test/resources/postgres/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/manifest.ttl new file mode 100644 index 0000000..4913548 --- /dev/null +++ b/src/test/resources/postgres/D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey/manifest.ttl @@ -0,0 +1,23 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "Two tables, a primary key, a foreign key, references no primary keys" ; + dcterms:identifier "D022-2tables1primarykey1foreignkeyReferencesNoPrimaryKey" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of triples from two tables, a primary key, a foreign key, references no primary keys"; + dcterms:identifier "DirectGraphTC0022" ; + test:purpose "Generation of triples from two tables, a primary key, a foreign key, references no primary keys" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. + diff --git a/src/test/resources/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/create.sql b/src/test/resources/postgres/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/create.sql similarity index 100% rename from src/test/resources/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/create.sql rename to src/test/resources/postgres/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/create.sql diff --git a/src/test/resources/postgres/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/directGraph.ttl b/src/test/resources/postgres/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/directGraph.ttl new file mode 100644 index 0000000..724dbb8 --- /dev/null +++ b/src/test/resources/postgres/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/directGraph.ttl @@ -0,0 +1,16 @@ +@prefix xsd: . +@base . + + . + 1010 . + "K1A1" . + "K1A2" . + "K2A1" . + "K2A2" . + + . + 1100 . + "K2A2" . + "K2A1" . + . + diff --git a/src/test/resources/postgres/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/manifest.ttl b/src/test/resources/postgres/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/manifest.ttl new file mode 100644 index 0000000..2108832 --- /dev/null +++ b/src/test/resources/postgres/D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys/manifest.ttl @@ -0,0 +1,22 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "Two tables, two primary keys, two foreign keys, references to a key other than primary key" ; + dcterms:identifier "D023-2tables2primarykeys2foreignkeysReferencesToNon-primarykeys" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of triples for two tables, two primary keys, two foreign keys, references to a key other than primary key"; + dcterms:identifier "DirectGraphTC0023" ; + test:purpose "Generation of triples from two tables, two primary keys, two foreign keys, references to a key other than primary key" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. diff --git a/src/test/resources/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/create.sql b/src/test/resources/postgres/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/create.sql similarity index 100% rename from src/test/resources/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/create.sql rename to src/test/resources/postgres/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/create.sql diff --git a/src/test/resources/postgres/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/directGraph.ttl b/src/test/resources/postgres/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/directGraph.ttl new file mode 100644 index 0000000..7bcaa0b --- /dev/null +++ b/src/test/resources/postgres/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/directGraph.ttl @@ -0,0 +1,26 @@ +@prefix xsd: . +@base . + + . + 1010 . + "K1A11" . + "K1A21" . + "K2A11" . + "K2A21" . + + . + 1011 . + "K1A12" . + "K1A22" . + "K2A22" . + + . + 1100 . + "K2A21" . + "K2A11" . + . + + . + 1101 . + "K2A22" . + diff --git a/src/test/resources/postgres/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/manifest.ttl b/src/test/resources/postgres/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/manifest.ttl new file mode 100644 index 0000000..39b9ccc --- /dev/null +++ b/src/test/resources/postgres/D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls/manifest.ttl @@ -0,0 +1,22 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "Two tables, two primary keys, a foreign key to a row with some NULLs in the key." ; + dcterms:identifier "D024-2tables2primarykeys1foreignkeyToARowWithSomeNulls" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of triples from two tables, two primary keys, a foreign key to a row with some NULLs in the key."; + dcterms:identifier "DirectGraphTC0024" ; + test:purpose "Generation of triples from two tables, two primary keys, a foreign key to a row with some NULLs in the key." ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +. diff --git a/src/test/resources/D025-3tables3primarykeys3foreignkeys/create.sql b/src/test/resources/postgres/D025-3tables3primarykeys3foreignkeys/create.sql similarity index 100% rename from src/test/resources/D025-3tables3primarykeys3foreignkeys/create.sql rename to src/test/resources/postgres/D025-3tables3primarykeys3foreignkeys/create.sql diff --git a/src/test/resources/postgres/D025-3tables3primarykeys3foreignkeys/directGraph.ttl b/src/test/resources/postgres/D025-3tables3primarykeys3foreignkeys/directGraph.ttl new file mode 100644 index 0000000..19cc92e --- /dev/null +++ b/src/test/resources/postgres/D025-3tables3primarykeys3foreignkeys/directGraph.ttl @@ -0,0 +1,51 @@ +@prefix xsd: . +@base . + + . + 7 . + "Bob" . + 18 . + . + "accounting" . + "Cambridge" . + . + . + 8 . + "Sue" . + + . + 18 . + "Cambridge" . + "MA" . + + . + 23 . + "accounting" . + "Cambridge" . + 8; . + . + +_:c . +_:c 8 . +_:c . +_:c "pencil survey" . +_:c "accounting" . +_:c "Cambridge" . +_:c . + +_:d . +_:d 8 . +_:d . +_:d "eraser survey" . +_:d "accounting" . +_:d "Cambridge" . +_:d . + + . + 7 . + . + "pencil survey" . + "accounting" . + "Cambridge" . + . + _:c . \ No newline at end of file diff --git a/src/test/resources/postgres/D025-3tables3primarykeys3foreignkeys/manifest.ttl b/src/test/resources/postgres/D025-3tables3primarykeys3foreignkeys/manifest.ttl new file mode 100644 index 0000000..890d504 --- /dev/null +++ b/src/test/resources/postgres/D025-3tables3primarykeys3foreignkeys/manifest.ttl @@ -0,0 +1,22 @@ +@prefix test: . +@prefix dcterms: . +@prefix rdb2rdftest: . +@base . + + a rdb2rdftest:DataBase; + dcterms:title "Three tables, three primary keys, three foreign keys" ; + dcterms:identifier "D025-3tables3primarykeys3foreignkeys" ; + rdb2rdftest:sqlScriptFile "create.sql"; + rdb2rdftest:relatedTestCase ; +. + + a rdb2rdftest:DirectMapping ; + dcterms:title "Generation of triples from three tables, three primary keys, three foreign keys"; + dcterms:identifier "DirectGraphTC0025" ; + test:purpose "Generation of triples from three tables, three primary keys, three foreign keys" ; + test:specificationReference "#lead-ex" ; + test:reviewStatus test:unreviewed ; + rdb2rdftest:database ; + rdb2rdftest:hasExpectedOutput true ; + rdb2rdftest:output "directGraph.ttl" ; +.