Mercurial > repos > shellac > guppy_basecaller
diff env/lib/python3.7/site-packages/rdflib/plugins/parsers/trig.py @ 5:9b1c78e6ba9c draft default tip
"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
| author | shellac |
|---|---|
| date | Mon, 01 Jun 2020 08:59:25 -0400 |
| parents | 79f47841a781 |
| children |
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/rdflib/plugins/parsers/trig.py Thu May 14 16:47:39 2020 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -from rdflib import ConjunctiveGraph -from rdflib.parser import Parser -from .notation3 import SinkParser, RDFSink - - -def becauseSubGraph(*args, **kwargs): pass - - -class TrigSinkParser(SinkParser): - - def directiveOrStatement(self, argstr, h): - - #import pdb; pdb.set_trace() - - i = self.skipSpace(argstr, h) - if i < 0: - return i # EOF - - j = self.graph(argstr, i) - if j >= 0: - return j - - j = self.sparqlDirective(argstr, i) - if j >= 0: - return j - - j = self.directive(argstr, i) - if j >= 0: - return self.checkDot(argstr, j) - - j = self.statement(argstr, i) - if j >= 0: - return self.checkDot(argstr, j) - - - return j - - def labelOrSubject(self, argstr, i, res): - j = self.skipSpace(argstr, i) - if j < 0: - return j # eof - i = j - - j = self.uri_ref2(argstr, i, res) - if j >= 0: - return j - - if argstr[i] == '[': - j = self.skipSpace(argstr, i+1) - if j < 0: - self.BadSyntax(argstr, i, - "Expected ] got EOF") - if argstr[j] == ']': - res.append(self.blankNode()) - return j+1 - return -1 - - def graph(self, argstr, i): - """ - Parse trig graph, i.e. - - <urn:graphname> = { .. triples .. } - - return -1 if it doesn't look like a graph-decl - raise Exception if it looks like a graph, but isn't. - """ - - #import pdb; pdb.set_trace() - j = self.sparqlTok('GRAPH', argstr, i) # optional GRAPH keyword - if j >= 0: i = j - - r = [] - j = self.labelOrSubject(argstr, i, r) - if j >= 0: - graph = r[0] - i = j - else: - graph = self._store.graph.identifier # hack - - - j = self.skipSpace(argstr, i) - if j < 0: - self.BadSyntax(argstr, i, - "EOF found when expected graph") - - if argstr[j:j + 1] == "=": # optional = for legacy support - - i = self.skipSpace(argstr, j + 1) - if i < 0: - self.BadSyntax(argstr, i, "EOF found when expecting '{'") - else: - i = j - - if argstr[i:i+1] != "{": - return -1 # the node wasn't part of a graph - - - j = i+1 - - oldParentContext = self._parentContext - self._parentContext = self._context - reason2 = self._reason2 - self._reason2 = becauseSubGraph - self._context = self._store.newGraph(graph) - - while 1: - i = self.skipSpace(argstr, j) - if i < 0: - self.BadSyntax( - argstr, i, "needed '}', found end.") - - if argstr[i:i + 1] == "}": - j = i + 1 - break - - j = self.directiveOrStatement(argstr, i) - if j < 0: - self.BadSyntax( - argstr, i, "expected statement or '}'") - - self._context = self._parentContext - self._reason2 = reason2 - self._parentContext = oldParentContext - #res.append(subj.close()) # No use until closed - return j - - - - -class TrigParser(Parser): - """ - An RDFLib parser for TriG - - """ - - def __init__(self): - pass - - def parse(self, source, graph, encoding="utf-8"): - - if encoding not in [None, "utf-8"]: - raise Exception( - ("TriG files are always utf-8 encoded, ", - "I was passed: %s") % encoding) - - # we're currently being handed a Graph, not a ConjunctiveGraph - assert graph.store.context_aware, "TriG Parser needs a context-aware store!" - - conj_graph = ConjunctiveGraph(store=graph.store, identifier=graph.identifier) - conj_graph.default_context = graph # TODO: CG __init__ should have a - # default_context arg - # TODO: update N3Processor so that it can use conj_graph as the sink - conj_graph.namespace_manager = graph.namespace_manager - - sink = RDFSink(conj_graph) - - baseURI = conj_graph.absolutize( - source.getPublicId() or source.getSystemId() or "") - p = TrigSinkParser(sink, baseURI=baseURI, turtle=True) - - p.loadStream(source.getByteStream()) - - for prefix, namespace in list(p._bindings.items()): - conj_graph.bind(prefix, namespace) - - # return ???
