aboutsummaryrefslogtreecommitdiffstats
path: root/bsfs/graph/graph.py
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2023-03-02 16:40:43 +0100
committerMatthias Baumgartner <dev@igsor.net>2023-03-02 16:40:43 +0100
commit6b9379d75198082054c35e44bc2cd880353a7485 (patch)
tree1c6f88b10eb4b532a26f2a9dc26bc938e81e7032 /bsfs/graph/graph.py
parent28a021483c13e974e00b6159f0653b0727df9d10 (diff)
downloadbsfs-6b9379d75198082054c35e44bc2cd880353a7485.tar.gz
bsfs-6b9379d75198082054c35e44bc2cd880353a7485.tar.bz2
bsfs-6b9379d75198082054c35e44bc2cd880353a7485.zip
hardening
Diffstat (limited to 'bsfs/graph/graph.py')
-rw-r--r--bsfs/graph/graph.py16
1 files changed, 2 insertions, 14 deletions
diff --git a/bsfs/graph/graph.py b/bsfs/graph/graph.py
index ade51a5..1b4c212 100644
--- a/bsfs/graph/graph.py
+++ b/bsfs/graph/graph.py
@@ -36,12 +36,6 @@ class Graph():
# access controls.
_ac: ac.AccessControlBase
- # query resolver.
- _resolver: resolve.Filter
-
- # query validator.
- _validate: validate.Filter
-
def __init__(
self,
backend: TripleStoreBase,
@@ -50,9 +44,6 @@ class Graph():
# store members
self._backend = backend
self._ac = access_control
- # helper classes
- self._resolver = resolve.Filter(self._backend.schema)
- self._validate = validate.Filter(self._backend.schema)
# ensure Graph schema requirements
self.migrate(self._backend.schema)
@@ -94,9 +85,6 @@ class Graph():
# migrate schema in backend
# FIXME: consult access controls!
self._backend.schema = schema
- # re-initialize members
- self._resolver.schema = self.schema
- self._validate.schema = self.schema
# return self
return self
@@ -164,12 +152,12 @@ class Graph():
# get node type
type_ = self.schema.node(node_type)
# resolve Nodes instances
- query = self._resolver(type_, query)
+ query = resolve.Filter(self._backend.schema).resolve(type_, query)
# add access controls to query
query = self._ac.filter_read(type_, query)
# validate query
if query is not None:
- self._validate(type_, query)
+ validate.Filter(self._backend.schema).validate(type_, query)
# query the backend and return the (non-materialized) result
return self._backend.get(type_, query)