Skip to content

Cypher: Returned edges (serialised) are not filtered by query  #673

Description

@artturimatias

ArcadeDB Version: 22.11.1

JDK Version: Docker image

OS:Linux

Expected behavior

Query with edge type should return only those edges:

MATCH (p:Person)-[:IS_COORDINATOR_OF]->(pr:Project) RETURN p, pr

Actual behavior

Returned set (serialised with 'graph' option) includes all edges between selected nodes.

Steps to reproduce

Create a simple graph, two persons and two projects.

CREATE (p:Person {name: "Bob"})-[:IS_COORDINATOR_OF]->(pr:Project {name: "Bob's Project"}) RETURN p, pr

CREATE (p:Person {name: "Jenny"})-[:IS_COORDINATOR_OF]->(pr:Project {name: "Jenny's Project"}) RETURN p, pr

MATCH (p:Person {name: "Bob"}), (pr:Project {name:"Jenny's Project"}) CREATE (p)-[:IS_MEMBER_OF]->(pr) return p,pr

MATCH (p:Person {name: "Jenny"}), (pr:Project {name:"Bob's Project"}) CREATE (p)-[:IS_MEMBER_OF]->(pr) return p,pr

Then try to get project coordinators:

MATCH (p:Person)-[:IS_COORDINATOR_OF]->(pr:Project) RETURN p, pr
    {
  "result": {
    "vertices": [
      {
        "p": {
          "name": "Bob"
        },
        "r": "#10:0",
        "t": "Person",
        "i": 0,
        "o": 2
      },
      {
        "p": {
          "name": "Bob's Project"
        },
        "r": "#28:0",
        "t": "Project",
        "i": 2,
        "o": 0
      },
      {
        "p": {
          "name": "Jenny"
        },
        "r": "#13:0",
        "t": "Person",
        "i": 0,
        "o": 2
      },
      {
        "p": {
          "name": "Jenny's Project"
        },
        "r": "#31:0",
        "t": "Project",
        "i": 2,
        "o": 0
      }
    ],
    "records": [
      {
        "p": {
          "@rid": "#10:0",
          "@type": "Person",
          "name": "Bob"
        },
        "pr": {
          "@rid": "#28:0",
          "@type": "Project",
          "name": "Bob's Project"
        }
      },
      {
        "p": {
          "@rid": "#13:0",
          "@type": "Person",
          "name": "Jenny"
        },
        "pr": {
          "@rid": "#31:0",
          "@type": "Project",
          "name": "Jenny's Project"
        }
      }
    ],
    "edges": [
      {
        "p": {},
        "r": "#51:0",
        "t": "IS_COORDINATOR_OF",
        "i": "#31:0",
        "o": "#13:0"
      },
      {
        "p": {},
        "r": "#57:0",
        "t": "IS_MEMBER_OF",
        "i": "#31:0",
        "o": "#10:0"
      },
      {
        "p": {},
        "r": "#50:0",
        "t": "IS_COORDINATOR_OF",
        "i": "#28:0",
        "o": "#10:0"
      },
      {
        "p": {},
        "r": "#57:0",
        "t": "IS_MEMBER_OF",
        "i": "#31:0",
        "o": "#10:0"
      },
      {
        "p": {},
        "r": "#50:0",
        "t": "IS_COORDINATOR_OF",
        "i": "#28:0",
        "o": "#10:0"
      },
      {
        "p": {},
        "r": "#58:0",
        "t": "IS_MEMBER_OF",
        "i": "#28:0",
        "o": "#13:0"
      },
      {
        "p": {},
        "r": "#51:0",
        "t": "IS_COORDINATOR_OF",
        "i": "#31:0",
        "o": "#13:0"
      },
      {
        "p": {},
        "r": "#58:0",
        "t": "IS_MEMBER_OF",
        "i": "#28:0",
        "o": "#13:0"
      }
    ]
  },
  "user": "root",
  "version": "22.11.1 (build 8c5ff1d46513ac0b324e45f7f59f1a42150dd471/1670448994340/main)"
}

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions