Hi, Please use back-ticks when you refer to property names, and use the new SQL executor (you are using the legacy one), I'm pretty sure it all works fine ;-)
db.query("SELECT expand(" + "both('Distance').bothE()[`Entity similarity` > 1 ]" + ") FROM " + v.getIdentity()); Thanks Luigi Il giorno gio 29 ago 2019 alle ore 14:58 Maverick <alberto.si...@gmail.com> ha scritto: > Can somebody here explain why the code below produces 1 result (while it > should give zero, because the condition >1 is not matched)? > If I query 'Entity similarity' < 1 it gives zero records. The same if I > use backticks instead of apex. > I'm using version 3.0.19 > > package odbtest; import > com.orientechnologies.orient.core.db.ODatabasePool; import > com.orientechnologies.orient.core.db.ODatabaseType; import > com.orientechnologies.orient.core.db.OrientDB; import > com.orientechnologies.orient.core.db.OrientDBConfig; import > com.orientechnologies.orient.core.db.document.ODatabaseDocument; import > com.orientechnologies.orient.core.db.record.OIdentifiable; import > com.orientechnologies.orient.core.record.OEdge; import > com.orientechnologies.orient.core.record.OVertex; import > com.orientechnologies.orient.core.record.impl.ODocument; import > com.orientechnologies.orient.core.sql.query.OSQLSynchQuery; public class > ODBTest { public static void main( String[] args ) { new ODBTest().run(); } > ODatabaseDocument session; public void run() { OrientDBConfig dbConfig = > OrientDBConfig.defaultConfig(); String dbname = "test"; OrientDB orientDB = > new OrientDB("memory:", dbConfig); orientDB.createIfNotExists( dbname, > ODatabaseType.MEMORY ); session = new ODatabasePool( orientDB, dbname, > "admin", "admin" ).acquire(); session.createVertexClass( "Entry" ); > session.createEdgeClass( "Distance" ); OVertex v1 = addVertex( "Vertex 1" > ); OVertex v2 = addVertex( "Vertex 2" ); addEdge( v1, v2, 0.2 ); query( v1 > ); } private OVertex addVertex( String prop ) { OVertex v = > session.newVertex( "Entry" ); v.setProperty( "myProp", prop ); v.save(); > session.commit(); return v; } public void addEdge( OVertex v1, OVertex v2, > double distance ) { OEdge edge = session.newEdge( v1, v2, "Distance" ); > edge.setProperty( "Entity similarity", distance ); edge.save(); > session.commit(); } public void query( OVertex v ) { for( OIdentifiable id > : new OSQLSynchQuery<ODocument>( "SELECT expand(" + > "both('Distance').bothE()['Entity similarity' > 1 ]" + ") FROM " + > v.getIdentity() )) { ODocument doc = session.getRecord( id ); > System.out.println( doc ); } } } > > -- > > --- > You received this message because you are subscribed to the Google Groups > "OrientDB" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to orient-database+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/orient-database/5823785e-3843-4253-9bf6-a281be7c06d2%40googlegroups.com > <https://groups.google.com/d/msgid/orient-database/5823785e-3843-4253-9bf6-a281be7c06d2%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to orient-database+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/orient-database/CAFZLH8ntEzsoKoMEimYTSGMXsw%3DMhpfzm72QU-ynt9fVvnn0Jg%40mail.gmail.com.