From f7bef50b752ba375cfa005cdf4f5730634caa797 Mon Sep 17 00:00:00 2001 From: dyma solovei Date: Tue, 23 Jun 2026 19:20:39 +0200 Subject: [PATCH 1/2] feat(gh-562): add blobHash data type --- .../client6/v1/api/collections/DataType.java | 1 + .../client6/v1/api/collections/Property.java | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/io/weaviate/client6/v1/api/collections/DataType.java b/src/main/java/io/weaviate/client6/v1/api/collections/DataType.java index 62f529be8..19623eba4 100644 --- a/src/main/java/io/weaviate/client6/v1/api/collections/DataType.java +++ b/src/main/java/io/weaviate/client6/v1/api/collections/DataType.java @@ -14,6 +14,7 @@ public interface DataType { public static final String BOOL = "boolean"; public static final String BOOL_ARRAY = "boolean[]"; public static final String BLOB = "blob"; + public static final String BLOB_HASH = "blobHash"; public static final String DATE = "date"; public static final String DATE_ARRAY = "date[]"; public static final String UUID = "uuid"; diff --git a/src/main/java/io/weaviate/client6/v1/api/collections/Property.java b/src/main/java/io/weaviate/client6/v1/api/collections/Property.java index f4da24a04..6696a5b8f 100644 --- a/src/main/java/io/weaviate/client6/v1/api/collections/Property.java +++ b/src/main/java/io/weaviate/client6/v1/api/collections/Property.java @@ -118,6 +118,25 @@ public static Property blob(String name, Function> fn) { + return newProperty(name, DataType.BLOB_HASH, fn); + } + /** * Create a {@code bool} property. * From 02076b590a9bc81f502c2f7ece017c825615739c Mon Sep 17 00:00:00 2001 From: dyma solovei Date: Thu, 25 Jun 2026 13:30:27 +0200 Subject: [PATCH 2/2] test(collections): add umbrella test for all property types --- .../integration/CollectionsITest.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/it/java/io/weaviate/integration/CollectionsITest.java b/src/it/java/io/weaviate/integration/CollectionsITest.java index 983d4b24d..03871d6cf 100644 --- a/src/it/java/io/weaviate/integration/CollectionsITest.java +++ b/src/it/java/io/weaviate/integration/CollectionsITest.java @@ -1,6 +1,7 @@ package io.weaviate.integration; import java.io.IOException; +import java.util.ArrayList; import org.assertj.core.api.Assertions; import org.assertj.core.api.InstanceOfAssertFactories; @@ -510,4 +511,39 @@ public void test_asyncReplicationConfig() throws IOException { .returns(13, AsyncReplicationConfig::propagationConcurrency) .returns(14, AsyncReplicationConfig::propagationBatchSize); } + + @Test + public void test_properties() { + Assertions.assertThatCode(() -> { + var properties = new ArrayList() { + { + add(Property.textArray("prop_textArray")); + add(Property.integer("prop_integer")); + add(Property.integerArray("prop_integerArray")); + add(Property.number("prop_number")); + add(Property.numberArray("prop_numberArray")); + add(Property.bool("prop_bool")); + add(Property.boolArray("prop_boolArray")); + add(Property.blob("prop_blob")); + add(Property.date("prop_date")); + add(Property.dateArray("prop_dateArray")); + add(Property.uuid("prop_uuid")); + add(Property.uuidArray("prop_uuidArray")); + add(Property.object("prop_object", + p -> p.nestedProperties(Property.text("foo")))); + add(Property.objectArray("prop_objectArray", + p -> p.nestedProperties(Property.text("foo")))); + add(Property.phoneNumber("prop_phoneNumber")); + add(Property.geoCoordinates("prop_geoCoordinates")); + } + }; + + requireAtLeast(Weaviate.Version.V137, () -> { + properties.add(Property.blobHash("prop_blobHash")); + }); + + client.collections.create( + ns("Things"), col -> col.properties(properties)); + }).doesNotThrowAnyException(); + } }