2014-07-05 1 views
1

나머지 사이퍼를 사용하여 패턴 관계를 찾으려면 어떻게해야합니까?나머지 사이퍼를 사용하여 패턴 관계 찾기

내 쿼리 단말에서 실행 - 종속 ORDER AS

MATCH (n)<-[:DEPENDS_ON*]-(dependent) RETURN n.host as Host, 

카운트 (종속 DISTINCT) 부양 DESC의 LIMIT 1 **

출력된다 : -

+ - ------------------- + | 호스트 | 부양 가족 |

+ -------------------- + | "SAN"| 20 | + -------------------- +

경우 나머지 해당 쿼리와 같은 : -

String query = "{\"query\" : \"MATCH (website)<-[rel]-(dependent) " + 
       "WHERE TYPE(rel) = {rtype} RETURN website.host as Host," + 
       "count(DISTINCT dependent) AS Dependents ORDER BY Dependents DESC LIMIT 1" + 
       " \", \"params\" : {\"rtype\" : \"DEPENDS_ON*\"}}";  

및 출력이 비어 (아무 기록) !!!

도움을 주시면 감사하겠습니다.

P.S- 우리 쿼리에서 "*"를 사용하지 않으면 모든 것이 잘됩니다. IE 두 쿼리 모두 동일한 결과를 얻습니다.

답변

1

두 번째 쿼리에서 별표가 포함되어 있으므로 관계 유형을 "DEPENDS_ON *"으로 전달합니다.

별표는 지정된 관계에 대해 임의의 길이의 경로를 허용하기위한 것이지만 유형의 일부는 아닙니다.

+0

실망. *는 좋은 의미가 있습니다. 그 두 쿼리에 모두 잘 cypher와 함께 작동하지만 내게 나머지와 동일한 결과를 제공하지 않는다 –

+0

쿼리 자체에 별표를 남겨두고 해제 한 다음 필터링하여 동일한 결과를 얻을 수 있습니다. String query = " "+ "TYPE (_rel) = {rtype} RETURN 웹 사이트, _rel 웹 사이트, _rel WHERE "+ "(_rel) = {rtype} . 호스트를 "+ "수 (DISTINCT에 따라 다름) AS 종속 "+ "ORDER BY 부 속절 DESC LIMIT 1 "+ "\ ", \"params \ ": {\"rtype \ ": \"DEPENDS_ON \ "}}"; –

+0

또한 관계를 매개 변수로 지정할 수 없습니다. 쿼리의 일부로 관계 (및 별)가 포함 된 쿼리를 작성하기 만하면됩니다. –