Neo4j. Dynamic query with multiple filters on nodes











up vote
0
down vote

favorite












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 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 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 at 15:40










  • Ok i'll build test data
    – MindSupport
    Nov 19 at 17:18






  • 1




    Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.
    – stdob--
    Nov 20 at 12:27















up vote
0
down vote

favorite












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 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 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 at 15:40










  • Ok i'll build test data
    – MindSupport
    Nov 19 at 17:18






  • 1




    Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.
    – stdob--
    Nov 20 at 12:27













up vote
0
down vote

favorite









up vote
0
down vote

favorite











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 at 14:15

























asked Nov 19 at 12:56









MindSupport

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 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 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 at 15:40










  • Ok i'll build test data
    – MindSupport
    Nov 19 at 17:18






  • 1




    Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.
    – stdob--
    Nov 20 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 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 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 at 15:40










  • Ok i'll build test data
    – MindSupport
    Nov 19 at 17:18






  • 1




    Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.
    – stdob--
    Nov 20 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 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 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 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 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 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 at 15:40












Ok i'll build test data
– MindSupport
Nov 19 at 17:18




Ok i'll build test data
– MindSupport
Nov 19 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 at 12:27




Those parameters that you use in the query (2293, 2294, '.*konst.*') are missing in the test data.
– stdob--
Nov 20 at 12:27












3 Answers
3






active

oldest

votes

















up vote
0
down vote













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




























    up vote
    0
    down vote













    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




























      up vote
      0
      down vote













      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 at 13:18










      • Yes, i've noticed it and fixed< but query didn't work
        – MindSupport
        Nov 20 at 13:20










      • My Data looks like this one: i.imgur.com/9ACU9Zq.png
        – MindSupport
        Nov 20 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 at 13:54










      • Of interest: Cypher Where clause
        – Guy Coder
        Nov 20 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',
      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








      up vote
      0
      down vote













      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

























        up vote
        0
        down vote













        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























          up vote
          0
          down vote










          up vote
          0
          down vote









          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 at 13:56









          MindSupport

          13




          13
























              up vote
              0
              down vote













              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

























                up vote
                0
                down vote













                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























                  up vote
                  0
                  down vote










                  up vote
                  0
                  down vote









                  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 at 14:13









                  MindSupport

                  13




                  13






















                      up vote
                      0
                      down vote













                      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 at 13:18










                      • Yes, i've noticed it and fixed< but query didn't work
                        – MindSupport
                        Nov 20 at 13:20










                      • My Data looks like this one: i.imgur.com/9ACU9Zq.png
                        – MindSupport
                        Nov 20 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 at 13:54










                      • Of interest: Cypher Where clause
                        – Guy Coder
                        Nov 20 at 14:38















                      up vote
                      0
                      down vote













                      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 at 13:18










                      • Yes, i've noticed it and fixed< but query didn't work
                        – MindSupport
                        Nov 20 at 13:20










                      • My Data looks like this one: i.imgur.com/9ACU9Zq.png
                        – MindSupport
                        Nov 20 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 at 13:54










                      • Of interest: Cypher Where clause
                        – Guy Coder
                        Nov 20 at 14:38













                      up vote
                      0
                      down vote










                      up vote
                      0
                      down vote









                      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 at 15:14

























                      answered Nov 20 at 13:00









                      Guy Coder

                      14.1k43781




                      14.1k43781












                      • This is not the same architecture as with count(*)
                        – MindSupport
                        Nov 20 at 13:18










                      • Yes, i've noticed it and fixed< but query didn't work
                        – MindSupport
                        Nov 20 at 13:20










                      • My Data looks like this one: i.imgur.com/9ACU9Zq.png
                        – MindSupport
                        Nov 20 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 at 13:54










                      • Of interest: Cypher Where clause
                        – Guy Coder
                        Nov 20 at 14:38


















                      • This is not the same architecture as with count(*)
                        – MindSupport
                        Nov 20 at 13:18










                      • Yes, i've noticed it and fixed< but query didn't work
                        – MindSupport
                        Nov 20 at 13:20










                      • My Data looks like this one: i.imgur.com/9ACU9Zq.png
                        – MindSupport
                        Nov 20 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 at 13:54










                      • Of interest: Cypher Where clause
                        – Guy Coder
                        Nov 20 at 14:38
















                      This is not the same architecture as with count(*)
                      – MindSupport
                      Nov 20 at 13:18




                      This is not the same architecture as with count(*)
                      – MindSupport
                      Nov 20 at 13:18












                      Yes, i've noticed it and fixed< but query didn't work
                      – MindSupport
                      Nov 20 at 13:20




                      Yes, i've noticed it and fixed< but query didn't work
                      – MindSupport
                      Nov 20 at 13:20












                      My Data looks like this one: i.imgur.com/9ACU9Zq.png
                      – MindSupport
                      Nov 20 at 13:23




                      My Data looks like this one: i.imgur.com/9ACU9Zq.png
                      – MindSupport
                      Nov 20 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 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 at 13:54












                      Of interest: Cypher Where clause
                      – Guy Coder
                      Nov 20 at 14:38




                      Of interest: Cypher Where clause
                      – Guy Coder
                      Nov 20 at 14:38


















                       

                      draft saved


                      draft discarded



















































                       


                      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







                      Popular posts from this blog

                      Feedback on college project

                      Futebolista

                      Albești (Vaslui)