現在、ノード内のDate
プロパティが、提供されたDate
の前、等しい、または後である場合、クエリーチェックが必要なNeo4jデータベースを備えたシステムを設計しています。私はのNeo4jノードプロパティの内部Date
が==
、>
ような単純なオペレーターに例えば基づいて、サイファークエリとの比較を行うことができるように保存する必要がありますどのようにNeo4j CypherがCypherクエリーの日付を比較しています
、<
はそれがLong timestamp
のようなDate
を保存しても大丈夫ですか?この方法でうまくいくのだろうか?いいえの場合は、より良い決定を提案してください。 Value
のデータベース・レベルで
MATCH (parentD)-[:CONTAINS]->(childD:Decision)-[ru:CREATED_BY]->(u:User) WHERE id(parentD) = {decisionId} MATCH (childD)<-[:SET_FOR]-(filterValue153:Value)-[:SET_ON]->(filterCharacteristic153:Characteristic) WHERE id(filterCharacteristic153) = 153 WITH filterValue153, childD, ru, u WHERE (filterValue153.value = '60305027689736')
MATCH (parentD)-[:CONTAINS]->(childD:Decision)-[ru:CREATED_BY]->(u:User) WHERE id(parentD) = {decisionId} MATCH (childD)<-[:SET_FOR]-(filterValue153:Value)-[:SET_ON]->(filterCharacteristic153:Characteristic) WHERE id(filterCharacteristic153) = 153 WITH filterValue153, childD, ru, u WHERE (filterValue153.value = 'Mon Dec 27 22:35:56 EET 3880')
filterValue153.value
を
Value.value
ノードプロパティで
java.util.Date
オブジェクトと同様に格納されている
@NodeEntity
public class Value extends Authorable {
public final static String NODE_NAME = "Value";
private final static String SET_FOR = "SET_FOR";
private final static String SET_ON = "SET_ON";
@Relationship(type = SET_FOR, direction = Relationship.OUTGOING)
private Decision decision;
@Relationship(type = SET_ON, direction = Relationship.OUTGOING)
private Characteristic characteristic;
private Object value;
...
}
:ノー運と試みた
クエリを更新し
ノードllowingデータ:
id: 848013
value: 1482873001556
が更新
このクエリは正常に動作します
MATCH (parentD)-[:CONTAINS]->(childD:Decision)-[ru:CREATED_BY]->(u:User) WHERE id(parentD) = {decisionId} MATCH (childD)<-[:SET_FOR]-(filterValue153:Value)-[:SET_ON]->(filterCharacteristic153:Characteristic) WHERE id(filterCharacteristic153) = 153 WITH filterValue153, childD, ru, u WHERE (filterValue153.value = 60305030539682)
が、日付前に、1970年1月1日00:00:00 GMTに対処するには? ,>
、<
操作をこのCypherクエリで日付に適用することもできますか?
あなたの答えをありがとう。私はより詳細な質問を更新しました。何が間違っているのか教えてください。また、古いものと新しいもの(APOC付き)のアプローチをどのように行うことができるかの例を示してください。 – alexanoid
このクエリでノードを返すだけであれば、どのような結果が得られますか? 'MATCH(filterCharacteristic153:Characteristic)WHERE id(filterCharacteristic153)= 153 RETURN *' –
Neo4jから 'Value'ノードの出力を追加しました – alexanoid