diff --git a/CHANGELOG.md b/CHANGELOG.md index d00730b7..3f2fe374 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Added - FunctionLoader: throw error on missing function parameters (see [issue 125](https://gitlab.ilabt.imec.be/rml/proc/rmlmapper-java/-/issues/125)) - HTMLRecordFactory: add CSS3 selector support (see [issue 52](https://gitlab.ilabt.imec.be/rml/proc/rmlmapper-java/-/issues/52)) +- CSVRecordFactory: add spreadsheet support (see [issue 42](https://gitlab.ilabt.imec.be/rml/proc/rmlmapper-java/-/issues/42)) ## [4.11.0] - 2021-07-05 diff --git a/README.md b/README.md index f31c3d6c..a7ae0733 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,8 @@ The RMLMapper loads all data in memory, so be aware when working with big datase ### Supported - local data sources: + - Excel (.xlsx) + - LibreOffice (.ods) - CSV files (including CSVW) - JSON files (JSONPath) - XML files (XPath) @@ -252,6 +254,9 @@ and up to which level metadata should be stored (dataset, triple, or term level Run the tests via `test.sh`. +#### Derived tests +Some tests (Excel, ODS) are derived from other tests (CSV) using a script (`./generate_spreadsheet_test_cases.sh`) + ### RDBs Make sure you have [Docker](https://www.docker.com) running. @@ -317,6 +322,9 @@ We also offer consulting for all-things-RML. ## Remarks +### Typed spreadsheet files +All spreadsheet files are as of yet regarded as plain CSV files. No type information like Currency, Date... is used. + ### XML file parsing performance The RMLMapper's XML parsing implementation (`javax.xml.parsers`) has been chosen to support full XPath. diff --git a/docs/apidocs/be/ugent/rml/records/CSVRecordFactory.html b/docs/apidocs/be/ugent/rml/records/CSVRecordFactory.html new file mode 100644 index 00000000..e69de29b diff --git a/docs/apidocs/be/ugent/rml/records/class-use/CSVRecordFactory.html b/docs/apidocs/be/ugent/rml/records/class-use/CSVRecordFactory.html new file mode 100644 index 00000000..e69de29b diff --git a/generate-spreadsheet-test-cases.sh b/generate-spreadsheet-test-cases.sh new file mode 100644 index 00000000..9b5f0744 --- /dev/null +++ b/generate-spreadsheet-test-cases.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash + +# REQUIRES libreoffice!! + +TEST_LOCATION="src/test" +TEST_FILE_LOCATION="java/be/ugent/rml" +TEST_RESOURCES_LOCATION="resources/test-cases" +NAME_CSV_TEST="Mapper_CSV_Test.java" + +# Check for libreoffice +if [[ ! `libreoffice --help` ]] +then + echo "Install libreoffice to convert CSV." + return 1 +fi + +cd ${TEST_LOCATION} +TEST_DIR=$(pwd) + +for i in "EXCEL xlsx" "ODS ods" +do + set -- ${i} + echo "Generating ${1} tests from CSV tests" + + ## Test files + cd "${TEST_DIR}/${TEST_FILE_LOCATION}" + NAME_NEW_TEST="Mapper_${1}_Test.java" + cp ${NAME_CSV_TEST} ${NAME_NEW_TEST} + sed -i "s/CSV/${1}/g" ${NAME_NEW_TEST} + + ## Test resources + cd "${TEST_DIR}/${TEST_RESOURCES_LOCATION}" + for csv_dir in *CSV* + do + # Copy CSV test directory + NEW_DIR_NAME=$(echo ${csv_dir} | sed "s/CSV/${1}/") + if [[ -d ${NEW_DIR_NAME} ]] + then + rm -Rf ${NEW_DIR_NAME} + fi + cp -r ${csv_dir} ${NEW_DIR_NAME} + cd ${NEW_DIR_NAME} + + # Change files within directory + + echo "Test case: ${NEW_DIR_NAME}" + # csv source file + for csv_source in *.csv + do + if [[ ! -f ${csv_source} ]]; then break; fi + # UTF-8 encoding issue + # https://bugs.documentfoundation.org/show_bug.cgi?id=36313 + libreoffice --headless --convert-to ${2} --infilter=CSV:44,34,UTF8 ${csv_source} + rm ${csv_source} + done + # mapping file + sed -i "s/.csv/.${2}/g" "mapping.ttl" + + cd .. + done +done + +echo "Success!" + diff --git a/pom.xml b/pom.xml index 74eba35a..1aa937cf 100644 --- a/pom.xml +++ b/pom.xml @@ -132,11 +132,6 @@ commons-lang 2.6 - - org.apache.commons - commons-csv - 1.8 - commons-cli commons-cli @@ -219,6 +214,11 @@ pom 3.8.0 + + com.hp.hpl.jena + arq + 2.8.8 + org.apache.jena @@ -250,6 +250,31 @@ jsoup 1.10.2 + + + org.apache.commons + commons-csv + 1.8 + + + org.apache.poi + poi-ooxml + 4.1.0 + + + + + org.apache.odftoolkit + simple-odf + 0.8.2-incubating + + diff --git a/src/main/java/be/ugent/rml/Executor.java b/src/main/java/be/ugent/rml/Executor.java index 7bb02088..603fe0d1 100644 --- a/src/main/java/be/ugent/rml/Executor.java +++ b/src/main/java/be/ugent/rml/Executor.java @@ -423,7 +423,7 @@ private List getAllIRIs(Term triplesMap) throws Exception { return iris; } - private List getRecords(Term triplesMap) throws IOException, SQLException, ClassNotFoundException { + private List getRecords(Term triplesMap) throws Exception { if (!this.recordsHolders.containsKey(triplesMap)) { this.recordsHolders.put(triplesMap, this.recordsFactory.createRecords(triplesMap, this.rmlStore)); } diff --git a/src/main/java/be/ugent/rml/records/CSVRecordFactory.java b/src/main/java/be/ugent/rml/records/CSVRecordFactory.java index aa1aeeb1..0ef30845 100644 --- a/src/main/java/be/ugent/rml/records/CSVRecordFactory.java +++ b/src/main/java/be/ugent/rml/records/CSVRecordFactory.java @@ -9,8 +9,15 @@ import be.ugent.rml.term.Term; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.commons.io.FilenameUtils; +import org.odftoolkit.simple.Document; +import org.odftoolkit.simple.SpreadsheetDocument; import java.io.IOException; import java.io.InputStream; @@ -36,39 +43,84 @@ public class CSVRecordFactory implements ReferenceFormulationRecordFactory { * @throws IOException */ @Override - public List getRecords(Access access, Term logicalSource, QuadStore rmlStore) throws IOException, SQLException, ClassNotFoundException { + public List getRecords(Access access, Term logicalSource, QuadStore rmlStore) throws Exception { List sources = Utils.getObjectsFromQuads(rmlStore.getQuads(logicalSource, new NamedNode(NAMESPACES.RML + "source"), null)); Term source = sources.get(0); - CSVParser parser; if (source instanceof Literal) { // We are not dealing with something like CSVW. - parser = getParserForNormalCSV(access); + // Check for different spreadsheet formats + String filePath = source.getValue(); + String extension = FilenameUtils.getExtension(filePath); + switch (extension) { + case "xlsx": + return getRecordsForExcel(access); + case "ods": + return getRecordsForODT(access); + default: + return getRecordsForCSV(access, null); + } + } else { List sourceType = Utils.getObjectsFromQuads(rmlStore.getQuads(source, new NamedNode(NAMESPACES.RDF + "type"), null)); // Check if we are dealing with CSVW. if (sourceType.get(0).getValue().equals(NAMESPACES.CSVW + "Table")) { CSVW csvw = new CSVW(access.getInputStream(), rmlStore, logicalSource); - parser = csvw.getCSVParser(); + return getRecordsForCSV(access, csvw); } else { // RDBs fall under this. - parser = getParserForNormalCSV(access); + return getRecordsForCSV(access, null); } } + } - if (parser != null) { - List myEntries = parser.getRecords(); + /** + * Get Records for Excel file format. + * @param access + * @return + * @throws IOException + */ + private List getRecordsForExcel(Access access) throws IOException, SQLException, ClassNotFoundException { + List output = new ArrayList<>(); + Workbook workbook = new XSSFWorkbook(access.getInputStream()); + for (Sheet datatypeSheet : workbook) { + Row header = datatypeSheet.getRow(0); + boolean first = true; + for (Row currentRow : datatypeSheet) { + // remove the header + if (first) { + first = false; + } else { + output.add(new ExcelRecord(header, currentRow)); + } + } + } + return output; + } - return myEntries.stream() - .map(record -> new CSVRecord(record, access.getDataTypes())) - .collect(Collectors.toList()); - } else { - // We still return an empty list of records when a parser is not found. - // This is to support certain use cases with RDBs where queries might not be valid, - // but you don't want the RMLMapper to crash. - return new ArrayList<>(); + /** + * Get Records for ODT file format. + * @param access + * @return + * @throws IOException + */ + private List getRecordsForODT(Access access) throws Exception { + List output = new ArrayList<>(); + InputStream is = access.getInputStream(); + Document document = SpreadsheetDocument.loadDocument(is); + for (org.odftoolkit.simple.table.Table table : document.getTableList()) { + org.odftoolkit.simple.table.Row header = table.getRowByIndex(0); + boolean first = true; + for (org.odftoolkit.simple.table.Row currentRow : table.getRowList()) { + if (first) { + first = false; + } else { + output.add(new ODSRecord(header, currentRow)); + } + } } + return output; } /** @@ -78,19 +130,35 @@ public List getRecords(Access access, Term logicalSource, QuadStore rmlS * @return a CSVParser. * @throws IOException */ - private CSVParser getParserForNormalCSV(Access access) throws IOException, SQLException, ClassNotFoundException { - CSVFormat csvFormat = CSVFormat.DEFAULT.withHeader().withSkipHeaderRecord(false).withNullString("@@@@NULL@@@@"); - InputStream inputStream = access.getInputStream(); + private List getRecordsForCSV(Access access, CSVW csvw) throws IOException, SQLException, ClassNotFoundException { + CSVParser parser; + // Check if we are dealing with CSVW. + if (csvw != null) { + parser = csvw.getCSVParser(); + } else { + // RDBs fall under this. + CSVFormat csvFormat = CSVFormat.DEFAULT.withHeader().withSkipHeaderRecord(false).withNullString("@@@@NULL@@@@"); + InputStream inputStream = access.getInputStream(); - if (inputStream != null) { try { - return CSVParser.parse(inputStream, StandardCharsets.UTF_8, csvFormat); + parser = CSVParser.parse(inputStream, StandardCharsets.UTF_8, csvFormat); } catch (IllegalArgumentException e) { logger.debug("Could not parse CSV inputstream", e); - return null; + parser = null; } + } + + if (parser != null) { + List myEntries = parser.getRecords(); + + return myEntries.stream() + .map(record -> new CSVRecord(record, access.getDataTypes())) + .collect(Collectors.toList()); } else { - return null; + // We still return an empty list of records when a parser is not found. + // This is to support certain use cases with RDBs where queries might not be valid, + // but you don't want the RMLMapper to crash. + return new ArrayList<>(); } } } diff --git a/src/main/java/be/ugent/rml/records/ExcelRecord.java b/src/main/java/be/ugent/rml/records/ExcelRecord.java new file mode 100644 index 00000000..95404129 --- /dev/null +++ b/src/main/java/be/ugent/rml/records/ExcelRecord.java @@ -0,0 +1,102 @@ +package be.ugent.rml.records; + +import org.apache.jena.datatypes.xsd.XSDDatatype; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * This class is a specific implementation of a Record for Excel. + * Every record corresponds with a row of the Excel file. + */ +public class ExcelRecord extends Record { + + private Row row; + private Map header = new HashMap<>(); + + ExcelRecord(Row header, Row row) { + for (Cell cell : header) { + this.header.put(cell.getStringCellValue(), cell); + } + this.row = row; + } + + /** + * This method returns the datatype of a reference in the record. + * @param value the reference for which the datatype needs to be returned. + * @return the IRI of the datatype. + */ + public String getDataType(String value) { + Cell cell = null; + if (header != null && header.get(value) != null) { + int index = header.get(value).getColumnIndex(); + cell = row.getCell(index); + } + return getIRI(cell); + } + + + /** + * This method returns the objects for a column in the Excel record (= Excel row). + * @param value the column for which objects need to be returned. + * @return a list of objects for the column. + */ + @Override + public List get(String value) { + List result = new ArrayList<>(); + Object obj; + try { + int index = header.get(value).getColumnIndex(); + Cell cell = row.getCell(index); + switch (cell.getCellType()) { + case NUMERIC: + double d = cell.getNumericCellValue(); + // Cast to int if needed + if (d % 1 == 0) { + obj = (int) d; + } else { + obj = d; + } + break; + case BOOLEAN: + obj = cell.getBooleanCellValue(); + break; + default: + obj = cell.getStringCellValue(); + break; + } + + result.add(obj); + } catch (Exception e) { + e.printStackTrace(); + return result; + } + return result; + } + + /** + * Convert a CellType to a XSD datatype URI + * @param cell + * @return + */ + public static String getIRI(Cell cell) { + if (cell == null) { + return ""; + } + + CellType cellType = cell.getCellType(); + switch (cellType) { + case NUMERIC: + return cell.getNumericCellValue() % 1 == 0 ? XSDDatatype.XSDinteger.getURI() : XSDDatatype.XSDdouble.getURI(); + case BOOLEAN: + return XSDDatatype.XSDboolean.getURI(); + default: + return XSDDatatype.XSDstring.getURI(); + } + } +} diff --git a/src/main/java/be/ugent/rml/records/ODSRecord.java b/src/main/java/be/ugent/rml/records/ODSRecord.java new file mode 100644 index 00000000..91370b60 --- /dev/null +++ b/src/main/java/be/ugent/rml/records/ODSRecord.java @@ -0,0 +1,108 @@ +package be.ugent.rml.records; + +import org.apache.jena.datatypes.xsd.XSDDatatype; +import org.odftoolkit.simple.table.Cell; +import org.odftoolkit.simple.table.Row; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * This class is a specific implementation of a record for ODS. + * Every record corresponds with a row of the ODS data source. + */ +public class ODSRecord extends Record { + private Row row; + private Map header = new HashMap<>(); + + public ODSRecord(Row header, Row row) { + // get name from first row and types from second row + Row nextRow = header.getNextRow(); + for (int i = 0; i < header.getCellCount(); i++) { + Cell cell = header.getCellByIndex(i); + this.header.put(cell.getStringValue(), nextRow.getCellByIndex(i)); + } + this.row = row; + } + + /** + * This method returns the datatype of a reference in the record. + * @param value the reference for which the datatype needs to be returned. + * @return the IRI of the datatype. + */ + public String getDataType(String value) { + String cellType = null; + + if (header != null && header.get(value) != null) { + cellType = header.get(value).getValueType(); + } + return getIRI(cellType); + } + + /** + * This method returns the objects for a column in the ODS record (= ODS row). + * @param value the column for which objects need to be returned. + * @return a list of objects for the column. + */ + @Override + public List get(String value) { + List result = new ArrayList<>(); + Object obj; + try { + int index = header.get(value).getColumnIndex(); + Cell cell = row.getCellByIndex(index); + switch (cell.getValueType()) { + case "boolean": + obj = cell.getBooleanValue(); + break; + case "float": + double d = cell.getDoubleValue(); + // Cast to int if needed + if (d % 1 == 0) { + obj = (int) d; + } else { + obj = d; + } + break; + case "string": + default: + obj = cell.getStringValue(); + break; + } + // TODO don't stringify all types, but retain them + // needs object comparison in join function + // FunctionModel + // java.lang.IllegalArgumentException: argument type mismatch + obj = String.valueOf(obj); + result.add(obj); + } catch (Exception e) { + return result; + } + + return result; + } + + /** + * Convert a cell type to a XSD datatype URI + * @param cellType + * @return + */ + public static String getIRI(String cellType) { +// https://odftoolkit.org/api/simple/org/odftoolkit/simple/table/Cell.html#getValueType-- + if (cellType == null) { + return ""; + } + switch (cellType) { +// case "boolean": +// return XSDDatatype.XSDboolean.getURI(); +// case "float": +// return XSDDatatype.XSDdouble.getURI(); +// case "string": +// return XSDDatatype.XSDstring.getURI(); + default: + return XSDDatatype.XSDstring.getURI(); + } + } +} diff --git a/src/main/java/be/ugent/rml/records/RecordsFactory.java b/src/main/java/be/ugent/rml/records/RecordsFactory.java index 2a194afd..14a6593f 100644 --- a/src/main/java/be/ugent/rml/records/RecordsFactory.java +++ b/src/main/java/be/ugent/rml/records/RecordsFactory.java @@ -44,7 +44,7 @@ public RecordsFactory(String basePath) { * @return a list of records. * @throws IOException */ - public List createRecords(Term triplesMap, QuadStore rmlStore) throws IOException, SQLException, ClassNotFoundException { + public List createRecords(Term triplesMap, QuadStore rmlStore) throws Exception { // Get Logical Sources. List logicalSources = Utils.getObjectsFromQuads(rmlStore.getQuads(triplesMap, new NamedNode(NAMESPACES.RML + "logicalSource"), null)); @@ -123,7 +123,7 @@ private void putRecordsIntoCache(Access access, String referenceFormulation, Str * @return a list of records. * @throws IOException */ - private List getRecords(Access access, Term logicalSource, String referenceFormulation, QuadStore rmlStore) throws IOException, SQLException, ClassNotFoundException { + private List getRecords(Access access, Term logicalSource, String referenceFormulation, QuadStore rmlStore) throws Exception { String logicalSourceHash = hashLogicalSource(logicalSource, rmlStore); // Try to get the records from the cache. @@ -141,7 +141,7 @@ private List getRecords(Access access, Term logicalSource, String refere putRecordsIntoCache(access, referenceFormulation, logicalSourceHash, records); return records; - } catch (IOException e) { + } catch (Exception e) { throw e; } } diff --git a/src/main/java/be/ugent/rml/records/ReferenceFormulationRecordFactory.java b/src/main/java/be/ugent/rml/records/ReferenceFormulationRecordFactory.java index 4467e5fb..72ba3c58 100644 --- a/src/main/java/be/ugent/rml/records/ReferenceFormulationRecordFactory.java +++ b/src/main/java/be/ugent/rml/records/ReferenceFormulationRecordFactory.java @@ -21,5 +21,5 @@ public interface ReferenceFormulationRecordFactory { * @return a list of records. * @throws IOException */ - List getRecords(Access access, Term logicalSource, QuadStore rmlStore) throws IOException, SQLException, ClassNotFoundException; + List getRecords(Access access, Term logicalSource, QuadStore rmlStore) throws Exception; } diff --git a/src/main/java/be/ugent/rml/term/Literal.java b/src/main/java/be/ugent/rml/term/Literal.java index b6e869bd..5d1db034 100644 --- a/src/main/java/be/ugent/rml/term/Literal.java +++ b/src/main/java/be/ugent/rml/term/Literal.java @@ -35,7 +35,9 @@ public String toString() { if (this.language != null && !this.language.equals("")) { temp += "@" + this.language; - } else if (this.datatype != null) { + } else if (this.datatype != null && ! this.datatype.getValue().equals("http://www.w3.org/2001/XMLSchema#string")) { + // https://www.w3.org/TR/turtle/#h4_turtle-literals + // > If there is no datatype IRI and no language tag, the datatype is xsd:string. temp += "^^" + this.datatype; } diff --git a/src/test/java/be/ugent/rml/Mapper_CSV_Test.java b/src/test/java/be/ugent/rml/Mapper_CSV_Test.java index a49778b2..c803375e 100644 --- a/src/test/java/be/ugent/rml/Mapper_CSV_Test.java +++ b/src/test/java/be/ugent/rml/Mapper_CSV_Test.java @@ -198,7 +198,6 @@ public void evaluate_0020b_CSV() { doMapping("./test-cases/RMLTC0020b-CSV/mapping.ttl", "./test-cases/RMLTC0020b-CSV/output.nq"); } - @Test public void evaluate_1003_CSV() { doMapping("./test-cases/RMLTC1003-CSV/mapping.ttl", "./test-cases/RMLTC1003-CSV/output.nq"); diff --git a/src/test/java/be/ugent/rml/Mapper_EXCEL_Test.java b/src/test/java/be/ugent/rml/Mapper_EXCEL_Test.java new file mode 100644 index 00000000..a44a3477 --- /dev/null +++ b/src/test/java/be/ugent/rml/Mapper_EXCEL_Test.java @@ -0,0 +1,250 @@ +package be.ugent.rml; + +import org.junit.Test; + +public class Mapper_EXCEL_Test extends TestCore { + @Test + public void evaluate_0000_EXCEL() { + doMapping("./test-cases/RMLTC0000-EXCEL/mapping.ttl", "./test-cases/RMLTC0000-EXCEL/output.nq"); + } + + @Test + public void evaluate_0001a_EXCEL() { + doMapping("./test-cases/RMLTC0001a-EXCEL/mapping.ttl", "./test-cases/RMLTC0001a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0001b_EXCEL() { + doMapping("./test-cases/RMLTC0001b-EXCEL/mapping.ttl", "./test-cases/RMLTC0001b-EXCEL/output.nq"); + } + + @Test + public void evaluate_0002a_EXCEL() { + doMapping("./test-cases/RMLTC0002a-EXCEL/mapping.ttl", "./test-cases/RMLTC0002a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0002b_EXCEL() { + doMapping("./test-cases/RMLTC0002b-EXCEL/mapping.ttl", "./test-cases/RMLTC0002b-EXCEL/output.nq"); + } + + @Test + public void evaluate_0002c_EXCEL() { + doMapping("./test-cases/RMLTC0002c-EXCEL/mapping.ttl", "./test-cases/RMLTC0002c-EXCEL/output.nq"); + } + + @Test + public void evaluate_0002e_EXCEL() { + doMappingExpectError("./test-cases/RMLTC0002e-EXCEL/mapping.ttl"); + } + + @Test + public void evaluate_0003c_EXCEL() { + doMapping("./test-cases/RMLTC0003c-EXCEL/mapping.ttl", "./test-cases/RMLTC0003c-EXCEL/output.nq"); + } + + @Test + public void evaluate_0004a_EXCEL() { + doMapping("./test-cases/RMLTC0004a-EXCEL/mapping.ttl", "./test-cases/RMLTC0004a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0004b_EXCEL() { + doMappingExpectError("./test-cases/RMLTC0004b-EXCEL/mapping.ttl"); + } + + @Test + public void evaluate_0005a_EXCEL() { + doMapping("./test-cases/RMLTC0005a-EXCEL/mapping.ttl", "./test-cases/RMLTC0005a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0006a_EXCEL() { + doMapping("./test-cases/RMLTC0006a-EXCEL/mapping.ttl", "./test-cases/RMLTC0006a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0007a_EXCEL() { + doMapping("./test-cases/RMLTC0007a-EXCEL/mapping.ttl", "./test-cases/RMLTC0007a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0007b_EXCEL() { + doMapping("./test-cases/RMLTC0007b-EXCEL/mapping.ttl", "./test-cases/RMLTC0007b-EXCEL/output.nq"); + } + + @Test + public void evaluate_0007c_EXCEL() { + doMapping("./test-cases/RMLTC0007c-EXCEL/mapping.ttl", "./test-cases/RMLTC0007c-EXCEL/output.nq"); + } + + @Test + public void evaluate_0007d_EXCEL() { + doMapping("./test-cases/RMLTC0007d-EXCEL/mapping.ttl", "./test-cases/RMLTC0007d-EXCEL/output.nq"); + } + + @Test + public void evaluate_0007e_EXCEL() { + doMapping("./test-cases/RMLTC0007e-EXCEL/mapping.ttl", "./test-cases/RMLTC0007e-EXCEL/output.nq"); + } + + @Test + public void evaluate_0007f_EXCEL() { + doMapping("./test-cases/RMLTC0007f-EXCEL/mapping.ttl", "./test-cases/RMLTC0007f-EXCEL/output.nq"); + } + + @Test + public void evaluate_0007g_EXCEL() { + doMapping("./test-cases/RMLTC0007g-EXCEL/mapping.ttl", "./test-cases/RMLTC0007g-EXCEL/output.nq"); + } + + @Test + public void evaluate_0007h_EXCEL() { + doMapping("./test-cases/RMLTC0007h-EXCEL/mapping.ttl", "./test-cases/RMLTC0007h-EXCEL/output.nq"); + } + + @Test + public void evaluate_0008a_EXCEL() { + doMapping("./test-cases/RMLTC0008a-EXCEL/mapping.ttl", "./test-cases/RMLTC0008a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0008b_EXCEL() { + doMapping("./test-cases/RMLTC0008b-EXCEL/mapping.ttl", "./test-cases/RMLTC0008b-EXCEL/output.nq"); + } + + @Test + public void evaluate_0008c_EXCEL() { + doMapping("./test-cases/RMLTC0008c-EXCEL/mapping.ttl", "./test-cases/RMLTC0008c-EXCEL/output.nq"); + } + + @Test + public void evaluate_0009a_EXCEL() { + doMapping("./test-cases/RMLTC0009a-EXCEL/mapping.ttl", "./test-cases/RMLTC0009a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0009b_EXCEL() { + doMapping("./test-cases/RMLTC0009b-EXCEL/mapping.ttl", "./test-cases/RMLTC0009b-EXCEL/output.nq"); + } + + @Test + public void evaluate_0010a_EXCEL() { + doMapping("./test-cases/RMLTC0010a-EXCEL/mapping.ttl", "./test-cases/RMLTC0010a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0010b_EXCEL() { + doMapping("./test-cases/RMLTC0010b-EXCEL/mapping.ttl", "./test-cases/RMLTC0010b-EXCEL/output.nq"); + } + + @Test + public void evaluate_0010c_EXCEL() { + doMapping("./test-cases/RMLTC0010c-EXCEL/mapping.ttl", "./test-cases/RMLTC0010c-EXCEL/output.nq"); + } + + @Test + public void evaluate_0011b_EXCEL() { + doMapping("./test-cases/RMLTC0011b-EXCEL/mapping.ttl", "./test-cases/RMLTC0011b-EXCEL/output.nq"); + } + + @Test + public void evaluate_0012a_EXCEL() { + doMapping("./test-cases/RMLTC0012a-EXCEL/mapping.ttl", "./test-cases/RMLTC0012a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0012b_EXCEL() { + doMapping("./test-cases/RMLTC0012b-EXCEL/mapping.ttl", "./test-cases/RMLTC0012b-EXCEL/output.nq"); + } + + @Test + public void evaluate_0012c_EXCEL() { + doMappingExpectError("./test-cases/RMLTC0012c-EXCEL/mapping.ttl"); + } + + @Test + public void evaluate_0012d_EXCEL() { + doMappingExpectError("./test-cases/RMLTC0012d-EXCEL/mapping.ttl"); + } + + @Test + public void evaluate_0015a_EXCEL() { + doMapping("./test-cases/RMLTC0015a-EXCEL/mapping.ttl", "./test-cases/RMLTC0015a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0015b_EXCEL() { + doMappingExpectError("./test-cases/RMLTC0015b-EXCEL/mapping.ttl"); + } + + @Test + public void evaluate_0019a_EXCEL() { + doMapping("./test-cases/RMLTC0019a-EXCEL/mapping.ttl", "./test-cases/RMLTC0019a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0019b_EXCEL() { + doMapping("./test-cases/RMLTC0019b-EXCEL/mapping.ttl", "./test-cases/RMLTC0019b-EXCEL/output.nq"); + } + + @Test + public void evaluate_0020a_EXCEL() { + doMapping("./test-cases/RMLTC0020a-EXCEL/mapping.ttl", "./test-cases/RMLTC0020a-EXCEL/output.nq"); + } + + @Test + public void evaluate_0020b_EXCEL() { + doMapping("./test-cases/RMLTC0020b-EXCEL/mapping.ttl", "./test-cases/RMLTC0020b-EXCEL/output.nq"); + } + + @Test + public void evaluate_1003_EXCEL() { + doMapping("./test-cases/RMLTC1003-EXCEL/mapping.ttl", "./test-cases/RMLTC1003-EXCEL/output.nq"); + } + + @Test + public void evaluate_1005a_EXCEL() { + doMapping("test-cases/RMLTC1005a-EXCEL/mapping.ttl", "test-cases/RMLTC1005a-EXCEL/output.nq"); + } + + @Test + public void evaluate_1005b_EXCEL() { + doMapping("test-cases/RMLTC1005b-EXCEL/mapping.ttl", "test-cases/RMLTC1005b-EXCEL/output.nq"); + } + + @Test + public void evaluate_1007_EXCEL() { + doMapping("test-cases/RMLTC1007-EXCEL/mapping.ttl", "test-cases/RMLTC1007-EXCEL/output.nq"); + } + + @Test + public void evaluate_1008_EXCEL() { + doMapping("test-cases/RMLTC1008-EXCEL/mapping.ttl", "test-cases/RMLTC1008-EXCEL/output.nq"); + } + + @Test + public void evaluate_1010_EXCEL() { + doMapping("test-cases/RMLTC1010-EXCEL/mapping.ttl", "test-cases/RMLTC1010-EXCEL/output.nq"); + } + + @Test + public void evaluate_1012_EXCEL() { + doMapping("test-cases/RMLTC1012-EXCEL/mapping.ttl", "test-cases/RMLTC1012-EXCEL/output.nq"); + } + + @Test + public void evaluate_1013_EXCEL() { + doMapping("test-cases/RMLTC1013-EXCEL/mapping.ttl", "test-cases/RMLTC1013-EXCEL/output.nq"); + } + + @Test + public void evaluate_1014_EXCEL() { + doMapping("test-cases/RMLTC1014-EXCEL/mapping.ttl", "test-cases/RMLTC1014-EXCEL/output.nq"); + } + + @Test + public void evaluate_1015_EXCEL() { + doMapping("test-cases/RMLTC1015-EXCEL/mapping.ttl", "test-cases/RMLTC1015-EXCEL/output.nq"); + } +} \ No newline at end of file diff --git a/src/test/java/be/ugent/rml/Mapper_ODS_Test.java b/src/test/java/be/ugent/rml/Mapper_ODS_Test.java new file mode 100644 index 00000000..58f35330 --- /dev/null +++ b/src/test/java/be/ugent/rml/Mapper_ODS_Test.java @@ -0,0 +1,250 @@ +package be.ugent.rml; + +import org.junit.Test; + +public class Mapper_ODS_Test extends TestCore { + @Test + public void evaluate_0000_ODS() { + doMapping("./test-cases/RMLTC0000-ODS/mapping.ttl", "./test-cases/RMLTC0000-ODS/output.nq"); + } + + @Test + public void evaluate_0001a_ODS() { + doMapping("./test-cases/RMLTC0001a-ODS/mapping.ttl", "./test-cases/RMLTC0001a-ODS/output.nq"); + } + + @Test + public void evaluate_0001b_ODS() { + doMapping("./test-cases/RMLTC0001b-ODS/mapping.ttl", "./test-cases/RMLTC0001b-ODS/output.nq"); + } + + @Test + public void evaluate_0002a_ODS() { + doMapping("./test-cases/RMLTC0002a-ODS/mapping.ttl", "./test-cases/RMLTC0002a-ODS/output.nq"); + } + + @Test + public void evaluate_0002b_ODS() { + doMapping("./test-cases/RMLTC0002b-ODS/mapping.ttl", "./test-cases/RMLTC0002b-ODS/output.nq"); + } + + @Test + public void evaluate_0002c_ODS() { + doMapping("./test-cases/RMLTC0002c-ODS/mapping.ttl", "./test-cases/RMLTC0002c-ODS/output.nq"); + } + + @Test + public void evaluate_0002e_ODS() { + doMappingExpectError("./test-cases/RMLTC0002e-ODS/mapping.ttl"); + } + + @Test + public void evaluate_0003c_ODS() { + doMapping("./test-cases/RMLTC0003c-ODS/mapping.ttl", "./test-cases/RMLTC0003c-ODS/output.nq"); + } + + @Test + public void evaluate_0004a_ODS() { + doMapping("./test-cases/RMLTC0004a-ODS/mapping.ttl", "./test-cases/RMLTC0004a-ODS/output.nq"); + } + + @Test + public void evaluate_0004b_ODS() { + doMappingExpectError("./test-cases/RMLTC0004b-ODS/mapping.ttl"); + } + + @Test + public void evaluate_0005a_ODS() { + doMapping("./test-cases/RMLTC0005a-ODS/mapping.ttl", "./test-cases/RMLTC0005a-ODS/output.nq"); + } + + @Test + public void evaluate_0006a_ODS() { + doMapping("./test-cases/RMLTC0006a-ODS/mapping.ttl", "./test-cases/RMLTC0006a-ODS/output.nq"); + } + + @Test + public void evaluate_0007a_ODS() { + doMapping("./test-cases/RMLTC0007a-ODS/mapping.ttl", "./test-cases/RMLTC0007a-ODS/output.nq"); + } + + @Test + public void evaluate_0007b_ODS() { + doMapping("./test-cases/RMLTC0007b-ODS/mapping.ttl", "./test-cases/RMLTC0007b-ODS/output.nq"); + } + + @Test + public void evaluate_0007c_ODS() { + doMapping("./test-cases/RMLTC0007c-ODS/mapping.ttl", "./test-cases/RMLTC0007c-ODS/output.nq"); + } + + @Test + public void evaluate_0007d_ODS() { + doMapping("./test-cases/RMLTC0007d-ODS/mapping.ttl", "./test-cases/RMLTC0007d-ODS/output.nq"); + } + + @Test + public void evaluate_0007e_ODS() { + doMapping("./test-cases/RMLTC0007e-ODS/mapping.ttl", "./test-cases/RMLTC0007e-ODS/output.nq"); + } + + @Test + public void evaluate_0007f_ODS() { + doMapping("./test-cases/RMLTC0007f-ODS/mapping.ttl", "./test-cases/RMLTC0007f-ODS/output.nq"); + } + + @Test + public void evaluate_0007g_ODS() { + doMapping("./test-cases/RMLTC0007g-ODS/mapping.ttl", "./test-cases/RMLTC0007g-ODS/output.nq"); + } + + @Test + public void evaluate_0007h_ODS() { + doMapping("./test-cases/RMLTC0007h-ODS/mapping.ttl", "./test-cases/RMLTC0007h-ODS/output.nq"); + } + + @Test + public void evaluate_0008a_ODS() { + doMapping("./test-cases/RMLTC0008a-ODS/mapping.ttl", "./test-cases/RMLTC0008a-ODS/output.nq"); + } + + @Test + public void evaluate_0008b_ODS() { + doMapping("./test-cases/RMLTC0008b-ODS/mapping.ttl", "./test-cases/RMLTC0008b-ODS/output.nq"); + } + + @Test + public void evaluate_0008c_ODS() { + doMapping("./test-cases/RMLTC0008c-ODS/mapping.ttl", "./test-cases/RMLTC0008c-ODS/output.nq"); + } + + @Test + public void evaluate_0009a_ODS() { + doMapping("./test-cases/RMLTC0009a-ODS/mapping.ttl", "./test-cases/RMLTC0009a-ODS/output.nq"); + } + + @Test + public void evaluate_0009b_ODS() { + doMapping("./test-cases/RMLTC0009b-ODS/mapping.ttl", "./test-cases/RMLTC0009b-ODS/output.nq"); + } + + @Test + public void evaluate_0010a_ODS() { + doMapping("./test-cases/RMLTC0010a-ODS/mapping.ttl", "./test-cases/RMLTC0010a-ODS/output.nq"); + } + + @Test + public void evaluate_0010b_ODS() { + doMapping("./test-cases/RMLTC0010b-ODS/mapping.ttl", "./test-cases/RMLTC0010b-ODS/output.nq"); + } + + @Test + public void evaluate_0010c_ODS() { + doMapping("./test-cases/RMLTC0010c-ODS/mapping.ttl", "./test-cases/RMLTC0010c-ODS/output.nq"); + } + + @Test + public void evaluate_0011b_ODS() { + doMapping("./test-cases/RMLTC0011b-ODS/mapping.ttl", "./test-cases/RMLTC0011b-ODS/output.nq"); + } + + @Test + public void evaluate_0012a_ODS() { + doMapping("./test-cases/RMLTC0012a-ODS/mapping.ttl", "./test-cases/RMLTC0012a-ODS/output.nq"); + } + + @Test + public void evaluate_0012b_ODS() { + doMapping("./test-cases/RMLTC0012b-ODS/mapping.ttl", "./test-cases/RMLTC0012b-ODS/output.nq"); + } + + @Test + public void evaluate_0012c_ODS() { + doMappingExpectError("./test-cases/RMLTC0012c-ODS/mapping.ttl"); + } + + @Test + public void evaluate_0012d_ODS() { + doMappingExpectError("./test-cases/RMLTC0012d-ODS/mapping.ttl"); + } + + @Test + public void evaluate_0015a_ODS() { + doMapping("./test-cases/RMLTC0015a-ODS/mapping.ttl", "./test-cases/RMLTC0015a-ODS/output.nq"); + } + + @Test + public void evaluate_0015b_ODS() { + doMappingExpectError("./test-cases/RMLTC0015b-ODS/mapping.ttl"); + } + + @Test + public void evaluate_0019a_ODS() { + doMapping("./test-cases/RMLTC0019a-ODS/mapping.ttl", "./test-cases/RMLTC0019a-ODS/output.nq"); + } + + @Test + public void evaluate_0019b_ODS() { + doMapping("./test-cases/RMLTC0019b-ODS/mapping.ttl", "./test-cases/RMLTC0019b-ODS/output.nq"); + } + + @Test + public void evaluate_0020a_ODS() { + doMapping("./test-cases/RMLTC0020a-ODS/mapping.ttl", "./test-cases/RMLTC0020a-ODS/output.nq"); + } + + @Test + public void evaluate_0020b_ODS() { + doMapping("./test-cases/RMLTC0020b-ODS/mapping.ttl", "./test-cases/RMLTC0020b-ODS/output.nq"); + } + + @Test + public void evaluate_1003_ODS() { + doMapping("./test-cases/RMLTC1003-ODS/mapping.ttl", "./test-cases/RMLTC1003-ODS/output.nq"); + } + + @Test + public void evaluate_1005a_ODS() { + doMapping("test-cases/RMLTC1005a-ODS/mapping.ttl", "test-cases/RMLTC1005a-ODS/output.nq"); + } + + @Test + public void evaluate_1005b_ODS() { + doMapping("test-cases/RMLTC1005b-ODS/mapping.ttl", "test-cases/RMLTC1005b-ODS/output.nq"); + } + + @Test + public void evaluate_1007_ODS() { + doMapping("test-cases/RMLTC1007-ODS/mapping.ttl", "test-cases/RMLTC1007-ODS/output.nq"); + } + + @Test + public void evaluate_1008_ODS() { + doMapping("test-cases/RMLTC1008-ODS/mapping.ttl", "test-cases/RMLTC1008-ODS/output.nq"); + } + + @Test + public void evaluate_1010_ODS() { + doMapping("test-cases/RMLTC1010-ODS/mapping.ttl", "test-cases/RMLTC1010-ODS/output.nq"); + } + + @Test + public void evaluate_1012_ODS() { + doMapping("test-cases/RMLTC1012-ODS/mapping.ttl", "test-cases/RMLTC1012-ODS/output.nq"); + } + + @Test + public void evaluate_1013_ODS() { + doMapping("test-cases/RMLTC1013-ODS/mapping.ttl", "test-cases/RMLTC1013-ODS/output.nq"); + } + + @Test + public void evaluate_1014_ODS() { + doMapping("test-cases/RMLTC1014-ODS/mapping.ttl", "test-cases/RMLTC1014-ODS/output.nq"); + } + + @Test + public void evaluate_1015_ODS() { + doMapping("test-cases/RMLTC1015-ODS/mapping.ttl", "test-cases/RMLTC1015-ODS/output.nq"); + } +} \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC0000-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0000-EXCEL/mapping.ttl new file mode 100644 index 00000000..2a4def13 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0000-EXCEL/mapping.ttl @@ -0,0 +1,27 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ] ; + + rr:subjectMap [ + rr:template "http://example.com/{Name}" + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ + rml:reference "Name" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0000-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0000-EXCEL/output.nq new file mode 100644 index 00000000..ca0b9916 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0000-EXCEL/output.nq @@ -0,0 +1 @@ +# empty database diff --git a/src/test/resources/test-cases/RMLTC0000-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0000-EXCEL/student.xlsx new file mode 100644 index 00000000..7a6758e2 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0000-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0000-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0000-ODS/mapping.ttl new file mode 100644 index 00000000..146791c2 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0000-ODS/mapping.ttl @@ -0,0 +1,27 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ] ; + + rr:subjectMap [ + rr:template "http://example.com/{Name}" + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ + rml:reference "Name" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0000-ODS/output.nq b/src/test/resources/test-cases/RMLTC0000-ODS/output.nq new file mode 100644 index 00000000..ca0b9916 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0000-ODS/output.nq @@ -0,0 +1 @@ +# empty database diff --git a/src/test/resources/test-cases/RMLTC0000-ODS/student.ods b/src/test/resources/test-cases/RMLTC0000-ODS/student.ods new file mode 100644 index 00000000..991470f9 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0000-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0001a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0001a-EXCEL/mapping.ttl new file mode 100644 index 00000000..03dd4d0c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0001a-EXCEL/mapping.ttl @@ -0,0 +1,29 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Name}" + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "Name" + ] + ]. + + diff --git a/src/test/resources/test-cases/RMLTC0001a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0001a-EXCEL/output.nq new file mode 100644 index 00000000..73f40ddf --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0001a-EXCEL/output.nq @@ -0,0 +1,2 @@ + "Venus" . + diff --git a/src/test/resources/test-cases/RMLTC0001a-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0001a-EXCEL/student.xlsx new file mode 100644 index 00000000..7c58af5f Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0001a-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0001a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0001a-ODS/mapping.ttl new file mode 100644 index 00000000..c3c0d8d2 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0001a-ODS/mapping.ttl @@ -0,0 +1,29 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Name}" + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "Name" + ] + ]. + + diff --git a/src/test/resources/test-cases/RMLTC0001a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0001a-ODS/output.nq new file mode 100644 index 00000000..73f40ddf --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0001a-ODS/output.nq @@ -0,0 +1,2 @@ + "Venus" . + diff --git a/src/test/resources/test-cases/RMLTC0001a-ODS/student.ods b/src/test/resources/test-cases/RMLTC0001a-ODS/student.ods new file mode 100644 index 00000000..a2da8cb4 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0001a-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0001b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0001b-EXCEL/mapping.ttl new file mode 100644 index 00000000..555d81c1 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0001b-EXCEL/mapping.ttl @@ -0,0 +1,28 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "{Name}"; + rr:termType rr:BlankNode + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "Name" + ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0001b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0001b-EXCEL/output.nq new file mode 100644 index 00000000..082a16c0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0001b-EXCEL/output.nq @@ -0,0 +1,2 @@ +_:Venus "Venus" . + diff --git a/src/test/resources/test-cases/RMLTC0001b-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0001b-EXCEL/student.xlsx new file mode 100644 index 00000000..e3363db8 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0001b-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0001b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0001b-ODS/mapping.ttl new file mode 100644 index 00000000..2cc98453 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0001b-ODS/mapping.ttl @@ -0,0 +1,28 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "{Name}"; + rr:termType rr:BlankNode + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "Name" + ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0001b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0001b-ODS/output.nq new file mode 100644 index 00000000..082a16c0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0001b-ODS/output.nq @@ -0,0 +1,2 @@ +_:Venus "Venus" . + diff --git a/src/test/resources/test-cases/RMLTC0001b-ODS/student.ods b/src/test/resources/test-cases/RMLTC0001b-ODS/student.ods new file mode 100644 index 00000000..a2da8cb4 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0001b-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0002a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0002a-EXCEL/mapping.ttl new file mode 100644 index 00000000..d857e24c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002a-EXCEL/mapping.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}/{Name}"; + rr:class foaf:Person + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "ID" ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0002a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0002a-EXCEL/output.nq new file mode 100644 index 00000000..cf274fb0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002a-EXCEL/output.nq @@ -0,0 +1,4 @@ + "Venus" . + "10"^^ . + . + diff --git a/src/test/resources/test-cases/RMLTC0002a-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0002a-EXCEL/student.xlsx new file mode 100644 index 00000000..1efec8f3 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0002a-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0002a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0002a-ODS/mapping.ttl new file mode 100644 index 00000000..6399d359 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002a-ODS/mapping.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}/{Name}"; + rr:class foaf:Person + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "ID" ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0002a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0002a-ODS/output.nq new file mode 100644 index 00000000..174309a6 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002a-ODS/output.nq @@ -0,0 +1,4 @@ + "Venus" . + "10" . + . + diff --git a/src/test/resources/test-cases/RMLTC0002a-ODS/student.ods b/src/test/resources/test-cases/RMLTC0002a-ODS/student.ods new file mode 100644 index 00000000..e0480953 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0002a-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0002b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0002b-EXCEL/mapping.ttl new file mode 100644 index 00000000..83907f41 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002b-EXCEL/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "students{ID}"; + rr:termType rr:BlankNode + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0002b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0002b-EXCEL/output.nq new file mode 100644 index 00000000..be918d0b --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002b-EXCEL/output.nq @@ -0,0 +1,2 @@ +_:students10 "Venus" . + diff --git a/src/test/resources/test-cases/RMLTC0002b-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0002b-EXCEL/student.xlsx new file mode 100644 index 00000000..1efec8f3 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0002b-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0002b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0002b-ODS/mapping.ttl new file mode 100644 index 00000000..a477be08 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002b-ODS/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "students{ID}"; + rr:termType rr:BlankNode + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0002b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0002b-ODS/output.nq new file mode 100644 index 00000000..be918d0b --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002b-ODS/output.nq @@ -0,0 +1,2 @@ +_:students10 "Venus" . + diff --git a/src/test/resources/test-cases/RMLTC0002b-ODS/student.ods b/src/test/resources/test-cases/RMLTC0002b-ODS/student.ods new file mode 100644 index 00000000..e0480953 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0002b-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0002c-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0002c-EXCEL/mapping.ttl new file mode 100644 index 00000000..6d493a56 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002c-EXCEL/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}/{Name}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "IDs" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0002c-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0002c-EXCEL/output.nq new file mode 100644 index 00000000..e69de29b diff --git a/src/test/resources/test-cases/RMLTC0002c-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0002c-EXCEL/student.xlsx new file mode 100644 index 00000000..1efec8f3 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0002c-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0002c-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0002c-ODS/mapping.ttl new file mode 100644 index 00000000..bc0e9c6e --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002c-ODS/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}/{Name}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "IDs" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0002c-ODS/output.nq b/src/test/resources/test-cases/RMLTC0002c-ODS/output.nq new file mode 100644 index 00000000..e69de29b diff --git a/src/test/resources/test-cases/RMLTC0002c-ODS/student.ods b/src/test/resources/test-cases/RMLTC0002c-ODS/student.ods new file mode 100644 index 00000000..e0480953 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0002c-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0002e-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0002e-EXCEL/mapping.ttl new file mode 100644 index 00000000..da8b8e96 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002e-EXCEL/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student2.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}/{Name}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "IDs" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0002e-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0002e-EXCEL/student.xlsx new file mode 100644 index 00000000..1efec8f3 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0002e-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0002e-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0002e-ODS/mapping.ttl new file mode 100644 index 00000000..94b4fe59 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0002e-ODS/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student2.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}/{Name}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "IDs" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0002e-ODS/student.ods b/src/test/resources/test-cases/RMLTC0002e-ODS/student.ods new file mode 100644 index 00000000..e0480953 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0002e-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0003c-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0003c-EXCEL/mapping.ttl new file mode 100644 index 00000000..3b38dcc4 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0003c-EXCEL/mapping.ttl @@ -0,0 +1,27 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0003c-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0003c-EXCEL/output.nq new file mode 100644 index 00000000..180f90c2 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0003c-EXCEL/output.nq @@ -0,0 +1 @@ + "Venus Williams" . diff --git a/src/test/resources/test-cases/RMLTC0003c-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0003c-EXCEL/student.xlsx new file mode 100644 index 00000000..fadd6942 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0003c-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0003c-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0003c-ODS/mapping.ttl new file mode 100644 index 00000000..5ccbf3ed --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0003c-ODS/mapping.ttl @@ -0,0 +1,27 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0003c-ODS/output.nq b/src/test/resources/test-cases/RMLTC0003c-ODS/output.nq new file mode 100644 index 00000000..180f90c2 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0003c-ODS/output.nq @@ -0,0 +1 @@ + "Venus Williams" . diff --git a/src/test/resources/test-cases/RMLTC0003c-ODS/student.ods b/src/test/resources/test-cases/RMLTC0003c-ODS/student.ods new file mode 100644 index 00000000..34225c3e Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0003c-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0004a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0004a-EXCEL/mapping.ttl new file mode 100644 index 00000000..9a21771c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0004a-EXCEL/mapping.ttl @@ -0,0 +1,46 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student_sport.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Student}"; + rr:class ex:Student + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ + rml:reference "Student" + ] + ]. + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student_sport.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Sport}"; + rr:class ex:Sport + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ + rml:reference "Sport" + ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0004a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0004a-EXCEL/output.nq new file mode 100644 index 00000000..164ca8ba --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0004a-EXCEL/output.nq @@ -0,0 +1,5 @@ + "Venus" . + . + "Tennis" . + . + diff --git a/src/test/resources/test-cases/RMLTC0004a-EXCEL/student_sport.xlsx b/src/test/resources/test-cases/RMLTC0004a-EXCEL/student_sport.xlsx new file mode 100644 index 00000000..af15102c Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0004a-EXCEL/student_sport.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0004a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0004a-ODS/mapping.ttl new file mode 100644 index 00000000..ddaa6122 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0004a-ODS/mapping.ttl @@ -0,0 +1,46 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student_sport.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Student}"; + rr:class ex:Student + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ + rml:reference "Student" + ] + ]. + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student_sport.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Sport}"; + rr:class ex:Sport + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ + rml:reference "Sport" + ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0004a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0004a-ODS/output.nq new file mode 100644 index 00000000..164ca8ba --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0004a-ODS/output.nq @@ -0,0 +1,5 @@ + "Venus" . + . + "Tennis" . + . + diff --git a/src/test/resources/test-cases/RMLTC0004a-ODS/student_sport.ods b/src/test/resources/test-cases/RMLTC0004a-ODS/student_sport.ods new file mode 100644 index 00000000..36ee4017 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0004a-ODS/student_sport.ods differ diff --git a/src/test/resources/test-cases/RMLTC0004b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0004b-EXCEL/mapping.ttl new file mode 100644 index 00000000..4241388b --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0004b-EXCEL/mapping.ttl @@ -0,0 +1,28 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Name}"; + rr:termType rr:Literal + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "Name" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0004b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0004b-EXCEL/output.nq new file mode 100644 index 00000000..a8565cd0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0004b-EXCEL/output.nq @@ -0,0 +1 @@ + "Venus" . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC0004b-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0004b-EXCEL/student.xlsx new file mode 100644 index 00000000..fadaaac8 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0004b-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0004b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0004b-ODS/mapping.ttl new file mode 100644 index 00000000..68f5115f --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0004b-ODS/mapping.ttl @@ -0,0 +1,28 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Name}"; + rr:termType rr:Literal + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "Name" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0004b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0004b-ODS/output.nq new file mode 100644 index 00000000..a8565cd0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0004b-ODS/output.nq @@ -0,0 +1 @@ + "Venus" . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC0004b-ODS/student.ods b/src/test/resources/test-cases/RMLTC0004b-ODS/student.ods new file mode 100644 index 00000000..9d252613 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0004b-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0005a-EXCEL/ious.xlsx b/src/test/resources/test-cases/RMLTC0005a-EXCEL/ious.xlsx new file mode 100644 index 00000000..8cce6e96 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0005a-EXCEL/ious.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0005a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0005a-EXCEL/mapping.ttl new file mode 100644 index 00000000..26076be4 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0005a-EXCEL/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "ious.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{fname};{lname}"; + rr:class foaf:Person; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:owes; + rr:objectMap [ rml:reference "amount"; ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0005a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0005a-EXCEL/output.nq new file mode 100644 index 00000000..64e91da4 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0005a-EXCEL/output.nq @@ -0,0 +1,5 @@ + . + "30.0E0" . + . + "20.0E0" . + diff --git a/src/test/resources/test-cases/RMLTC0005a-ODS/ious.ods b/src/test/resources/test-cases/RMLTC0005a-ODS/ious.ods new file mode 100644 index 00000000..e15f890b Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0005a-ODS/ious.ods differ diff --git a/src/test/resources/test-cases/RMLTC0005a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0005a-ODS/mapping.ttl new file mode 100644 index 00000000..293cdaf0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0005a-ODS/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "ious.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{fname};{lname}"; + rr:class foaf:Person; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:owes; + rr:objectMap [ rml:reference "amount"; ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0005a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0005a-ODS/output.nq new file mode 100644 index 00000000..64e91da4 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0005a-ODS/output.nq @@ -0,0 +1,5 @@ + . + "30.0E0" . + . + "20.0E0" . + diff --git a/src/test/resources/test-cases/RMLTC0006a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0006a-EXCEL/mapping.ttl new file mode 100644 index 00000000..71fb74fa --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0006a-EXCEL/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0006a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0006a-EXCEL/output.nq new file mode 100644 index 00000000..4e6fd3ef --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0006a-EXCEL/output.nq @@ -0,0 +1 @@ + "Bad Student" . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC0006a-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0006a-EXCEL/student.xlsx new file mode 100644 index 00000000..fadd6942 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0006a-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0006a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0006a-ODS/mapping.ttl new file mode 100644 index 00000000..fe1699e7 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0006a-ODS/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0006a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0006a-ODS/output.nq new file mode 100644 index 00000000..4e6fd3ef --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0006a-ODS/output.nq @@ -0,0 +1 @@ + "Bad Student" . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC0006a-ODS/student.ods b/src/test/resources/test-cases/RMLTC0006a-ODS/student.ods new file mode 100644 index 00000000..b80bb152 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0006a-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0007a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0007a-EXCEL/mapping.ttl new file mode 100644 index 00000000..58176422 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007a-EXCEL/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}" + ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]. + diff --git a/src/test/resources/test-cases/RMLTC0007a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0007a-EXCEL/output.nq new file mode 100644 index 00000000..76f87f89 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007a-EXCEL/output.nq @@ -0,0 +1,2 @@ + . + diff --git a/src/test/resources/test-cases/RMLTC0007a-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0007a-EXCEL/student.xlsx new file mode 100644 index 00000000..fadd6942 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007a-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0007a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0007a-ODS/mapping.ttl new file mode 100644 index 00000000..0c6c84ea --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007a-ODS/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}" + ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]. + diff --git a/src/test/resources/test-cases/RMLTC0007a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0007a-ODS/output.nq new file mode 100644 index 00000000..76f87f89 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007a-ODS/output.nq @@ -0,0 +1,2 @@ + . + diff --git a/src/test/resources/test-cases/RMLTC0007a-ODS/student.ods b/src/test/resources/test-cases/RMLTC0007a-ODS/student.ods new file mode 100644 index 00000000..b80bb152 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007a-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0007b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0007b-EXCEL/mapping.ttl new file mode 100644 index 00000000..4136c1ec --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007b-EXCEL/mapping.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:graph ex:PersonGraph + ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ rml:reference "FirstName" ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0007b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0007b-EXCEL/output.nq new file mode 100644 index 00000000..5c4eb261 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007b-EXCEL/output.nq @@ -0,0 +1,3 @@ + "Venus" . + . + diff --git a/src/test/resources/test-cases/RMLTC0007b-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0007b-EXCEL/student.xlsx new file mode 100644 index 00000000..b40279a5 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007b-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0007b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0007b-ODS/mapping.ttl new file mode 100644 index 00000000..1a49d42c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007b-ODS/mapping.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:graph ex:PersonGraph + ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ rml:reference "FirstName" ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0007b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0007b-ODS/output.nq new file mode 100644 index 00000000..5c4eb261 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007b-ODS/output.nq @@ -0,0 +1,3 @@ + "Venus" . + . + diff --git a/src/test/resources/test-cases/RMLTC0007b-ODS/student.ods b/src/test/resources/test-cases/RMLTC0007b-ODS/student.ods new file mode 100644 index 00000000..b80bb152 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007b-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0007c-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0007c-EXCEL/mapping.ttl new file mode 100644 index 00000000..b04785cd --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007c-EXCEL/mapping.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:class foaf:Person, ex:Student + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "ID"; ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ rml:reference "FirstName" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0007c-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0007c-EXCEL/output.nq new file mode 100644 index 00000000..08ffbd7f --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007c-EXCEL/output.nq @@ -0,0 +1,5 @@ + "Venus" . + "10"^^ . + . + . + diff --git a/src/test/resources/test-cases/RMLTC0007c-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0007c-EXCEL/student.xlsx new file mode 100644 index 00000000..b40279a5 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007c-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0007c-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0007c-ODS/mapping.ttl new file mode 100644 index 00000000..43211605 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007c-ODS/mapping.ttl @@ -0,0 +1,30 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:class foaf:Person, ex:Student + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "ID"; ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ rml:reference "FirstName" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0007c-ODS/output.nq b/src/test/resources/test-cases/RMLTC0007c-ODS/output.nq new file mode 100644 index 00000000..fb4d7fe2 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007c-ODS/output.nq @@ -0,0 +1,5 @@ + "Venus" . + "10" . + . + . + diff --git a/src/test/resources/test-cases/RMLTC0007c-ODS/student.ods b/src/test/resources/test-cases/RMLTC0007c-ODS/student.ods new file mode 100644 index 00000000..748204ed Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007c-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0007d-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0007d-EXCEL/mapping.ttl new file mode 100644 index 00000000..faee3bdc --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007d-EXCEL/mapping.ttl @@ -0,0 +1,40 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}" + ]; + + 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 [ rml:reference "ID" ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ rml:reference "FirstName" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0007d-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0007d-EXCEL/output.nq new file mode 100644 index 00000000..2232abdb --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007d-EXCEL/output.nq @@ -0,0 +1,5 @@ + "Venus" . + "10"^^ . + . + . + diff --git a/src/test/resources/test-cases/RMLTC0007d-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0007d-EXCEL/student.xlsx new file mode 100644 index 00000000..b40279a5 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007d-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0007d-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0007d-ODS/mapping.ttl new file mode 100644 index 00000000..3cc57640 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007d-ODS/mapping.ttl @@ -0,0 +1,40 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}" + ]; + + 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 [ rml:reference "ID" ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ rml:reference "FirstName" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0007d-ODS/output.nq b/src/test/resources/test-cases/RMLTC0007d-ODS/output.nq new file mode 100644 index 00000000..2f24266d --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007d-ODS/output.nq @@ -0,0 +1,5 @@ + "Venus" . + "10" . + . + . + diff --git a/src/test/resources/test-cases/RMLTC0007d-ODS/student.ods b/src/test/resources/test-cases/RMLTC0007d-ODS/student.ods new file mode 100644 index 00000000..748204ed Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007d-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0007e-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0007e-EXCEL/mapping.ttl new file mode 100644 index 00000000..ac086bc2 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007e-EXCEL/mapping.ttl @@ -0,0 +1,32 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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 [ rml:reference "ID"; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0007e-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0007e-EXCEL/output.nq new file mode 100644 index 00000000..4cbaaf55 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007e-EXCEL/output.nq @@ -0,0 +1,4 @@ + "10" . + "Venus" . + . + diff --git a/src/test/resources/test-cases/RMLTC0007e-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0007e-EXCEL/student.xlsx new file mode 100644 index 00000000..8e1229e0 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007e-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0007e-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0007e-ODS/mapping.ttl new file mode 100644 index 00000000..9d4ab962 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007e-ODS/mapping.ttl @@ -0,0 +1,32 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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 [ rml:reference "ID"; ] + ]; + + rr:predicateObjectMap + [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC0007e-ODS/output.nq b/src/test/resources/test-cases/RMLTC0007e-ODS/output.nq new file mode 100644 index 00000000..4cbaaf55 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007e-ODS/output.nq @@ -0,0 +1,4 @@ + "10" . + "Venus" . + . + diff --git a/src/test/resources/test-cases/RMLTC0007e-ODS/student.ods b/src/test/resources/test-cases/RMLTC0007e-ODS/student.ods new file mode 100644 index 00000000..9bfc5cd2 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007e-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0007f-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0007f-EXCEL/mapping.ttl new file mode 100644 index 00000000..0c8b9c77 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007f-EXCEL/mapping.ttl @@ -0,0 +1,35 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:graph ex:PersonGraph + ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type; + rr:object foaf:Person + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "ID"; ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "FirstName" ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0007f-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0007f-EXCEL/output.nq new file mode 100644 index 00000000..d4694d78 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007f-EXCEL/output.nq @@ -0,0 +1,4 @@ + . + "Venus" . + "10" . + diff --git a/src/test/resources/test-cases/RMLTC0007f-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0007f-EXCEL/student.xlsx new file mode 100644 index 00000000..b40279a5 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007f-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0007f-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0007f-ODS/mapping.ttl new file mode 100644 index 00000000..f1d013dc --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007f-ODS/mapping.ttl @@ -0,0 +1,35 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:graph ex:PersonGraph + ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type; + rr:object foaf:Person + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "ID"; ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "FirstName" ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0007f-ODS/output.nq b/src/test/resources/test-cases/RMLTC0007f-ODS/output.nq new file mode 100644 index 00000000..d4694d78 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007f-ODS/output.nq @@ -0,0 +1,4 @@ + . + "Venus" . + "10" . + diff --git a/src/test/resources/test-cases/RMLTC0007f-ODS/student.ods b/src/test/resources/test-cases/RMLTC0007f-ODS/student.ods new file mode 100644 index 00000000..748204ed Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007f-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0007g-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0007g-EXCEL/mapping.ttl new file mode 100644 index 00000000..3ca005f1 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007g-EXCEL/mapping.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:graph rr:defaultGraph + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "FirstName" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0007g-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0007g-EXCEL/output.nq new file mode 100644 index 00000000..6c29bcce --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007g-EXCEL/output.nq @@ -0,0 +1,2 @@ + "Venus" . + diff --git a/src/test/resources/test-cases/RMLTC0007g-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0007g-EXCEL/student.xlsx new file mode 100644 index 00000000..60270e9f Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007g-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0007g-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0007g-ODS/mapping.ttl new file mode 100644 index 00000000..4bbaebd0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007g-ODS/mapping.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:graph rr:defaultGraph + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "FirstName" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0007g-ODS/output.nq b/src/test/resources/test-cases/RMLTC0007g-ODS/output.nq new file mode 100644 index 00000000..6c29bcce --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007g-ODS/output.nq @@ -0,0 +1,2 @@ + "Venus" . + diff --git a/src/test/resources/test-cases/RMLTC0007g-ODS/student.ods b/src/test/resources/test-cases/RMLTC0007g-ODS/student.ods new file mode 100644 index 00000000..748204ed Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007g-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0007h-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0007h-EXCEL/mapping.ttl new file mode 100644 index 00000000..a57f546e --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007h-EXCEL/mapping.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:graph [ rml:reference "Name"; rr:termType rr:Literal; ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "Name" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0007h-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0007h-EXCEL/output.nq new file mode 100644 index 00000000..e69de29b diff --git a/src/test/resources/test-cases/RMLTC0007h-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0007h-EXCEL/student.xlsx new file mode 100644 index 00000000..60270e9f Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007h-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0007h-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0007h-ODS/mapping.ttl new file mode 100644 index 00000000..010cf719 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0007h-ODS/mapping.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/Student/{ID}/{FirstName}"; + rr:graph [ rml:reference "Name"; rr:termType rr:Literal; ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "Name" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0007h-ODS/output.nq b/src/test/resources/test-cases/RMLTC0007h-ODS/output.nq new file mode 100644 index 00000000..e69de29b diff --git a/src/test/resources/test-cases/RMLTC0007h-ODS/student.ods b/src/test/resources/test-cases/RMLTC0007h-ODS/student.ods new file mode 100644 index 00000000..d9138039 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0007h-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0008a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0008a-EXCEL/mapping.ttl new file mode 100644 index 00000000..25a2fa50 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008a-EXCEL/mapping.ttl @@ -0,0 +1,41 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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 [ rml:reference "ID" ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:Sport ; + rr:objectMap [ rml:reference "Sport" ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0008a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0008a-EXCEL/output.nq new file mode 100644 index 00000000..2856ef24 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008a-EXCEL/output.nq @@ -0,0 +1,5 @@ + . + "Venus Williams" . + "10" . + "Tennis" . + diff --git a/src/test/resources/test-cases/RMLTC0008a-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0008a-EXCEL/student.xlsx new file mode 100644 index 00000000..c9e2962b Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0008a-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0008a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0008a-ODS/mapping.ttl new file mode 100644 index 00000000..e11f92e8 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008a-ODS/mapping.ttl @@ -0,0 +1,41 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix rdf: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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 [ rml:reference "ID" ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:Sport ; + rr:objectMap [ rml:reference "Sport" ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0008a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0008a-ODS/output.nq new file mode 100644 index 00000000..2856ef24 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008a-ODS/output.nq @@ -0,0 +1,5 @@ + . + "Venus Williams" . + "10" . + "Tennis" . + diff --git a/src/test/resources/test-cases/RMLTC0008a-ODS/student.ods b/src/test/resources/test-cases/RMLTC0008a-ODS/student.ods new file mode 100644 index 00000000..6afa1520 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0008a-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0008b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0008b-EXCEL/mapping.ttl new file mode 100644 index 00000000..458d3314 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008b-EXCEL/mapping.ttl @@ -0,0 +1,58 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Sport}" ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type ; + rr:object activity:Sport ; + ] . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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 [ rml:reference "ID"; ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:Sport ; + rr:objectMap + ] . + + + + a rr:RefObjectMap; + rr:parentTriplesMap . + diff --git a/src/test/resources/test-cases/RMLTC0008b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0008b-EXCEL/output.nq new file mode 100644 index 00000000..a2678fac --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008b-EXCEL/output.nq @@ -0,0 +1,7 @@ + . + "Venus Williams" . + "10"^^ . + . + . + + diff --git a/src/test/resources/test-cases/RMLTC0008b-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0008b-EXCEL/student.xlsx new file mode 100644 index 00000000..c9e2962b Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0008b-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0008b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0008b-ODS/mapping.ttl new file mode 100644 index 00000000..6a2d7919 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008b-ODS/mapping.ttl @@ -0,0 +1,58 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Sport}" ]; + + rr:predicateObjectMap [ + rr:predicate rdf:type ; + rr:object activity:Sport ; + ] . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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 [ rml:reference "ID"; ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:Sport ; + rr:objectMap + ] . + + + + a rr:RefObjectMap; + rr:parentTriplesMap . + diff --git a/src/test/resources/test-cases/RMLTC0008b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0008b-ODS/output.nq new file mode 100644 index 00000000..7742ae45 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008b-ODS/output.nq @@ -0,0 +1,7 @@ + . + "Venus Williams" . + "10" . + . + . + + diff --git a/src/test/resources/test-cases/RMLTC0008b-ODS/student.ods b/src/test/resources/test-cases/RMLTC0008b-ODS/student.ods new file mode 100644 index 00000000..6afa1520 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0008b-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0008c-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0008c-EXCEL/mapping.ttl new file mode 100644 index 00000000..a043f92c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008c-EXCEL/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{ID}/{Name}" ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0008c-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0008c-EXCEL/output.nq new file mode 100644 index 00000000..d36f700c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008c-EXCEL/output.nq @@ -0,0 +1,3 @@ + "Venus Williams" . + "Venus Williams" . + diff --git a/src/test/resources/test-cases/RMLTC0008c-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0008c-EXCEL/student.xlsx new file mode 100644 index 00000000..c9e2962b Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0008c-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0008c-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0008c-ODS/mapping.ttl new file mode 100644 index 00000000..cb943009 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008c-ODS/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/Student/{ID}/{Name}" ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0008c-ODS/output.nq b/src/test/resources/test-cases/RMLTC0008c-ODS/output.nq new file mode 100644 index 00000000..d36f700c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0008c-ODS/output.nq @@ -0,0 +1,3 @@ + "Venus Williams" . + "Venus Williams" . + diff --git a/src/test/resources/test-cases/RMLTC0008c-ODS/student.ods b/src/test/resources/test-cases/RMLTC0008c-ODS/student.ods new file mode 100644 index 00000000..6afa1520 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0008c-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0009a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0009a-EXCEL/mapping.ttl new file mode 100644 index 00000000..5eb37de0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0009a-EXCEL/mapping.ttl @@ -0,0 +1,50 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/resource/student_{ID}" ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ] ; + + rr:predicateObjectMap [ + rr:predicate ; + rr:objectMap [ + a rr:RefObjectMap ; + rr:parentTriplesMap ; + rr:joinCondition [ + rr:child "Sport" ; + rr:parent "ID" ; + ] + ] + ] . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "sport.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/resource/sport_{ID}" ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label ; + rr:objectMap [ rml:reference "Name" ]; + ]. diff --git a/src/test/resources/test-cases/RMLTC0009a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0009a-EXCEL/output.nq new file mode 100644 index 00000000..b0b89f8b --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0009a-EXCEL/output.nq @@ -0,0 +1,4 @@ + "Venus Williams" . + "Demi Moore" . + "Tennis" . + . diff --git a/src/test/resources/test-cases/RMLTC0009a-EXCEL/sport.xlsx b/src/test/resources/test-cases/RMLTC0009a-EXCEL/sport.xlsx new file mode 100644 index 00000000..89578b74 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0009a-EXCEL/sport.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0009a-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0009a-EXCEL/student.xlsx new file mode 100644 index 00000000..9ea7af8e Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0009a-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0009a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0009a-ODS/mapping.ttl new file mode 100644 index 00000000..c7e2c621 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0009a-ODS/mapping.ttl @@ -0,0 +1,50 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/resource/student_{ID}" ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ] ; + + rr:predicateObjectMap [ + rr:predicate ; + rr:objectMap [ + a rr:RefObjectMap ; + rr:parentTriplesMap ; + rr:joinCondition [ + rr:child "Sport" ; + rr:parent "ID" ; + ] + ] + ] . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "sport.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/resource/sport_{ID}" ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label ; + rr:objectMap [ rml:reference "Name" ]; + ]. diff --git a/src/test/resources/test-cases/RMLTC0009a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0009a-ODS/output.nq new file mode 100644 index 00000000..b0b89f8b --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0009a-ODS/output.nq @@ -0,0 +1,4 @@ + "Venus Williams" . + "Demi Moore" . + "Tennis" . + . diff --git a/src/test/resources/test-cases/RMLTC0009a-ODS/sport.ods b/src/test/resources/test-cases/RMLTC0009a-ODS/sport.ods new file mode 100644 index 00000000..6978638c Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0009a-ODS/sport.ods differ diff --git a/src/test/resources/test-cases/RMLTC0009a-ODS/student.ods b/src/test/resources/test-cases/RMLTC0009a-ODS/student.ods new file mode 100644 index 00000000..abf31d36 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0009a-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0009b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0009b-EXCEL/mapping.ttl new file mode 100644 index 00000000..95b25c82 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0009b-EXCEL/mapping.ttl @@ -0,0 +1,60 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/resource/student_{ID}" ; + rr:class ; + rr:graph ; + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "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; + + rml:logicalSource [ + rml:source "sport.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/resource/sport_{ID}"; + rr:class ; + rr:graph ; + ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label ; + rr:objectMap [ rml:reference "Name" ]; + ]. diff --git a/src/test/resources/test-cases/RMLTC0009b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0009b-EXCEL/output.nq new file mode 100644 index 00000000..aef6b08c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0009b-EXCEL/output.nq @@ -0,0 +1,8 @@ + . + "Venus Williams" . + . + "Demi Moore" . + . + "Tennis" . + . + . diff --git a/src/test/resources/test-cases/RMLTC0009b-EXCEL/sport.xlsx b/src/test/resources/test-cases/RMLTC0009b-EXCEL/sport.xlsx new file mode 100644 index 00000000..6e3b6fc6 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0009b-EXCEL/sport.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0009b-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0009b-EXCEL/student.xlsx new file mode 100644 index 00000000..9ea7af8e Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0009b-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0009b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0009b-ODS/mapping.ttl new file mode 100644 index 00000000..dcbefa47 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0009b-ODS/mapping.ttl @@ -0,0 +1,60 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/resource/student_{ID}" ; + rr:class ; + rr:graph ; + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "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; + + rml:logicalSource [ + rml:source "sport.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/resource/sport_{ID}"; + rr:class ; + rr:graph ; + ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label ; + rr:objectMap [ rml:reference "Name" ]; + ]. diff --git a/src/test/resources/test-cases/RMLTC0009b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0009b-ODS/output.nq new file mode 100644 index 00000000..aef6b08c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0009b-ODS/output.nq @@ -0,0 +1,8 @@ + . + "Venus Williams" . + . + "Demi Moore" . + . + "Tennis" . + . + . diff --git a/src/test/resources/test-cases/RMLTC0009b-ODS/sport.ods b/src/test/resources/test-cases/RMLTC0009b-ODS/sport.ods new file mode 100644 index 00000000..5dadbd88 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0009b-ODS/sport.ods differ diff --git a/src/test/resources/test-cases/RMLTC0009b-ODS/student.ods b/src/test/resources/test-cases/RMLTC0009b-ODS/student.ods new file mode 100644 index 00000000..a9fdfe7e Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0009b-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0010a-EXCEL/country_info.xlsx b/src/test/resources/test-cases/RMLTC0010a-EXCEL/country_info.xlsx new file mode 100644 index 00000000..521ed7c6 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0010a-EXCEL/country_info.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0010a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0010a-EXCEL/mapping.ttl new file mode 100644 index 00000000..140a339c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010a-EXCEL/mapping.ttl @@ -0,0 +1,23 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_info.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Country Code}" ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0010a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0010a-EXCEL/output.nq new file mode 100644 index 00000000..29911d6f --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010a-EXCEL/output.nq @@ -0,0 +1,4 @@ + "Bolivia, Plurinational State of" . + "Ireland" . + "Saint Martin (French part)" . + diff --git a/src/test/resources/test-cases/RMLTC0010a-ODS/country_info.ods b/src/test/resources/test-cases/RMLTC0010a-ODS/country_info.ods new file mode 100644 index 00000000..8820b4b7 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0010a-ODS/country_info.ods differ diff --git a/src/test/resources/test-cases/RMLTC0010a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0010a-ODS/mapping.ttl new file mode 100644 index 00000000..3904815f --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010a-ODS/mapping.ttl @@ -0,0 +1,23 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_info.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Country Code}" ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0010a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0010a-ODS/output.nq new file mode 100644 index 00000000..29911d6f --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010a-ODS/output.nq @@ -0,0 +1,4 @@ + "Bolivia, Plurinational State of" . + "Ireland" . + "Saint Martin (French part)" . + diff --git a/src/test/resources/test-cases/RMLTC0010b-EXCEL/country_info.xlsx b/src/test/resources/test-cases/RMLTC0010b-EXCEL/country_info.xlsx new file mode 100644 index 00000000..521ed7c6 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0010b-EXCEL/country_info.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0010b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0010b-EXCEL/mapping.ttl new file mode 100644 index 00000000..0dc73e32 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010b-EXCEL/mapping.ttl @@ -0,0 +1,23 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_info.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Country Code}/{Name}" ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0010b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0010b-EXCEL/output.nq new file mode 100644 index 00000000..c92a08b0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010b-EXCEL/output.nq @@ -0,0 +1,4 @@ + "Bolivia, Plurinational State of" . + "Ireland" . + "Saint Martin (French part)" . + diff --git a/src/test/resources/test-cases/RMLTC0010b-ODS/country_info.ods b/src/test/resources/test-cases/RMLTC0010b-ODS/country_info.ods new file mode 100644 index 00000000..8820b4b7 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0010b-ODS/country_info.ods differ diff --git a/src/test/resources/test-cases/RMLTC0010b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0010b-ODS/mapping.ttl new file mode 100644 index 00000000..f74a4ca6 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010b-ODS/mapping.ttl @@ -0,0 +1,23 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_info.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Country Code}/{Name}" ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0010b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0010b-ODS/output.nq new file mode 100644 index 00000000..c92a08b0 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010b-ODS/output.nq @@ -0,0 +1,4 @@ + "Bolivia, Plurinational State of" . + "Ireland" . + "Saint Martin (French part)" . + diff --git a/src/test/resources/test-cases/RMLTC0010c-EXCEL/country_info.xlsx b/src/test/resources/test-cases/RMLTC0010c-EXCEL/country_info.xlsx new file mode 100644 index 00000000..1a7a9188 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0010c-EXCEL/country_info.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0010c-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0010c-EXCEL/mapping.ttl new file mode 100644 index 00000000..2d313b42 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010c-EXCEL/mapping.ttl @@ -0,0 +1,23 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_info.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0010c-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0010c-EXCEL/output.nq new file mode 100644 index 00000000..5c7e1080 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010c-EXCEL/output.nq @@ -0,0 +1,4 @@ + "{{{ BO }}}" . + "{{{ IE }}}" . + "{{{ MF }}}" . + diff --git a/src/test/resources/test-cases/RMLTC0010c-ODS/country_info.ods b/src/test/resources/test-cases/RMLTC0010c-ODS/country_info.ods new file mode 100644 index 00000000..8820b4b7 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0010c-ODS/country_info.ods differ diff --git a/src/test/resources/test-cases/RMLTC0010c-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0010c-ODS/mapping.ttl new file mode 100644 index 00000000..e0b54a02 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010c-ODS/mapping.ttl @@ -0,0 +1,23 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@prefix activity: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_info.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0010c-ODS/output.nq b/src/test/resources/test-cases/RMLTC0010c-ODS/output.nq new file mode 100644 index 00000000..5c7e1080 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0010c-ODS/output.nq @@ -0,0 +1,4 @@ + "{{{ BO }}}" . + "{{{ IE }}}" . + "{{{ MF }}}" . + diff --git a/src/test/resources/test-cases/RMLTC0011b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0011b-EXCEL/mapping.ttl new file mode 100644 index 00000000..70bd2c30 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0011b-EXCEL/mapping.ttl @@ -0,0 +1,79 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/student/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:firstName; + rr:objectMap [ + rml:reference "FirstName" + ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:lastName; + rr:objectMap [ + rml:reference "LastName" + ] + ]. + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "sport.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/sport/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id; + rr:objectMap [ + rml:reference "ID" + ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:description; + rr:objectMap [ + rml:reference "Description" + ] + ]. + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student_sport.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0011b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0011b-EXCEL/output.nq new file mode 100644 index 00000000..6a82565e --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0011b-EXCEL/output.nq @@ -0,0 +1,17 @@ + "Williams" . + "Venus" . + "Villa" . + "David" . + "Alonso" . + "Fernando" . + "Tennis" . + "110"^^ . + "Football" . + "111"^^ . + "Formula1" . + "112"^^ . + . + . + . + . + diff --git a/src/test/resources/test-cases/RMLTC0011b-EXCEL/sport.xlsx b/src/test/resources/test-cases/RMLTC0011b-EXCEL/sport.xlsx new file mode 100644 index 00000000..08a0acd2 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0011b-EXCEL/sport.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0011b-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0011b-EXCEL/student.xlsx new file mode 100644 index 00000000..ba72140e Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0011b-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0011b-EXCEL/student_sport.xlsx b/src/test/resources/test-cases/RMLTC0011b-EXCEL/student_sport.xlsx new file mode 100644 index 00000000..22193b28 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0011b-EXCEL/student_sport.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0011b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0011b-ODS/mapping.ttl new file mode 100644 index 00000000..f95bdf9f --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0011b-ODS/mapping.ttl @@ -0,0 +1,79 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/student/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:firstName; + rr:objectMap [ + rml:reference "FirstName" + ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:lastName; + rr:objectMap [ + rml:reference "LastName" + ] + ]. + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "sport.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/sport/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id; + rr:objectMap [ + rml:reference "ID" + ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:description; + rr:objectMap [ + rml:reference "Description" + ] + ]. + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student_sport.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0011b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0011b-ODS/output.nq new file mode 100644 index 00000000..d2759cec --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0011b-ODS/output.nq @@ -0,0 +1,17 @@ + "Williams" . + "Venus" . + "Villa" . + "David" . + "Alonso" . + "Fernando" . + "Tennis" . + "110" . + "Football" . + "111" . + "Formula1" . + "112" . + . + . + . + . + diff --git a/src/test/resources/test-cases/RMLTC0011b-ODS/sport.ods b/src/test/resources/test-cases/RMLTC0011b-ODS/sport.ods new file mode 100644 index 00000000..c10ab76d Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0011b-ODS/sport.ods differ diff --git a/src/test/resources/test-cases/RMLTC0011b-ODS/student.ods b/src/test/resources/test-cases/RMLTC0011b-ODS/student.ods new file mode 100644 index 00000000..2aca95b7 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0011b-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0011b-ODS/student_sport.ods b/src/test/resources/test-cases/RMLTC0011b-ODS/student_sport.ods new file mode 100644 index 00000000..4b4426a8 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0011b-ODS/student_sport.ods differ diff --git a/src/test/resources/test-cases/RMLTC0012a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0012a-EXCEL/mapping.ttl new file mode 100644 index 00000000..bb5b165d --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012a-EXCEL/mapping.ttl @@ -0,0 +1,33 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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 [ + rml:reference "amount"; + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0012a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0012a-EXCEL/output.nq new file mode 100644 index 00000000..62818b4c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012a-EXCEL/output.nq @@ -0,0 +1,5 @@ +_:BobSmith30 "30"^^ . +_:BobSmith30 "Bob Smith" . +_:SueJones20 "20"^^ . +_:SueJones20 "Sue Jones" . + diff --git a/src/test/resources/test-cases/RMLTC0012a-EXCEL/persons.xlsx b/src/test/resources/test-cases/RMLTC0012a-EXCEL/persons.xlsx new file mode 100644 index 00000000..2f31e9e8 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012a-EXCEL/persons.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0012a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0012a-ODS/mapping.ttl new file mode 100644 index 00000000..7ff4f5e3 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012a-ODS/mapping.ttl @@ -0,0 +1,33 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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 [ + rml:reference "amount"; + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0012a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0012a-ODS/output.nq new file mode 100644 index 00000000..7f9ce194 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012a-ODS/output.nq @@ -0,0 +1,5 @@ +_:BobSmith30 "30" . +_:BobSmith30 "Bob Smith" . +_:SueJones20 "20" . +_:SueJones20 "Sue Jones" . + diff --git a/src/test/resources/test-cases/RMLTC0012a-ODS/persons.ods b/src/test/resources/test-cases/RMLTC0012a-ODS/persons.ods new file mode 100644 index 00000000..094ecd7e Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012a-ODS/persons.ods differ diff --git a/src/test/resources/test-cases/RMLTC0012b-EXCEL/lives.xlsx b/src/test/resources/test-cases/RMLTC0012b-EXCEL/lives.xlsx new file mode 100644 index 00000000..d8374f0b Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012b-EXCEL/lives.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0012b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0012b-EXCEL/mapping.ttl new file mode 100644 index 00000000..aab2490b --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012b-EXCEL/mapping.ttl @@ -0,0 +1,52 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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; + + rml:logicalSource [ + rml:source "lives.xlsx"; + rml:referenceFormulation ql:CSV +]; + + rr:subjectMap [ + rr:template "{fname}{lname}"; + rr:termType rr:BlankNode; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:city ; + rr:objectMap [ + rml:reference "city"; + ] +]; +. diff --git a/src/test/resources/test-cases/RMLTC0012b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0012b-EXCEL/output.nq new file mode 100644 index 00000000..0d556bbd --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012b-EXCEL/output.nq @@ -0,0 +1,5 @@ +_:BobSmith "London" . +_:BobSmith "Bob Smith" . +_:SueJones "Madrid" . +_:SueJones "Sue Jones" . + diff --git a/src/test/resources/test-cases/RMLTC0012b-EXCEL/persons.xlsx b/src/test/resources/test-cases/RMLTC0012b-EXCEL/persons.xlsx new file mode 100644 index 00000000..39776b59 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012b-EXCEL/persons.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0012b-ODS/lives.ods b/src/test/resources/test-cases/RMLTC0012b-ODS/lives.ods new file mode 100644 index 00000000..b227ed55 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012b-ODS/lives.ods differ diff --git a/src/test/resources/test-cases/RMLTC0012b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0012b-ODS/mapping.ttl new file mode 100644 index 00000000..2faa0b80 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012b-ODS/mapping.ttl @@ -0,0 +1,52 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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; + + rml:logicalSource [ + rml:source "lives.ods"; + rml:referenceFormulation ql:CSV +]; + + rr:subjectMap [ + rr:template "{fname}{lname}"; + rr:termType rr:BlankNode; + ]; + + rr:predicateObjectMap + [ + rr:predicate ex:city ; + rr:objectMap [ + rml:reference "city"; + ] +]; +. diff --git a/src/test/resources/test-cases/RMLTC0012b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0012b-ODS/output.nq new file mode 100644 index 00000000..0d556bbd --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012b-ODS/output.nq @@ -0,0 +1,5 @@ +_:BobSmith "London" . +_:BobSmith "Bob Smith" . +_:SueJones "Madrid" . +_:SueJones "Sue Jones" . + diff --git a/src/test/resources/test-cases/RMLTC0012b-ODS/persons.ods b/src/test/resources/test-cases/RMLTC0012b-ODS/persons.ods new file mode 100644 index 00000000..094ecd7e Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012b-ODS/persons.ods differ diff --git a/src/test/resources/test-cases/RMLTC0012c-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0012c-EXCEL/mapping.ttl new file mode 100644 index 00000000..ffcc65ab --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012c-EXCEL/mapping.ttl @@ -0,0 +1,31 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ + rr:template "{fname} {lname}"; + rr:termType rr:Literal ; + ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:amount ; + rr:objectMap [ + rml:reference "amount"; + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0012c-EXCEL/persons.xlsx b/src/test/resources/test-cases/RMLTC0012c-EXCEL/persons.xlsx new file mode 100644 index 00000000..39776b59 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012c-EXCEL/persons.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0012c-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0012c-ODS/mapping.ttl new file mode 100644 index 00000000..b282920b --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012c-ODS/mapping.ttl @@ -0,0 +1,31 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ + rr:template "{fname} {lname}"; + rr:termType rr:Literal ; + ] + ]; + + rr:predicateObjectMap [ + rr:predicate ex:amount ; + rr:objectMap [ + rml:reference "amount"; + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0012c-ODS/persons.ods b/src/test/resources/test-cases/RMLTC0012c-ODS/persons.ods new file mode 100644 index 00000000..932b9516 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012c-ODS/persons.ods differ diff --git a/src/test/resources/test-cases/RMLTC0012d-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0012d-EXCEL/mapping.ttl new file mode 100644 index 00000000..c0dca056 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012d-EXCEL/mapping.ttl @@ -0,0 +1,35 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "{fname}_{lname}_{amount}"; rr:termType rr:BlankNode; ]; + + rr:subjectMap [ rr:template "{amount}_{fname}_{lname}"; 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 [ + rml:reference "amount"; + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0012d-EXCEL/persons.xlsx b/src/test/resources/test-cases/RMLTC0012d-EXCEL/persons.xlsx new file mode 100644 index 00000000..39776b59 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012d-EXCEL/persons.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0012d-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0012d-ODS/mapping.ttl new file mode 100644 index 00000000..fa4bc633 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0012d-ODS/mapping.ttl @@ -0,0 +1,35 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "{fname}_{lname}_{amount}"; rr:termType rr:BlankNode; ]; + + rr:subjectMap [ rr:template "{amount}_{fname}_{lname}"; 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 [ + rml:reference "amount"; + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0012d-ODS/persons.ods b/src/test/resources/test-cases/RMLTC0012d-ODS/persons.ods new file mode 100644 index 00000000..932b9516 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0012d-ODS/persons.ods differ diff --git a/src/test/resources/test-cases/RMLTC0015a-EXCEL/country_en.xlsx b/src/test/resources/test-cases/RMLTC0015a-EXCEL/country_en.xlsx new file mode 100644 index 00000000..78febc10 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0015a-EXCEL/country_en.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0015a-EXCEL/country_es.xlsx b/src/test/resources/test-cases/RMLTC0015a-EXCEL/country_es.xlsx new file mode 100644 index 00000000..6092c59a Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0015a-EXCEL/country_es.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0015a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0015a-EXCEL/mapping.ttl new file mode 100644 index 00000000..5ff37ee7 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0015a-EXCEL/mapping.ttl @@ -0,0 +1,47 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_en.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Code}" + ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label ; + rr:objectMap [ + rml:reference "Name"; + rr:language "en" + ] + ]. + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_es.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Code}" + ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label ; + rr:objectMap [ + rml:reference "Name"; + rr:language "es" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0015a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0015a-EXCEL/output.nq new file mode 100644 index 00000000..a80dd6a3 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0015a-EXCEL/output.nq @@ -0,0 +1,6 @@ + "Bolivia, Plurinational State of"@en . + "Estado Plurinacional de Bolivia"@es . + "Ireland"@en . + "Irlanda"@es . + + diff --git a/src/test/resources/test-cases/RMLTC0015a-ODS/country_en.ods b/src/test/resources/test-cases/RMLTC0015a-ODS/country_en.ods new file mode 100644 index 00000000..5c27133c Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0015a-ODS/country_en.ods differ diff --git a/src/test/resources/test-cases/RMLTC0015a-ODS/country_es.ods b/src/test/resources/test-cases/RMLTC0015a-ODS/country_es.ods new file mode 100644 index 00000000..6c492185 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0015a-ODS/country_es.ods differ diff --git a/src/test/resources/test-cases/RMLTC0015a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0015a-ODS/mapping.ttl new file mode 100644 index 00000000..7bb798a7 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0015a-ODS/mapping.ttl @@ -0,0 +1,47 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_en.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Code}" + ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label ; + rr:objectMap [ + rml:reference "Name"; + rr:language "en" + ] + ]. + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_es.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{Code}" + ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label ; + rr:objectMap [ + rml:reference "Name"; + rr:language "es" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0015a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0015a-ODS/output.nq new file mode 100644 index 00000000..a80dd6a3 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0015a-ODS/output.nq @@ -0,0 +1,6 @@ + "Bolivia, Plurinational State of"@en . + "Estado Plurinacional de Bolivia"@es . + "Ireland"@en . + "Irlanda"@es . + + diff --git a/src/test/resources/test-cases/RMLTC0015b-EXCEL/country_en.xlsx b/src/test/resources/test-cases/RMLTC0015b-EXCEL/country_en.xlsx new file mode 100644 index 00000000..78febc10 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0015b-EXCEL/country_en.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0015b-EXCEL/country_es.xlsx b/src/test/resources/test-cases/RMLTC0015b-EXCEL/country_es.xlsx new file mode 100644 index 00000000..9af8ffd7 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0015b-EXCEL/country_es.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0015b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0015b-EXCEL/mapping.ttl new file mode 100644 index 00000000..fb14d1cc --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0015b-EXCEL/mapping.ttl @@ -0,0 +1,45 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_en.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Code}" ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label; + rr:objectMap [ + rml:reference "Name"; + rr:language "english" + ] + ] . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_es.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Code}" ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label; + rr:objectMap [ + rml:reference "Name"; + rr:language "spanish" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0015b-ODS/country_en.ods b/src/test/resources/test-cases/RMLTC0015b-ODS/country_en.ods new file mode 100644 index 00000000..5c27133c Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0015b-ODS/country_en.ods differ diff --git a/src/test/resources/test-cases/RMLTC0015b-ODS/country_es.ods b/src/test/resources/test-cases/RMLTC0015b-ODS/country_es.ods new file mode 100644 index 00000000..c18de13b Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0015b-ODS/country_es.ods differ diff --git a/src/test/resources/test-cases/RMLTC0015b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0015b-ODS/mapping.ttl new file mode 100644 index 00000000..c42345c2 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0015b-ODS/mapping.ttl @@ -0,0 +1,45 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_en.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Code}" ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label; + rr:objectMap [ + rml:reference "Name"; + rr:language "english" + ] + ] . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "country_es.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rr:template "http://example.com/{Code}" ]; + + rr:predicateObjectMap [ + rr:predicate rdfs:label; + rr:objectMap [ + rml:reference "Name"; + rr:language "spanish" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC0019a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0019a-EXCEL/mapping.ttl new file mode 100644 index 00000000..8dbb48ec --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0019a-EXCEL/mapping.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rml:reference "FirstName" ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "FirstName" + ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0019a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0019a-EXCEL/output.nq new file mode 100644 index 00000000..d07559d8 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0019a-EXCEL/output.nq @@ -0,0 +1,2 @@ + "http://example.com/ns#Jhon" . + "Carlos" . diff --git a/src/test/resources/test-cases/RMLTC0019a-EXCEL/persons.xlsx b/src/test/resources/test-cases/RMLTC0019a-EXCEL/persons.xlsx new file mode 100644 index 00000000..7ab4510e Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0019a-EXCEL/persons.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0019a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0019a-ODS/mapping.ttl new file mode 100644 index 00000000..64075bda --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0019a-ODS/mapping.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rml:reference "FirstName" ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "FirstName" + ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0019a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0019a-ODS/output.nq new file mode 100644 index 00000000..d07559d8 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0019a-ODS/output.nq @@ -0,0 +1,2 @@ + "http://example.com/ns#Jhon" . + "Carlos" . diff --git a/src/test/resources/test-cases/RMLTC0019a-ODS/persons.ods b/src/test/resources/test-cases/RMLTC0019a-ODS/persons.ods new file mode 100644 index 00000000..a3832c4d Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0019a-ODS/persons.ods differ diff --git a/src/test/resources/test-cases/RMLTC0019b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0019b-EXCEL/mapping.ttl new file mode 100644 index 00000000..8dbb48ec --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0019b-EXCEL/mapping.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rml:reference "FirstName" ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "FirstName" + ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0019b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0019b-EXCEL/output.nq new file mode 100644 index 00000000..d07559d8 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0019b-EXCEL/output.nq @@ -0,0 +1,2 @@ + "http://example.com/ns#Jhon" . + "Carlos" . diff --git a/src/test/resources/test-cases/RMLTC0019b-EXCEL/persons.xlsx b/src/test/resources/test-cases/RMLTC0019b-EXCEL/persons.xlsx new file mode 100644 index 00000000..c492cc6a Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0019b-EXCEL/persons.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0019b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0019b-ODS/mapping.ttl new file mode 100644 index 00000000..64075bda --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0019b-ODS/mapping.ttl @@ -0,0 +1,26 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "persons.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rml:reference "FirstName" ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name; + rr:objectMap [ + rml:reference "FirstName" + ] + ] . diff --git a/src/test/resources/test-cases/RMLTC0019b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0019b-ODS/output.nq new file mode 100644 index 00000000..d07559d8 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0019b-ODS/output.nq @@ -0,0 +1,2 @@ + "http://example.com/ns#Jhon" . + "Carlos" . diff --git a/src/test/resources/test-cases/RMLTC0019b-ODS/persons.ods b/src/test/resources/test-cases/RMLTC0019b-ODS/persons.ods new file mode 100644 index 00000000..2ee6e22f Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0019b-ODS/persons.ods differ diff --git a/src/test/resources/test-cases/RMLTC0020a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0020a-EXCEL/mapping.ttl new file mode 100644 index 00000000..6e661f6e --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0020a-EXCEL/mapping.ttl @@ -0,0 +1,27 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0020a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0020a-EXCEL/output.nq new file mode 100644 index 00000000..65071a55 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0020a-EXCEL/output.nq @@ -0,0 +1,5 @@ + . + . + . + . + . diff --git a/src/test/resources/test-cases/RMLTC0020a-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0020a-EXCEL/student.xlsx new file mode 100644 index 00000000..d681ff96 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0020a-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0020a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0020a-ODS/mapping.ttl new file mode 100644 index 00000000..32697573 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0020a-ODS/mapping.ttl @@ -0,0 +1,27 @@ +@prefix rr: . +@prefix foaf: . +@prefix rdfs: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + 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/test-cases/RMLTC0020a-ODS/output.nq b/src/test/resources/test-cases/RMLTC0020a-ODS/output.nq new file mode 100644 index 00000000..65071a55 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0020a-ODS/output.nq @@ -0,0 +1,5 @@ + . + . + . + . + . diff --git a/src/test/resources/test-cases/RMLTC0020a-ODS/student.ods b/src/test/resources/test-cases/RMLTC0020a-ODS/student.ods new file mode 100644 index 00000000..8c7e0017 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0020a-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC0020b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC0020b-EXCEL/mapping.ttl new file mode 100644 index 00000000..1ccfc0f4 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0020b-EXCEL/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rdf: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rml:reference "Name"; rr:termType rr:IRI; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]. diff --git a/src/test/resources/test-cases/RMLTC0020b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC0020b-EXCEL/output.nq new file mode 100644 index 00000000..440d9a9d --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0020b-EXCEL/output.nq @@ -0,0 +1,5 @@ + . + . + . + . + diff --git a/src/test/resources/test-cases/RMLTC0020b-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC0020b-EXCEL/student.xlsx new file mode 100644 index 00000000..d681ff96 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0020b-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC0020b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC0020b-ODS/mapping.ttl new file mode 100644 index 00000000..c377f7a3 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0020b-ODS/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rdf: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ rml:reference "Name"; rr:termType rr:IRI; ]; + + rr:predicateObjectMap + [ + rr:predicate rdf:type; + rr:object foaf:Person; + ]. diff --git a/src/test/resources/test-cases/RMLTC0020b-ODS/output.nq b/src/test/resources/test-cases/RMLTC0020b-ODS/output.nq new file mode 100644 index 00000000..440d9a9d --- /dev/null +++ b/src/test/resources/test-cases/RMLTC0020b-ODS/output.nq @@ -0,0 +1,5 @@ + . + . + . + . + diff --git a/src/test/resources/test-cases/RMLTC0020b-ODS/student.ods b/src/test/resources/test-cases/RMLTC0020b-ODS/student.ods new file mode 100644 index 00000000..8c7e0017 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC0020b-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC1003-CSV/Airport.csv b/src/test/resources/test-cases/RMLTC1003-CSV/Airport.csv new file mode 100644 index 00000000..ca3b1a91 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1003-CSV/Airport.csv @@ -0,0 +1,3 @@ +id,city,bus,latitude,longitude +6523,Brussels,25,50.901389,4.484444 +6524,Athens,78,37.936388,23.947222 diff --git a/src/test/resources/test-cases/RMLTC1003-EXCEL/Airport.xlsx b/src/test/resources/test-cases/RMLTC1003-EXCEL/Airport.xlsx new file mode 100644 index 00000000..b4dd2f92 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1003-EXCEL/Airport.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1003-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1003-EXCEL/mapping.ttl new file mode 100644 index 00000000..7aa6642c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1003-EXCEL/mapping.ttl @@ -0,0 +1,27 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "Airport.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{id}" + ]; + + rr:predicateObjectMap [ + rr:predicate ex:city; + rr:objectMap [ + rml:reference "city" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC1003-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1003-EXCEL/output.nq new file mode 100644 index 00000000..31168c83 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1003-EXCEL/output.nq @@ -0,0 +1,2 @@ + "Brussels". + "Athens". diff --git a/src/test/resources/test-cases/RMLTC1003-ODS/Airport.ods b/src/test/resources/test-cases/RMLTC1003-ODS/Airport.ods new file mode 100644 index 00000000..548a895f Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1003-ODS/Airport.ods differ diff --git a/src/test/resources/test-cases/RMLTC1003-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1003-ODS/mapping.ttl new file mode 100644 index 00000000..ea0a2be2 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1003-ODS/mapping.ttl @@ -0,0 +1,27 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . + +@base . + + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "Airport.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{id}" + ]; + + rr:predicateObjectMap [ + rr:predicate ex:city; + rr:objectMap [ + rml:reference "city" + ] + ]. diff --git a/src/test/resources/test-cases/RMLTC1003-ODS/output.nq b/src/test/resources/test-cases/RMLTC1003-ODS/output.nq new file mode 100644 index 00000000..31168c83 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1003-ODS/output.nq @@ -0,0 +1,2 @@ + "Brussels". + "Athens". diff --git a/src/test/resources/test-cases/RMLTC1005a-EXCEL/data.xlsx b/src/test/resources/test-cases/RMLTC1005a-EXCEL/data.xlsx new file mode 100644 index 00000000..39e7547c Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1005a-EXCEL/data.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1005a-EXCEL/data2.xlsx b/src/test/resources/test-cases/RMLTC1005a-EXCEL/data2.xlsx new file mode 100644 index 00000000..abab2505 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1005a-EXCEL/data2.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1005a-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1005a-EXCEL/mapping.ttl new file mode 100644 index 00000000..a57f6962 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1005a-EXCEL/mapping.ttl @@ -0,0 +1,50 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:map_data1_0 rml:logicalSource map:source_0; + a rml:TriplesMap; + rdfs:label "data1"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0, map:pom_1. +map:map_data2_0 rml:logicalSource map:source_1; + a rml:TriplesMap; + rdfs:label "data2"; + rr:subjectMap map:s_1; + rr:predicateObjectMap map:pom_2. +map:om_0 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:om_1 a rr:ObjectMap; + rr:parentTriplesMap map:map_data2_0. +map:om_2 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant rdf:type. +map:pm_1 a rr:PredicateMap; + rr:constant . +map:pm_2 a rr:PredicateMap; + rr:constant rdf:type. +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:pom_1 a rr:PredicateObjectMap; + rr:predicateMap map:pm_1; + rr:objectMap map:om_1. +map:pom_2 a rr:PredicateObjectMap; + rr:predicateMap map:pm_2; + rr:objectMap map:om_2. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/{id}". +map:s_1 a rr:SubjectMap; + rr:template "http://example.com/{id}". +map:source_0 a rml:LogicalSource; + rml:source "data.xlsx"; + rml:referenceFormulation ql:CSV. +map:source_1 a rml:LogicalSource; + rml:source "data2.xlsx"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1005a-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1005a-EXCEL/output.nq new file mode 100644 index 00000000..e4d41292 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1005a-EXCEL/output.nq @@ -0,0 +1,8 @@ + . + . + . + . + . + . + . + . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1005a-ODS/data.ods b/src/test/resources/test-cases/RMLTC1005a-ODS/data.ods new file mode 100644 index 00000000..9df66ed9 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1005a-ODS/data.ods differ diff --git a/src/test/resources/test-cases/RMLTC1005a-ODS/data2.ods b/src/test/resources/test-cases/RMLTC1005a-ODS/data2.ods new file mode 100644 index 00000000..cf112138 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1005a-ODS/data2.ods differ diff --git a/src/test/resources/test-cases/RMLTC1005a-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1005a-ODS/mapping.ttl new file mode 100644 index 00000000..45708aa7 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1005a-ODS/mapping.ttl @@ -0,0 +1,50 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:map_data1_0 rml:logicalSource map:source_0; + a rml:TriplesMap; + rdfs:label "data1"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0, map:pom_1. +map:map_data2_0 rml:logicalSource map:source_1; + a rml:TriplesMap; + rdfs:label "data2"; + rr:subjectMap map:s_1; + rr:predicateObjectMap map:pom_2. +map:om_0 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:om_1 a rr:ObjectMap; + rr:parentTriplesMap map:map_data2_0. +map:om_2 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant rdf:type. +map:pm_1 a rr:PredicateMap; + rr:constant . +map:pm_2 a rr:PredicateMap; + rr:constant rdf:type. +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:pom_1 a rr:PredicateObjectMap; + rr:predicateMap map:pm_1; + rr:objectMap map:om_1. +map:pom_2 a rr:PredicateObjectMap; + rr:predicateMap map:pm_2; + rr:objectMap map:om_2. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/{id}". +map:s_1 a rr:SubjectMap; + rr:template "http://example.com/{id}". +map:source_0 a rml:LogicalSource; + rml:source "data.ods"; + rml:referenceFormulation ql:CSV. +map:source_1 a rml:LogicalSource; + rml:source "data2.ods"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1005a-ODS/output.nq b/src/test/resources/test-cases/RMLTC1005a-ODS/output.nq new file mode 100644 index 00000000..e4d41292 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1005a-ODS/output.nq @@ -0,0 +1,8 @@ + . + . + . + . + . + . + . + . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1005b-EXCEL/data.xlsx b/src/test/resources/test-cases/RMLTC1005b-EXCEL/data.xlsx new file mode 100644 index 00000000..39e7547c Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1005b-EXCEL/data.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1005b-EXCEL/data2.xlsx b/src/test/resources/test-cases/RMLTC1005b-EXCEL/data2.xlsx new file mode 100644 index 00000000..abab2505 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1005b-EXCEL/data2.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1005b-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1005b-EXCEL/mapping.ttl new file mode 100644 index 00000000..727cc3af --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1005b-EXCEL/mapping.ttl @@ -0,0 +1,53 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:jc_0 rr:child "id"; + rr:parent "id_friend". +map:map_data1_0 rml:logicalSource map:source_0; + a rml:TriplesMap; + rdfs:label "data1"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0, map:pom_1. +map:map_data2_0 rml:logicalSource map:source_1; + a rml:TriplesMap; + rdfs:label "data2"; + rr:subjectMap map:s_1; + rr:predicateObjectMap map:pom_2. +map:om_0 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:om_1 a rr:ObjectMap; + rr:parentTriplesMap map:map_data2_0; + rr:joinCondition map:jc_0. +map:om_2 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant rdf:type. +map:pm_1 a rr:PredicateMap; + rr:constant . +map:pm_2 a rr:PredicateMap; + rr:constant rdf:type. +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:pom_1 a rr:PredicateObjectMap; + rr:predicateMap map:pm_1; + rr:objectMap map:om_1. +map:pom_2 a rr:PredicateObjectMap; + rr:predicateMap map:pm_2; + rr:objectMap map:om_2. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/{id}". +map:s_1 a rr:SubjectMap; + rr:template "http://example.com/{id}". +map:source_0 a rml:LogicalSource; + rml:source "data.xlsx"; + rml:referenceFormulation ql:CSV. +map:source_1 a rml:LogicalSource; + rml:source "data2.xlsx"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1005b-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1005b-EXCEL/output.nq new file mode 100644 index 00000000..c61bf9b9 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1005b-EXCEL/output.nq @@ -0,0 +1,6 @@ + . + . + . + . + . + . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1005b-ODS/data.ods b/src/test/resources/test-cases/RMLTC1005b-ODS/data.ods new file mode 100644 index 00000000..9df66ed9 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1005b-ODS/data.ods differ diff --git a/src/test/resources/test-cases/RMLTC1005b-ODS/data2.ods b/src/test/resources/test-cases/RMLTC1005b-ODS/data2.ods new file mode 100644 index 00000000..cf112138 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1005b-ODS/data2.ods differ diff --git a/src/test/resources/test-cases/RMLTC1005b-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1005b-ODS/mapping.ttl new file mode 100644 index 00000000..caaafe75 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1005b-ODS/mapping.ttl @@ -0,0 +1,53 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:jc_0 rr:child "id"; + rr:parent "id_friend". +map:map_data1_0 rml:logicalSource map:source_0; + a rml:TriplesMap; + rdfs:label "data1"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0, map:pom_1. +map:map_data2_0 rml:logicalSource map:source_1; + a rml:TriplesMap; + rdfs:label "data2"; + rr:subjectMap map:s_1; + rr:predicateObjectMap map:pom_2. +map:om_0 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:om_1 a rr:ObjectMap; + rr:parentTriplesMap map:map_data2_0; + rr:joinCondition map:jc_0. +map:om_2 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant rdf:type. +map:pm_1 a rr:PredicateMap; + rr:constant . +map:pm_2 a rr:PredicateMap; + rr:constant rdf:type. +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:pom_1 a rr:PredicateObjectMap; + rr:predicateMap map:pm_1; + rr:objectMap map:om_1. +map:pom_2 a rr:PredicateObjectMap; + rr:predicateMap map:pm_2; + rr:objectMap map:om_2. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/{id}". +map:s_1 a rr:SubjectMap; + rr:template "http://example.com/{id}". +map:source_0 a rml:LogicalSource; + rml:source "data.ods"; + rml:referenceFormulation ql:CSV. +map:source_1 a rml:LogicalSource; + rml:source "data2.ods"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1005b-ODS/output.nq b/src/test/resources/test-cases/RMLTC1005b-ODS/output.nq new file mode 100644 index 00000000..c61bf9b9 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1005b-ODS/output.nq @@ -0,0 +1,6 @@ + . + . + . + . + . + . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1007-EXCEL/data.xlsx b/src/test/resources/test-cases/RMLTC1007-EXCEL/data.xlsx new file mode 100644 index 00000000..4289a718 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1007-EXCEL/data.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1007-EXCEL/data2.xlsx b/src/test/resources/test-cases/RMLTC1007-EXCEL/data2.xlsx new file mode 100644 index 00000000..83d5d639 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1007-EXCEL/data2.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1007-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1007-EXCEL/mapping.ttl new file mode 100644 index 00000000..33163380 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1007-EXCEL/mapping.ttl @@ -0,0 +1,52 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:map_data1_0 rml:logicalSource map:source_0; + a rml:TriplesMap; + rdfs:label "data1"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0, map:pom_1. +map:map_data2_0 rml:logicalSource map:source_1; + a rml:TriplesMap; + rdfs:label "data2"; + rr:subjectMap map:s_1; + rr:predicateObjectMap map:pom_2. +map:om_0 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:om_1 a rr:ObjectMap; + rr:parentTriplesMap map:map_data2_0; + rr:joinCondition [rr:child "id"; rr:parent "id"]; + rr:joinCondition [rr:child "name"; rr:parent "name"]. +map:om_2 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant rdf:type. +map:pm_1 a rr:PredicateMap; + rr:constant . +map:pm_2 a rr:PredicateMap; + rr:constant rdf:type. +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:pom_1 a rr:PredicateObjectMap; + rr:predicateMap map:pm_1; + rr:objectMap map:om_1. +map:pom_2 a rr:PredicateObjectMap; + rr:predicateMap map:pm_2; + rr:objectMap map:om_2. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/1/{extra}". +map:s_1 a rr:SubjectMap; + rr:template "http://example.com/2/{extra}". +map:source_0 a rml:LogicalSource; + rml:source "data.xlsx"; + rml:referenceFormulation ql:CSV. +map:source_1 a rml:LogicalSource; + rml:source "data2.xlsx"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1007-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1007-EXCEL/output.nq new file mode 100644 index 00000000..5eeb9835 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1007-EXCEL/output.nq @@ -0,0 +1,6 @@ + . + . + . + . + . + . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1007-ODS/data.ods b/src/test/resources/test-cases/RMLTC1007-ODS/data.ods new file mode 100644 index 00000000..8f4c9416 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1007-ODS/data.ods differ diff --git a/src/test/resources/test-cases/RMLTC1007-ODS/data2.ods b/src/test/resources/test-cases/RMLTC1007-ODS/data2.ods new file mode 100644 index 00000000..65ce69aa Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1007-ODS/data2.ods differ diff --git a/src/test/resources/test-cases/RMLTC1007-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1007-ODS/mapping.ttl new file mode 100644 index 00000000..9f4fbb0e --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1007-ODS/mapping.ttl @@ -0,0 +1,52 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:map_data1_0 rml:logicalSource map:source_0; + a rml:TriplesMap; + rdfs:label "data1"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0, map:pom_1. +map:map_data2_0 rml:logicalSource map:source_1; + a rml:TriplesMap; + rdfs:label "data2"; + rr:subjectMap map:s_1; + rr:predicateObjectMap map:pom_2. +map:om_0 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:om_1 a rr:ObjectMap; + rr:parentTriplesMap map:map_data2_0; + rr:joinCondition [rr:child "id"; rr:parent "id"]; + rr:joinCondition [rr:child "name"; rr:parent "name"]. +map:om_2 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant rdf:type. +map:pm_1 a rr:PredicateMap; + rr:constant . +map:pm_2 a rr:PredicateMap; + rr:constant rdf:type. +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:pom_1 a rr:PredicateObjectMap; + rr:predicateMap map:pm_1; + rr:objectMap map:om_1. +map:pom_2 a rr:PredicateObjectMap; + rr:predicateMap map:pm_2; + rr:objectMap map:om_2. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/1/{extra}". +map:s_1 a rr:SubjectMap; + rr:template "http://example.com/2/{extra}". +map:source_0 a rml:LogicalSource; + rml:source "data.ods"; + rml:referenceFormulation ql:CSV. +map:source_1 a rml:LogicalSource; + rml:source "data2.ods"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1007-ODS/output.nq b/src/test/resources/test-cases/RMLTC1007-ODS/output.nq new file mode 100644 index 00000000..5eeb9835 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1007-ODS/output.nq @@ -0,0 +1,6 @@ + . + . + . + . + . + . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1008-EXCEL/data.xlsx b/src/test/resources/test-cases/RMLTC1008-EXCEL/data.xlsx new file mode 100644 index 00000000..66695bca Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1008-EXCEL/data.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1008-EXCEL/data2.xlsx b/src/test/resources/test-cases/RMLTC1008-EXCEL/data2.xlsx new file mode 100644 index 00000000..fb401a7f Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1008-EXCEL/data2.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1008-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1008-EXCEL/mapping.ttl new file mode 100644 index 00000000..33163380 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1008-EXCEL/mapping.ttl @@ -0,0 +1,52 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:map_data1_0 rml:logicalSource map:source_0; + a rml:TriplesMap; + rdfs:label "data1"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0, map:pom_1. +map:map_data2_0 rml:logicalSource map:source_1; + a rml:TriplesMap; + rdfs:label "data2"; + rr:subjectMap map:s_1; + rr:predicateObjectMap map:pom_2. +map:om_0 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:om_1 a rr:ObjectMap; + rr:parentTriplesMap map:map_data2_0; + rr:joinCondition [rr:child "id"; rr:parent "id"]; + rr:joinCondition [rr:child "name"; rr:parent "name"]. +map:om_2 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant rdf:type. +map:pm_1 a rr:PredicateMap; + rr:constant . +map:pm_2 a rr:PredicateMap; + rr:constant rdf:type. +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:pom_1 a rr:PredicateObjectMap; + rr:predicateMap map:pm_1; + rr:objectMap map:om_1. +map:pom_2 a rr:PredicateObjectMap; + rr:predicateMap map:pm_2; + rr:objectMap map:om_2. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/1/{extra}". +map:s_1 a rr:SubjectMap; + rr:template "http://example.com/2/{extra}". +map:source_0 a rml:LogicalSource; + rml:source "data.xlsx"; + rml:referenceFormulation ql:CSV. +map:source_1 a rml:LogicalSource; + rml:source "data2.xlsx"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1008-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1008-EXCEL/output.nq new file mode 100644 index 00000000..b612c6bb --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1008-EXCEL/output.nq @@ -0,0 +1,11 @@ + . + . + . + . + . + . + . + . + . + . + . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1008-ODS/data.ods b/src/test/resources/test-cases/RMLTC1008-ODS/data.ods new file mode 100644 index 00000000..3baadbef Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1008-ODS/data.ods differ diff --git a/src/test/resources/test-cases/RMLTC1008-ODS/data2.ods b/src/test/resources/test-cases/RMLTC1008-ODS/data2.ods new file mode 100644 index 00000000..0dee97c8 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1008-ODS/data2.ods differ diff --git a/src/test/resources/test-cases/RMLTC1008-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1008-ODS/mapping.ttl new file mode 100644 index 00000000..9f4fbb0e --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1008-ODS/mapping.ttl @@ -0,0 +1,52 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:map_data1_0 rml:logicalSource map:source_0; + a rml:TriplesMap; + rdfs:label "data1"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0, map:pom_1. +map:map_data2_0 rml:logicalSource map:source_1; + a rml:TriplesMap; + rdfs:label "data2"; + rr:subjectMap map:s_1; + rr:predicateObjectMap map:pom_2. +map:om_0 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:om_1 a rr:ObjectMap; + rr:parentTriplesMap map:map_data2_0; + rr:joinCondition [rr:child "id"; rr:parent "id"]; + rr:joinCondition [rr:child "name"; rr:parent "name"]. +map:om_2 a rr:ObjectMap; + rr:constant "http://xmlns.com/foaf/0.1/Person"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant rdf:type. +map:pm_1 a rr:PredicateMap; + rr:constant . +map:pm_2 a rr:PredicateMap; + rr:constant rdf:type. +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:pom_1 a rr:PredicateObjectMap; + rr:predicateMap map:pm_1; + rr:objectMap map:om_1. +map:pom_2 a rr:PredicateObjectMap; + rr:predicateMap map:pm_2; + rr:objectMap map:om_2. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/1/{extra}". +map:s_1 a rr:SubjectMap; + rr:template "http://example.com/2/{extra}". +map:source_0 a rml:LogicalSource; + rml:source "data.ods"; + rml:referenceFormulation ql:CSV. +map:source_1 a rml:LogicalSource; + rml:source "data2.ods"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1008-ODS/output.nq b/src/test/resources/test-cases/RMLTC1008-ODS/output.nq new file mode 100644 index 00000000..b612c6bb --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1008-ODS/output.nq @@ -0,0 +1,11 @@ + . + . + . + . + . + . + . + . + . + . + . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1009-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1009-EXCEL/mapping.ttl new file mode 100644 index 00000000..b6607aee --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1009-EXCEL/mapping.ttl @@ -0,0 +1,31 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "./student.json"; + rml:referenceFormulation ql:JSONPath; + rml:iterator "$.students[*]" + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}"; + rr:class foaf:Person + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "ID" ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1009-EXCEL/output.ttl b/src/test/resources/test-cases/RMLTC1009-EXCEL/output.ttl new file mode 100644 index 00000000..583cb82f --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1009-EXCEL/output.ttl @@ -0,0 +1,4 @@ + "Venus\"" . + "10" . + . + diff --git a/src/test/resources/test-cases/RMLTC1009-EXCEL/student.json b/src/test/resources/test-cases/RMLTC1009-EXCEL/student.json new file mode 100644 index 00000000..3cab7d16 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1009-EXCEL/student.json @@ -0,0 +1,5 @@ +{ + "students": [ + {"ID": 10, "Name": "Venus\""} + ] +} \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1009-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1009-ODS/mapping.ttl new file mode 100644 index 00000000..b6607aee --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1009-ODS/mapping.ttl @@ -0,0 +1,31 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "./student.json"; + rml:referenceFormulation ql:JSONPath; + rml:iterator "$.students[*]" + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}"; + rr:class foaf:Person + ]; + + rr:predicateObjectMap [ + rr:predicate ex:id ; + rr:objectMap [ rml:reference "ID" ] + ]; + + rr:predicateObjectMap [ + rr:predicate foaf:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1009-ODS/output.ttl b/src/test/resources/test-cases/RMLTC1009-ODS/output.ttl new file mode 100644 index 00000000..583cb82f --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1009-ODS/output.ttl @@ -0,0 +1,4 @@ + "Venus\"" . + "10" . + . + diff --git a/src/test/resources/test-cases/RMLTC1009-ODS/student.json b/src/test/resources/test-cases/RMLTC1009-ODS/student.json new file mode 100644 index 00000000..3cab7d16 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1009-ODS/student.json @@ -0,0 +1,5 @@ +{ + "students": [ + {"ID": 10, "Name": "Venus\""} + ] +} \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1010-EXCEL/data.xlsx b/src/test/resources/test-cases/RMLTC1010-EXCEL/data.xlsx new file mode 100644 index 00000000..232655bf Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1010-EXCEL/data.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1010-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1010-EXCEL/mapping.ttl new file mode 100644 index 00000000..556f05e2 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1010-EXCEL/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:map_person_0 rml:logicalSource map:source_0; + a rr:TriplesMap; + rdfs:label "person"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0. +map:om_0 a rr:ObjectMap; + rr:template "http://{name}"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant . +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/{name}". +map:source_0 a rml:LogicalSource; + rml:source "data.xlsx"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1010-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1010-EXCEL/output.nq new file mode 100644 index 00000000..59b22d57 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1010-EXCEL/output.nq @@ -0,0 +1 @@ + . diff --git a/src/test/resources/test-cases/RMLTC1010-ODS/data.ods b/src/test/resources/test-cases/RMLTC1010-ODS/data.ods new file mode 100644 index 00000000..17df4cd1 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1010-ODS/data.ods differ diff --git a/src/test/resources/test-cases/RMLTC1010-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1010-ODS/mapping.ttl new file mode 100644 index 00000000..2fa200ed --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1010-ODS/mapping.ttl @@ -0,0 +1,25 @@ +@prefix rr: . +@prefix rml: . +@prefix rdf: . +@prefix rdfs: . +@prefix ql: . +@prefix map: . + +map:map_person_0 rml:logicalSource map:source_0; + a rr:TriplesMap; + rdfs:label "person"; + rr:subjectMap map:s_0; + rr:predicateObjectMap map:pom_0. +map:om_0 a rr:ObjectMap; + rr:template "http://{name}"; + rr:termType rr:IRI. +map:pm_0 a rr:PredicateMap; + rr:constant . +map:pom_0 a rr:PredicateObjectMap; + rr:predicateMap map:pm_0; + rr:objectMap map:om_0. +map:s_0 a rr:SubjectMap; + rr:template "http://example.com/{name}". +map:source_0 a rml:LogicalSource; + rml:source "data.ods"; + rml:referenceFormulation ql:CSV. diff --git a/src/test/resources/test-cases/RMLTC1010-ODS/output.nq b/src/test/resources/test-cases/RMLTC1010-ODS/output.nq new file mode 100644 index 00000000..59b22d57 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1010-ODS/output.nq @@ -0,0 +1 @@ + . diff --git a/src/test/resources/test-cases/RMLTC1012-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1012-EXCEL/mapping.ttl new file mode 100644 index 00000000..751c3f9b --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1012-EXCEL/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1012-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1012-EXCEL/output.nq new file mode 100644 index 00000000..d3354fe3 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1012-EXCEL/output.nq @@ -0,0 +1,3 @@ + "Venus". + "Ç". + "Umutcan Şimşek". \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1012-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC1012-EXCEL/student.xlsx new file mode 100644 index 00000000..08f3f9cc Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1012-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1012-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1012-ODS/mapping.ttl new file mode 100644 index 00000000..94fc201d --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1012-ODS/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1012-ODS/output.nq b/src/test/resources/test-cases/RMLTC1012-ODS/output.nq new file mode 100644 index 00000000..d3354fe3 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1012-ODS/output.nq @@ -0,0 +1,3 @@ + "Venus". + "Ç". + "Umutcan Şimşek". \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1012-ODS/student.ods b/src/test/resources/test-cases/RMLTC1012-ODS/student.ods new file mode 100644 index 00000000..dcd55298 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1012-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC1013-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1013-EXCEL/mapping.ttl new file mode 100644 index 00000000..672ad2e4 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1013-EXCEL/mapping.ttl @@ -0,0 +1,29 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ + rml:reference "Name"; + rml:languageMap [ + rml:reference "lang" + ] + ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1013-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1013-EXCEL/output.nq new file mode 100644 index 00000000..9b168eab --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1013-EXCEL/output.nq @@ -0,0 +1,3 @@ + "Venus"@en . + "Athina"@el . + "Bob"@nl . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1013-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC1013-EXCEL/student.xlsx new file mode 100644 index 00000000..681214ca Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1013-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1013-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1013-ODS/mapping.ttl new file mode 100644 index 00000000..1bbec7e9 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1013-ODS/mapping.ttl @@ -0,0 +1,29 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ + rml:reference "Name"; + rml:languageMap [ + rml:reference "lang" + ] + ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1013-ODS/output.nq b/src/test/resources/test-cases/RMLTC1013-ODS/output.nq new file mode 100644 index 00000000..9b168eab --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1013-ODS/output.nq @@ -0,0 +1,3 @@ + "Venus"@en . + "Athina"@el . + "Bob"@nl . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1013-ODS/student.ods b/src/test/resources/test-cases/RMLTC1013-ODS/student.ods new file mode 100644 index 00000000..15f81c5f Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1013-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC1014-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1014-EXCEL/mapping.ttl new file mode 100644 index 00000000..1daa947c --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1014-EXCEL/mapping.ttl @@ -0,0 +1,29 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ + rml:reference "Name"; + rml:languageMap [ + rr:constant "en" + ] + ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1014-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1014-EXCEL/output.nq new file mode 100644 index 00000000..5e89ac24 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1014-EXCEL/output.nq @@ -0,0 +1,3 @@ + "Venus"@en . + "Athina"@en . + "Bob"@en . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1014-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC1014-EXCEL/student.xlsx new file mode 100644 index 00000000..681214ca Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1014-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1014-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1014-ODS/mapping.ttl new file mode 100644 index 00000000..d4798ac5 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1014-ODS/mapping.ttl @@ -0,0 +1,29 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ + rml:reference "Name"; + rml:languageMap [ + rr:constant "en" + ] + ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1014-ODS/output.nq b/src/test/resources/test-cases/RMLTC1014-ODS/output.nq new file mode 100644 index 00000000..5e89ac24 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1014-ODS/output.nq @@ -0,0 +1,3 @@ + "Venus"@en . + "Athina"@en . + "Bob"@en . \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1014-ODS/student.ods b/src/test/resources/test-cases/RMLTC1014-ODS/student.ods new file mode 100644 index 00000000..d64174c8 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1014-ODS/student.ods differ diff --git a/src/test/resources/test-cases/RMLTC1015-EXCEL/mapping.ttl b/src/test/resources/test-cases/RMLTC1015-EXCEL/mapping.ttl new file mode 100644 index 00000000..4a2a563d --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1015-EXCEL/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.xlsx"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/θερμότητα/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1015-EXCEL/output.nq b/src/test/resources/test-cases/RMLTC1015-EXCEL/output.nq new file mode 100644 index 00000000..3bb0a1c3 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1015-EXCEL/output.nq @@ -0,0 +1,3 @@ + "Venus". + "Ç". + "Umutcan Şimşek". \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1015-EXCEL/student.xlsx b/src/test/resources/test-cases/RMLTC1015-EXCEL/student.xlsx new file mode 100644 index 00000000..ff022634 Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1015-EXCEL/student.xlsx differ diff --git a/src/test/resources/test-cases/RMLTC1015-ODS/mapping.ttl b/src/test/resources/test-cases/RMLTC1015-ODS/mapping.ttl new file mode 100644 index 00000000..9b799da7 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1015-ODS/mapping.ttl @@ -0,0 +1,24 @@ +@prefix rr: . +@prefix foaf: . +@prefix ex: . +@prefix xsd: . +@prefix rml: . +@prefix ql: . +@base . + + a rr:TriplesMap; + + rml:logicalSource [ + rml:source "student.ods"; + rml:referenceFormulation ql:CSV + ]; + + rr:subjectMap [ + rr:template "http://example.com/θερμότητα/{ID}"; + ]; + + rr:predicateObjectMap [ + rr:predicate ex:name ; + rr:objectMap [ rml:reference "Name" ] + ]. + diff --git a/src/test/resources/test-cases/RMLTC1015-ODS/output.nq b/src/test/resources/test-cases/RMLTC1015-ODS/output.nq new file mode 100644 index 00000000..3bb0a1c3 --- /dev/null +++ b/src/test/resources/test-cases/RMLTC1015-ODS/output.nq @@ -0,0 +1,3 @@ + "Venus". + "Ç". + "Umutcan Şimşek". \ No newline at end of file diff --git a/src/test/resources/test-cases/RMLTC1015-ODS/student.ods b/src/test/resources/test-cases/RMLTC1015-ODS/student.ods new file mode 100644 index 00000000..bb57c0ed Binary files /dev/null and b/src/test/resources/test-cases/RMLTC1015-ODS/student.ods differ