Neo4j. Dynamic query with multiple filters on nodes












0















I have nodes like this and I need apply filter to them



{
"value": "ma",
"object_field_id": 2293
}

{
"value": 2,
"object_field_id": 2294
}




MATCH (:UserData {user_id:19})-[:CARD]-(c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) 
WHERE fi.object_field_id IN [23,24]
AND (fi.value=~('(?iu).*149.*')
AND fi.value=~('(?iu).*gb.*'))
RETURN c


but it doesn't work with AND



Where is my mistake?










share|improve this question

























  • If this were my problem I would break it down into smaller parts until I found the part that did not work, fix it then put the working parts back together until the entire query works.

    – Guy Coder
    Nov 19 '18 at 15:32











  • Screen shots are not that helpful when it is possible to add the code here so that we may recreate a portion of the database and test it on our system.

    – Guy Coder
    Nov 19 '18 at 15:34











  • Are you sure that you want find nodes that have a value property that contains konst and a 2 ? None of your example match this condition ...

    – logisima
    Nov 19 '18 at 15:40











  • Ok i'll build test data

    – MindSupport
    Nov 19 '18 at 17:18






  • 1





    Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.

    – stdob--
    Nov 20 '18 at 12:27
















0















I have nodes like this and I need apply filter to them



{
"value": "ma",
"object_field_id": 2293
}

{
"value": 2,
"object_field_id": 2294
}




MATCH (:UserData {user_id:19})-[:CARD]-(c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) 
WHERE fi.object_field_id IN [23,24]
AND (fi.value=~('(?iu).*149.*')
AND fi.value=~('(?iu).*gb.*'))
RETURN c


but it doesn't work with AND



Where is my mistake?










share|improve this question

























  • If this were my problem I would break it down into smaller parts until I found the part that did not work, fix it then put the working parts back together until the entire query works.

    – Guy Coder
    Nov 19 '18 at 15:32











  • Screen shots are not that helpful when it is possible to add the code here so that we may recreate a portion of the database and test it on our system.

    – Guy Coder
    Nov 19 '18 at 15:34











  • Are you sure that you want find nodes that have a value property that contains konst and a 2 ? None of your example match this condition ...

    – logisima
    Nov 19 '18 at 15:40











  • Ok i'll build test data

    – MindSupport
    Nov 19 '18 at 17:18






  • 1





    Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.

    – stdob--
    Nov 20 '18 at 12:27














0












0








0








I have nodes like this and I need apply filter to them



{
"value": "ma",
"object_field_id": 2293
}

{
"value": 2,
"object_field_id": 2294
}




MATCH (:UserData {user_id:19})-[:CARD]-(c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) 
WHERE fi.object_field_id IN [23,24]
AND (fi.value=~('(?iu).*149.*')
AND fi.value=~('(?iu).*gb.*'))
RETURN c


but it doesn't work with AND



Where is my mistake?










share|improve this question
















I have nodes like this and I need apply filter to them



{
"value": "ma",
"object_field_id": 2293
}

{
"value": 2,
"object_field_id": 2294
}




MATCH (:UserData {user_id:19})-[:CARD]-(c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) 
WHERE fi.object_field_id IN [23,24]
AND (fi.value=~('(?iu).*149.*')
AND fi.value=~('(?iu).*gb.*'))
RETURN c


but it doesn't work with AND



Where is my mistake?







filter neo4j cypher






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 20 '18 at 14:15







MindSupport

















asked Nov 19 '18 at 12:56









MindSupportMindSupport

13




13













  • If this were my problem I would break it down into smaller parts until I found the part that did not work, fix it then put the working parts back together until the entire query works.

    – Guy Coder
    Nov 19 '18 at 15:32











  • Screen shots are not that helpful when it is possible to add the code here so that we may recreate a portion of the database and test it on our system.

    – Guy Coder
    Nov 19 '18 at 15:34











  • Are you sure that you want find nodes that have a value property that contains konst and a 2 ? None of your example match this condition ...

    – logisima
    Nov 19 '18 at 15:40











  • Ok i'll build test data

    – MindSupport
    Nov 19 '18 at 17:18






  • 1





    Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.

    – stdob--
    Nov 20 '18 at 12:27



















  • If this were my problem I would break it down into smaller parts until I found the part that did not work, fix it then put the working parts back together until the entire query works.

    – Guy Coder
    Nov 19 '18 at 15:32











  • Screen shots are not that helpful when it is possible to add the code here so that we may recreate a portion of the database and test it on our system.

    – Guy Coder
    Nov 19 '18 at 15:34











  • Are you sure that you want find nodes that have a value property that contains konst and a 2 ? None of your example match this condition ...

    – logisima
    Nov 19 '18 at 15:40











  • Ok i'll build test data

    – MindSupport
    Nov 19 '18 at 17:18






  • 1





    Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.

    – stdob--
    Nov 20 '18 at 12:27

















If this were my problem I would break it down into smaller parts until I found the part that did not work, fix it then put the working parts back together until the entire query works.

– Guy Coder
Nov 19 '18 at 15:32





If this were my problem I would break it down into smaller parts until I found the part that did not work, fix it then put the working parts back together until the entire query works.

– Guy Coder
Nov 19 '18 at 15:32













Screen shots are not that helpful when it is possible to add the code here so that we may recreate a portion of the database and test it on our system.

– Guy Coder
Nov 19 '18 at 15:34





Screen shots are not that helpful when it is possible to add the code here so that we may recreate a portion of the database and test it on our system.

– Guy Coder
Nov 19 '18 at 15:34













Are you sure that you want find nodes that have a value property that contains konst and a 2 ? None of your example match this condition ...

– logisima
Nov 19 '18 at 15:40





Are you sure that you want find nodes that have a value property that contains konst and a 2 ? None of your example match this condition ...

– logisima
Nov 19 '18 at 15:40













Ok i'll build test data

– MindSupport
Nov 19 '18 at 17:18





Ok i'll build test data

– MindSupport
Nov 19 '18 at 17:18




1




1





Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.

– stdob--
Nov 20 '18 at 12:27





Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.

– stdob--
Nov 20 '18 at 12:27












3 Answers
3






active

oldest

votes


















0














Here Is Query data for to build relations and nodes:



    CREATE (a:UserData {user_id: 19})-[r:CARD]->(b:Card {name: "card"})
WITH count(*) as dummy

CREATE (a:FieldUserGroup {data_id: 1290})
WITH count(*) as dummy

CREATE (a:FieldUserGroup {data_id: 1280})
WITH count(*) as dummy

CREATE (a:FieldUserGroup {data_id: 1270})
WITH count(*) as dummy

MATCH (u:FieldUserGroup), (c:Card) CREATE (c)-[:FIELD_GROUP]->(u)
WITH count(*) as dummy

create (f:Field {value: "jerry", object_field_id: 11})
WITH count(*) as dummy

create (f:Field {value: 2, object_field_id: 12})
WITH count(*) as dummy

create (f:Field {value: "tom", object_field_id: 13})
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1290}), (f2:Field) CREATE (f)-[:FIELD]->(f2)
WITH count(*) as dummy

CREATE (c:Field {value: "jack", object_field_id: 14})
WITH count(*) as dummy

CREATE (c:Field {value: 1234, object_field_id: 15})
WITH count(*) as dummy

CREATE (c:Field {value: "robin", object_field_id: 16})
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "jack", object_field_id: 14}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: 1234, object_field_id: 15}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "robin", object_field_id: 16}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

