2013-05-02 5 views
1

Я использую Neo4j 1.8.RC1 и пытаюсь создать коэффициент кластеризации для узлов на моем графике.ExecutionEngine не распознающий параметр

У меня есть следующий код, который, насколько я могу сказать, работает на системе Linux, но не работает на моей машине Windows:

Map<String, Object> params = new HashMap<String, Object>(); 

String query; 
String typeString; 

if (type == <some type>) { 
    typeString = "TYPE1"; 
} 
else { 
    typeString = "TYPE2"; 
} 

params.put("myid", userid); 
query = "start a=node(*) match (a)-[:"+ typeString +"]-(b) WITH a, count(distinct b) as n " 
     + "match (a)-[:" + typeString + "]-()-[r:"+ typeString+"]-()-[:"+typeString+"]-(a) where a.thisId! = {myid} return n, count(distinct r) as relcount"; 

ExecutionEngine engine = new ExecutionEngine(graphDb); 
ExecutionResult result = engine.execute(query, params); 

При попытке получить доступ к результату, я get

Exception in thread "main" java.lang.RuntimeException: org.neo4j.cypher.ParameterNotFoundException: Expected a parameter named myid 

Я прошел через и проверил, что он есть. Что происходит?

+0

«Я использую Neo4j 1.8.RC1» - Вы имеете в виду ** 1.9 ** RC1? – ean5533

+0

Нет, я имею в виду 1.8 RC1. – betseyb

+0

Почему вы используете 1.8RC1? 1.8 был стабильным в течение длительного времени. Они идут к версии 1.8.2. Возможно, вы очень хорошо столкнулись с ошибкой, которая была установлена ​​между 1.8.RC1 и 1.8.2. – ean5533

ответ

0

Как отмечалось выше, эта проблема была решена путем обновления с 1.8.RC1 до 1.8.2. Хотя у меня нет отчета об ошибке, это явно ошибка в Neo4j, которая была разрешена где-то между этими версиями.

Смежные вопросы