Howdy,

Setup:
neo4j 2.1.2
spatial plugin: neo4j-spatial-0.12

I'm trying to query on spatial index that I created via php, the cypher 
query works in a browser when I run neo4j standalone eg:

START n = node:geo_main('withinDistance:[41.061878,-73.79705, 2.2]') where 
> n.city = "white plains" return n 


gives back results.

However, when I stop neo4j and load the db from java:

...
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH );
...
...
public List<Node> listOfNodesWithinDist(double lat, double lon, double 
maxDist) {
ExecutionEngine engine = new ExecutionEngine( graphDb, StringLogger.SYSTEM 
);
ExecutionResult result = null;
List<Node> nodes = new ArrayList<Node>();
 try ( Transaction tx = graphDb.beginTx(); )
{
result = engine.execute( "START n = 
node:geom('withinDistance:["+lat+","+lon+", "+maxDist+"]') return n" );

ResourceIterator<Node> n_column = result.columnAs("n");
 for ( Node node : IteratorUtil.asIterable( n_column ) )
{ 
nodes.add(node);
}
 tx.success();
}
catch(org.neo4j.cypher.SyntaxException E){
System.out.println(E.getMessage());
}
 return nodes;
}

I get:

Exception in thread "main" java.lang.NoClassDefFoundError: 
org/apache/commons/lang/NotImplementedException
        at 
org.neo4j.gis.spatial.indexprovider.SpatialIndexImplementation.nodeIndex(SpatialIndexImplementation.java:47)
        at 
org.neo4j.kernel.impl.coreapi.IndexManagerImpl.getOrCreateNodeIndex(IndexManagerImpl.java:318)
        at 
org.neo4j.kernel.impl.coreapi.IndexManagerImpl.forNodes(IndexManagerImpl.java:302)
        at 
org.neo4j.kernel.impl.coreapi.IndexManagerImpl.forNodes(IndexManagerImpl.java:294)
        at 
org.neo4j.cypher.internal.spi.v2_1.TransactionBoundQueryContext$NodeOperations.indexQuery(TransactionBoundQueryContext.scala:172)
        at 
org.neo4j.cypher.internal.compiler.v2_1.spi.DelegatingOperations.indexQuery(DelegatingQueryContext.scala:128)
        at 
org.neo4j.cypher.internal.compiler.v2_1.spi.ExceptionTranslatingQueryContext$ExceptionTranslatingOperations.org$neo4j$cypher$internal$compiler$v2_1$spi$ExceptionTranslatingQueryContext$ExceptionTranslatingOperations$$super$indexQuery(ExceptionTranslatingQueryContext.scala:142)
        at 
org.neo4j.cypher.internal.compiler.v2_1.spi.ExceptionTranslatingQueryContext$ExceptionTranslatingOperations$$anonfun$indexQuery$1.apply(ExceptionTranslatingQueryContext.scala:142)
        at 
org.neo4j.cypher.internal.compiler.v2_1.spi.ExceptionTranslatingQueryContext$ExceptionTranslatingOperations$$anonfun$indexQuery$1.apply(ExceptionTranslatingQueryContext.scala:142)
        at 
org.neo4j.cypher.internal.compiler.v2_1.spi.ExceptionTranslatingQueryContext.org$neo4j$cypher$internal$compiler$v2_1$spi$ExceptionTranslatingQueryContext$$translateException(ExceptionTranslatingQueryContext.scala:149)
        at 
org.neo4j.cypher.internal.compiler.v2_1.spi.ExceptionTranslatingQueryContext$ExceptionTranslatingOperations.indexQuery(ExceptionTranslatingQueryContext.scala:142)
        at 
org.neo4j.cypher.internal.compiler.v2_1.spi.DelegatingOperations.indexQuery(DelegatingQueryContext.scala:128)
        at 
org.neo4j.cypher.internal.compiler.v2_1.commands.EntityProducerFactory$$anonfun$2$$anonfun$applyOrElse$2.apply(EntityProducerFactory.scala:69)
        at 
org.neo4j.cypher.internal.compiler.v2_1.commands.EntityProducerFactory$$anonfun$2$$anonfun$applyOrElse$2.apply(EntityProducerFactory.scala:67)
        at 
org.neo4j.cypher.internal.compiler.v2_1.commands.EntityProducerFactory$$anon$1.apply(EntityProducerFactory.scala:37)
        at 
org.neo4j.cypher.internal.compiler.v2_1.commands.EntityProducerFactory$$anon$1.apply(EntityProducerFactory.scala:36)
        at 
org.neo4j.cypher.internal.compiler.v2_1.pipes.StartPipe$$anonfun$internalCreateResults$1.apply(StartPipe.scala:37)
        at 
org.neo4j.cypher.internal.compiler.v2_1.pipes.StartPipe$$anonfun$internalCreateResults$1.apply(StartPipe.scala:36)
        at scala.collection.Iterator$$anon$13.hasNext(Iterator.scala:371)
        at 
org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator$$anonfun$hasNext$1.apply$mcZ$sp(ClosingIterator.scala:37)
        at 
org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator$$anonfun$hasNext$1.apply(ClosingIterator.scala:34)
        at 
org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator$$anonfun$hasNext$1.apply(ClosingIterator.scala:34)
        at 
org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator$$anonfun$failIfThrows$1.apply(ClosingIterator.scala:93)
        at 
org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator.decoratedCypherException(ClosingIterator.scala:102)
        at 
org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator.failIfThrows(ClosingIterator.scala:91)
        at 
org.neo4j.cypher.internal.compiler.v2_1.ClosingIterator.hasNext(ClosingIterator.scala:34)
        at 
org.neo4j.cypher.internal.compiler.v2_1.PipeExecutionResult.hasNext(PipeExecutionResult.scala:166)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:327)
        at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:327)
        at 
scala.collection.convert.Wrappers$IteratorWrapper.hasNext(Wrappers.scala:29)
        at 
org.neo4j.cypher.internal.compiler.v2_1.PipeExecutionResult$$anon$1.hasNext(PipeExecutionResult.scala:74)



I've also tried:

try (Transaction tx = graphDb.beginTx();) {
IndexManager index = graphDb.index();
// autoIndex = index.forNodes( "node_auto_index" );
geomIndex = index.forNodes("geo_main");
Map<String, Object> params = new HashMap<String, Object>();
params.put(LayerNodeIndex.POINT_PARAMETER, new Double[] { x, y });
params.put(LayerNodeIndex.DISTANCE_IN_KM_PARAMETER, maxDist);
IndexHits<Node> hits = 
geomIndex.query(LayerNodeIndex.WITHIN_DISTANCE_QUERY, params);
for (Node stop : hits) {
nodes.add(stop); 
}
tx.success();
} catch (org.neo4j.cypher.SyntaxException E) {
System.out.println(E.getMessage());
}

which gave me the same exception on line (geomIndex = 
index.forNodes("geo_main");)

Is it a bug or am I doing something wrong ?

Thanks!!

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to