CREATE (c:Field {value: "zazaza", object_field_id: 17})
WITH count(*) as dummy

CREATE (c:Field {value: 6578970, object_field_id: 18})
WITH count(*) as dummy

CREATE (c:Field {value: "hamlet", object_field_id: 19})
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "zazaza", object_field_id: 17}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: 6578970, object_field_id: 18}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "hamlet", object_field_id: 19}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

CREATE (r:card {name: "card2"})
WITH count(*) as dummy

MATCH (r:card {name: "card2"}), (a:UserData {user_id: 19}) CREATE (a)-[:CARD]->(r)
WITH count(*) as dummy

CREATE (a:FieldUserGroup {data_id: 1260})
WITH count(*) as dummy

CREATE (a:FieldUserGroup {data_id: 1250})
WITH count(*) as dummy

CREATE (a:FieldUserGroup {data_id: 1240})
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1260}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1250}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1240}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
WITH count(*) as dummy

CREATE (c:Field {value: "some value", object_field_id: 20})
WITH count(*) as dummy

CREATE (c:Field {value: "more value", object_field_id: 21})
WITH count(*) as dummy

CREATE (c:Field {value: "this is insane!", object_field_id: 22})
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 20}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 21}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 22}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

CREATE (c:Field {value: 14948576, object_field_id: 23})
WITH count(*) as dummy

CREATE (c:Field {value: "GB", object_field_id: 24})
WITH count(*) as dummy

CREATE (c:Field {value: 1, object_field_id: 25})
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 23}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 24}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 25}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

CREATE (c:Field {value: 2, object_field_id: 26})
WITH count(*) as dummy

CREATE (c:Field {value: "Marky", object_field_id: 27})
WITH count(*) as dummy

CREATE (c:Field {value: "Tom Born", object_field_id: 28})
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 26}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 27}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy

MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 28}) CREATE (f)-[:FIELD]->(c)
WITH count(*) as dummy





