use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.
the class NodeQueryStatementsTest method testFindByMultipleOrPropertiesGreaterThan.
// DATAGRAPH-629
@Test
public void testFindByMultipleOrPropertiesGreaterThan() {
Filter nameParam = new Filter("name", ComparisonOperator.EQUALS, "AST-1");
Filter diameterParam = new Filter("diameter", ComparisonOperator.GREATER_THAN, 60);
diameterParam.setBooleanOperator(BooleanOperator.OR);
assertThat(queryStatements.findByType("Asteroid", new Filters().add(nameParam).add(diameterParam), 2).getStatement()).isEqualTo("MATCH (n:`Asteroid`) WHERE n.`name` = $`name_0` OR n.`diameter` > $`diameter_1` WITH n MATCH p=(n)-[*0..2]-(m) RETURN p, ID(n)");
}
use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.
the class NodeQueryStatementsTest method testFindByNestedPropertyUndirected.
// DATAGRAPH-629
@Test
public void testFindByNestedPropertyUndirected() {
Filter planetParam = new Filter("name", ComparisonOperator.EQUALS, "Earth");
planetParam.setNestedPropertyName("collidesWith");
planetParam.setNestedEntityTypeLabel("Planet");
planetParam.setRelationshipType("COLLIDES");
planetParam.setRelationshipDirection(Relationship.Direction.UNDIRECTED);
assertThat(queryStatements.findByType("Asteroid", new Filters().add(planetParam), 1).getStatement()).isEqualTo("MATCH (n:`Asteroid`) MATCH (m0:`Planet`) WHERE m0.`name` = $`collidesWith_name_0` MATCH (n)-[:`COLLIDES`]-(m0) WITH DISTINCT n MATCH p=(n)-[*0..1]-(m) RETURN p, ID(n)");
}
use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.
the class NodeQueryStatementsTest method testFindByMultipleNestedPropertiesOredDepth0.
// DATAGRAPH-662
@Test(expected = UnsupportedOperationException.class)
public void testFindByMultipleNestedPropertiesOredDepth0() {
Filter diameterParam = new Filter("diameter", ComparisonOperator.GREATER_THAN, 60);
Filter planetParam = new Filter("name", ComparisonOperator.EQUALS, "Earth");
planetParam.setBooleanOperator(BooleanOperator.OR);
planetParam.setNestedPropertyName("collidesWith");
planetParam.setNestedEntityTypeLabel("Planet");
planetParam.setRelationshipType("COLLIDES");
planetParam.setRelationshipDirection(Relationship.Direction.OUTGOING);
String statement = queryStatements.findByType("Asteroid", new Filters().add(diameterParam).add(planetParam), 0).getStatement();
}
use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.
the class NodeQueryStatementsTest method testFindByDistance.
@Test
public void testFindByDistance() {
DistanceComparison function = new DistanceComparison(new DistanceFromPoint(37.4d, 112.9d, 1000.0d));
Filters filters = new Filters().add(new Filter(function, ComparisonOperator.EQUALS));
String statement = queryStatements.findByType("Restaurant", filters, 4).getStatement();
assertThat(statement).isEqualTo("MATCH (n:`Restaurant`) WHERE distance(point({latitude: n.latitude, longitude: n.longitude}),point({latitude: $lat, longitude: $lon})) = $distance WITH n MATCH p=(n)-[*0..4]-(m) RETURN p, ID(n)");
}
use of org.neo4j.ogm.cypher.Filter in project neo4j-ogm by neo4j.
the class NodeQueryStatementsTest method testFindByChainedAndedProperties.
// DATAGRAPH-445
@Test
public void testFindByChainedAndedProperties() {
Filter planetParam = collidesWithEarthFilter();
Filter moonParam = orbitsMoonFilter();
assertThat(queryStatements.findByType("Asteroid", new Filters().add(planetParam).and(moonParam), 1).getStatement()).isEqualTo("MATCH (n:`Asteroid`) MATCH (m0:`Planet`) WHERE m0.`name` = $`collidesWith_name_0` " + "MATCH (m1:`Moon`) WHERE m1.`name` = $`moon_name_1` MATCH (n)-[:`COLLIDES`]->(m0) " + "MATCH (n)<-[:`ORBITS`]-(m1) WITH DISTINCT n MATCH p=(n)-[*0..1]-(m) RETURN p, ID(n)");
}
Aggregations