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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/orient-database/5823785e-3843-4253-9bf6-a281be7c06d2%40googlegroups.com.