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.

Reply via email to