Class GraphMemFactory

java.lang.Object
org.apache.jena.graph.GraphMemFactory

public class GraphMemFactory extends Object
A factory class for creating memory Graphs.

Apache Jena is migrating to term semantics graph for consistency across all in-memory and persistent storage graphs

  • Method Details

    • setDftGraphSameTerm

      public static void setDftGraphSameTerm(boolean value)
      Set the default mode for in-memory graphs : same term (true) or same value (false).

      This is initially set with system property "jena:graphSameTerm" with the system default is same value (Jena4).

      This affects createDefaultGraph().

    • dftGraphSameTerm

      public static boolean dftGraphSameTerm()
      Get the default mode for in-memory for graphs : same term (true) or same value (false).

      This is used by createDefaultGraph().

    • createDefaultGraph

      public static Graph createDefaultGraph()
      Answer a memory-based graph. This is the system default.
    • createGraphMem

      public static Graph createGraphMem()
      This function will track the preferred general purpose graph. It will switch from "same value" to "same term"
    • createDefaultGraphSameValue

      public static Graph createDefaultGraphSameValue()
      Answer a memory-based graph with "same value" semantics used in Jena2, Jena3 and Jena4 for in-memory graphs. Jena5 may change to "same term" semantics. This method will continue to provide a "same value" graph.
    • createDefaultGraphSameTerm

      public static Graph createDefaultGraphSameTerm()
      Answer a memory-based graph with "same term" semantics This method will continue to provide the preferred general purpose "same term" graph.
    • createGraphMem2Basic

      public static Graph createGraphMem2Basic()
      A graph that stores triples in memory. This class is not thread-safe.

      • This graph provides term equality.
      • Iterator over this graph does not provide Iterator.remove

      It has improved performance compared to GraphMem with a simpler implementation, primarily due to not providing support for Iterator.remove().

      See GraphMem2Legacy for details.

    • createGraphMem2

      public static Graph createGraphMem2()
      A graph that stores triples in memory. This class is not thread-safe.

      • This graph provides term equality.
      • Iterator over this graph does not provide Iterator.remove

      This graph implementation provides improved performance with a minor increase in memory usage.

      See GraphMem2Fast for details.

    • createGraphMem2Roaring

      public static Graph createGraphMem2Roaring()
      A graph that stores triples in memory. This class is not thread-safe.

      • This graph provides term equality.
      • Iterator over this graph does not provide Iterator.remove

      GraphMem2Roaring is focused on handling large in-memory graphs. It uses Roaring bitmaps for indexing.

      See GraphMem2Roaring for details.

    • empty

      public static Graph empty()
      Immutable graph with no triples