Skip to content

Commit f1672fa

Browse files
committed
Update dependency on idlab functions to add crossConcat functions + Updated required Java language to 21
1 parent 37a037b commit f1672fa

File tree

8 files changed

+132
-14
lines changed

8 files changed

+132
-14
lines changed

.gitlab-ci.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ include:
1010
- project: 'rml/util/ci-templates'
1111
ref: main
1212
file: 'CHANGELOG.gitlab-ci.yml'
13-
# Push a Docker Image to Docker Hub on new tags
14-
- project: 'rml/util/ci-templates'
15-
ref: main
16-
file: 'Docker-Hub.gitlab-ci.yml'
13+
# # Push a Docker Image to Docker Hub on new tags
14+
# - project: 'rml/util/ci-templates'
15+
# ref: main
16+
# file: 'Docker-Hub.gitlab-ci.yml'
1717
# Push a build to Maven Central on new tags
1818
- project: 'rml/util/ci-templates'
1919
ref: main
@@ -52,7 +52,7 @@ default:
5252
General:
5353
stage: unittests
5454
image:
55-
name: maven:3-eclipse-temurin-17
55+
name: maven:3-eclipse-temurin-21
5656
pull_policy: if-not-present
5757
services:
5858
- name: docker:29-dind
@@ -73,7 +73,7 @@ General:
7373
- '$TEST.log'
7474
parallel:
7575
matrix:
76-
- TEST: [ArgumentsTest, MapperCSVTest, MapperJSONTest, MapperMySQLTest, MapperPostgresR2RMLTest, MapperWoTTest, ArgumentsTestMySQLTest, MapperCSVWTest, MapperLDESTest, MapperODSTest, MapperOracleDBTest, MapperPostgresXMLTest, MapperXMLTest, CustomRMLFnOMapperCSVTest, MapperEXCELTest, MapperMappingFileURLTest, MapperSPARQLTest, MetadataTest, CustomRMLFnOMapperJSONTest, CustomRMLFnOMapperTest, MapperHTMLTest, MapperMySQLR2RMLTest, MapperPostgresCSVTest, MapperSQLServerTest, OptimizationsTest, R2RMLConverterTest, QuadTest, ReadmeTest, ReadmeFunctionTest, ConformerDetectionTest, MapperNewRMLCoreJSONTest, MapperNewRMLIOSourceTest, MapperNewRMLIOTargetTest, HttpRequestTargetTest]
76+
- TEST: [ArgumentsTest, MapperCSVTest, MapperJSONTest, MapperMySQLTest, MapperPostgresR2RMLTest, MapperWoTTest, ArgumentsTestMySQLTest, MapperCSVWTest, MapperLDESTest, MapperODSTest, MapperOracleDBTest, MapperPostgresXMLTest, MapperXMLTest, CustomRMLFnOMapperCSVTest, MapperEXCELTest, MapperMappingFileURLTest, MapperSPARQLTest, MetadataTest, CustomRMLFnOMapperJSONTest, CustomRMLFnOMapperTest, MapperHTMLTest, MapperMySQLR2RMLTest, MapperPostgresCSVTest, MapperSQLServerTest, OptimizationsTest, R2RMLConverterTest, QuadTest, ReadmeTest, ReadmeFunctionTest, ConformerDetectionTest, MapperNewRMLCoreJSONTest, MapperNewRMLIOSourceTest, MapperNewRMLIOTargetTest, HttpRequestTargetTest, MapperCrossConcatSequenceTest]
7777
except:
7878
- master
7979
- development

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## Unreleased
99

10+
### Added
11+
- `crossConcat` and `crossConcatSequence` functions (by updating dependency to idlab-functions-java)
12+
13+
### Changed
14+
- Requires Java version >= 21
15+
16+
### Fixed
17+
- Updated dependency function-agent-java to 1.3.0
18+
- Updated idlab-functions-java to 1.4.0
19+
1020
## [8.0.1] - 2025-12-11
1121

1222
### Fixed

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# Build image
2-
FROM maven:3-eclipse-temurin-17 as buildimage
2+
FROM maven:3.9.12-eclipse-temurin-21-alpine AS buildimage
33

44
ADD . /rmlmapper-java
55

6-
WORKDIR rmlmapper-java
6+
WORKDIR /rmlmapper-java
77
RUN mvn -Pno-buildnumber clean package -DskipTests=true
88
RUN mv $(readlink -f target/rmlmapper-*-all.jar) /rmlmapper.jar
99

1010
# "Runtime" image
11-
FROM eclipse-temurin:17-jre
11+
FROM eclipse-temurin:25-jre
1212
COPY --from=buildimage /rmlmapper.jar /rmlmapper.jar
1313

1414
WORKDIR /data

pom.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<groupId>be.ugent.rml</groupId>
44
<artifactId>rmlmapper</artifactId>
55
<name>RMLMapper</name>
6-
<version>8.0.1</version>
6+
<version>8.1.0-SNAPSHOT</version>
77
<description>
88
The RMLMapper executes RML rules to generate high quality Linked Data from multiple originally (semi-)structured data sources.
99
</description>
@@ -36,8 +36,8 @@
3636
<properties>
3737
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3838
<junit.version>5.10.0</junit.version> <!-- testcontainers can't handle > 5.8 yet -->
39-
<maven.compiler.source>17</maven.compiler.source>
40-
<maven.compiler.target>17</maven.compiler.target>
39+
<maven.compiler.source>21</maven.compiler.source>
40+
<maven.compiler.target>21</maven.compiler.target>
4141
<jena.version>5.2.0</jena.version>
4242
<jelly.version>3.2.0</jelly.version>
4343
<testcontainers.version>2.0.2</testcontainers.version>
@@ -284,7 +284,7 @@
284284
<dependency>
285285
<groupId>be.ugent.idlab.knows</groupId>
286286
<artifactId>function-agent-java</artifactId>
287-
<version>1.2.1</version>
287+
<version>1.3.0</version>
288288
<exclusions>
289289
<exclusion>
290290
<groupId>org.apache.jena</groupId>
@@ -310,7 +310,7 @@
310310
<dependency>
311311
<groupId>be.ugent.idlab.knows</groupId>
312312
<artifactId>idlab-functions-java</artifactId>
313-
<version>1.3.3</version>
313+
<version>1.4.0</version>
314314
<exclusions>
315315
<exclusion>
316316
<groupId>org.apache.commons</groupId>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package be.ugent.rml;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
public class MapperCrossConcatSequenceTest extends TestCore {
6+
7+
@Test
8+
public void testConcatIRI() {
9+
doMapping("./cross-concat-sequence/mapping.rml.ttl", "./cross-concat-sequence/output.nq");
10+
}
11+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
PersonNumber;FirstName;Surname;ResponsibleApplicantGrantNumber
2+
1;John;Doe;"111925;34468;55836;66731"
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
@prefix csvw: <http://www.w3.org/ns/csvw#> .
2+
@prefix rr: <http://www.w3.org/ns/r2rml#>.
3+
@prefix rml: <http://semweb.mmlab.be/ns/rml#>.
4+
@prefix ql: <http://semweb.mmlab.be/ns/ql#>.
5+
@prefix schema: <http://schema.org/>.
6+
@prefix fnml: <http://semweb.mmlab.be/ns/fnml#> .
7+
@prefix grel: <http://users.ugent.be/~bjdmeest/function/grel.ttl#> .
8+
@prefix fno: <https://w3id.org/function/ontology#> .
9+
@prefix idlab-fn: <https://w3id.org/imec/idlab/function#> .
10+
@base <http://example.com/ns#>.
11+
12+
<#LogicalSourcePerson> a rml:LogicalSource ;
13+
rml:source <#CSVW_sourcePerson> ;
14+
rml:referenceFormulation ql:CSV .
15+
16+
<#CSVW_sourcePerson> a csvw:Table;
17+
csvw:url "Person.csv" ;
18+
csvw:dialect [ a csvw:Dialect;
19+
csvw:delimiter ";"
20+
] .
21+
22+
<#PersonMapping> a rr:TriplesMap;
23+
rml:logicalSource <#LogicalSourcePerson> ;
24+
25+
rr:subjectMap [
26+
rr:template "http://snf.ch/person/{PersonNumber}";
27+
rr:class schema:Person
28+
] ;
29+
30+
rr:predicateObjectMap [
31+
rr:predicate schema:memberOf ;
32+
rr:objectMap <#JoinMap> ;
33+
] ;
34+
35+
rr:predicateObjectMap [
36+
rr:predicate schema:givenName ;
37+
rr:objectMap [
38+
rml:reference "FirstName"
39+
]
40+
] ;
41+
42+
rr:predicateObjectMap [
43+
rr:predicate schema:familyName ;
44+
rr:objectMap [
45+
rml:reference "Surname"
46+
]
47+
] .
48+
49+
<#JoinMap>
50+
fnml:functionValue [
51+
rr:predicateObjectMap [
52+
rr:predicate fno:executes ;
53+
rr:objectMap [ rr:constant idlab-fn:crossConcatSequence ]
54+
];
55+
rr:predicateObjectMap [
56+
rr:predicate rdf:_1 ;
57+
rr:objectMap [ rr:constant "http://snf.ch/project/" ]
58+
];
59+
rr:predicateObjectMap [
60+
rr:predicate rdf:_2 ;
61+
rr:objectMap <#FunctionMap>
62+
];
63+
] .
64+
65+
66+
# https://stackoverflow.com/questions/53715353/converting-a-csv-to-rdf-where-one-column-is-a-set-of-values
67+
<#FunctionMap>
68+
fnml:functionValue [
69+
rml:logicalSource <#LogicalSourceGrant>;
70+
rr:predicateObjectMap [
71+
rr:predicate fno:executes;
72+
rr:objectMap [
73+
rr:constant grel:string_split # function to use
74+
];
75+
];
76+
rr:predicateObjectMap [
77+
rr:predicate grel:valueParameter;
78+
rr:objectMap [
79+
rml:reference "ResponsibleApplicantGrantNumber" # input string: concatenated foreign keys
80+
];
81+
];
82+
rr:predicateObjectMap [
83+
rr:predicate grel:p_string_sep;
84+
rr:objectMap [
85+
rr:constant ";";
86+
];
87+
];
88+
].
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<http://snf.ch/person/1> <http://schema.org/familyName> "Doe" .
2+
<http://snf.ch/person/1> <http://schema.org/givenName> "John" .
3+
<http://snf.ch/person/1> <http://schema.org/memberOf> "http://snf.ch/project/111925" .
4+
<http://snf.ch/person/1> <http://schema.org/memberOf> "http://snf.ch/project/34468" .
5+
<http://snf.ch/person/1> <http://schema.org/memberOf> "http://snf.ch/project/55836" .
6+
<http://snf.ch/person/1> <http://schema.org/memberOf> "http://snf.ch/project/66731" .
7+
<http://snf.ch/person/1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> .

0 commit comments

Comments
 (0)