aboutsummaryrefslogtreecommitdiffstats
path: root/bsfs/triple_store/base.py
diff options
context:
space:
mode:
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,