2014-01-24 1 views
0

Neo4j를 백엔드로 사용하는 애플리케이션의 기능 사용을 시각화하는 작업이 주어졌습니다. 예를 들어, 매년 얼마나 많은 "소원"요소가 만들어 졌는지 시각화하고 싶습니다. Wish 노드에는 요소 작성시의 시간 소인을 저장하는 creationDate 속성이 있습니다.

출력은 다음과 같아야합니다타임 스탬프를 사용하여 연간 통계에 대한 Neo4j 쿼리

Year #Wishes 
2000 20 
2001 99 

...

을 가장 좋은 나는 현재 출력

Year   Description 
1365431858  "smth" 
1365431859  "smth2" 

...

START n = node(0) 
MATCH (n)-[:WISH]->(m) 
RETURN m.creationDate as Year, m.description as Description 

어떻게 할 수 년/월로 타임 스탬프를 그룹화 할 수 있습니까? 응용 프로그램이 neo4j를 사용 중입니다. 1.8.3

+0

CASE/Neo4j 2.0이 문제를 해결합니다 것 –

답변

1

난 당신이 올해 추출 단지 부서를 사용할 수 있습니다 생각합니다.

뭔가 같은 : 그래서 귀하의 경우

return 1970 + round(m.creationDate/(365.242 * 24 * 3600)), count(m) 

는 2014 년

0

1.8.3에 기본 Date 유형이 없기 때문에 단일 사이퍼 쿼리에서 연도별로 그룹화 할 수 있다고 생각하지 않습니다.

다음 두 가지 방법을 고려하십시오.

1) 날짜 범위가 여러 개인 검색어.

MATCH (n)-[:WISH]->(m) 
WHERE m.creationDate > '1325376000' AND m.creationDate < '1356998399' 
return count(m) as total, '2012' as year 

이 가장 우아한 방법이 될하지 않을 수 있습니다,하지만 해결책 :

2) 최신 정보에 대한 관계를 포함하는 모델을 수정할 수 있습니다 : 그래서, 같은 2012 보일 수 있습니다. 찾고 있던 모든 것이 1 년이라는 관계라면 꽤 빨리 처리 될 수 있습니다. 여기에 해당 옵션을 논의 게시물입니다 :

Modeling dates in Neo4j

관련 문제