aboutsummaryrefslogtreecommitdiffstats
path: root/bsie/base/extractor.py
diff options
context:
space:
mode:
Diffstat (limited to 'bsie/base/extractor.py')
-rw-r--r--bsie/base/extractor.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/bsie/base/extractor.py b/bsie/base/extractor.py
index 7acf2bd..2fc4f18 100644
--- a/bsie/base/extractor.py
+++ b/bsie/base/extractor.py
@@ -63,6 +63,13 @@ class Extractor(abc.ABC):
def __repr__(self) -> str:
return f'{typename(self)}()'
+ def __eq__(self, other: typing.Any) -> bool:
+ return isinstance(other, type(self)) \
+ and self.CONTENT_READER == other.CONTENT_READER \
+ and self.schema == other.schema
+
+ def __hash__(self) -> int:
+ return hash((type(self), self.CONTENT_READER, self.schema))
def predicates(self) -> typing.Iterator[_schema.Predicate]:
"""Return the predicates that may be part of extracted triples."""