This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/main by this push:
     new b7d9ad6aaa GH-3475: Fix NPE in Quad.isConcrete() when graph is null.
b7d9ad6aaa is described below

commit b7d9ad6aaae66888da6025c29f9262e3dbf739f0
Author: Claus Stadler <[email protected]>
AuthorDate: Sun Sep 28 20:28:39 2025 +0200

    GH-3475: Fix NPE in Quad.isConcrete() when graph is null.
---
 jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java   | 2 +-
 jena-arq/src/test/java/org/apache/jena/util/TestNodeUtils.java | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
index b3c8be8802..a04f2ed78c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/Quad.java
@@ -97,7 +97,7 @@ public class Quad implements Serializable
     }
 
     public boolean isConcrete() {
-        return subject.isConcrete() && predicate.isConcrete() && 
object.isConcrete() && graph.isConcrete();
+        return subject.isConcrete() && predicate.isConcrete() && 
object.isConcrete() && (graph == null || graph.isConcrete());
     }
 
     /**
diff --git a/jena-arq/src/test/java/org/apache/jena/util/TestNodeUtils.java 
b/jena-arq/src/test/java/org/apache/jena/util/TestNodeUtils.java
index 828637949d..661905cbde 100644
--- a/jena-arq/src/test/java/org/apache/jena/util/TestNodeUtils.java
+++ b/jena-arq/src/test/java/org/apache/jena/util/TestNodeUtils.java
@@ -19,6 +19,7 @@
 package org.apache.jena.util;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.junit.jupiter.api.Test;
 
@@ -66,6 +67,8 @@ public class TestNodeUtils {
         assertEquals(expected, NodeUtils.isValidAsRDF(s, p, o));
     }
 
+    @Test public void concrete_triple_in_quad() { assertTrue(Quad.create(null, 
s, p, o).isConcrete()); }
+
     @Test public void valid_quad_01() { testValidityQuad(true, "(:g :s :p 
:o)"); }
     @Test public void valid_quad_02() { testValidityQuad(true, Quad.create(g, 
s, p, o)); }
 

Reply via email to