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

commit c975c595fc6b5eb30003bbcfb42d953e0888cbcb
Author: Andy Seaborne <[email protected]>
AuthorDate: Sat May 10 14:29:46 2025 +0100

    Replace uses of GraphPlain
---
 .../java/org/apache/jena/sparql/SystemARQ.java     |  4 +-
 .../org/apache/jena/sparql/graph/GraphFactory.java | 18 +++---
 .../jena/system/buffering/BufferingGraph.java      |  6 +-
 .../jena/arq/junit/sparql/tests/QueryEvalTest.java | 38 +++++-------
 .../jena/arq/junit/sparql/tests/QueryTestItem.java |  2 +-
 .../java/org/apache/jena/riot/TestRDFParser.java   |  2 +-
 .../sparql/modify/AbstractTestUpdateGraph.java     |  2 +-
 .../org/apache/jena/graph/GraphMemFactory.java     |  1 +
 .../java/org/apache/jena/graph/compose/Delta.java  |  1 +
 .../org/apache/jena/graph/impl/GraphPlain.java     | 15 +++--
 .../org/apache/jena/rdf/model/ModelFactory.java    | 70 +++++++++++-----------
 .../org/apache/jena/graph/test/TestGraphPlain.java |  5 +-
 .../test/java/org/apache/jena/mem/GraphMem_CS.java | 16 +++--
 13 files changed, 91 insertions(+), 89 deletions(-)

diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/SystemARQ.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/SystemARQ.java
index de440483fc..a9b4332a18 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/SystemARQ.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/SystemARQ.java
@@ -58,8 +58,10 @@ public class SystemARQ
     public static boolean EnableRomanNumerals   = true ;
 
     /**
-     * Use a plain graph (sameValueAs is term equality)
+     * Use a plain graph (sameAs is term equality)
+     * @deprecated From jena5, all graph are term equality except where 
support the Model API.
      */
+    @Deprecated(forRemoval = true)
     public static boolean UsePlainGraph         = false ;
 
     /**
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphFactory.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphFactory.java
index f3442f57ac..953d9e44af 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphFactory.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/GraphFactory.java
@@ -23,7 +23,6 @@ import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.impl.GraphPlain;
 import org.apache.jena.rdf.model.Model;
 import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.sparql.SystemARQ;
 import org.apache.jena.sys.JenaSystem;
 
 /** Ways to make graphs and models */
