Open gabbard opened 4 years ago
A stopgap solution for the TemporallyScopeEdge
case is to allow such edges to wrap multiple "basic" edges. When a predicate is applied, it will pass if it passes for any wrapped edge.
Actually, as a quick hack for now we just throw away the before
label and keep the after
label. See PerceptionGraph.from_dynamic_perceptual_representation
Depends on #751
Because under the hood we represent
PerceptionGraph
s andPerceptionGraphPattern
s asDiGraphs
and notMultiDiGraphs
, we run into problems when there are multiple relationships between objects. For example, a person may have both a possession and abigger_than
relation with a held object. Currently only one of these ends up represented in the graph and which one "wins" is arbitrary.This manifests itself most seriously in some verb patterns, where different edge labels appear between the same objects in the before and after frames, which we currently do not support.
Long-term we need to switch our entire matching architecture over to
MultiDiGrahs
, but this may have undesirable performance implications.