Class PseudoGraphJenaGraph

java.lang.Object
org.aksw.commons.jena.jgrapht.PseudoGraphJenaGraph
All Implemented Interfaces:
org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>

public class PseudoGraphJenaGraph extends Object implements org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
Wrapper for exposing a Jena graph as a JGraphT directed pseudo graph. Note: All graph lookups are done via a .find() method that does additional filtering for supporting variables as vertices.
Author:
raven
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.jena.graph.Node
    Predicate to which to confine the underlying Jena graph.
     
    protected org.apache.jena.graph.Graph
     
    protected org.jgrapht.GraphType
     
    protected org.jgrapht.graph.IntrusiveEdgesSpecifics<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
     

    Fields inherited from interface org.jgrapht.Graph

    DEFAULT_EDGE_WEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
    PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph)
     
    PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph, org.apache.jena.graph.Node confinementPredicate)
     
    PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph, org.jgrapht.GraphType graphType)
     
    PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph, org.jgrapht.GraphType graphType, org.apache.jena.graph.Node confinementPredicate)
     
    PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph, org.jgrapht.GraphType graphType, org.apache.jena.graph.Node confinementPredicate, org.apache.jena.graph.Node insertPredicate)
    Setting insert predicate to null prevents inserts
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.jena.graph.Triple
    addEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
     
    boolean
    addEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex, org.apache.jena.graph.Triple e)
     
    org.apache.jena.graph.Node
     
    boolean
    addVertex(org.apache.jena.graph.Node v)
     
    boolean
    containsEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
     
    boolean
    containsEdge(org.apache.jena.graph.Triple e)
     
    boolean
    containsVertex(org.apache.jena.graph.Node v)
     
    int
    degreeOf(org.apache.jena.graph.Node vertex)
     
    Set<org.apache.jena.graph.Triple>
     
    Set<org.apache.jena.graph.Triple>
    edgesOf(org.apache.jena.graph.Node vertex)
     
    boolean
     
    org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.graph.Triple>
    find(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
    A delegate to graph.find - single point for adding any custom find semantics should it become necessary
    Set<org.apache.jena.graph.Triple>
    getAllEdges(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
     
    org.apache.jena.graph.Triple
    getEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
     
    org.apache.jena.graph.Node
    getEdgeSource(org.apache.jena.graph.Triple e)
     
    Supplier<org.apache.jena.graph.Triple>
     
    org.apache.jena.graph.Node
    getEdgeTarget(org.apache.jena.graph.Triple e)
     
    double
    getEdgeWeight(org.apache.jena.graph.Triple e)
    FIXME: We could delegate requests to edge weights to a lambda which e.g.
    org.jgrapht.GraphType
     
    Supplier<org.apache.jena.graph.Node>
     
    int
     
    Set<org.apache.jena.graph.Triple>
    incomingEdgesOf(org.apache.jena.graph.Node vertex)
     
    int
    inDegreeOf(org.apache.jena.graph.Node vertex)
     
    int
    outDegreeOf(org.apache.jena.graph.Node vertex)
     
    Set<org.apache.jena.graph.Triple>
    outgoingEdgesOf(org.apache.jena.graph.Node vertex)
     
    boolean
    removeAllEdges(Collection<? extends org.apache.jena.graph.Triple> edges)
     
    Set<org.apache.jena.graph.Triple>
    removeAllEdges(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
     
    boolean
    removeAllVertices(Collection<? extends org.apache.jena.graph.Node> vertices)
     
    org.apache.jena.graph.Triple
    removeEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
     
    boolean
    removeEdge(org.apache.jena.graph.Triple e)
     
    boolean
    removeVertex(org.apache.jena.graph.Node v)
     
    void
    setEdgeWeight(org.apache.jena.graph.Triple triple, double weight)
     
     
    Set<org.apache.jena.graph.Node>
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.jgrapht.Graph

    iterables, setEdgeWeight
  • Field Details

    • graph

      protected org.apache.jena.graph.Graph graph
    • graphType

      protected org.jgrapht.GraphType graphType
    • confinementPredicate

      protected org.apache.jena.graph.Node confinementPredicate
      Predicate to which to confine the underlying Jena graph. May be Node.ANY to use all triples regardless to their predicate.
    • edgeSupplier

      protected EdgeFactoryJenaGraph edgeSupplier
    • intrusiveEdgesSpecifics

      protected org.jgrapht.graph.IntrusiveEdgesSpecifics<org.apache.jena.graph.Node,org.apache.jena.graph.Triple> intrusiveEdgesSpecifics
  • Constructor Details

    • PseudoGraphJenaGraph

      public PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph)
    • PseudoGraphJenaGraph

      public PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph, org.jgrapht.GraphType graphType)
    • PseudoGraphJenaGraph

      public PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph, org.apache.jena.graph.Node confinementPredicate)
    • PseudoGraphJenaGraph

      public PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph, org.jgrapht.GraphType graphType, org.apache.jena.graph.Node confinementPredicate)
    • PseudoGraphJenaGraph

      public PseudoGraphJenaGraph(org.apache.jena.graph.Graph graph, org.jgrapht.GraphType graphType, org.apache.jena.graph.Node confinementPredicate, org.apache.jena.graph.Node insertPredicate)
      Setting insert predicate to null prevents inserts
      Parameters:
      graph -
      graphType -
      confinementPredicate -
      insertPredicate -
  • Method Details

    • getAllEdges

      public Set<org.apache.jena.graph.Triple> getAllEdges(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
      Specified by:
      getAllEdges in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • getEdge

      public org.apache.jena.graph.Triple getEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
      Specified by:
      getEdge in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • getEdgeSupplier

      public Supplier<org.apache.jena.graph.Triple> getEdgeSupplier()
      Specified by:
      getEdgeSupplier in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • addEdge

      public org.apache.jena.graph.Triple addEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
      Specified by:
      addEdge in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • addEdge

      public boolean addEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex, org.apache.jena.graph.Triple e)
      Specified by:
      addEdge in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • addVertex

      public boolean addVertex(org.apache.jena.graph.Node v)
      Specified by:
      addVertex in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • containsEdge

      public boolean containsEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
      Specified by:
      containsEdge in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • containsEdge

      public boolean containsEdge(org.apache.jena.graph.Triple e)
      Specified by:
      containsEdge in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • containsVertex

      public boolean containsVertex(org.apache.jena.graph.Node v)
      Specified by:
      containsVertex in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • edgeSet

      public Set<org.apache.jena.graph.Triple> edgeSet()
      Specified by:
      edgeSet in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • degreeOf

      public int degreeOf(org.apache.jena.graph.Node vertex)
      Specified by:
      degreeOf in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • edgesOf

      public Set<org.apache.jena.graph.Triple> edgesOf(org.apache.jena.graph.Node vertex)
      Specified by:
      edgesOf in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • removeAllEdges

      public boolean removeAllEdges(Collection<? extends org.apache.jena.graph.Triple> edges)
      Specified by:
      removeAllEdges in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • removeAllEdges

      public Set<org.apache.jena.graph.Triple> removeAllEdges(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
      Specified by:
      removeAllEdges in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • removeAllVertices

      public boolean removeAllVertices(Collection<? extends org.apache.jena.graph.Node> vertices)
      Specified by:
      removeAllVertices in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • removeEdge

      public org.apache.jena.graph.Triple removeEdge(org.apache.jena.graph.Node sourceVertex, org.apache.jena.graph.Node targetVertex)
      Specified by:
      removeEdge in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • removeEdge

      public boolean removeEdge(org.apache.jena.graph.Triple e)
      Specified by:
      removeEdge in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • removeVertex

      public boolean removeVertex(org.apache.jena.graph.Node v)
      Specified by:
      removeVertex in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • vertexSet

      public Set<org.apache.jena.graph.Node> vertexSet()
      Specified by:
      vertexSet in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • getEdgeSource

      public org.apache.jena.graph.Node getEdgeSource(org.apache.jena.graph.Triple e)
      Specified by:
      getEdgeSource in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • getEdgeTarget

      public org.apache.jena.graph.Node getEdgeTarget(org.apache.jena.graph.Triple e)
      Specified by:
      getEdgeTarget in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • getType

      public org.jgrapht.GraphType getType()
      Specified by:
      getType in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • getEdgeWeight

      public double getEdgeWeight(org.apache.jena.graph.Triple e)
      FIXME: We could delegate requests to edge weights to a lambda which e.g. gets this value from the RDF
      Specified by:
      getEdgeWeight in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • setEdgeWeight

      public void setEdgeWeight(org.apache.jena.graph.Triple triple, double weight)
      Specified by:
      setEdgeWeight in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • inDegreeOf

      public int inDegreeOf(org.apache.jena.graph.Node vertex)
      Specified by:
      inDegreeOf in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • incomingEdgesOf

      public Set<org.apache.jena.graph.Triple> incomingEdgesOf(org.apache.jena.graph.Node vertex)
      Specified by:
      incomingEdgesOf in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • outDegreeOf

      public int outDegreeOf(org.apache.jena.graph.Node vertex)
      Specified by:
      outDegreeOf in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • outgoingEdgesOf

      public Set<org.apache.jena.graph.Triple> outgoingEdgesOf(org.apache.jena.graph.Node vertex)
      Specified by:
      outgoingEdgesOf in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • find

      public org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.graph.Triple> find(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
      A delegate to graph.find - single point for adding any custom find semantics should it become necessary
      Parameters:
      graph -
      s -
      p -
      o -
      Returns:
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • getVertexSupplier

      public Supplier<org.apache.jena.graph.Node> getVertexSupplier()
      Specified by:
      getVertexSupplier in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>
    • addVertex

      public org.apache.jena.graph.Node addVertex()
      Specified by:
      addVertex in interface org.jgrapht.Graph<org.apache.jena.graph.Node,org.apache.jena.graph.Triple>