Skip to content

Edge variable matching #22

Description

@IMP1

Variables' values can't be calculated if they only exist in an edge's label.

rule r1
    <int x>
    [1, 2 | 1->2 (x), 2->1 (x)]
 => [];

If there are two edges from node A to node B with values 3 and 4, and one from node B to node A with value 4, then the edges with value 4 should be matched, right? But this currently isn't possible.


Also, there's a step where a possible matching is only kept if all the mappings it has have valid (read: equal) variable values. Edges can't be checked in the same way. Maybe check that the count of edges between two rule nodes with variable labels is equal to (or less than) the count of edges between two graph nodes with the same value of the right type. But this condition should be checked for all possible variable values, which may be more than one per matching (see above)

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions