Пример #1
0
  @Test
  public void find_movies_johns_friends_have_seen() {
    ExecutionEngine engine = new ExecutionEngine(graphDb);

    String cql =
        "start john=node:users(name = \"John Johnson\") match john-[:IS_FRIEND_OF]->(user)-[:HAS_SEEN]->(movie) return movie;\n";

    ExecutionResult result = engine.execute(cql);
    logger.info("Execution result:" + result.dumpToString());
  }
Пример #2
0
  @Test
  public void find_movies_johns_friends_have_seen_but_john_hasnt_seen_CORRECT() {
    ExecutionEngine engine = new ExecutionEngine(graphDb);

    String cql =
        "start john=node:users(name = \"John Johnson\")\n"
            + "match john-[:IS_FRIEND_OF]->(user)-[:HAS_SEEN]->(movie) \n"
            + "optional match john-[r:HAS_SEEN]->(movie)\n"
            + "where r is null\n"
            + "return movie.name;\n";

    ExecutionResult result = engine.execute(cql);
    logger.info("Execution result:" + result.dumpToString());
  }
Пример #3
0
  @Test
  // shown for completeness
  // this query does not return expected results - see next test for correct solution
  public void find_movies_johns_friends_have_seen_but_john_hasnt_seen_INCORRECT() {
    ExecutionEngine engine = new ExecutionEngine(graphDb);

    String cql =
        "start john=node:users(name = \"John Johnson\")\n"
            + "match\n"
            + "john-[:IS_FRIEND_OF]->(user)-[:HAS_SEEN]->(movie),\n"
            + "john-[r:HAS_SEEN]->(movie)\n"
            + "return movie;\n";

    ExecutionResult result = engine.execute(cql);
    logger.info("Execution result:" + result.dumpToString());
  }