2015-05-01 2 views
0

Я работаю с версией neo4j 2.2.1. Я хотел бы знать, как удалить определенный узел, используя запрос cypher в java-программе, содержащей параметр. я попробовал это, но это не будет работать:удаление узла cypher java

Map<String, Object> params = new HashMap<String, Object>(); 
params.put("numero", "1"); 
String query1 ="MATCH (pe:Person) WHERE PeNumero={numero} DELETE pe"; 
Result result1 = graphDb.execute(query1, params); 

Люди мой ярлык узла и PeNumero является одним из его свойств. Большое спасибо, ghrs

ответ

0

так что проблема окончательно решена. Я использовал запрос Cypher, чтобы найти узел, получить его id, а затем удалить узел, используя транзакцию, которая получает узел по id.It работал! Спасибо FrobberOfBits и киберсам.

0

Чтобы удалить узел, вам, вероятно, придется также удалить его отношения. В противном случае удаление узла приведет к «оборванным» отношениям, что ничего не значит, и это недопустимо. Попробуйте это вместо:

MATCH (pe:Person)-[r]-(m) WHERE PeNumero={numero} DELETE r, pe; 
+0

Я просто попытался это, я получил сообщение об ошибке о PeNumero не определено. Я попробовал MATCH (pe: Person) - [r] - (m) WHERE pe.PeNumero = {numero} DELETE r, pe; Ошибок нет, но все еще не работает. –

+0

Действительно ли узел существует? То есть, этот запрос возвращает узел: 'MATCH (pe: Person) WHERE pe.PeNumero = {numero} RETURN pe'? – cybersam

+0

Да, этот запрос возвращает узел. Я создал узлы. Но я не знаю, как удалить. –

0

Попробуйте как этот

MATCH (pe:Person {PeNumero:{numero}}) 
OPTIONAL MATCH (pe)-[r]-(m) 
DELETE r, pe; 

Это удалит этот конкретный узел, и если этот узел имеет некоторые отношения, то, что отношения будут удаляются.

Вы можете проверить ссылки здесь http://neo4j.com/docs/stable/query-delete.html

+0

Привет, Сатиш, я просто попробовал этот запрос, я получил ошибку: «Недопустимый вход« O »: ожидаемый пробел, комментарий, ')' или шаблон отношения« Я работаю с Cypher, встроенным в Java. Решение, которое я просто положил, использует транзакции (не самый лучший, но решает сделку) Спасибо! –

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