Running this query
MATCH (n), (m { isFrench: m:Person}) RETURN n
Should check if m is both french and has label Person OR if m is not french and is not a Person)
Instead, it returns
PLAN ERROR
PipelineGenerator does not support PlanGraphNode: GET_ENTITY_TYPE
This is because we require to add a GetEntityType in the pipeline to perform the m.isFrench == m:Person check. This is supported in the planner, but we don't support it in the Pipeline generator phase yet.
To support it, we need to add a GetNodeLabelSet processor to handle the nodes. For edges, the edge type should already be in the DataFrame, so there's less work to be done.
The algorithm should be something like:
- If requested type is already in the dataframe -> skip
- Else if type is edge -> already in the dataframe
- Else -> need to add a
GetNodeLabelSet processor
Running this query
Should check if
mis both french and has labelPersonOR ifmis not french and is not aPerson)Instead, it returns
This is because we require to add a
GetEntityTypein the pipeline to perform them.isFrench == m:Personcheck. This is supported in the planner, but we don't support it in the Pipeline generator phase yet.To support it, we need to add a
GetNodeLabelSetprocessor to handle the nodes. For edges, the edge type should already be in the DataFrame, so there's less work to be done.The algorithm should be something like:
GetNodeLabelSetprocessor