Skip to content

Commit e325db4

Browse files
Update for typedb 2.25 (#74)
* Updates for 2.25.6 driver and server * Update README and build dependencies
1 parent c19ac78 commit e325db4

24 files changed

+263
-264
lines changed

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
---
33
---
44

5-
###
5+
###
66

77
[![TypeDB Loader Test](https://github.com/bayer-science-for-a-better-life/grami/actions/workflows/testandbuild.yaml/badge.svg)](https://github.com/bayer-science-for-a-better-life/grami/actions/workflows/testandbuild.yaml)
88
[![TypeDB Loader Build](https://github.com/bayer-science-for-a-better-life/grami/actions/workflows/release.yaml/badge.svg)](https://github.com/bayer-science-for-a-better-life/grami/actions/workflows/release.yaml)
@@ -153,16 +153,18 @@ To connect to TypeDB Cluster, a set of options is provided:
153153

154154
## Compatibility Table
155155

156-
Ranges are [inclusive, exclusive).
156+
Ranges are [inclusive, inclusive].
157157

158-
| TypeDB Loader | TypeDB Client (internal) | TypeDB | TypeDB Cluster |
158+
| TypeDB Loader | TypeDB Driver (internal) | TypeDB | TypeDB Cluster |
159159
|:-------------:|:------------------------:|:---------------:|:---------------:|
160-
| 1.7.0 | 2.18.1 | 2.18.x - | 2.18.x - |
160+
| 1.9.0 | 2.25.6 | 2.25.x - | 2.25.x - |
161+
| 1.8.0 | 2.24.15 | 2.24.x | 2.24.x |
162+
| 1.7.0 | 2.18.1 | 2.18.x 2.23.x | 2.18.x 2.23.x |
161163
| 1.6.0 | 2.14.2 | 2.14.x - 2.17.x | 2.14.x - 2.16.x |
162-
| 1.2.0 - 1.6.0 | 2.8.0 - 2.14.0 | 2.8.0 - 2.14.0 | N/A |
163-
| 1.1.0 - 1.2.0 | 2.8.0 | 2.8.x | N/A |
164+
| 1.2.0 - 1.5.x | 2.8.0 - 2.14.0 | 2.8.0 - 2.14.0 | N/A |
165+
| 1.1.0 - 1.1.x | 2.8.0 | 2.8.x | N/A |
164166
| 1.0.0 | 2.5.0 - 2.7.1 | 2.5.x - 2.7.x | N/A |
165-
| 0.1.1 | 2.0.0 - 2.5.0 | 2.0.x - 2.4.x | N/A |
167+
| 0.1.1 | 2.0.0 - 2.4.x | 2.0.x - 2.4.x | N/A |
166168
| <0.1 | 1.8.0 | 1.8.x | N/A |
167169

168170
* [Type DB](https://github.com/vaticle/typedb)

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ plugins {
55
}
66

77
group 'com.vaticle.typedb-osi'
8-
version '1.7.0'
8+
version '1.9.0'
99

1010
repositories {
1111
mavenCentral()
@@ -15,8 +15,8 @@ repositories {
1515
}
1616

1717
dependencies {
18-
implementation("com.vaticle.typedb:typedb-client:2.18.1")
19-
implementation("com.vaticle.typeql:typeql-lang:2.18.0")
18+
implementation("com.vaticle.typedb:typedb-driver:2.25.6")
19+
implementation("com.vaticle.typeql:typeql-lang:2.25.0")
2020
implementation("com.google.code.gson:gson:2.8.6")
2121
implementation("org.slf4j:slf4j-api:1.7.25")
2222
implementation("org.apache.logging.log4j:log4j-api:2.17.1")

src/main/java/com/vaticle/typedb/osi/loader/config/Configuration.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616

1717
package com.vaticle.typedb.osi.loader.config;
1818

19-
import com.vaticle.typedb.client.api.TypeDBSession;
20-
import com.vaticle.typedb.client.api.TypeDBTransaction;
21-
import com.vaticle.typedb.client.api.answer.ConceptMap;
19+
import com.vaticle.typedb.driver.api.TypeDBSession;
20+
import com.vaticle.typedb.driver.api.TypeDBTransaction;
21+
import com.vaticle.typedb.driver.api.answer.ConceptMap;
2222
import com.vaticle.typedb.osi.loader.type.AttributeValueType;
2323
import com.vaticle.typeql.lang.TypeQL;
2424

@@ -39,7 +39,7 @@ public class Configuration {
3939
public static AttributeValueType getValueType(TypeDBSession session, String conceptType) {
4040
AttributeValueType valueType = null;
4141
try (TypeDBTransaction txn = session.transaction(TypeDBTransaction.Type.READ)) {
42-
Set<ConceptMap> answers = txn.query().match(TypeQL.match(TypeQL.cVar("t").type(conceptType)).get(TypeQL.cVar("t"))).collect(Collectors.toSet());
42+
Set<ConceptMap> answers = txn.query().get(TypeQL.match(TypeQL.cVar("t").type(conceptType)).get(TypeQL.cVar("t"))).collect(Collectors.toSet());
4343
assert answers.size() == 1;
4444
for (ConceptMap answer : answers) {
4545
valueType = AttributeValueType.valueOf(answer.get("t").asAttributeType().getValueType().name());

src/main/java/com/vaticle/typedb/osi/loader/config/ConfigurationValidation.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
package com.vaticle.typedb.osi.loader.config;
1818

19-
import com.vaticle.typedb.client.api.TypeDBSession;
20-
import com.vaticle.typedb.client.api.TypeDBTransaction;
21-
import com.vaticle.typedb.client.api.answer.ConceptMap;
22-
import com.vaticle.typedb.client.common.exception.TypeDBClientException;
19+
import com.vaticle.typedb.driver.api.TypeDBSession;
20+
import com.vaticle.typedb.driver.api.TypeDBTransaction;
21+
import com.vaticle.typedb.driver.api.answer.ConceptMap;
22+
import com.vaticle.typedb.driver.common.exception.TypeDBDriverException;
2323
import com.vaticle.typedb.osi.loader.util.Util;
2424
import com.vaticle.typeql.lang.TypeQL;
25-
import com.vaticle.typeql.lang.query.TypeQLMatch;
25+
import com.vaticle.typeql.lang.query.TypeQLGet;
2626

2727
import java.io.FileNotFoundException;
2828
import java.io.IOException;
@@ -377,15 +377,15 @@ private boolean valConceptTypeInSchema(HashMap<String, ArrayList<String>> valida
377377
String conceptType,
378378
String breadcrumbConceptType) {
379379
boolean exists = false;
380-
TypeQLMatch query = TypeQL.match(TypeQL.cVar("t").type(conceptType));
380+
TypeQLGet query = TypeQL.match(TypeQL.cVar("t").type(conceptType)).get();
381381
try (TypeDBTransaction txn = session.transaction(TypeDBTransaction.Type.READ)) {
382-
Util.trace(Integer.toString((int) txn.query().match(query).count()));
382+
Util.trace(Integer.toString((int) txn.query().get(query).count()));
383383
exists = true;
384-
} catch (TypeDBClientException typeDBClientException) {
385-
if (typeDBClientException.toString().contains("Invalid Type Read: The type '" + conceptType + "' does not exist.")) {
384+
} catch (TypeDBDriverException typeDBDriverException) {
385+
if (typeDBDriverException.toString().contains("Invalid Type Read: The type '" + conceptType + "' does not exist.")) {
386386
validationReport.get("errors").add(breadcrumbs + "." + breadcrumbConceptType + ": <" + conceptType + "> does not exist in schema");
387387
} else {
388-
throw typeDBClientException;
388+
throw typeDBDriverException;
389389
}
390390
}
391391
return exists;
@@ -532,9 +532,9 @@ private void valRoleType(HashMap<String, ArrayList<String>> validationReport,
532532
String breadcrumbs,
533533
String relationType,
534534
String roleType) {
535-
TypeQLMatch query = TypeQL.match(TypeQL.type(relationType).relates(TypeQL.cVar("r"))).get(TypeQL.cVar("r"));
535+
TypeQLGet query = TypeQL.match(TypeQL.type(relationType).relates(TypeQL.cVar("r"))).get(TypeQL.cVar("r"));
536536
try (TypeDBTransaction txn = session.transaction(TypeDBTransaction.Type.READ)) {
537-
Stream<ConceptMap> answers = txn.query().match(query);
537+
Stream<ConceptMap> answers = txn.query().get(query);
538538
if (answers.noneMatch(a -> a.get("r").asRoleType().getLabel().name().equals(roleType))) {
539539
validationReport.get("errors").add(breadcrumbs + ".role: <" + roleType + "> is not a role for relation of type <" + relationType + "> in schema");
540540
}
@@ -547,9 +547,9 @@ private void valRolePlayedByConcept(HashMap<String, ArrayList<String>> validatio
547547
String relationType,
548548
String role,
549549
String conceptType) {
550-
TypeQLMatch query = TypeQL.match(TypeQL.cVar("c").plays(relationType, role)).get(TypeQL.cVar("c"));
550+
TypeQLGet query = TypeQL.match(TypeQL.cVar("c").plays(relationType, role)).get(TypeQL.cVar("c"));
551551
try (TypeDBTransaction txn = session.transaction(TypeDBTransaction.Type.READ)) {
552-
Stream<ConceptMap> answers = txn.query().match(query);
552+
Stream<ConceptMap> answers = txn.query().get(query);
553553
if (answers.noneMatch(c -> c.get("c").asThingType().getLabel().name().equals(conceptType))) {
554554
validationReport.get("errors").add(breadcrumbs + ".role: <" + role + "> is not player by <" + conceptType + "> in relation of type <" + relationType + "> in schema");
555555
}

src/main/java/com/vaticle/typedb/osi/loader/generator/AppendAttributeGenerator.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@
1616

1717
package com.vaticle.typedb.osi.loader.generator;
1818

19-
import com.vaticle.typedb.client.api.TypeDBTransaction;
20-
import com.vaticle.typedb.client.api.answer.ConceptMap;
21-
import com.vaticle.typedb.client.common.exception.TypeDBClientException;
19+
import com.vaticle.typedb.driver.api.TypeDBTransaction;
20+
import com.vaticle.typedb.driver.api.answer.ConceptMap;
21+
import com.vaticle.typedb.driver.common.exception.TypeDBDriverException;
2222
import com.vaticle.typedb.osi.loader.config.Configuration;
2323
import com.vaticle.typedb.osi.loader.io.FileLogger;
2424
import com.vaticle.typedb.osi.loader.util.GeneratorUtil;
2525
import com.vaticle.typedb.osi.loader.util.TypeDBUtil;
2626
import com.vaticle.typedb.osi.loader.util.Util;
2727
import com.vaticle.typeql.lang.TypeQL;
28+
import com.vaticle.typeql.lang.builder.ConceptVariableBuilder;
2829
import com.vaticle.typeql.lang.pattern.constraint.ThingConstraint;
29-
import com.vaticle.typeql.lang.pattern.variable.ThingVariable;
30-
import com.vaticle.typeql.lang.pattern.variable.UnboundConceptVariable;
30+
import com.vaticle.typeql.lang.pattern.statement.ThingStatement;
3131
import com.vaticle.typeql.lang.query.TypeQLInsert;
3232
import org.apache.commons.io.FilenameUtils;
3333
import org.apache.logging.log4j.LogManager;
@@ -75,7 +75,7 @@ public void write(TypeDBTransaction tx, String[] row, boolean allowMultiInsert)
7575
} else {
7676
safeInsert(tx, query, answers, allowMultiInsert, filePath, originalRow, dataLogger);
7777
}
78-
} catch (TypeDBClientException typeDBClientException) {
78+
} catch (TypeDBDriverException typeDBDriverException) {
7979
FileLogger.getLogger().logUnavailable(fileName, originalRow);
8080
dataLogger.error("TypeDB Unavailable - Row in <" + filePath + "> not inserted - written to <" + fileNoExtension + "_unavailable.log" + ">");
8181
}
@@ -87,7 +87,7 @@ public void write(TypeDBTransaction tx, String[] row, boolean allowMultiInsert)
8787

8888
public TypeQLInsert generateMatchInsertStatement(String[] row) {
8989
if (row.length > 0) {
90-
ThingVariable.Thing entityMatchStatement = TypeQL.cVar("thing")
90+
ThingStatement.Thing entityMatchStatement = TypeQL.cVar("thing")
9191
.isa(appendConfiguration.getMatch().getType());
9292
for (Configuration.Definition.Attribute consAtt : appendConfiguration.getMatch().getOwnerships()) {
9393
ArrayList<ThingConstraint.Predicate> constraintValues = GeneratorUtil.generateValueConstraintsConstrainingAttribute(
@@ -97,8 +97,8 @@ public TypeQLInsert generateMatchInsertStatement(String[] row) {
9797
}
9898
}
9999

100-
UnboundConceptVariable insertUnboundVar = TypeQL.cVar("thing");
101-
ThingVariable.Thing insertStatement = null;
100+
ConceptVariableBuilder insertUnboundVar = TypeQL.cVar("thing");
101+
ThingStatement.Thing insertStatement = null;
102102
for (Configuration.Definition.Attribute attributeToAppend : appendConfiguration.getInsert().getOwnerships()) {
103103
ArrayList<ThingConstraint.Predicate> constraintValues = GeneratorUtil.generateValueConstraintsConstrainingAttribute(
104104
row, header, filePath, fileSeparator, attributeToAppend);

src/main/java/com/vaticle/typedb/osi/loader/generator/AppendAttributeOrInsertThingGenerator.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@
1616

1717
package com.vaticle.typedb.osi.loader.generator;
1818

19-
import com.vaticle.typedb.client.api.TypeDBTransaction;
20-
import com.vaticle.typedb.client.api.answer.ConceptMap;
21-
import com.vaticle.typedb.client.common.exception.TypeDBClientException;
19+
import com.vaticle.typedb.driver.api.TypeDBTransaction;
20+
import com.vaticle.typedb.driver.api.answer.ConceptMap;
21+
import com.vaticle.typedb.driver.common.exception.TypeDBDriverException;
2222
import com.vaticle.typedb.osi.loader.config.Configuration;
2323
import com.vaticle.typedb.osi.loader.io.FileLogger;
2424
import com.vaticle.typedb.osi.loader.util.GeneratorUtil;
2525
import com.vaticle.typedb.osi.loader.util.TypeDBUtil;
2626
import com.vaticle.typedb.osi.loader.util.Util;
2727
import com.vaticle.typeql.lang.TypeQL;
28+
import com.vaticle.typeql.lang.builder.ConceptVariableBuilder;
2829
import com.vaticle.typeql.lang.pattern.constraint.ThingConstraint;
29-
import com.vaticle.typeql.lang.pattern.variable.ThingVariable;
30-
import com.vaticle.typeql.lang.pattern.variable.UnboundConceptVariable;
30+
import com.vaticle.typeql.lang.pattern.statement.ThingStatement;
3131
import com.vaticle.typeql.lang.query.TypeQLInsert;
3232
import org.apache.commons.io.FilenameUtils;
3333
import org.apache.logging.log4j.LogManager;
@@ -81,7 +81,7 @@ public void write(TypeDBTransaction tx, String[] row, boolean allowMultiInsert)
8181
} else {
8282
safeInsert(tx, appendQuery, answers, allowMultiInsert, filePath, originalRow, dataLogger);
8383
}
84-
} catch (TypeDBClientException typeDBClientException) {
84+
} catch (TypeDBDriverException typeDBDriverException) {
8585
FileLogger.getLogger().logUnavailable(fileName, originalRow);
8686
dataLogger.error("TypeDB Unavailable - Row in <" + filePath + "> not inserted - written to <" + fileNoExtension + "_unavailable.log" + ">");
8787
}
@@ -97,7 +97,7 @@ public void write(TypeDBTransaction tx, String[] row, boolean allowMultiInsert)
9797

9898
public TypeQLInsert generateMatchInsertStatement(String[] row) {
9999
if (row.length > 0) {
100-
ThingVariable.Thing entityMatchStatement = TypeQL.cVar("thing")
100+
ThingStatement.Thing entityMatchStatement = TypeQL.cVar("thing")
101101
.isa(appendOrInsertConfiguration.getMatch().getType());
102102
for (Configuration.Definition.Attribute ownershipThingGetter : appendOrInsertConfiguration.getMatch().getOwnerships()) {
103103
ArrayList<ThingConstraint.Predicate> constraintValues = GeneratorUtil.generateValueConstraintsConstrainingAttribute(
@@ -107,8 +107,8 @@ public TypeQLInsert generateMatchInsertStatement(String[] row) {
107107
}
108108
}
109109

110-
UnboundConceptVariable insertUnboundVar = TypeQL.cVar("thing");
111-
ThingVariable.Thing insertStatement = null;
110+
ConceptVariableBuilder insertUnboundVar = TypeQL.cVar("thing");
111+
ThingStatement.Thing insertStatement = null;
112112
for (Configuration.Definition.Attribute attributeToAppend : appendOrInsertConfiguration.getInsert().getOwnerships()) {
113113
ArrayList<ThingConstraint.Predicate> constraintValues = GeneratorUtil.generateValueConstraintsConstrainingAttribute(
114114
row, header, filePath, fileSeparator, attributeToAppend);
@@ -133,7 +133,7 @@ public TypeQLInsert generateMatchInsertStatement(String[] row) {
133133

134134
public TypeQLInsert generateThingInsertStatement(String[] row) {
135135
if (row.length > 0) {
136-
ThingVariable.Thing insertStatement = GeneratorUtil.generateBoundThingVar(appendOrInsertConfiguration.getMatch().getType());
136+
ThingStatement.Thing insertStatement = GeneratorUtil.generateBoundThingVar(appendOrInsertConfiguration.getMatch().getType());
137137

138138
for (Configuration.Definition.Attribute attribute : appendOrInsertConfiguration.getMatch().getOwnerships()) {
139139
ArrayList<ThingConstraint.Predicate> constraintValues = GeneratorUtil.generateValueConstraintsConstrainingAttribute(

src/main/java/com/vaticle/typedb/osi/loader/generator/AttributeGenerator.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package com.vaticle.typedb.osi.loader.generator;
1818

19-
import com.vaticle.typedb.client.api.TypeDBTransaction;
20-
import com.vaticle.typedb.client.common.exception.TypeDBClientException;
19+
import com.vaticle.typedb.driver.api.TypeDBTransaction;
20+
import com.vaticle.typedb.driver.common.exception.TypeDBDriverException;
2121
import com.vaticle.typedb.osi.loader.config.Configuration;
2222
import com.vaticle.typedb.osi.loader.io.FileLogger;
2323
import com.vaticle.typedb.osi.loader.util.GeneratorUtil;
@@ -63,7 +63,7 @@ public void write(TypeDBTransaction tx, String[] row, boolean allowMultiInsert)
6363
if (isValid(statement)) {
6464
try {
6565
tx.query().insert(statement);
66-
} catch (TypeDBClientException clientException) {
66+
} catch (TypeDBDriverException driverException) {
6767
FileLogger.getLogger().logUnavailable(fileName, originalRow);
6868
dataLogger.error("TypeDB Unavailable - Row in <" + filePath + "> not inserted - written to <" + fileNoExtension + "_unavailable.log" + ">");
6969
}

src/main/java/com/vaticle/typedb/osi/loader/generator/EntityGenerator.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@
1616

1717
package com.vaticle.typedb.osi.loader.generator;
1818

19-
import com.vaticle.typedb.client.api.TypeDBTransaction;
20-
import com.vaticle.typedb.client.common.exception.TypeDBClientException;
19+
import com.vaticle.typedb.driver.api.TypeDBTransaction;
20+
import com.vaticle.typedb.driver.common.exception.TypeDBDriverException;
2121
import com.vaticle.typedb.osi.loader.config.Configuration;
2222
import com.vaticle.typedb.osi.loader.io.FileLogger;
2323
import com.vaticle.typedb.osi.loader.util.GeneratorUtil;
2424
import com.vaticle.typedb.osi.loader.util.TypeDBUtil;
2525
import com.vaticle.typedb.osi.loader.util.Util;
2626
import com.vaticle.typeql.lang.TypeQL;
27-
import com.vaticle.typeql.lang.pattern.variable.ThingVariable;
27+
import com.vaticle.typeql.lang.pattern.statement.ThingStatement;
2828
import com.vaticle.typeql.lang.query.TypeQLInsert;
2929
import org.apache.commons.io.FilenameUtils;
3030
import org.apache.logging.log4j.LogManager;
@@ -61,7 +61,7 @@ public void write(TypeDBTransaction tx, String[] row, boolean allowMultiInsert)
6161
if (valid(query)) {
6262
try {
6363
tx.query().insert(query);
64-
} catch (TypeDBClientException typeDBClientException) {
64+
} catch (TypeDBDriverException typeDBDriverException) {
6565
FileLogger.getLogger().logUnavailable(fileName, originalRow);
6666
dataLogger.error("TypeDB Unavailable - Row in <" + filePath + "> not inserted - written to <" + fileNoExtension + "_unavailable.log" + ">");
6767
}
@@ -73,7 +73,7 @@ public void write(TypeDBTransaction tx, String[] row, boolean allowMultiInsert)
7373

7474
public TypeQLInsert generateThingInsertStatement(String[] row) {
7575
if (row.length > 0) {
76-
ThingVariable.Thing insertStatement = GeneratorUtil.generateBoundThingVar(entityConfiguration.getInsert().getEntity());
76+
ThingStatement insertStatement = GeneratorUtil.generateBoundThingVar(entityConfiguration.getInsert().getEntity());
7777

7878
GeneratorUtil.constrainThingWithHasAttributes(row, header, filePath, fileSeparator, insertStatement, entityConfiguration.getInsert().getOwnerships());
7979

src/main/java/com/vaticle/typedb/osi/loader/generator/Generator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
package com.vaticle.typedb.osi.loader.generator;
1818

19-
import com.vaticle.typedb.client.api.TypeDBTransaction;
19+
import com.vaticle.typedb.driver.api.TypeDBTransaction;
2020

2121
public interface Generator {
2222
void write(TypeDBTransaction tx, String[] row, boolean allowMultiInsert);

0 commit comments

Comments
 (0)