Class GraphUtils

java.lang.Object
org.aksw.jenax.arq.util.triple.GraphUtils

public class GraphUtils extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Stream<org.apache.jena.graph.Triple>
    createTripleStream(String resourceName)
    Small convenience wrapper for default-loading of an RDF resource, which would actually fit for RDFDataMgr FIXME Consolidate with RDFDataMgr{Ex, Rx}
    static org.apache.jena.graph.Triple
    fixTripleWithGraphInObject(org.apache.jena.graph.Triple t)
    Fix for an issue we observed in some HDT files: This method fixes triples that have a graph component in the object position by discarding the graph from that object.
    static Map<org.apache.jena.graph.Node,org.apache.jena.graph.Graph>
    indexBySubject(Iterable<org.apache.jena.graph.Triple> triples)
     
    static Map<org.apache.jena.graph.Node,org.apache.jena.graph.Graph>
    indexBySubject(Iterator<org.apache.jena.graph.Triple> it)
     
    static Map<org.apache.jena.graph.Node,org.apache.jena.graph.Graph>
    indexBySubject(org.apache.jena.graph.Graph graph)
     
    static Iterator<org.apache.jena.graph.Node>
    iterateNodes(org.apache.jena.graph.Graph graph)
     
    static org.apache.jena.graph.Graph
    optimizePrefixes(org.apache.jena.graph.Graph graph)
    Remove all unused prefixes form the given graph's prefix mapping.
    static Stream<org.apache.jena.graph.Triple>
    stream(org.apache.jena.graph.Graph graph)
     
    static Stream<org.apache.jena.graph.Node>
    streamNodes(org.apache.jena.graph.Graph graph)
     
    static org.apache.jena.graph.Graph
    toMemGraph(Iterable<org.apache.jena.graph.Triple> triples)
     
    static org.apache.jena.graph.Graph
    wrapGraphWithNQuadsFix(org.apache.jena.graph.Graph base)
    We encountered HDT files that contained quads although the Java API treated them as triples.
    static org.apache.jena.graph.Graph
    wrapWithValidation(org.apache.jena.graph.Graph base)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • GraphUtils

      public GraphUtils()
  • Method Details

    • streamNodes

      public static Stream<org.apache.jena.graph.Node> streamNodes(org.apache.jena.graph.Graph graph)
    • iterateNodes

      public static Iterator<org.apache.jena.graph.Node> iterateNodes(org.apache.jena.graph.Graph graph)
    • optimizePrefixes

      public static org.apache.jena.graph.Graph optimizePrefixes(org.apache.jena.graph.Graph graph)
      Remove all unused prefixes form the given graph's prefix mapping. Scans all triples in the graph.
      Parameters:
      graph - The graph whose prefix mapping to optimize
      Returns:
      The given graph
    • stream

      public static Stream<org.apache.jena.graph.Triple> stream(org.apache.jena.graph.Graph graph)
    • createTripleStream

      public static Stream<org.apache.jena.graph.Triple> createTripleStream(String resourceName)
      Small convenience wrapper for default-loading of an RDF resource, which would actually fit for RDFDataMgr FIXME Consolidate with RDFDataMgr{Ex, Rx}
      Parameters:
      resourceName -
      Returns:
    • toMemGraph

      public static org.apache.jena.graph.Graph toMemGraph(Iterable<org.apache.jena.graph.Triple> triples)
    • indexBySubject

      public static Map<org.apache.jena.graph.Node,org.apache.jena.graph.Graph> indexBySubject(org.apache.jena.graph.Graph graph)
    • indexBySubject

      public static Map<org.apache.jena.graph.Node,org.apache.jena.graph.Graph> indexBySubject(Iterable<org.apache.jena.graph.Triple> triples)
    • indexBySubject

      public static Map<org.apache.jena.graph.Node,org.apache.jena.graph.Graph> indexBySubject(Iterator<org.apache.jena.graph.Triple> it)
    • fixTripleWithGraphInObject

      public static org.apache.jena.graph.Triple fixTripleWithGraphInObject(org.apache.jena.graph.Triple t)
      Fix for an issue we observed in some HDT files: This method fixes triples that have a graph component in the object position by discarding the graph from that object. The introduced overhead is a factor of a bit more than 3; Tested on iterating the 1 million triples of a corrupted HDT file: Plain HDT: 1777ms ~ 1.5sec Fixed HDT: 4922ms ~ 5sec
      Parameters:
      t -
      Returns:
    • wrapGraphWithNQuadsFix

      public static org.apache.jena.graph.Graph wrapGraphWithNQuadsFix(org.apache.jena.graph.Graph base)
      We encountered HDT files that contained quads although the Java API treated them as triples. This wrapper causes all triples to be serialized as quads and then subsequently re-parsed. Only the triple component is then returned.
      Parameters:
      base -
      Returns:
    • wrapWithValidation

      public static org.apache.jena.graph.Graph wrapWithValidation(org.apache.jena.graph.Graph base)