in assets/lambda_helper_neptune/python/rdflib/plugins/sparql/evaluate.py [0:0]
def evalPart(ctx, part):
# try custom evaluation functions
for name, c in list(CUSTOM_EVALS.items()):
try:
return c(ctx, part)
except NotImplementedError:
pass # the given custome-function did not handle this part
if part.name == 'BGP':
# Reorder triples patterns by number of bound nodes in the current ctx
# Do patterns with more bound nodes first
triples = sorted(part.triples, key=lambda t: len([n for n in t if ctx[n] is None]))
return evalBGP(ctx, triples)
elif part.name == 'Filter':
return evalFilter(ctx, part)
elif part.name == 'Join':
return evalJoin(ctx, part)
elif part.name == 'LeftJoin':
return evalLeftJoin(ctx, part)
elif part.name == 'Graph':
return evalGraph(ctx, part)
elif part.name == 'Union':
return evalUnion(ctx, part)
elif part.name == 'ToMultiSet':
return evalMultiset(ctx, part)
elif part.name == 'Extend':
return evalExtend(ctx, part)
elif part.name == 'Minus':
return evalMinus(ctx, part)
elif part.name == 'Project':
return evalProject(ctx, part)
elif part.name == 'Slice':
return evalSlice(ctx, part)
elif part.name == 'Distinct':
return evalDistinct(ctx, part)
elif part.name == 'Reduced':
return evalReduced(ctx, part)
elif part.name == 'OrderBy':
return evalOrderBy(ctx, part)
elif part.name == 'Group':
return evalGroup(ctx, part)
elif part.name == 'AggregateJoin':
return evalAggregateJoin(ctx, part)
elif part.name == 'SelectQuery':
return evalSelectQuery(ctx, part)
elif part.name == 'AskQuery':
return evalAskQuery(ctx, part)
elif part.name == 'ConstructQuery':
return evalConstructQuery(ctx, part)
elif part.name == 'ServiceGraphPattern':
raise Exception('ServiceGraphPattern not implemented')
elif part.name == 'DescribeQuery':
raise Exception('DESCRIBE not implemented')
else:
# import pdb ; pdb.set_trace()
raise Exception('I dont know: %s' % part.name)