aboutsummaryrefslogtreecommitdiffstats
path: root/bsfs/triple_store/base.py
diff options
context:
space:
mode:
authorMatthias Baumgartner <dev@igsor.net>2022-12-22 20:35:15 +0100
committerMatthias Baumgartner <dev@igsor.net>2022-12-22 20:35:15 +0100
commit9ab60f915fa53ae2ac2cf06b2f68138ffaa534d4 (patch)
treee6290053c00e06fda9e41ac0a602ff53d91a38ac /bsfs/triple_store/base.py
parente94368c75468e3e94382b12705e55d396249eaca (diff)
parentca7ee6c59d2eb3f4ec4d16e392d12d946cd85e4d (diff)
downloadbsfs-9ab60f915fa53ae2ac2cf06b2f68138ffaa534d4.tar.gz
bsfs-9ab60f915fa53ae2ac2cf06b2f68138ffaa534d4.tar.bz2
bsfs-9ab60f915fa53ae2ac2cf06b2f68138ffaa534d4.zip
Merge branch 'mb/filter' into develop
Diffstat (limited to 'bsfs/triple_store/base.py')
-rw-r--r--bsfs/triple_store/base.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/bsfs/triple_store/base.py b/bsfs/triple_store/base.py
index 6561262..7e03714 100644
--- a/bsfs/triple_store/base.py
+++ b/bsfs/triple_store/base.py
@@ -9,6 +9,7 @@ import abc
import typing
# inner-module imports
+from bsfs.query import ast
from bsfs.utils import URI, typename
import bsfs.schema as _schema
@@ -109,6 +110,16 @@ class TripleStoreBase(abc.ABC):
"""
@abc.abstractmethod
+ def get(
+ self,
+ node_type: _schema.Node,
+ query: typing.Optional[ast.filter.FilterExpression] = None,
+ ) -> typing.Iterator[URI]:
+ """Return guids of nodes of type *node_type* that match the *query*.
+ Return all guids of the respective type if *query* is None.
+ """
+
+ @abc.abstractmethod
def exists(
self,
node_type: _schema.Node,