2014-06-23 4 views
0

방금 ​​2.0.1에서 Neo4j 2.1.2로 업그레이드했고 일부 사이퍼 쿼리가 작동을 멈췄습니다. 자체 정의 Lucene 색인을 사용하여 시작 노드를 찾고, 입력 된 관계 (Partner_PartnerMeta)를 통해 입력 된 노드 (PartnerTyp)로 이동합니다. 그 후 나는이 노드들의 부분 집합만을 리턴한다.레거시 색인을 사용할 때 neo4j 2.1.2에서 레이블을 어떻게 확인합니까?

내 쿼리는 이전에 스타트 노드 (PartnerMeta)의 유형을 확인하는 데 사용되었습니다. "PartnerMeta"쿼리의 일부 2.1.2 쿼리

Cannot add labels or properties on a node which is already bound (line 2, column 52) 
"MATCH (partner:PartnerTyp)-[:Partner_PartnerMeta]->(partnermeta:PartnerMeta)" 
                ^

이러한 오류

START partnermeta = node:PartnerTyp_Meta("Namen:wilhelm*") 
MATCH (partner:PartnerTyp)-[:Partner_PartnerMeta]->(partnermeta:PartnerMeta) 
RETURN DISTINCT partner SKIP 0 LIMIT 10 

결과 때문에 생략함으로써 억제 될 수있다. 인덱스에서 반환 된 노드 유형이 아직 확인되지 않았으므로이 유형이 "PartnerMeta"유형인지 확인하고 싶습니다 (어쩌면 내가 너무 편집증적임).

내 질문 : 레거시 인덱스와 함께 START를 사용한 후에 노드 유형을 확인할 수 있습니까?

답변

0

이것은 Cypher 2.1.2의 회귀이며 수정 될 예정입니다. 레이블 검사의 잘못된 조합을 피하기위한 시도였습니다. 지금은

, 당신은 시도 할 수 있습니다 :

START partnermeta = node:PartnerTyp_Meta("Namen:wilhelm*") 
MATCH (partner:PartnerTyp)-[:Partner_PartnerMeta]->(partnermeta) 
WHERE partnermeta:PartnerMeta 
RETURN DISTINCT partner SKIP 0 LIMIT 10 
+0

덕분에 많이. 그건 잘 됐네. 그것은 where 절에 요구 사항을 공식화하는 데 나에게 발생하지 않았다. – Ancalon

관련 문제