2013-08-02 3 views
6

Мне нужно удалить некоторые свойства узла из моего графика. После Cypher руководящих принципов, я попытался следующие:Удалить свойство из графика Neo4j

START n=node(1) 
DELETE n.property 
RETURN n 

Я получаю сообщение об ошибке:

Expression `Property` yielded `true`. Don't know how to delete that. 

Я могу повторить это на console.neo4j.org. Как вы должны удалить свойство узла?

ответ

10

Какая версия Neo4j вы используете? Поскольку Neo4j 2.0 (я не уверен, что именно этап, попробовал с M03), свойства не «удалены» больше, но «удалены»:

START n=node(1) 
REMOVE n.property 
RETURN n 

Должен работать с Neo4j 2.x.

Это также отражено в документации. В правой части страницы (возможно, после некоторого времени загрузки) у вас есть раскрывающееся меню для выбора версии Neo4j. Когда вы переходите к документации DELETE и выбираете веху 2.0.0-M03, вы заметите, что пункт меню «Удалить свойство» исчезнет (ссылка на документацию M03 на DELETE: http://docs.neo4j.org/chunked/2.0.0-M03/query-delete.html).

Вместо этого в документации на 2.0.0-M03 на REMOVE (здесь: http://docs.neo4j.org/chunked/2.0.0-M03/query-remove.html) теперь отображается раздел «Удалить свойство».

8

Еще один пример.

Для Neo4j 3.0, данный узел с ключами собственности, имя и возраст, чтобы удалить свойство возрастную также справедливо:

Создать узел:

CREATE (n {name:'Andres', age:25}) return n 

Удалить ключ свойства возраст:

MATCH (andres { name: 'Andres' }) REMOVE andres.age RETURN andres 

С Neo4j 3.0 документации https://neo4j.com/docs/developer-manual/current/cypher/#query-remove

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