Package org.aksw.jena_sparql_api.algebra.analysis


package org.aksw.jena_sparql_api.algebra.analysis
  • Classes
    Class
    Description
    Performs a top down traversal of an algebra tree and labels nodes with which sets of variables are allowed to be distinct DISTINCT(PROJECT ?s (UNION(A, B))) -> A: DISTINCT ?s -> B: DISTINCT ?s
    This class captures the following generic SPARQL query set: Select (project / extend) { // postDistinctVarDefs select distinct (project / extend) { // preDestinctVarDefs [subOp] filter(...) } } - if there is no distinct, there are no post-distinct definitions (indicated by null); only pre-distinct ones - the filters are always expressed to reference pre-distinct variables this means, that any filter must be expanded first using the post-distinct definitions and subsequently the pre-distsinct definitions - initially: as long as there is no distinct encountered: - have all projections / expressions affect the pre-distinct definitions When encountering distinct: - Any new distinct makes a prior one obsolete.
    This class captures the following generic SPARQL query set: Select (project / extend) { // postDistinctVarDefs select distinct (project / extend) { // preDestinctVarDefs [subOp] filter(...) } } - if there is no distinct, there are no post-distinct definitions (indicated by null); only pre-distinct ones - the filters are always expressed to reference pre-distinct variables this means, that any filter must be expanded first using the post-distinct definitions and subsequently the pre-distsinct definitions - initially: as long as there is no distinct encountered: - have all projections / expressions affect the pre-distinct definitions When encountering distinct: - Any new distinct makes a prior one obsolete.