@@ -48,7 +47,9 @@ public class GraphFactory {
      * with the system default is same value (Jena4).
      * <p>
      * This affects {@link #createDefaultGraph}.
+     * @deprecated Do not use.
      */
+    @Deprecated
     public static void setDftGraphSameTerm(boolean value) {
         defaultSameTerm = value;
     }
@@ -78,13 +79,11 @@ public class GraphFactory {
 
     /**
      * Create a graph - ARQ-wide default type.
-     *
-     * In Jena5, this is "same-term"
+     * <p>
+     * From Jena5, this is "same-term"
      */
     public static Graph createDefaultGraph() {
-        // Normal usage is SystemARQ.UsePlainGraph = false and use
-        // createJenaDefaultGraph
-        return SystemARQ.UsePlainGraph ? createPlainGraph() : 
createJenaDefaultGraph();
+        return createJenaDefaultGraph();
     }
 
     /** Create a graph - the Jena default graph for ARQ and RIOT */
@@ -92,7 +91,12 @@ public class GraphFactory {
         return GraphMemFactory.createDefaultGraph();
     }
 
-    /** Graph that uses same-term for find() and contains(). */
+    /**
+     * Graph that uses same-term for find() and contains().
+     *
+     * @deprecated From Jena5, graphs are all "same term" except for {@link 
org.apache.jena.mem.GraphMem}.
+     */
+    @Deprecated
     public static Graph createPlainGraph() {
         return GraphPlain.plain();
     }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingGraph.java 
b/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingGraph.java
index 2dcc2e094a..52f930b4d2 100644
--- 
a/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingGraph.java
+++ 
b/jena-arq/src/main/java/org/apache/jena/system/buffering/BufferingGraph.java
@@ -31,7 +31,6 @@ import org.apache.jena.graph.GraphMemFactory;
 import org.apache.jena.graph.Graph;
 import org.apache.jena.graph.Node;
 import org.apache.jena.graph.Triple;
-import org.apache.jena.graph.impl.GraphPlain;
 import org.apache.jena.query.TxnType;
 import org.apache.jena.shared.PrefixMapping;
 import org.apache.jena.sparql.core.Transactional;
@@ -66,10 +65,7 @@ public class BufferingGraph extends GraphWrapper implements 
BufferingCtl {
     public BufferingGraph(Graph graph) {
         super(graph);
         prefixMapping = new BufferingPrefixMapping(graph.getPrefixMapping());
-        if ( graph.getCapabilities().handlesLiteralTyping())
-            addedGraph = GraphMemFactory.createDefaultGraph();
-        else
-            addedGraph = GraphPlain.plain();
+        addedGraph = GraphMemFactory.createDefaultGraph();
     }
 
     public Graph base() { return get(); }
diff --git 
a/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryEvalTest.java
 
b/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryEvalTest.java
index 00d3377c52..d3b93a9cf8 100644
--- 
a/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryEvalTest.java
+++ 
b/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryEvalTest.java
@@ -41,7 +41,6 @@ import org.apache.jena.rdf.model.*;
 import org.apache.jena.riot.Lang;
 import org.apache.jena.riot.RDFDataMgr;
 import org.apache.jena.shared.JenaException;
-import org.apache.jena.sparql.SystemARQ;
 import org.apache.jena.sparql.core.Var;
 import org.apache.jena.sparql.engine.QueryIterator;
 import org.apache.jena.sparql.engine.ResultSetStream;
@@ -175,30 +174,23 @@ public class QueryEvalTest implements Runnable {
     }
 
     private Dataset createDataset(List<String> defaultGraphURIs, List<String> 
namedGraphURIs) {
-        // Allow "qt:data" to be quads in defaultGraphURIs.
-        SystemARQ.UsePlainGraph = true;
-        try {
-            Dataset ds = createEmptyDataset();
-            Txn.executeWrite(ds, ()->{
-                if ( defaultGraphURIs != null ) {
-                    for ( String sourceURI : defaultGraphURIs ) {
-                        SparqlTestLib.parser(sourceURI).parse(ds);
-                    }
+    // Allow "qt:data" to be quads in defaultGraphURIs.
+        Dataset ds = createEmptyDataset();
+        Txn.executeWrite(ds, ()->{
+            if ( defaultGraphURIs != null ) {
+                for ( String sourceURI : defaultGraphURIs ) {
+                    SparqlTestLib.parser(sourceURI).parse(ds);
                 }
-                if ( namedGraphURIs != null ) {
-                    for ( String sourceURI : namedGraphURIs ) {
-                        String absSourceURI = IRIs.resolve(sourceURI);
-                        Model m = ds.getNamedModel(absSourceURI);
-                        SparqlTestLib.parser(sourceURI).parse(m);
-                    }
+            }
+            if ( namedGraphURIs != null ) {
+                for ( String sourceURI : namedGraphURIs ) {
+                    String absSourceURI = IRIs.resolve(sourceURI);
+                    Model m = ds.getNamedModel(absSourceURI);
+                    SparqlTestLib.parser(sourceURI).parse(m);
                 }
-            });
-            return ds;
-        }
-        finally {
-            SystemARQ.UsePlainGraph = false;
-        }
-
+            }
+        });
+        return ds;
     }
 
     private void runTestSelect(Query query, QueryExecution qe) {
diff --git 
a/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryTestItem.java
 
b/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryTestItem.java
index a7e14eb56d..fef67cd30b 100644
--- 
a/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryTestItem.java
+++ 
b/jena-arq/src/test/java/org/apache/jena/arq/junit/sparql/tests/QueryTestItem.java
@@ -142,7 +142,7 @@ public class QueryTestItem
 
         if ( ResultsFormat.isRDFGraphSyntax(format) ) {
             // Load plain.
-            Graph g = GraphFactory.createPlainGraph();
+            Graph g = GraphFactory.createDefaultGraph();
             SparqlTestLib.parser(resultFile).parse(g);
             Model m = ModelFactory.createModelForGraph(g);
             return new SPARQLResult(m) ;
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java 
b/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
index db81b65c5f..e0dfa52c2f 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/TestRDFParser.java
@@ -287,7 +287,7 @@ public class TestRDFParser {
     private static Node p = SSE.parseNode(":p");
 
     private void testNormalization(String input, String output, 
RDFParserBuilder builder) {
-        Graph graph = GraphFactory.createPlainGraph();
+        Graph graph = GraphFactory.createDefaultGraph();
         String x = PREFIX + ":s :p " + input;
         builder.source(new StringReader(x)).parse(graph);
         assertEquals(1, graph.size());
diff --git 
a/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraph.java
 
b/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraph.java
index c52b8b6109..2e2cf803ef 100644
--- 
a/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraph.java
+++ 
b/jena-arq/src/test/java/org/apache/jena/sparql/modify/AbstractTestUpdateGraph.java
@@ -360,7 +360,7 @@ public abstract class AbstractTestUpdateGraph extends 
AbstractTestUpdateBase
         DatasetGraph gStore = getEmptyDatasetGraph();
         script(gStore, "data-2.ru");
 
-        Graph g = GraphFactory.createPlainGraph();
+        Graph g = GraphFactory.createDefaultGraph();
         Node b = org.apache.jena.graph.NodeFactory.createBlankNode();
 
         g.add(Triple.create(s, p, b));
diff --git a/jena-core/src/main/java/org/apache/jena/graph/GraphMemFactory.java 
b/jena-core/src/main/java/org/apache/jena/graph/GraphMemFactory.java
index 388c74e0ff..c4b0abfa07 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/GraphMemFactory.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/GraphMemFactory.java
@@ -111,6 +111,7 @@ public class GraphMemFactory
      * used in Jena2, Jena3 and Jena4 for in-memory graphs.
      * Jena5 changed to "same term" semantics.
      * This method will continue to provide a "same value" graph.
+     * This is used for the Model API.
      */
     public static Graph createDefaultGraphSameValue() {
         @SuppressWarnings("deprecation")
diff --git a/jena-core/src/main/java/org/apache/jena/graph/compose/Delta.java 
b/jena-core/src/main/java/org/apache/jena/graph/compose/Delta.java
index 373b4851aa..a54521cad2 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/compose/Delta.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/compose/Delta.java
@@ -37,6 +37,7 @@ public class Delta extends CompositionBase implements Graph {
     private Graph additions;
     private Graph deletions;
 
+    @SuppressWarnings("deprecation")
     public Delta(Graph base) {
         super();
         this.base = GraphPlain.plain(base);
diff --git a/jena-core/src/main/java/org/apache/jena/graph/impl/GraphPlain.java 
b/jena-core/src/main/java/org/apache/jena/graph/impl/GraphPlain.java
index 58050d09e6..ded3b415c8 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/impl/GraphPlain.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/impl/GraphPlain.java
@@ -35,24 +35,31 @@ import org.apache.jena.util.iterator.ExtendedIterator ;
  */
 public class GraphPlain extends WrappedGraph
 {
-    /** Return a graph that only has term-equality
+    /**
+     * Return a graph that only has term-equality
      * and storage in the {@code base} graph.
      * Update affects the base graph.
+     * @deprecated From Jena5, graphs are all "same term".
      */
+    @Deprecated
     public static Graph plain(Graph base) {
         if ( ! base.getCapabilities().handlesLiteralTyping() )
             return base;
         return new GraphPlain(base);
     }
 
-    /** Return a graph that only has term-equality. */
+    /**
+     * Return a graph that only has term-equality.
+     * @deprecated From Jena5, graphs are all "same term".
+     */
+    @Deprecated
     public static Graph plain() {
         return plain(GraphMemFactory.createDefaultGraph());
     }
 
     private final Capabilities capabilities;
 
-    protected GraphPlain(Graph other) {
+    private GraphPlain(Graph other) {
         super(other);
         capabilities = new WrappedCapabilities(base.getCapabilities()) {
             @Override public boolean handlesLiteralTyping() { return false; }
@@ -121,7 +128,7 @@ public class GraphPlain extends WrappedGraph
     }
 
     /**
-     * Match a ground triple (even ANY and variablesare considered ground 
terms in the
+     * Match a ground triple (even ANY and variables are considered ground 
terms in the
      * data triple) with S/P/O which can be wildcards (ANY or null).
      */
     private static boolean sameTermMatch(Node matchSubj, Node matchPred, Node 
matchObj, Triple dataTriple) {
diff --git 
a/jena-core/src/main/java/org/apache/jena/rdf/model/ModelFactory.java 
b/jena-core/src/main/java/org/apache/jena/rdf/model/ModelFactory.java
index 29d7bf7aa0..22652a5939 100644
--- a/jena-core/src/main/java/org/apache/jena/rdf/model/ModelFactory.java
+++ b/jena-core/src/main/java/org/apache/jena/rdf/model/ModelFactory.java
@@ -53,41 +53,6 @@ public class ModelFactory extends ModelFactoryBase
     private ModelFactory()
         {}
 
-    /**
-        Answer a Model constructed from the single resource in
-        <code>singleRoot</code> of type <code>ja:Model</code>.
-        See the Assembler howto (doc/assembler/assembler-howto.html)
-        for documentation of Assembler descriptions. See also
-        <code>findAssemblerRoots</code> to find the set of possible
-        roots in a description, and <code>assemblerModelFrom(Resource)</code>
-        for assembling a model from its single description.
-    */
-    public static Model assembleModelFrom(Model singleRoot) {
-        return assembleModelFrom(AssemblerHelp.singleModelRoot(singleRoot));
-    }
-
-    /**
-        Answer a Set of resources present in <code>m</code> that are
-        explicitly or implicitly of type ja:Object, ie, suitable as roots for
-        <code>assemblerModelFrom</code>. Note that the resource
-        objects returned need <i>not</i> have <code>m</code> as
-        their <code>getModel()</code> - they may be members of an
-        extended constructed model.
-    */
-    public static Set<Resource> findAssemblerRoots(Model m) {
-        return AssemblerHelp.findAssemblerRoots(m);
-    }
-
-    /**
-        Answer a Model as described the Assembler specification rooted
-        at the Resource <code>root</code> in its Model. <code>Resource</code>
-        must be of rdf:type <code>ja:Object</code>, where <code>ja</code>
-        is the prefix of Jena Assembler objects.
-    */
-    public static Model assembleModelFrom(Resource root) {
-        return Assembler.general().openModel(root);
-    }
-
     /**
      * Answer a fresh Model for use with the Model API.
      * <p>
@@ -224,6 +189,41 @@ public class ModelFactory extends ModelFactoryBase
         return createOntologyModel( ProfileRegistry.OWL_LANG );
     }
 
+    /**
+        Answer a Model constructed from the single resource in
+        <code>singleRoot</code> of type <code>ja:Model</code>.
+        See the Assembler howto (doc/assembler/assembler-howto.html)
+        for documentation of Assembler descriptions. See also
+        <code>findAssemblerRoots</code> to find the set of possible
+        roots in a description, and <code>assemblerModelFrom(Resource)</code>
+        for assembling a model from its single description.
+    */
+    public static Model assembleModelFrom(Model singleRoot) {
+        return assembleModelFrom(AssemblerHelp.singleModelRoot(singleRoot));
+    }
+
+    /**
+        Answer a Set of resources present in <code>m</code> that are
+        explicitly or implicitly of type ja:Object, i.e., suitable as roots for
+        <code>assemblerModelFrom</code>. Note that the resource
+        objects returned need <i>not</i> have <code>m</code> as
+        their <code>getModel()</code> - they may be members of an
+        extended constructed model.
+    */
+    public static Set<Resource> findAssemblerRoots(Model m) {
+        return AssemblerHelp.findAssemblerRoots(m);
+    }
+
+    /**
+        Answer a Model as described the Assembler specification rooted
+        at the Resource <code>root</code> in its Model. <code>Resource</code>
+        must be of rdf:type <code>ja:Object</code>, where <code>ja</code>
+        is the prefix of Jena Assembler objects.
+    */
+    public static Model assembleModelFrom(Resource root) {
+        return Assembler.general().openModel(root);
+    }
+
     /**
      * <p>
      * Answer a new ontology model which will process in-memory models of
diff --git 
a/jena-core/src/test/java/org/apache/jena/graph/test/TestGraphPlain.java 
b/jena-core/src/test/java/org/apache/jena/graph/test/TestGraphPlain.java
index fac09f854f..bbda304744 100644
--- a/jena-core/src/test/java/org/apache/jena/graph/test/TestGraphPlain.java
+++ b/jena-core/src/test/java/org/apache/jena/graph/test/TestGraphPlain.java
@@ -35,14 +35,15 @@ import org.apache.jena.util.iterator.ExtendedIterator ;
 import org.junit.BeforeClass ;
 import org.junit.Test ;
 
+@SuppressWarnings("deprecation")
 public class TestGraphPlain {
 
     private static Graph graph;
 
-    @SuppressWarnings("deprecation")
     @BeforeClass public static void setUp() {
+        // GraphMem is the old in-memeory graph which has value-based indexing.
+        // It is not the default graph implementation.
         graph = new org.apache.jena.mem.GraphMem();
-
         if ( ! graph.getCapabilities().handlesLiteralTyping() )
             throw new IllegalArgumentException("Test graph does not do the 
value thing");
         graphAdd(graph, "s p o ; s p 1 ; s p 01");
diff --git a/jena-core/src/test/java/org/apache/jena/mem/GraphMem_CS.java 
b/jena-core/src/test/java/org/apache/jena/mem/GraphMem_CS.java
index d6a8e97e09..6767a1307b 100644
--- a/jena-core/src/test/java/org/apache/jena/mem/GraphMem_CS.java
+++ b/jena-core/src/test/java/org/apache/jena/mem/GraphMem_CS.java
@@ -27,14 +27,12 @@ import static org.junit.Assert.fail;
 
 import java.util.Iterator;
 
-import org.apache.jena.graph.Graph;
-import org.apache.jena.graph.Node;
-import org.apache.jena.graph.Node_URI;
-import org.apache.jena.graph.Triple;
+import org.junit.runner.RunWith;
+
+import org.apache.jena.graph.*;
 import org.apache.jena.shared.JenaException;
 import org.apache.jena.testing_framework.AbstractGraphProducer;
 import org.apache.jena.util.iterator.ExtendedIterator;
-import org.junit.runner.RunWith;
 import org.xenei.junit.contract.Contract.Inject;
 import org.xenei.junit.contract.ContractImpl;
 import org.xenei.junit.contract.ContractSuite;
@@ -46,11 +44,11 @@ import org.xenei.junit.contract.IProducer;
 @SuppressWarnings("deprecation")
 public class GraphMem_CS {
 
-       protected IProducer<GraphMem> graphProducer = new 
AbstractGraphProducer<GraphMem>() {
+       protected IProducer<Graph> graphProducer = new 
AbstractGraphProducer<Graph>() {
 
                @Override
-               protected GraphMem createNewGraph() {
-                       return new GraphMem();
+               protected Graph createNewGraph() {
+                       return GraphMemFactory.createDefaultGraph();
                }
 
                @Override
@@ -66,7 +64,7 @@ public class GraphMem_CS {
        };
 
        @Inject
-       public IProducer<GraphMem> getGraphProducer() {
+       public IProducer<Graph> getGraphProducer() {
                return graphProducer;
        }
 

Reply via email to