나는 p1 : Encounter와 같은 ICD9DX 코드를 가진 모든 만남 (p2)을 반환하고 싶습니다. 그래서 p1이 3 개의 ICD9DX 코드를 가지고 있다면, 같은 3 개의 코드를 가진 p2 노드를 찾고 싶습니다. 궁극적으로 나는 에만이 동일한 3 개의 코드를 가지고 있고 그것을 쓰는 방법이 적어도 그 그 3 개의 코드를 가지고있는 것들을 돌려 줄 수 있도록 p2 노드를 리턴 할 수 있도록 쿼리를 작성하는 방법을 알고 싶습니다. 나는 답을 얻었지만 지금까지 성공하지 못했던 다른 질문에서 이것을 찾아 내려고 노력했다. 아래는 최신 반복입니다.일치하는 모든 연결에서 노드를 어떻게 일치시킬 수 있습니까?
MATCH path=((p1:Encounter {PatientAccount: '1003149560'})-[:HasICD9Dx]-(i:ICD9DX)-[:HasICD9Dx]-(p2:Encounter))
WHERE ALL(p1 in tail(nodes(path)) WHERE()-[:HasICD9Dx]->p1)
RETURN p2
저는 Neo4j의 새로운 제품이므로 논리에 대한 설명이 도움이 될 것입니다. WITH를 사용하여 유사한 주제에 접근하는 다른 게시물을 보았습니다. 그러나 WITH 절을 이해하는 데 어려움을 겪고 있습니다. 어쩌면 나는 매뉴얼을 파고 읽을 필요가있을 것이다.
는 특히 3 코드에 대한 중요한 아무것도 없다 아니면 몇 가지 코드를 의미합니까? – FrobberOfBits
두 가지 질문을하는 질문을 볼 수 있습니다. (1) 만남이 똑같은 코드와 더 이상없고 (2) 만남이 적어도이 코드를가집니다. 나는 내가 그것을 이해했다고 생각한다. 나는 도착한 답을 알려줄 것입니다. –
WITH 절 : RETURN과 비슷하지만, 하나의 쿼리 파트에서 다른 쿼리 파트로 데이터를 전송하면, 전송 한 것만 볼 수 있고 RETURN과 마찬가지로 프로젝션, 집계, 필터링, 정렬을 수행 할 수 있습니다. –