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.

Reply via email to