Skip to content

Commit

Permalink
Remove forked code from processor, monkey patch instead
Browse files Browse the repository at this point in the history
  • Loading branch information
white-gecko committed Aug 19, 2021
1 parent 76f798b commit 1a251d9
Showing 1 changed file with 7 additions and 34 deletions.
41 changes: 7 additions & 34 deletions quit/tools/processor.py
Original file line number Diff line number Diff line change
@@ -1,40 +1,13 @@
from rdflib.query import Processor, Result, UpdateProcessor
from rdflib.plugins.sparql.sparql import Query
from rdflib.plugins.sparql.parser import parseQuery, parseUpdate

from quit.tools.algebra import translateQuery, translateUpdate
from quit.tools.evaluate import evalQuery
from quit.tools.update import evalUpdate

class SPARQLUpdateProcessor(UpdateProcessor):
def __init__(self, graph):
self.graph = graph

def update(self, strOrQuery, initBindings={}, initNs={}):
if isinstance(strOrQuery, str):
strOrQuery=translateUpdate(parseUpdate(strOrQuery), initNs=initNs)

return evalUpdate(self.graph, strOrQuery, initBindings)


class SPARQLProcessor(Processor):

def __init__(self, graph):
self.graph = graph

def query(
self, strOrQuery, initBindings={},
initNs={}, base=None, DEBUG=False):
"""
Evaluate a query with the given initial bindings, and initial
namespaces. The given base is used to resolve relative URIs in
the query and will be overridden by any BASE given in the query.
"""
import rdflib.plugins.sparql.processor

if not isinstance(strOrQuery, Query):
parsetree = parseQuery(strOrQuery)
query = translateQuery(parsetree, base, initNs)
else:
query = strOrQuery
rdflib.plugins.sparql.processor.evalQuery = evalQuery
rdflib.plugins.sparql.processor.evalUpdate = evalUpdate
rdflib.plugins.sparql.processor.translateQuery = translateQuery
rdflib.plugins.sparql.processor.translateUpdate = translateUpdate

return evalQuery(self.graph, query, initBindings, base)
SPARQLUpdateProcessor = rdflib.plugins.sparql.processor.SPARQLUpdateProcessor
SPARQLProcessor = rdflib.plugins.sparql.processor.SPARQLProcessor

0 comments on commit 1a251d9

Please sign in to comment.