2013-08-02 13 views
6

Potrzebuję usunąć niektóre właściwości węzła z mojego wykresu. Postępując zgodnie z wytycznymi Cypher Próbowałem następujące:Usuń właściwość z wykresu Neo4j

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

otrzymuję komunikat o błędzie:

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

mogę powielić ten na console.neo4j.org. Jak powinieneś usunąć właściwość węzła?

Odpowiedz

10

Jakiej wersji Neo4j używasz? Od Neo4j 2.0 (nie jestem pewien, co dokładnie krok milowy, próbował go z M03), właściwości nie są „usunięte”, ale już „usunięte”:

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

Powinna działać z Neo4j 2.x.

Zostało to również odzwierciedlone w dokumentacji. Po prawej stronie strony (być może po pewnym czasie ładowania) masz menu rozwijane do wyboru wersji Neo4j. Po przejściu do dokumentacji DELETE i wybraniu etapu 2.0.0-M03 zauważysz, że punkt menu "Usuń właściwość" znika (link do dokumentacji M03 na DELETE: http://docs.neo4j.org/chunked/2.0.0-M03/query-delete.html).

Zamiast tego dokumentacja dla wersji 2.0.0-M03 na REMOVE (tutaj: http://docs.neo4j.org/chunked/2.0.0-M03/query-remove.html) zawiera teraz sekcję "Usuń właściwość".

8

Kolejny przykład.

Dla Neo4j 3,0, ponieważ węzeł z kluczami własności, imię i wiek, aby usunąć właściwość wiek jest również ważne:

Tworzenie węzeł:

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

usunąć klucz nieruchomości wiek:

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

Od Neo4j 3,0 dokumentacji https://neo4j.com/docs/developer-manual/current/cypher/#query-remove

Powiązane problemy