로 노드를 가져옵니다 I의 구조는 다음과 같습니다Neo4j Cypher 관련 노드의 속성을 기반으로 쿼리합니다. 최대 속성 값
(A)-[:many]->(B)-[:also_many]->(C)
B
에 이름 속성이 있습니다. C
에는 날짜 속성이 있습니다. A
에는 많은 B
이 있고 더 나아가 각각 B
에는 많은 C
이 관련되어 있습니다.
B
은 C
과 함께 c.date
이 가장 높습니다.
날짜는 "YYYY-MM-DD HH : MM : SS"와 같이 저장됩니다. 타임 스탬프 값을 얻으려면 apoc.date.parse(date)
을 사용하고 있습니다.
진행 방법을 알아낼 수는 없습니다.
샘플 데이터 집합 : 나는 2014-04-01
및 2014-05-01
각 B
노드에 대한 최신 관련 C
노드에 의해 말을 내 데이트를 B
노드를 반환 할
:
create (o:A {outlet: "SFO"}), (a:B {name: "Varun", date: "2017-04-01 00:00:00"}), (b:B {name: "Karen", date: "2017-04-12 00:00:00"}), (c:B {name: "Vicky", date: "2017-06-01 00:00:00"}), (aa:C {date: "2017-09-8 00:00:00", tag_no: "R2017123"}), (ab:C {date: "2017-09-02 00:00:00", tag_no: "R2017321"}), (ac:C {date: "2017-09-10 00:00:00", tag_no: "R2017423"}), (ad:C {date: "2017-09-23 00:00:00", tag_no: "R2017523"}), (ae:C {date: "2017-09-10 00:00:00", tag_no: "R2017930"}), (ba:C {date: "2017-09-02 00:00:00", tag_no:"R2017928"}), (bb:C {date: "2017-09-15 00:00:00", tag_no:"R2017039"}), (bc:C {date: "2017-09-10 00:00:00", tag_no:"R2017837"}), (bd:C {date: "2017-09-08 00:00:00", tag_no:"R2017022"}), (be:C {date: "2017-09-10 00:00:00", tag_no:"R2017883"}), (ca:C {date: "2017-09-11", tag_no:"R2017827"}), (cb:C {date: "2017-09-18", tag_no:"R2017322"}), (cc:C {date: "2017-09-21", tag_no:"R2017122"}), (cd:C {date: "2017-09-16", tag_no:"R2017877"}), (ce:C {date: "2017-09-08", tag_no:"R2017930"}), (o)-[:owns]->(a),(o)-[:owns]->(b),(o)-[:owns]->(c),(a)-[:subs]->(aa),(a)-[:subs]->(ab),(a)-[:subs]->(ac),(a)-[:subs]->(ad),(a)-[:subs]->(ae),(b)-[:subs]->(ba),(b)-[:subs]->(bb),(b)-[:subs]->(bc),(b)-[:subs]->(bd),(b)-[:subs]->(be),(c)-[:subs]->(ca),(c)-[:subs]->(cb),(c)-[:subs]->(cc),(c)-[:subs]->(cd),(c)-[:subs]->(ce);
내가 두 개의 쿼리가 필요합니다 B.date
. 데이터 세트에서 나는 date
을 가진 두 개의 C
노드를 가지고 있습니다. 그러나 쿼리는 B
노드 당 하나의 결과 만 반환해야합니다.
그리고 두 번째 쿼리는 다음과 같습니다
반환 날짜 범위 내에서 날짜와 C
노드가없는 위의 값 내에서 날짜 B
노드는 "2017-09"을 2017년 9월 1일 "를 말하고 -09 ".
왜 이것에 대한 APOC 필요합니까? 이 형식의 날짜는 사전 식으로 정렬 할 수 있으므로 'ORDER BY c.date DESC LIMIT 1'을 사용하면 가장 큰 값을 얻을 수 있습니다. 물론, 당신이 그 날짜를 사용하기를 원한다면, 당신은 그것을 파싱해야 할 것이다. 그러나 당신은 그것을 어플리케이션 코드에서 할 수있다. –
max() 함수를 사용하려고했는데이 날짜 형식이 호환되지 않습니다. – notANerdDev
'사전 적으로'무엇이 있습니까? 이것은 나를위한 새로운 용어입니다. 몇 개의 노드에서 가장 높은 날짜를 얻는 함수가 있습니까? – notANerdDev