2016-07-26 1 views
1

쉘을 통해 neo4j 3.0.3으로 간단한 Cypher 쿼리를 실행하려고합니다.neo4j cypher 3.0에서 변수에 경로를 지정하는 중 오류가 발생했습니다.

MATCH p=(me)<-[:contains*1..10000]-(end) RETURN p; 

을 나는 다음과 같은 오류를 얻을이 쿼리를 실행하려고하면 다음과 같이 내 쿼리는

WARNING: Invalid input '=': expected an identifier character, node labels, a property map, a relationship pattern, ',', USING, WHERE, LOAD CSV, START, MATCH, UNWIND, MERGE, CREATE, SET, DELETE, REMOVE, FOREACH, WITH, CALL, RETURN, UNION, ';' or end of input (line 1, column 8 (offset: 7)) "MATCH p=(me)<-[:contains*1..10000]-(end) RETURN p" ^

나는 사이퍼의 사용 버전 2.3을 기쁘게 쉘을 말하여 동일한 쿼리를 실행할 때 모든 것이 괜찮 :

CYPHER 2.3 MATCH p=(me)<-[:contains*1..10000]-(end) WHERE id(me)=51 AND ALL(x in nodes(p) WHERE x.rtype <> 'unknown') AND NOT (end)<-[:contains]-(:res) AND end.rtype='project' RETURN p; 

나는 다음과 같은 쿼리의 예를 들어 같은 변수 페이지의 경로의 할당을 제거 할 때 :

O를
MATCH (me)<-[:contains*1..10000]-(end) RETURN me; 

이 쿼리는 정상적으로 실행됩니다.

나는 사이퍼 설명서를 읽고 코드에있는 것처럼 변수에 경로를 할당하는 match 절을 사용하는 많은 예제를 찾았습니다.

내가 뭘 잘못하고 있는지 실마리가 있습니까?

+0

오류를 재현 할 수 없습니다. 'CYPHER 2.3 '앞에 줄을 편집 했습니까? 아니면 다시 입력 했습니까? "="처럼 보이는 다른 문자를 입력하지 않았습니까? –

+0

@FrankPavageau : 내 대답은 아래를 참조하십시오. 그것은 실제로 maven 의존성 문제였습니다. 조사해 주셔서 감사합니다. – Valentin

답변

0

실제로 이것이 프로젝트 설정에 문제가되었다고 밝혀졌습니다. 나는 Maven이 관리하는 큰 프로젝트에서 neo4j를 사용하고 있습니다. 설치 프로그램은 parboiled의 이전 버전이 neo4j 3에서 사용하는 버전을 대체하도록 설정되었습니다.이 이전 버전에서는 이러한 쿼리를 성공적으로 구문 분석 할 수 없었습니다.

관련 문제