0
以下は、パラメータ化されたリストで述べたように各関係型に対して繰り返される暗号化クエリであり、各関係型は接続ノードに追加される特定のプロパティおよび値を有する。 neo4jによれば、関係タイプをパラメータ化することはできません。とにかくサイファーを使ってこれに対処するのですか?またはapocで?パラメータ化されたneo4j暗号化クエリの実行
Merge(n_device: Device{identifier: {deviceId}}) ON CREATE SET n_device.created=timestamp()
WITH n_device
OPTIONAL MATCH (n_device)-[r_prev:{deviceRel}{active:true}]->()
WITH n_device, r_prev
Merge(n_deviceOs: Device{{deviceRelProp}: {deviceRelPropVal}}) ON CREATE SET n_deviceOs :DeviceOs, n_deviceOs.created=timestamp(), n_deviceOs.newNode=true
WITH n_device, n_deviceOs, r_prev
Merge (n_device)-[r_cur:{deviceRel}]->(n_deviceOs) ON CREATE SET r_cur.active=true, r_cur.created=timestamp()
WITH n_deviceOs, r_prev
Match(n_deviceOs) where n_deviceOs.newNode=true set r_prev.active = false, r_prev.modified=timestamp()
REMOVE n_deviceOs.newNode
"params": {
"deviceId": "1234",
"deviceRel": ["HAS_DEVICE_OS", "HAS_DEVICE_OSINFO", "HAS_DEVICE_MODEL", "HAS_DEVICE_APPVERSION"],
"deviceRelProp": ["os", "osinfo", "model", "version"],
"deviceRelPropVal": ["android", "kitkat", "samsung", "1.64.2"]
}
私は、関係を作成するためにそれを参照してください。上記のクエリが表示された場合は、node-relationship-nodeの照合にも必要です。私はそれのためにapocで1つを見ません。 – Kartlee
ネイティブのCypherで、 'MATCH(n_device) - [r_prev {active:true}] - >()WHERE TYPE(r_prev)= {deviceRel}'(または2回目のマッチで同じフィルター)を実行できます。 –
ありがとう、私はあなたが言及したようにアプローチに従った。リストを送信し、リストの各値に対してクエリをパラメータ化することは可能ですか? neo4jが容易にサポートしない場合、apocを実行することは可能ですか? – Kartlee