share|improve this answer































    0














    UPD:



    Here is query that works but only in one side by FieldUserGroup



    MATCH (c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) where (any(prop in keys(fi) where fi[prop] =~ '(?iu).*tom.*'))
    return c





    share|improve this answer































      0














      I cleaned up your Cypher queries to create the database, hopefully I didn't make any mistakes. You will notice that I removed all of the WITH count(*) as dummy as they are not needed and only cause errors. For the statements that have both MATCH and CREATE they needed a WITH. I reordered and grouped similar statements so that they can all be done in one statement, e.g. end with ;.



      CREATE (:UserData {user_id: 19});

      MATCH (n:UserData {user_id: 19})
      WITH n
      CREATE (n)-[:CARD]->(:Card {name: "card"});

      CREATE (:FieldUserGroup {data_id: 1290})
      CREATE (:FieldUserGroup {data_id: 1280})
      CREATE (:FieldUserGroup {data_id: 1270});

      MATCH (f1:FieldUserGroup {data_id: 1290}),
      (f2:FieldUserGroup {data_id: 1280}),
      (f3:FieldUserGroup {data_id: 1270}),
      (c1:Card {name: "card"})
      WITH f1,f2,f3,c1
      CREATE (c1)-[:FIELD_GROUP]->(f1)
      CREATE (c1)-[:FIELD_GROUP]->(f2)
      CREATE (c1)-[:FIELD_GROUP]->(f3);

      CREATE (:Field {value: "jerry", object_field_id: 11})
      CREATE (:Field {value: 2, object_field_id: 12})
      CREATE (:Field {value: "tom", object_field_id: 13})
      CREATE (:Field {value: "jack", object_field_id: 14})
      CREATE (:Field {value: 1234, object_field_id: 15})
      CREATE (:Field {value: "robin", object_field_id: 16})
      CREATE (:Field {value: "zazaza", object_field_id: 17})
      CREATE (:Field {value: 6578970, object_field_id: 18})
      CREATE (:Field {value: "hamlet", object_field_id: 19});

      MATCH (f1:FieldUserGroup {data_id: 1290}),
      (c11:Field {value: "jerry"}),
      (c12:Field {value: 2}),
      (c13:Field {value: "tom"}),
      (f2:FieldUserGroup {data_id: 1280}),
      (c21:Field {value: "jack"}),
      (c22:Field {value: 1234}),
      (c23:Field {value: "robin"}),
      (f3:FieldUserGroup {data_id: 1270}),
      (c31:Field {value: "zazaza"}),
      (c32:Field {value: 6578970}),
      (c33:Field {value: "hamlet"})
      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
      CREATE (f1)-[:FIELD]->(c11)
      CREATE (f1)-[:FIELD]->(c12)
      CREATE (f1)-[:FIELD]->(c13)
      CREATE (f2)-[:FIELD]->(c21)
      CREATE (f2)-[:FIELD]->(c22)
      CREATE (f2)-[:FIELD]->(c23)
      CREATE (f3)-[:FIELD]->(c31)
      CREATE (f3)-[:FIELD]->(c32)
      CREATE (f3)-[:FIELD]->(c33);


      MATCH (n:UserData {user_id: 19})
      WITH n
      CREATE (n)-[:CARD]->(:Card {name: "card2"});

      CREATE (:FieldUserGroup {data_id: 1240})
      CREATE (:FieldUserGroup {data_id: 1250})
      CREATE (:FieldUserGroup {data_id: 1260});

      MATCH (f1:FieldUserGroup {data_id: 1240}),
      (f2:FieldUserGroup {data_id: 1250}),
      (f3:FieldUserGroup {data_id: 1260}),
      (c1:Card {name: "card2"})
      WITH f1,f2,f3,c1
      CREATE (c1)-[:FIELD_GROUP]->(f1)
      CREATE (c1)-[:FIELD_GROUP]->(f2)
      CREATE (c1)-[:FIELD_GROUP]->(f3);

      CREATE (:Field {value: "some value", object_field_id: 20})
      CREATE (:Field {value: "more value", object_field_id: 21})
      CREATE (:Field {value: "this is insane!", object_field_id: 22})
      CREATE (:Field {value: 14948576, object_field_id: 23})
      CREATE (:Field {value: "GB", object_field_id: 24})
      CREATE (:Field {value: 1, object_field_id: 25})
      CREATE (:Field {value: 2, object_field_id: 26})
      CREATE (:Field {value: "Marky", object_field_id: 27})
      CREATE (:Field {value: "Tom Born", object_field_id: 28});

      MATCH (f1:FieldUserGroup {data_id: 1240}),
      (c11:Field {value: 2, object_field_id: 26}),
      (c12:Field {value: "Marky"}),
      (c13:Field {value: "Tom Born"}),
      (f2:FieldUserGroup {data_id: 1250}),
      (c21:Field {value: 14948576}),
      (c22:Field {value: "GB"}),
      (c23:Field {value: 1}),
      (f3:FieldUserGroup {data_id: 1260}),
      (c31:Field {value: "some value"}),
      (c32:Field {value: "more value"}),
      (c33:Field {value: "this is insane!"})
      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
      CREATE (f1)-[:FIELD]->(c11)
      CREATE (f1)-[:FIELD]->(c12)
      CREATE (f1)-[:FIELD]->(c13)
      CREATE (f2)-[:FIELD]->(c21)
      CREATE (f2)-[:FIELD]->(c22)
      CREATE (f2)-[:FIELD]->(c23)
      CREATE (f3)-[:FIELD]->(c31)
      CREATE (f3)-[:FIELD]->(c32)
      CREATE (f3)-[:FIELD]->(c33);


      enter image description here



      The original query



      MATCH (:UserData {user_id:19})-[:CARD]-(c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) 
      WHERE fi.object_field_id IN [23,24]
      AND (fi.value=~('(?iu).*149.*')
      AND fi.value=~('(?iu).*gb.*'))
      RETURN c


      is working correctly when it returns no records. This is because there are no nodes that match this part of the query



      MATCH (fi:Field) 
      WHERE fi.value=~('(?iu).*149.*')
      RETURN fi;


      which also returns no records. The AND clause is working as it should.






      share|improve this answer


























      • This is not the same architecture as with count(*)

        – MindSupport
        Nov 20 '18 at 13:18











      • Yes, i've noticed it and fixed< but query didn't work

        – MindSupport
        Nov 20 '18 at 13:20











      • My Data looks like this one: i.imgur.com/9ACU9Zq.png

        – MindSupport
        Nov 20 '18 at 13:23











      • i can't update post bacause of "It looks like your post is mostly code; please add some more details."

        – MindSupport
        Nov 20 '18 at 13:54











      • Of interest: Cypher Where clause

        – Guy Coder
        Nov 20 '18 at 14:38











      Your Answer






      StackExchange.ifUsing("editor", function () {
      StackExchange.using("externalEditor", function () {
      StackExchange.using("snippets", function () {
      StackExchange.snippets.init();
      });
      });
      }, "code-snippets");

      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "1"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });














      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53375136%2fneo4j-dynamic-query-with-multiple-filters-on-nodes%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      Here Is Query data for to build relations and nodes:



          CREATE (a:UserData {user_id: 19})-[r:CARD]->(b:Card {name: "card"})
      WITH count(*) as dummy

      CREATE (a:FieldUserGroup {data_id: 1290})
      WITH count(*) as dummy

      CREATE (a:FieldUserGroup {data_id: 1280})
      WITH count(*) as dummy

      CREATE (a:FieldUserGroup {data_id: 1270})
      WITH count(*) as dummy

      MATCH (u:FieldUserGroup), (c:Card) CREATE (c)-[:FIELD_GROUP]->(u)
      WITH count(*) as dummy

      create (f:Field {value: "jerry", object_field_id: 11})
      WITH count(*) as dummy

      create (f:Field {value: 2, object_field_id: 12})
      WITH count(*) as dummy

      create (f:Field {value: "tom", object_field_id: 13})
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1290}), (f2:Field) CREATE (f)-[:FIELD]->(f2)
      WITH count(*) as dummy

      CREATE (c:Field {value: "jack", object_field_id: 14})
      WITH count(*) as dummy

      CREATE (c:Field {value: 1234, object_field_id: 15})
      WITH count(*) as dummy

      CREATE (c:Field {value: "robin", object_field_id: 16})
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "jack", object_field_id: 14}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: 1234, object_field_id: 15}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "robin", object_field_id: 16}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      CREATE (c:Field {value: "zazaza", object_field_id: 17})
      WITH count(*) as dummy

      CREATE (c:Field {value: 6578970, object_field_id: 18})
      WITH count(*) as dummy

      CREATE (c:Field {value: "hamlet", object_field_id: 19})
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "zazaza", object_field_id: 17}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: 6578970, object_field_id: 18}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "hamlet", object_field_id: 19}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      CREATE (r:card {name: "card2"})
      WITH count(*) as dummy

      MATCH (r:card {name: "card2"}), (a:UserData {user_id: 19}) CREATE (a)-[:CARD]->(r)
      WITH count(*) as dummy

      CREATE (a:FieldUserGroup {data_id: 1260})
      WITH count(*) as dummy

      CREATE (a:FieldUserGroup {data_id: 1250})
      WITH count(*) as dummy

      CREATE (a:FieldUserGroup {data_id: 1240})
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1260}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1250}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1240}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
      WITH count(*) as dummy

      CREATE (c:Field {value: "some value", object_field_id: 20})
      WITH count(*) as dummy

      CREATE (c:Field {value: "more value", object_field_id: 21})
      WITH count(*) as dummy

      CREATE (c:Field {value: "this is insane!", object_field_id: 22})
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 20}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 21}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 22}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      CREATE (c:Field {value: 14948576, object_field_id: 23})
      WITH count(*) as dummy

      CREATE (c:Field {value: "GB", object_field_id: 24})
      WITH count(*) as dummy

      CREATE (c:Field {value: 1, object_field_id: 25})
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 23}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 24}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 25}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      CREATE (c:Field {value: 2, object_field_id: 26})
      WITH count(*) as dummy

      CREATE (c:Field {value: "Marky", object_field_id: 27})
      WITH count(*) as dummy

      CREATE (c:Field {value: "Tom Born", object_field_id: 28})
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 26}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 27}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy

      MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 28}) CREATE (f)-[:FIELD]->(c)
      WITH count(*) as dummy





      share|improve this answer




























        0














        Here Is Query data for to build relations and nodes:



            CREATE (a:UserData {user_id: 19})-[r:CARD]->(b:Card {name: "card"})
        WITH count(*) as dummy

        CREATE (a:FieldUserGroup {data_id: 1290})
        WITH count(*) as dummy

        CREATE (a:FieldUserGroup {data_id: 1280})
        WITH count(*) as dummy

        CREATE (a:FieldUserGroup {data_id: 1270})
        WITH count(*) as dummy

        MATCH (u:FieldUserGroup), (c:Card) CREATE (c)-[:FIELD_GROUP]->(u)
        WITH count(*) as dummy

        create (f:Field {value: "jerry", object_field_id: 11})
        WITH count(*) as dummy

        create (f:Field {value: 2, object_field_id: 12})
        WITH count(*) as dummy

        create (f:Field {value: "tom", object_field_id: 13})
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1290}), (f2:Field) CREATE (f)-[:FIELD]->(f2)
        WITH count(*) as dummy

        CREATE (c:Field {value: "jack", object_field_id: 14})
        WITH count(*) as dummy

        CREATE (c:Field {value: 1234, object_field_id: 15})
        WITH count(*) as dummy

        CREATE (c:Field {value: "robin", object_field_id: 16})
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "jack", object_field_id: 14}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: 1234, object_field_id: 15}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "robin", object_field_id: 16}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        CREATE (c:Field {value: "zazaza", object_field_id: 17})
        WITH count(*) as dummy

        CREATE (c:Field {value: 6578970, object_field_id: 18})
        WITH count(*) as dummy

        CREATE (c:Field {value: "hamlet", object_field_id: 19})
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "zazaza", object_field_id: 17}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: 6578970, object_field_id: 18}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "hamlet", object_field_id: 19}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        CREATE (r:card {name: "card2"})
        WITH count(*) as dummy

        MATCH (r:card {name: "card2"}), (a:UserData {user_id: 19}) CREATE (a)-[:CARD]->(r)
        WITH count(*) as dummy

        CREATE (a:FieldUserGroup {data_id: 1260})
        WITH count(*) as dummy

        CREATE (a:FieldUserGroup {data_id: 1250})
        WITH count(*) as dummy

        CREATE (a:FieldUserGroup {data_id: 1240})
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1260}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1250}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1240}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
        WITH count(*) as dummy

        CREATE (c:Field {value: "some value", object_field_id: 20})
        WITH count(*) as dummy

        CREATE (c:Field {value: "more value", object_field_id: 21})
        WITH count(*) as dummy

        CREATE (c:Field {value: "this is insane!", object_field_id: 22})
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 20}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 21}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 22}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        CREATE (c:Field {value: 14948576, object_field_id: 23})
        WITH count(*) as dummy

        CREATE (c:Field {value: "GB", object_field_id: 24})
        WITH count(*) as dummy

        CREATE (c:Field {value: 1, object_field_id: 25})
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 23}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 24}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 25}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        CREATE (c:Field {value: 2, object_field_id: 26})
        WITH count(*) as dummy

        CREATE (c:Field {value: "Marky", object_field_id: 27})
        WITH count(*) as dummy

        CREATE (c:Field {value: "Tom Born", object_field_id: 28})
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 26}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 27}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy

        MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 28}) CREATE (f)-[:FIELD]->(c)
        WITH count(*) as dummy





        share|improve this answer


























          0












          0








          0







          Here Is Query data for to build relations and nodes:



              CREATE (a:UserData {user_id: 19})-[r:CARD]->(b:Card {name: "card"})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1290})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1280})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1270})
          WITH count(*) as dummy

          MATCH (u:FieldUserGroup), (c:Card) CREATE (c)-[:FIELD_GROUP]->(u)
          WITH count(*) as dummy

          create (f:Field {value: "jerry", object_field_id: 11})
          WITH count(*) as dummy

          create (f:Field {value: 2, object_field_id: 12})
          WITH count(*) as dummy

          create (f:Field {value: "tom", object_field_id: 13})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1290}), (f2:Field) CREATE (f)-[:FIELD]->(f2)
          WITH count(*) as dummy

          CREATE (c:Field {value: "jack", object_field_id: 14})
          WITH count(*) as dummy

          CREATE (c:Field {value: 1234, object_field_id: 15})
          WITH count(*) as dummy

          CREATE (c:Field {value: "robin", object_field_id: 16})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "jack", object_field_id: 14}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: 1234, object_field_id: 15}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "robin", object_field_id: 16}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          CREATE (c:Field {value: "zazaza", object_field_id: 17})
          WITH count(*) as dummy

          CREATE (c:Field {value: 6578970, object_field_id: 18})
          WITH count(*) as dummy

          CREATE (c:Field {value: "hamlet", object_field_id: 19})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "zazaza", object_field_id: 17}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: 6578970, object_field_id: 18}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "hamlet", object_field_id: 19}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          CREATE (r:card {name: "card2"})
          WITH count(*) as dummy

          MATCH (r:card {name: "card2"}), (a:UserData {user_id: 19}) CREATE (a)-[:CARD]->(r)
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1260})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1250})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1240})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1260}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1250}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1240}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
          WITH count(*) as dummy

          CREATE (c:Field {value: "some value", object_field_id: 20})
          WITH count(*) as dummy

          CREATE (c:Field {value: "more value", object_field_id: 21})
          WITH count(*) as dummy

          CREATE (c:Field {value: "this is insane!", object_field_id: 22})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 20}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 21}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 22}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          CREATE (c:Field {value: 14948576, object_field_id: 23})
          WITH count(*) as dummy

          CREATE (c:Field {value: "GB", object_field_id: 24})
          WITH count(*) as dummy

          CREATE (c:Field {value: 1, object_field_id: 25})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 23}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 24}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 25}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          CREATE (c:Field {value: 2, object_field_id: 26})
          WITH count(*) as dummy

          CREATE (c:Field {value: "Marky", object_field_id: 27})
          WITH count(*) as dummy

          CREATE (c:Field {value: "Tom Born", object_field_id: 28})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 26}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 27}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 28}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy





          share|improve this answer













          Here Is Query data for to build relations and nodes:



              CREATE (a:UserData {user_id: 19})-[r:CARD]->(b:Card {name: "card"})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1290})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1280})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1270})
          WITH count(*) as dummy

          MATCH (u:FieldUserGroup), (c:Card) CREATE (c)-[:FIELD_GROUP]->(u)
          WITH count(*) as dummy

          create (f:Field {value: "jerry", object_field_id: 11})
          WITH count(*) as dummy

          create (f:Field {value: 2, object_field_id: 12})
          WITH count(*) as dummy

          create (f:Field {value: "tom", object_field_id: 13})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1290}), (f2:Field) CREATE (f)-[:FIELD]->(f2)
          WITH count(*) as dummy

          CREATE (c:Field {value: "jack", object_field_id: 14})
          WITH count(*) as dummy

          CREATE (c:Field {value: 1234, object_field_id: 15})
          WITH count(*) as dummy

          CREATE (c:Field {value: "robin", object_field_id: 16})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "jack", object_field_id: 14}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: 1234, object_field_id: 15}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1280}), (c:Field {value: "robin", object_field_id: 16}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          CREATE (c:Field {value: "zazaza", object_field_id: 17})
          WITH count(*) as dummy

          CREATE (c:Field {value: 6578970, object_field_id: 18})
          WITH count(*) as dummy

          CREATE (c:Field {value: "hamlet", object_field_id: 19})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "zazaza", object_field_id: 17}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: 6578970, object_field_id: 18}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1270}), (c:Field {value: "hamlet", object_field_id: 19}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          CREATE (r:card {name: "card2"})
          WITH count(*) as dummy

          MATCH (r:card {name: "card2"}), (a:UserData {user_id: 19}) CREATE (a)-[:CARD]->(r)
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1260})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1250})
          WITH count(*) as dummy

          CREATE (a:FieldUserGroup {data_id: 1240})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1260}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1250}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1240}), (r:card {name: "card2"}) CREATE (r)-[:CARD]->(f)
          WITH count(*) as dummy

          CREATE (c:Field {value: "some value", object_field_id: 20})
          WITH count(*) as dummy

          CREATE (c:Field {value: "more value", object_field_id: 21})
          WITH count(*) as dummy

          CREATE (c:Field {value: "this is insane!", object_field_id: 22})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 20}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 21}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1260}), (c:Field {object_field_id: 22}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          CREATE (c:Field {value: 14948576, object_field_id: 23})
          WITH count(*) as dummy

          CREATE (c:Field {value: "GB", object_field_id: 24})
          WITH count(*) as dummy

          CREATE (c:Field {value: 1, object_field_id: 25})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 23}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 24}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1250}), (c:Field {object_field_id: 25}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          CREATE (c:Field {value: 2, object_field_id: 26})
          WITH count(*) as dummy

          CREATE (c:Field {value: "Marky", object_field_id: 27})
          WITH count(*) as dummy

          CREATE (c:Field {value: "Tom Born", object_field_id: 28})
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 26}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 27}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy

          MATCH (f:FieldUserGroup {data_id: 1240}), (c:Field {object_field_id: 28}) CREATE (f)-[:FIELD]->(c)
          WITH count(*) as dummy






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 20 '18 at 13:56









          MindSupportMindSupport

          13




          13

























              0














              UPD:



              Here is query that works but only in one side by FieldUserGroup



              MATCH (c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) where (any(prop in keys(fi) where fi[prop] =~ '(?iu).*tom.*'))
              return c





              share|improve this answer




























                0














                UPD:



                Here is query that works but only in one side by FieldUserGroup



                MATCH (c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) where (any(prop in keys(fi) where fi[prop] =~ '(?iu).*tom.*'))
                return c





                share|improve this answer


























                  0












                  0








                  0







                  UPD:



                  Here is query that works but only in one side by FieldUserGroup



                  MATCH (c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) where (any(prop in keys(fi) where fi[prop] =~ '(?iu).*tom.*'))
                  return c





                  share|improve this answer













                  UPD:



                  Here is query that works but only in one side by FieldUserGroup



                  MATCH (c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) where (any(prop in keys(fi) where fi[prop] =~ '(?iu).*tom.*'))
                  return c






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 20 '18 at 14:13









                  MindSupportMindSupport

                  13




                  13























                      0














                      I cleaned up your Cypher queries to create the database, hopefully I didn't make any mistakes. You will notice that I removed all of the WITH count(*) as dummy as they are not needed and only cause errors. For the statements that have both MATCH and CREATE they needed a WITH. I reordered and grouped similar statements so that they can all be done in one statement, e.g. end with ;.



                      CREATE (:UserData {user_id: 19});

                      MATCH (n:UserData {user_id: 19})
                      WITH n
                      CREATE (n)-[:CARD]->(:Card {name: "card"});

                      CREATE (:FieldUserGroup {data_id: 1290})
                      CREATE (:FieldUserGroup {data_id: 1280})
                      CREATE (:FieldUserGroup {data_id: 1270});

                      MATCH (f1:FieldUserGroup {data_id: 1290}),
                      (f2:FieldUserGroup {data_id: 1280}),
                      (f3:FieldUserGroup {data_id: 1270}),
                      (c1:Card {name: "card"})
                      WITH f1,f2,f3,c1
                      CREATE (c1)-[:FIELD_GROUP]->(f1)
                      CREATE (c1)-[:FIELD_GROUP]->(f2)
                      CREATE (c1)-[:FIELD_GROUP]->(f3);

                      CREATE (:Field {value: "jerry", object_field_id: 11})
                      CREATE (:Field {value: 2, object_field_id: 12})
                      CREATE (:Field {value: "tom", object_field_id: 13})
                      CREATE (:Field {value: "jack", object_field_id: 14})
                      CREATE (:Field {value: 1234, object_field_id: 15})
                      CREATE (:Field {value: "robin", object_field_id: 16})
                      CREATE (:Field {value: "zazaza", object_field_id: 17})
                      CREATE (:Field {value: 6578970, object_field_id: 18})
                      CREATE (:Field {value: "hamlet", object_field_id: 19});

                      MATCH (f1:FieldUserGroup {data_id: 1290}),
                      (c11:Field {value: "jerry"}),
                      (c12:Field {value: 2}),
                      (c13:Field {value: "tom"}),
                      (f2:FieldUserGroup {data_id: 1280}),
                      (c21:Field {value: "jack"}),
                      (c22:Field {value: 1234}),
                      (c23:Field {value: "robin"}),
                      (f3:FieldUserGroup {data_id: 1270}),
                      (c31:Field {value: "zazaza"}),
                      (c32:Field {value: 6578970}),
                      (c33:Field {value: "hamlet"})
                      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
                      CREATE (f1)-[:FIELD]->(c11)
                      CREATE (f1)-[:FIELD]->(c12)
                      CREATE (f1)-[:FIELD]->(c13)
                      CREATE (f2)-[:FIELD]->(c21)
                      CREATE (f2)-[:FIELD]->(c22)
                      CREATE (f2)-[:FIELD]->(c23)
                      CREATE (f3)-[:FIELD]->(c31)
                      CREATE (f3)-[:FIELD]->(c32)
                      CREATE (f3)-[:FIELD]->(c33);


                      MATCH (n:UserData {user_id: 19})
                      WITH n
                      CREATE (n)-[:CARD]->(:Card {name: "card2"});

                      CREATE (:FieldUserGroup {data_id: 1240})
                      CREATE (:FieldUserGroup {data_id: 1250})
                      CREATE (:FieldUserGroup {data_id: 1260});

                      MATCH (f1:FieldUserGroup {data_id: 1240}),
                      (f2:FieldUserGroup {data_id: 1250}),
                      (f3:FieldUserGroup {data_id: 1260}),
                      (c1:Card {name: "card2"})
                      WITH f1,f2,f3,c1
                      CREATE (c1)-[:FIELD_GROUP]->(f1)
                      CREATE (c1)-[:FIELD_GROUP]->(f2)
                      CREATE (c1)-[:FIELD_GROUP]->(f3);

                      CREATE (:Field {value: "some value", object_field_id: 20})
                      CREATE (:Field {value: "more value", object_field_id: 21})
                      CREATE (:Field {value: "this is insane!", object_field_id: 22})
                      CREATE (:Field {value: 14948576, object_field_id: 23})
                      CREATE (:Field {value: "GB", object_field_id: 24})
                      CREATE (:Field {value: 1, object_field_id: 25})
                      CREATE (:Field {value: 2, object_field_id: 26})
                      CREATE (:Field {value: "Marky", object_field_id: 27})
                      CREATE (:Field {value: "Tom Born", object_field_id: 28});

                      MATCH (f1:FieldUserGroup {data_id: 1240}),
                      (c11:Field {value: 2, object_field_id: 26}),
                      (c12:Field {value: "Marky"}),
                      (c13:Field {value: "Tom Born"}),
                      (f2:FieldUserGroup {data_id: 1250}),
                      (c21:Field {value: 14948576}),
                      (c22:Field {value: "GB"}),
                      (c23:Field {value: 1}),
                      (f3:FieldUserGroup {data_id: 1260}),
                      (c31:Field {value: "some value"}),
                      (c32:Field {value: "more value"}),
                      (c33:Field {value: "this is insane!"})
                      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
                      CREATE (f1)-[:FIELD]->(c11)
                      CREATE (f1)-[:FIELD]->(c12)
                      CREATE (f1)-[:FIELD]->(c13)
                      CREATE (f2)-[:FIELD]->(c21)
                      CREATE (f2)-[:FIELD]->(c22)
                      CREATE (f2)-[:FIELD]->(c23)
                      CREATE (f3)-[:FIELD]->(c31)
                      CREATE (f3)-[:FIELD]->(c32)
                      CREATE (f3)-[:FIELD]->(c33);


                      enter image description here



                      The original query



                      MATCH (:UserData {user_id:19})-[:CARD]-(c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) 
                      WHERE fi.object_field_id IN [23,24]
                      AND (fi.value=~('(?iu).*149.*')
                      AND fi.value=~('(?iu).*gb.*'))
                      RETURN c


                      is working correctly when it returns no records. This is because there are no nodes that match this part of the query



                      MATCH (fi:Field) 
                      WHERE fi.value=~('(?iu).*149.*')
                      RETURN fi;


                      which also returns no records. The AND clause is working as it should.






                      share|improve this answer


























                      • This is not the same architecture as with count(*)

                        – MindSupport
                        Nov 20 '18 at 13:18











                      • Yes, i've noticed it and fixed< but query didn't work

                        – MindSupport
                        Nov 20 '18 at 13:20











                      • My Data looks like this one: i.imgur.com/9ACU9Zq.png

                        – MindSupport
                        Nov 20 '18 at 13:23











                      • i can't update post bacause of "It looks like your post is mostly code; please add some more details."

                        – MindSupport
                        Nov 20 '18 at 13:54











                      • Of interest: Cypher Where clause

                        – Guy Coder
                        Nov 20 '18 at 14:38
















                      0














                      I cleaned up your Cypher queries to create the database, hopefully I didn't make any mistakes. You will notice that I removed all of the WITH count(*) as dummy as they are not needed and only cause errors. For the statements that have both MATCH and CREATE they needed a WITH. I reordered and grouped similar statements so that they can all be done in one statement, e.g. end with ;.



                      CREATE (:UserData {user_id: 19});

                      MATCH (n:UserData {user_id: 19})
                      WITH n
                      CREATE (n)-[:CARD]->(:Card {name: "card"});

                      CREATE (:FieldUserGroup {data_id: 1290})
                      CREATE (:FieldUserGroup {data_id: 1280})
                      CREATE (:FieldUserGroup {data_id: 1270});

                      MATCH (f1:FieldUserGroup {data_id: 1290}),
                      (f2:FieldUserGroup {data_id: 1280}),
                      (f3:FieldUserGroup {data_id: 1270}),
                      (c1:Card {name: "card"})
                      WITH f1,f2,f3,c1
                      CREATE (c1)-[:FIELD_GROUP]->(f1)
                      CREATE (c1)-[:FIELD_GROUP]->(f2)
                      CREATE (c1)-[:FIELD_GROUP]->(f3);

                      CREATE (:Field {value: "jerry", object_field_id: 11})
                      CREATE (:Field {value: 2, object_field_id: 12})
                      CREATE (:Field {value: "tom", object_field_id: 13})
                      CREATE (:Field {value: "jack", object_field_id: 14})
                      CREATE (:Field {value: 1234, object_field_id: 15})
                      CREATE (:Field {value: "robin", object_field_id: 16})
                      CREATE (:Field {value: "zazaza", object_field_id: 17})
                      CREATE (:Field {value: 6578970, object_field_id: 18})
                      CREATE (:Field {value: "hamlet", object_field_id: 19});

                      MATCH (f1:FieldUserGroup {data_id: 1290}),
                      (c11:Field {value: "jerry"}),
                      (c12:Field {value: 2}),
                      (c13:Field {value: "tom"}),
                      (f2:FieldUserGroup {data_id: 1280}),
                      (c21:Field {value: "jack"}),
                      (c22:Field {value: 1234}),
                      (c23:Field {value: "robin"}),
                      (f3:FieldUserGroup {data_id: 1270}),
                      (c31:Field {value: "zazaza"}),
                      (c32:Field {value: 6578970}),
                      (c33:Field {value: "hamlet"})
                      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
                      CREATE (f1)-[:FIELD]->(c11)
                      CREATE (f1)-[:FIELD]->(c12)
                      CREATE (f1)-[:FIELD]->(c13)
                      CREATE (f2)-[:FIELD]->(c21)
                      CREATE (f2)-[:FIELD]->(c22)
                      CREATE (f2)-[:FIELD]->(c23)
                      CREATE (f3)-[:FIELD]->(c31)
                      CREATE (f3)-[:FIELD]->(c32)
                      CREATE (f3)-[:FIELD]->(c33);


                      MATCH (n:UserData {user_id: 19})
                      WITH n
                      CREATE (n)-[:CARD]->(:Card {name: "card2"});

                      CREATE (:FieldUserGroup {data_id: 1240})
                      CREATE (:FieldUserGroup {data_id: 1250})
                      CREATE (:FieldUserGroup {data_id: 1260});

                      MATCH (f1:FieldUserGroup {data_id: 1240}),
                      (f2:FieldUserGroup {data_id: 1250}),
                      (f3:FieldUserGroup {data_id: 1260}),
                      (c1:Card {name: "card2"})
                      WITH f1,f2,f3,c1
                      CREATE (c1)-[:FIELD_GROUP]->(f1)
                      CREATE (c1)-[:FIELD_GROUP]->(f2)
                      CREATE (c1)-[:FIELD_GROUP]->(f3);

                      CREATE (:Field {value: "some value", object_field_id: 20})
                      CREATE (:Field {value: "more value", object_field_id: 21})
                      CREATE (:Field {value: "this is insane!", object_field_id: 22})
                      CREATE (:Field {value: 14948576, object_field_id: 23})
                      CREATE (:Field {value: "GB", object_field_id: 24})
                      CREATE (:Field {value: 1, object_field_id: 25})
                      CREATE (:Field {value: 2, object_field_id: 26})
                      CREATE (:Field {value: "Marky", object_field_id: 27})
                      CREATE (:Field {value: "Tom Born", object_field_id: 28});

                      MATCH (f1:FieldUserGroup {data_id: 1240}),
                      (c11:Field {value: 2, object_field_id: 26}),
                      (c12:Field {value: "Marky"}),
                      (c13:Field {value: "Tom Born"}),
                      (f2:FieldUserGroup {data_id: 1250}),
                      (c21:Field {value: 14948576}),
                      (c22:Field {value: "GB"}),
                      (c23:Field {value: 1}),
                      (f3:FieldUserGroup {data_id: 1260}),
                      (c31:Field {value: "some value"}),
                      (c32:Field {value: "more value"}),
                      (c33:Field {value: "this is insane!"})
                      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
                      CREATE (f1)-[:FIELD]->(c11)
                      CREATE (f1)-[:FIELD]->(c12)
                      CREATE (f1)-[:FIELD]->(c13)
                      CREATE (f2)-[:FIELD]->(c21)
                      CREATE (f2)-[:FIELD]->(c22)
                      CREATE (f2)-[:FIELD]->(c23)
                      CREATE (f3)-[:FIELD]->(c31)
                      CREATE (f3)-[:FIELD]->(c32)
                      CREATE (f3)-[:FIELD]->(c33);


                      enter image description here



                      The original query



                      MATCH (:UserData {user_id:19})-[:CARD]-(c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) 
                      WHERE fi.object_field_id IN [23,24]
                      AND (fi.value=~('(?iu).*149.*')
                      AND fi.value=~('(?iu).*gb.*'))
                      RETURN c


                      is working correctly when it returns no records. This is because there are no nodes that match this part of the query



                      MATCH (fi:Field) 
                      WHERE fi.value=~('(?iu).*149.*')
                      RETURN fi;


                      which also returns no records. The AND clause is working as it should.






                      share|improve this answer


























                      • This is not the same architecture as with count(*)

                        – MindSupport
                        Nov 20 '18 at 13:18











                      • Yes, i've noticed it and fixed< but query didn't work

                        – MindSupport
                        Nov 20 '18 at 13:20











                      • My Data looks like this one: i.imgur.com/9ACU9Zq.png

                        – MindSupport
                        Nov 20 '18 at 13:23











                      • i can't update post bacause of "It looks like your post is mostly code; please add some more details."

                        – MindSupport
                        Nov 20 '18 at 13:54











                      • Of interest: Cypher Where clause

                        – Guy Coder
                        Nov 20 '18 at 14:38














                      0












                      0








                      0







                      I cleaned up your Cypher queries to create the database, hopefully I didn't make any mistakes. You will notice that I removed all of the WITH count(*) as dummy as they are not needed and only cause errors. For the statements that have both MATCH and CREATE they needed a WITH. I reordered and grouped similar statements so that they can all be done in one statement, e.g. end with ;.



                      CREATE (:UserData {user_id: 19});

                      MATCH (n:UserData {user_id: 19})
                      WITH n
                      CREATE (n)-[:CARD]->(:Card {name: "card"});

                      CREATE (:FieldUserGroup {data_id: 1290})
                      CREATE (:FieldUserGroup {data_id: 1280})
                      CREATE (:FieldUserGroup {data_id: 1270});

                      MATCH (f1:FieldUserGroup {data_id: 1290}),
                      (f2:FieldUserGroup {data_id: 1280}),
                      (f3:FieldUserGroup {data_id: 1270}),
                      (c1:Card {name: "card"})
                      WITH f1,f2,f3,c1
                      CREATE (c1)-[:FIELD_GROUP]->(f1)
                      CREATE (c1)-[:FIELD_GROUP]->(f2)
                      CREATE (c1)-[:FIELD_GROUP]->(f3);

                      CREATE (:Field {value: "jerry", object_field_id: 11})
                      CREATE (:Field {value: 2, object_field_id: 12})
                      CREATE (:Field {value: "tom", object_field_id: 13})
                      CREATE (:Field {value: "jack", object_field_id: 14})
                      CREATE (:Field {value: 1234, object_field_id: 15})
                      CREATE (:Field {value: "robin", object_field_id: 16})
                      CREATE (:Field {value: "zazaza", object_field_id: 17})
                      CREATE (:Field {value: 6578970, object_field_id: 18})
                      CREATE (:Field {value: "hamlet", object_field_id: 19});

                      MATCH (f1:FieldUserGroup {data_id: 1290}),
                      (c11:Field {value: "jerry"}),
                      (c12:Field {value: 2}),
                      (c13:Field {value: "tom"}),
                      (f2:FieldUserGroup {data_id: 1280}),
                      (c21:Field {value: "jack"}),
                      (c22:Field {value: 1234}),
                      (c23:Field {value: "robin"}),
                      (f3:FieldUserGroup {data_id: 1270}),
                      (c31:Field {value: "zazaza"}),
                      (c32:Field {value: 6578970}),
                      (c33:Field {value: "hamlet"})
                      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
                      CREATE (f1)-[:FIELD]->(c11)
                      CREATE (f1)-[:FIELD]->(c12)
                      CREATE (f1)-[:FIELD]->(c13)
                      CREATE (f2)-[:FIELD]->(c21)
                      CREATE (f2)-[:FIELD]->(c22)
                      CREATE (f2)-[:FIELD]->(c23)
                      CREATE (f3)-[:FIELD]->(c31)
                      CREATE (f3)-[:FIELD]->(c32)
                      CREATE (f3)-[:FIELD]->(c33);


                      MATCH (n:UserData {user_id: 19})
                      WITH n
                      CREATE (n)-[:CARD]->(:Card {name: "card2"});

                      CREATE (:FieldUserGroup {data_id: 1240})
                      CREATE (:FieldUserGroup {data_id: 1250})
                      CREATE (:FieldUserGroup {data_id: 1260});

                      MATCH (f1:FieldUserGroup {data_id: 1240}),
                      (f2:FieldUserGroup {data_id: 1250}),
                      (f3:FieldUserGroup {data_id: 1260}),
                      (c1:Card {name: "card2"})
                      WITH f1,f2,f3,c1
                      CREATE (c1)-[:FIELD_GROUP]->(f1)
                      CREATE (c1)-[:FIELD_GROUP]->(f2)
                      CREATE (c1)-[:FIELD_GROUP]->(f3);

                      CREATE (:Field {value: "some value", object_field_id: 20})
                      CREATE (:Field {value: "more value", object_field_id: 21})
                      CREATE (:Field {value: "this is insane!", object_field_id: 22})
                      CREATE (:Field {value: 14948576, object_field_id: 23})
                      CREATE (:Field {value: "GB", object_field_id: 24})
                      CREATE (:Field {value: 1, object_field_id: 25})
                      CREATE (:Field {value: 2, object_field_id: 26})
                      CREATE (:Field {value: "Marky", object_field_id: 27})
                      CREATE (:Field {value: "Tom Born", object_field_id: 28});

                      MATCH (f1:FieldUserGroup {data_id: 1240}),
                      (c11:Field {value: 2, object_field_id: 26}),
                      (c12:Field {value: "Marky"}),
                      (c13:Field {value: "Tom Born"}),
                      (f2:FieldUserGroup {data_id: 1250}),
                      (c21:Field {value: 14948576}),
                      (c22:Field {value: "GB"}),
                      (c23:Field {value: 1}),
                      (f3:FieldUserGroup {data_id: 1260}),
                      (c31:Field {value: "some value"}),
                      (c32:Field {value: "more value"}),
                      (c33:Field {value: "this is insane!"})
                      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
                      CREATE (f1)-[:FIELD]->(c11)
                      CREATE (f1)-[:FIELD]->(c12)
                      CREATE (f1)-[:FIELD]->(c13)
                      CREATE (f2)-[:FIELD]->(c21)
                      CREATE (f2)-[:FIELD]->(c22)
                      CREATE (f2)-[:FIELD]->(c23)
                      CREATE (f3)-[:FIELD]->(c31)
                      CREATE (f3)-[:FIELD]->(c32)
                      CREATE (f3)-[:FIELD]->(c33);


                      enter image description here



                      The original query



                      MATCH (:UserData {user_id:19})-[:CARD]-(c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) 
                      WHERE fi.object_field_id IN [23,24]
                      AND (fi.value=~('(?iu).*149.*')
                      AND fi.value=~('(?iu).*gb.*'))
                      RETURN c


                      is working correctly when it returns no records. This is because there are no nodes that match this part of the query



                      MATCH (fi:Field) 
                      WHERE fi.value=~('(?iu).*149.*')
                      RETURN fi;


                      which also returns no records. The AND clause is working as it should.






                      share|improve this answer















                      I cleaned up your Cypher queries to create the database, hopefully I didn't make any mistakes. You will notice that I removed all of the WITH count(*) as dummy as they are not needed and only cause errors. For the statements that have both MATCH and CREATE they needed a WITH. I reordered and grouped similar statements so that they can all be done in one statement, e.g. end with ;.



                      CREATE (:UserData {user_id: 19});

                      MATCH (n:UserData {user_id: 19})
                      WITH n
                      CREATE (n)-[:CARD]->(:Card {name: "card"});

                      CREATE (:FieldUserGroup {data_id: 1290})
                      CREATE (:FieldUserGroup {data_id: 1280})
                      CREATE (:FieldUserGroup {data_id: 1270});

                      MATCH (f1:FieldUserGroup {data_id: 1290}),
                      (f2:FieldUserGroup {data_id: 1280}),
                      (f3:FieldUserGroup {data_id: 1270}),
                      (c1:Card {name: "card"})
                      WITH f1,f2,f3,c1
                      CREATE (c1)-[:FIELD_GROUP]->(f1)
                      CREATE (c1)-[:FIELD_GROUP]->(f2)
                      CREATE (c1)-[:FIELD_GROUP]->(f3);

                      CREATE (:Field {value: "jerry", object_field_id: 11})
                      CREATE (:Field {value: 2, object_field_id: 12})
                      CREATE (:Field {value: "tom", object_field_id: 13})
                      CREATE (:Field {value: "jack", object_field_id: 14})
                      CREATE (:Field {value: 1234, object_field_id: 15})
                      CREATE (:Field {value: "robin", object_field_id: 16})
                      CREATE (:Field {value: "zazaza", object_field_id: 17})
                      CREATE (:Field {value: 6578970, object_field_id: 18})
                      CREATE (:Field {value: "hamlet", object_field_id: 19});

                      MATCH (f1:FieldUserGroup {data_id: 1290}),
                      (c11:Field {value: "jerry"}),
                      (c12:Field {value: 2}),
                      (c13:Field {value: "tom"}),
                      (f2:FieldUserGroup {data_id: 1280}),
                      (c21:Field {value: "jack"}),
                      (c22:Field {value: 1234}),
                      (c23:Field {value: "robin"}),
                      (f3:FieldUserGroup {data_id: 1270}),
                      (c31:Field {value: "zazaza"}),
                      (c32:Field {value: 6578970}),
                      (c33:Field {value: "hamlet"})
                      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
                      CREATE (f1)-[:FIELD]->(c11)
                      CREATE (f1)-[:FIELD]->(c12)
                      CREATE (f1)-[:FIELD]->(c13)
                      CREATE (f2)-[:FIELD]->(c21)
                      CREATE (f2)-[:FIELD]->(c22)
                      CREATE (f2)-[:FIELD]->(c23)
                      CREATE (f3)-[:FIELD]->(c31)
                      CREATE (f3)-[:FIELD]->(c32)
                      CREATE (f3)-[:FIELD]->(c33);


                      MATCH (n:UserData {user_id: 19})
                      WITH n
                      CREATE (n)-[:CARD]->(:Card {name: "card2"});

                      CREATE (:FieldUserGroup {data_id: 1240})
                      CREATE (:FieldUserGroup {data_id: 1250})
                      CREATE (:FieldUserGroup {data_id: 1260});

                      MATCH (f1:FieldUserGroup {data_id: 1240}),
                      (f2:FieldUserGroup {data_id: 1250}),
                      (f3:FieldUserGroup {data_id: 1260}),
                      (c1:Card {name: "card2"})
                      WITH f1,f2,f3,c1
                      CREATE (c1)-[:FIELD_GROUP]->(f1)
                      CREATE (c1)-[:FIELD_GROUP]->(f2)
                      CREATE (c1)-[:FIELD_GROUP]->(f3);

                      CREATE (:Field {value: "some value", object_field_id: 20})
                      CREATE (:Field {value: "more value", object_field_id: 21})
                      CREATE (:Field {value: "this is insane!", object_field_id: 22})
                      CREATE (:Field {value: 14948576, object_field_id: 23})
                      CREATE (:Field {value: "GB", object_field_id: 24})
                      CREATE (:Field {value: 1, object_field_id: 25})
                      CREATE (:Field {value: 2, object_field_id: 26})
                      CREATE (:Field {value: "Marky", object_field_id: 27})
                      CREATE (:Field {value: "Tom Born", object_field_id: 28});

                      MATCH (f1:FieldUserGroup {data_id: 1240}),
                      (c11:Field {value: 2, object_field_id: 26}),
                      (c12:Field {value: "Marky"}),
                      (c13:Field {value: "Tom Born"}),
                      (f2:FieldUserGroup {data_id: 1250}),
                      (c21:Field {value: 14948576}),
                      (c22:Field {value: "GB"}),
                      (c23:Field {value: 1}),
                      (f3:FieldUserGroup {data_id: 1260}),
                      (c31:Field {value: "some value"}),
                      (c32:Field {value: "more value"}),
                      (c33:Field {value: "this is insane!"})
                      WITH f1,f2,f3,c11,c12,c13,c21,c22,c23,c31,c32,c33
                      CREATE (f1)-[:FIELD]->(c11)
                      CREATE (f1)-[:FIELD]->(c12)
                      CREATE (f1)-[:FIELD]->(c13)
                      CREATE (f2)-[:FIELD]->(c21)
                      CREATE (f2)-[:FIELD]->(c22)
                      CREATE (f2)-[:FIELD]->(c23)
                      CREATE (f3)-[:FIELD]->(c31)
                      CREATE (f3)-[:FIELD]->(c32)
                      CREATE (f3)-[:FIELD]->(c33);


                      enter image description here



                      The original query



                      MATCH (:UserData {user_id:19})-[:CARD]-(c:Card)-[:FIELD_GROUP]-()-[:FIELD]-(fi:Field) 
                      WHERE fi.object_field_id IN [23,24]
                      AND (fi.value=~('(?iu).*149.*')
                      AND fi.value=~('(?iu).*gb.*'))
                      RETURN c


                      is working correctly when it returns no records. This is because there are no nodes that match this part of the query



                      MATCH (fi:Field) 
                      WHERE fi.value=~('(?iu).*149.*')
                      RETURN fi;


                      which also returns no records. The AND clause is working as it should.







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited Nov 20 '18 at 15:14

























                      answered Nov 20 '18 at 13:00









                      Guy CoderGuy Coder

                      15.6k43983




                      15.6k43983













                      • This is not the same architecture as with count(*)

                        – MindSupport
                        Nov 20 '18 at 13:18











                      • Yes, i've noticed it and fixed< but query didn't work

                        – MindSupport
                        Nov 20 '18 at 13:20











                      • My Data looks like this one: i.imgur.com/9ACU9Zq.png

                        – MindSupport
                        Nov 20 '18 at 13:23











                      • i can't update post bacause of "It looks like your post is mostly code; please add some more details."

                        – MindSupport
                        Nov 20 '18 at 13:54











                      • Of interest: Cypher Where clause

                        – Guy Coder
                        Nov 20 '18 at 14:38



















                      • This is not the same architecture as with count(*)

                        – MindSupport
                        Nov 20 '18 at 13:18











                      • Yes, i've noticed it and fixed< but query didn't work

                        – MindSupport
                        Nov 20 '18 at 13:20











                      • My Data looks like this one: i.imgur.com/9ACU9Zq.png

                        – MindSupport
                        Nov 20 '18 at 13:23











                      • i can't update post bacause of "It looks like your post is mostly code; please add some more details."

                        – MindSupport
                        Nov 20 '18 at 13:54











                      • Of interest: Cypher Where clause

                        – Guy Coder
                        Nov 20 '18 at 14:38

















                      This is not the same architecture as with count(*)

                      – MindSupport
                      Nov 20 '18 at 13:18





                      This is not the same architecture as with count(*)

                      – MindSupport
                      Nov 20 '18 at 13:18













                      Yes, i've noticed it and fixed< but query didn't work

                      – MindSupport
                      Nov 20 '18 at 13:20





                      Yes, i've noticed it and fixed< but query didn't work

                      – MindSupport
                      Nov 20 '18 at 13:20













                      My Data looks like this one: i.imgur.com/9ACU9Zq.png

                      – MindSupport
                      Nov 20 '18 at 13:23





                      My Data looks like this one: i.imgur.com/9ACU9Zq.png

                      – MindSupport
                      Nov 20 '18 at 13:23













                      i can't update post bacause of "It looks like your post is mostly code; please add some more details."

                      – MindSupport
                      Nov 20 '18 at 13:54





                      i can't update post bacause of "It looks like your post is mostly code; please add some more details."

                      – MindSupport
                      Nov 20 '18 at 13:54













                      Of interest: Cypher Where clause

                      – Guy Coder
                      Nov 20 '18 at 14:38





                      Of interest: Cypher Where clause

                      – Guy Coder
                      Nov 20 '18 at 14:38


















                      draft saved

                      draft discarded




















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53375136%2fneo4j-dynamic-query-with-multiple-filters-on-nodes%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      這個網誌中的熱門文章

                      Academy of Television Arts & Sciences

                      L'Équipe

                      1995 France bombings