Es ist einfacher Daten in Form von Unix Epoch Zeitstempel zu halten (als lange Ganzzahl gespeichert ist), und nicht als Julian stammt. Neo4j hat kein eingebautes Datum/Uhrzeit-Format.
Zeitstempel und kann verwendet werden, um Berechnungen an den Daten durchzuführen, um Dinge wie zu finden - wie viele Tage hinter dem Zeitplan ist das Projekt auf dem aktuellen Datum basiert.
Die timestamp() Funktion in Cypher bietet eine Möglichkeit, die aktuelle Unix-Zeit innerhalb von Neo4j zu erhalten.
Jede Beziehung in Neo4J nimmt intern 34 Bytes an Daten auf, wobei der tatsächliche Inhalt der Beziehung ausgeschlossen wird. Es kann effizienter sein, sowohl geplante als auch verifizierte Vervollständigungen als Eigenschaften in einer einzelnen Beziehung zu speichern, anstatt sie als zwei Beziehungen zu speichern.
Eine Beziehung muss nicht gleichzeitig das geplante Datum und das überprüfte Datum haben (die Vorteile von NoSQL). Sie können das bestätigte Datum später mit dem Schlüsselwort SET hinzufügen.
Nur um Ihnen ein Beispiel zu geben.
Verwenden Sie die folgende Cypher-Anweisung zum Erstellen.
Create (p:Person {name:'Bill'})-[r:Works_On {scheduledcompletion: 1461801600}]->(pro:Project {name:'Jabberwakie'})
Verwenden Sie die folgende Cypher-Anweisung, um das überprüfte Datum auf die aktuelle Uhrzeit zu setzen.
Match (p:Person {name:'Bill'})-[r:Works_On]->(pro:Project {name:'Jabberwakie'}) set r.verifiedcompletion=timestamp()
verwenden Sie die folgende Anweisung Cypher eine Art Berechnung durchzuführen, in diesem Fall einen Booleschen Wert zurück, wenn das Projekt hinter dem Zeitplan ist oder nicht.
Match (p:Person {name:'Bill'})-[r:Works_On]->(pro:Project {name:'Jabberwakie'}) return case when r.scheduledcompletion > r.verifiedcompletion then true else false end as behindschedule
Ich schätze wirklich die gründliche Erklärung, danke. Untersucht auch das von Ihnen vorgeschlagene Datumsformat. –
Gern geschehen. Ich hoffe, es hilft :) – Anomaly211