Package org.aksw.qa.commons.qald
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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSet<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.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.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.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.intintSet<org.apache.jena.graph.Triple>intbooleanisOptional(org.apache.jena.graph.Triple triple)voidvisit(org.apache.jena.sparql.syntax.ElementFilter el)voidvisit(org.apache.jena.sparql.syntax.ElementGroup el)voidvisit(org.apache.jena.sparql.syntax.ElementOptional el)voidvisit(org.apache.jena.sparql.syntax.ElementPathBlock el)voidvisit(org.apache.jena.sparql.syntax.ElementTriplesBlock el)voidvisit(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
-
Field Details
-
triplePattern
-
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
- 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
-
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:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor- Overrides:
visitin classorg.apache.jena.sparql.syntax.ElementVisitorBase
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementOptional el)- Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor- Overrides:
visitin classorg.apache.jena.sparql.syntax.ElementVisitorBase
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementTriplesBlock el)- Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor- Overrides:
visitin classorg.apache.jena.sparql.syntax.ElementVisitorBase
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementPathBlock el)- Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor- Overrides:
visitin classorg.apache.jena.sparql.syntax.ElementVisitorBase
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementUnion el)- Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor- Overrides:
visitin classorg.apache.jena.sparql.syntax.ElementVisitorBase
-
visit
public void visit(org.apache.jena.sparql.syntax.ElementFilter el)- Specified by:
visitin interfaceorg.apache.jena.sparql.syntax.ElementVisitor- Overrides:
visitin classorg.apache.jena.sparql.syntax.ElementVisitorBase
-
getUnionCount
public int getUnionCount() -
getOptionalCount
public int getOptionalCount() -
getFilterCount
public int getFilterCount()
-