Class TriplePatternExtractor

java.lang.Object
org.apache.jena.sparql.syntax.ElementVisitorBase
org.aksw.qa.commons.qald.TriplePatternExtractor
All Implemented Interfaces:
org.apache.jena.sparql.syntax.ElementVisitor

public class TriplePatternExtractor extends org.apache.jena.sparql.syntax.ElementVisitorBase
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private int
     
    private boolean
     
    private int
     
    private Set<org.apache.jena.graph.Triple>
     
    private Set<org.apache.jena.graph.Triple>
     
    private int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Set<org.apache.jena.graph.Triple>
    extractIngoingTriplePatterns​(org.apache.jena.query.Query query, org.apache.jena.graph.Node node)
    Returns all triple patterns in given SPARQL query that have the given node in object position, i.e.
    Map<org.apache.jena.sparql.core.Var,​Set<org.apache.jena.graph.Triple>>
    extractIngoingTriplePatternsForProjectionVars​(org.apache.jena.query.Query query)
    Returns triple patterns for each projection variable v such that v is in object position.
    Set<org.apache.jena.graph.Triple>
    extractNonOptionalTriplePatterns​(org.apache.jena.query.Query query, org.apache.jena.graph.Node node)
    Returns all triple patterns in given SPARQL query that have the given node either in subject or in object position, i.e.
    Set<org.apache.jena.graph.Triple>
    extractOutgoingTriplePatterns​(org.apache.jena.query.Query query, org.apache.jena.graph.Node node)
    Returns all triple patterns in given SPARQL query that have the given node in subject position, i.e.
    Map<org.apache.jena.sparql.core.Var,​Set<org.apache.jena.graph.Triple>>
    extractOutgoingTriplePatternsForProjectionVars​(org.apache.jena.query.Query query)
    Returns triple patterns for each projection variable v such that v is in subject position.
    Set<org.apache.jena.graph.Triple>
    extractTriplePattern​(org.apache.jena.query.Query query)
     
    Set<org.apache.jena.graph.Triple>
    extractTriplePattern​(org.apache.jena.query.Query query, boolean ignoreOptionals)
     
    Set<org.apache.jena.graph.Triple>
    extractTriplePattern​(org.apache.jena.sparql.syntax.ElementGroup group)
     
    Set<org.apache.jena.graph.Triple>
    extractTriplePattern​(org.apache.jena.sparql.syntax.ElementGroup group, boolean ignoreOptionals)
     
    Set<org.apache.jena.graph.Triple>
    extractTriplePatterns​(org.apache.jena.query.Query query, org.apache.jena.graph.Node node)
    Returns all triple patterns in given SPARQL query that have the given node either in subject or in object position, i.e.
    Map<org.apache.jena.sparql.core.Var,​Set<org.apache.jena.graph.Triple>>
    extractTriplePatternsForProjectionVars​(org.apache.jena.query.Query query)
    Returns triple patterns for each projection variable v such that v is either in subject or object position.
    int
     
    int
     
    Set<org.apache.jena.graph.Triple>
     
    int
     
    boolean
    isOptional​(org.apache.jena.graph.Triple triple)
     
    void
    visit​(org.apache.jena.sparql.syntax.ElementFilter el)
     
    void
    visit​(org.apache.jena.sparql.syntax.ElementGroup el)
     
    void
    visit​(org.apache.jena.sparql.syntax.ElementOptional el)
     
    void
    visit​(org.apache.jena.sparql.syntax.ElementPathBlock el)
     
    void
    visit​(org.apache.jena.sparql.syntax.ElementTriplesBlock el)
     
    void
    visit​(org.apache.jena.sparql.syntax.ElementUnion el)
     

    Methods inherited from class org.apache.jena.sparql.syntax.ElementVisitorBase

    visit, visit, visit, visit, visit, visit, visit, visit, visit, visit

    Methods inherited from class java.lang.Object

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

    • triplePattern

      private Set<org.apache.jena.graph.Triple> triplePattern
    • optionalTriplePattern

      private Set<org.apache.jena.graph.Triple> optionalTriplePattern
    • inOptionalClause

      private boolean inOptionalClause
    • unionCount

      private int unionCount
    • optionalCount

      private int optionalCount
    • filterCount

      private int filterCount
  • Constructor Details

    • TriplePatternExtractor

      public TriplePatternExtractor()
  • Method Details

    • extractOutgoingTriplePatterns

      public Set<org.apache.jena.graph.Triple> extractOutgoingTriplePatterns(org.apache.jena.query.Query query, org.apache.jena.graph.Node node)
      Returns all triple patterns in given SPARQL query that have the given node in subject position, i.e. the outgoing triple patterns.
      Parameters:
      query - The SPARQL query.
    • extractIngoingTriplePatterns

      public Set<org.apache.jena.graph.Triple> extractIngoingTriplePatterns(org.apache.jena.query.Query query, org.apache.jena.graph.Node node)
      Returns all triple patterns in given SPARQL query that have the given node in object position, i.e. the ingoing triple patterns.
      Parameters:
      query - The SPARQL query.
    • extractTriplePatterns

      public Set<org.apache.jena.graph.Triple> extractTriplePatterns(org.apache.jena.query.Query query, org.apache.jena.graph.Node node)
      Returns all triple patterns in given SPARQL query that have the given node either in subject or in object position, i.e. the ingoing and outgoing triple patterns.
      Parameters:
      query - The SPARQL query.
    • extractNonOptionalTriplePatterns

      public Set<org.apache.jena.graph.Triple> extractNonOptionalTriplePatterns(org.apache.jena.query.Query query, org.apache.jena.graph.Node node)
      Returns all triple patterns in given SPARQL query that have the given node either in subject or in object position, i.e. the ingoing and outgoing triple patterns.
      Parameters:
      query - The SPARQL query.
    • extractTriplePatternsForProjectionVars

      public Map<org.apache.jena.sparql.core.Var,​Set<org.apache.jena.graph.Triple>> extractTriplePatternsForProjectionVars(org.apache.jena.query.Query query)
      Returns triple patterns for each projection variable v such that v is either in subject or object position.
      Parameters:
      query - The SPARQL query.
    • extractOutgoingTriplePatternsForProjectionVars

      public Map<org.apache.jena.sparql.core.Var,​Set<org.apache.jena.graph.Triple>> extractOutgoingTriplePatternsForProjectionVars(org.apache.jena.query.Query query)
      Returns triple patterns for each projection variable v such that v is in subject position.
      Parameters:
      query - The SPARQL query.
    • getOptionalTriplePatterns

      public Set<org.apache.jena.graph.Triple> getOptionalTriplePatterns()
      Returns:
      the optionalTriplePattern
    • extractIngoingTriplePatternsForProjectionVars

      public Map<org.apache.jena.sparql.core.Var,​Set<org.apache.jena.graph.Triple>> extractIngoingTriplePatternsForProjectionVars(org.apache.jena.query.Query query)
      Returns triple patterns for each projection variable v such that v is in object position.
      Parameters:
      query - The SPARQL query.
    • extractTriplePattern

      public Set<org.apache.jena.graph.Triple> extractTriplePattern(org.apache.jena.query.Query query)
    • extractTriplePattern

      public Set<org.apache.jena.graph.Triple> extractTriplePattern(org.apache.jena.query.Query query, boolean ignoreOptionals)
    • isOptional

      public boolean isOptional(org.apache.jena.graph.Triple triple)
    • extractTriplePattern

      public Set<org.apache.jena.graph.Triple> extractTriplePattern(org.apache.jena.sparql.syntax.ElementGroup group)
    • extractTriplePattern

      public Set<org.apache.jena.graph.Triple> extractTriplePattern(org.apache.jena.sparql.syntax.ElementGroup group, boolean ignoreOptionals)
    • visit

      public void visit(org.apache.jena.sparql.syntax.ElementGroup el)
      Specified by:
      visit in interface org.apache.jena.sparql.syntax.ElementVisitor
      Overrides:
      visit in class org.apache.jena.sparql.syntax.ElementVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.syntax.ElementOptional el)
      Specified by:
      visit in interface org.apache.jena.sparql.syntax.ElementVisitor
      Overrides:
      visit in class org.apache.jena.sparql.syntax.ElementVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.syntax.ElementTriplesBlock el)
      Specified by:
      visit in interface org.apache.jena.sparql.syntax.ElementVisitor
      Overrides:
      visit in class org.apache.jena.sparql.syntax.ElementVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.syntax.ElementPathBlock el)
      Specified by:
      visit in interface org.apache.jena.sparql.syntax.ElementVisitor
      Overrides:
      visit in class org.apache.jena.sparql.syntax.ElementVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.syntax.ElementUnion el)
      Specified by:
      visit in interface org.apache.jena.sparql.syntax.ElementVisitor
      Overrides:
      visit in class org.apache.jena.sparql.syntax.ElementVisitorBase
    • visit

      public void visit(org.apache.jena.sparql.syntax.ElementFilter el)
      Specified by:
      visit in interface org.apache.jena.sparql.syntax.ElementVisitor
      Overrides:
      visit in class org.apache.jena.sparql.syntax.ElementVisitorBase
    • getUnionCount

      public int getUnionCount()
    • getOptionalCount

      public int getOptionalCount()
    • getFilterCount

      public int getFilterCount()