Skip to content

Commit

Permalink
added mysql tests
Browse files Browse the repository at this point in the history
  • Loading branch information
nkons committed Jul 18, 2013
1 parent 411763c commit ffa9f5c
Show file tree
Hide file tree
Showing 380 changed files with 4,496 additions and 19 deletions.
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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)
5 changes: 2 additions & 3 deletions src/test/java/gr/ekt/r2rml/test/ComplianceTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -211,5 +211,4 @@ private void openConnection() {
e.printStackTrace();
}
}

}
3 changes: 3 additions & 0 deletions src/test/resources/mysql/D000-1table1column0rows/create.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
CREATE TABLE Student (
Name varchar(50)
);
4 changes: 4 additions & 0 deletions src/test/resources/mysql/D001-1table1column1row/create.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CREATE TABLE Student (
Name varchar(50)
);
INSERT INTO Student VALUES ('Venus')
5 changes: 5 additions & 0 deletions src/test/resources/mysql/D002-1table2columns1row/create.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CREATE TABLE `Student` (
`ID` INTEGER,
`Name` VARCHAR(15)
);
INSERT INTO `Student` (`ID`, `Name`) VALUES(10,'Venus');
6 changes: 6 additions & 0 deletions src/test/resources/mysql/D003-1table3columns1row/create.sql
Original file line number Diff line number Diff line change
@@ -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');
5 changes: 5 additions & 0 deletions src/test/resources/mysql/D004-1table2columns1row/create.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CREATE TABLE Student_Sport(
Student varchar(50),
Sport varchar(50)
);
INSERT INTO Student_Sport (Student,Sport) VALUES ('Venus', 'Tennis');
Original file line number Diff line number Diff line change
@@ -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);
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
CREATE TABLE Student (
Name varchar(50) PRIMARY KEY
);
INSERT INTO Student (Name) VALUES ('Venus');
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CREATE TABLE Student (
ID integer,
Name varchar(50),
PRIMARY KEY (ID)
);
INSERT INTO Student (ID, Name) VALUES(10,'Venus');
Original file line number Diff line number Diff line change
@@ -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');
Original file line number Diff line number Diff line change
@@ -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);

Original file line number Diff line number Diff line change
@@ -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');
29 changes: 29 additions & 0 deletions src/test/resources/mysql/D011-M2MRelations/create.sql
Original file line number Diff line number Diff line change
@@ -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);
66 changes: 66 additions & 0 deletions src/test/resources/mysql/D011-M2MRelations/r2rmla.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
@prefix rr: <http://www.w3.org/ns/r2rml#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.com/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@base <http://example.com/base/> .

<TriplesMap1>
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}" ]
]
.

<TriplesMap2>
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\"" ]
]
.
17 changes: 17 additions & 0 deletions src/test/resources/mysql/D012-2tables2duplicates0nulls/create.sql
Original file line number Diff line number Diff line change
@@ -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');
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@
rr:predicateObjectMap
[
rr:predicate ex:city ;
rr:objectMap [ rr:column "\"city\""; ]
rr:objectMap [ rr:constant "At"; ]
];
.
Original file line number Diff line number Diff line change
@@ -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');
Original file line number Diff line number Diff line change
@@ -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');
Original file line number Diff line number Diff line change
@@ -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');

Original file line number Diff line number Diff line change
@@ -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');
15 changes: 15 additions & 0 deletions src/test/resources/mysql/D017-I18NnoSpecialChars/create.sql
Original file line number Diff line number Diff line change
@@ -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 ('しそのとまと', 'しそ', '');
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
@base <http://example.com/base/> .

<植物/名=しそ;使用部=葉> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <植物> .
<植物/名=しそ;使用部=葉> <植物#使用部> "" .
<植物/名=しそ;使用部=葉> <植物#名> "しそ" .
<植物/名=しそ;使用部=葉> <植物#条件> "新鮮な" .
_:a <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <成分> .
_:a <成分#使用部> "" .
_:a <成分#植物名> "しそ" .
_:a <成分#ref-植物名;使用部> <植物/名=しそ;使用部=葉> .
_:a <成分#皿> "しそのとまと" .
@base <http://example.com/base/> .

<植物/名=しそ;使用部=葉> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <植物> .
<植物/名=しそ;使用部=葉> <植物#使用部> "" .
<植物/名=しそ;使用部=葉> <植物#名> "しそ" .
<植物/名=しそ;使用部=葉> <植物#条件> "新鮮な" .
_:a <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <成分> .
_:a <成分#使用部> "" .
_:a <成分#植物名> "しそ" .
_:a <成分#ref-植物名;使用部> <植物/名=しそ;使用部=葉> .
_:a <成分#皿> "しそのとまと" .
Original file line number Diff line number Diff line change
@@ -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');
Original file line number Diff line number Diff line change
@@ -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');
9 changes: 9 additions & 0 deletions src/test/resources/mysql/D020-1table1column5rows/create.sql
Original file line number Diff line number Diff line change
@@ -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');
Loading

0 comments on commit ffa9f5c

Please sign in to comment.