From 4a3bef9b6c5467ebce9429cee479350d53a0c539 Mon Sep 17 00:00:00 2001 From: Cyber MacGeddon Date: Mon, 30 Dec 2024 11:56:39 +0000 Subject: [PATCH] extract-def outputs entity contexts --- .../extract/kg/definitions/extract.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/trustgraph-flow/trustgraph/extract/kg/definitions/extract.py b/trustgraph-flow/trustgraph/extract/kg/definitions/extract.py index dd38029f..b183969d 100755 --- a/trustgraph-flow/trustgraph/extract/kg/definitions/extract.py +++ b/trustgraph-flow/trustgraph/extract/kg/definitions/extract.py @@ -104,6 +104,14 @@ class Processor(ConsumerProducer): ) self.producer.send(t) + def emit_ecs(self, metadata, entities): + + t = EntityContexts( + metadata=metadata, + entities=entities, + ) + self.ec_prod.send(t) + def handle(self, msg): v = msg.value() @@ -116,6 +124,7 @@ class Processor(ConsumerProducer): defs = self.get_definitions(chunk) triples = [] + entities = [] # FIXME: Putting metadata into triples store is duplicated in # relationships extractor too @@ -154,6 +163,14 @@ class Processor(ConsumerProducer): o=Value(value=v.metadata.id, is_uri=True) )) + ec = EntityContext( + entity=s_value, + context=defn.definition, + ) + + entities.append(ec) + + self.emit_edges( Metadata( id=v.metadata.id, @@ -164,6 +181,16 @@ class Processor(ConsumerProducer): triples ) + self.emit_ecs( + Metadata( + id=v.metadata.id, + metadata=[], + user=v.metadata.user, + collection=v.metadata.collection, + ), + entities + ) + except Exception as e: print("Exception: ", e, flush=True)