簡體   English   中英

我可以在CREATE或SET上參數化標簽和屬性嗎? (REST和交易)

[英]Can I parameterize labels and properties on CREATE or SET? (REST and transaction)

我有一個問題

1. CREATE (a:%1$s {props}), (b:%2$s {props2}), (b)-[:%3$s {relProps}]->(a)
2. MATCH (a:%1$s { value:{value} })-[:%2$s]->(b) WHERE (b:%3$s) SET (b {props})

我使用underscore.string來允許字符串格式,但是只想堅持使用參數。

是否可以參數化標簽,如

{ 
  "query": CREATE (a:{label} {props}),
  "params": {
    "label":"SomeLabel",
    "props":{....}
  }
}

是否也可以在SET上參數化屬性?

{
  "query": "MATCH ..... SET (node {props})"
  "params": {
    "props":{
      "prop1:":"Property Name",
      .... 
    }
  }
}

還有一種方法可以參數化“MERGE”嗎? 它給了我'參數貼圖不能用於MERGE模式(改為使用文字貼圖,例如。“{id:{param} .id}”)'

編輯:參數化where子句怎么樣?

MATCH (:Identity%1$s {nodeId:{nodeId})-[r*2..3]-(node1)-[b:%2$s]->(node2) %4$s return *

我有%4 $ s在那里讓我放置我需要的任何條款。 如果我想擁有它

WHERE node1.nodeId= {someNodeId} SET b= {props}

那可能嗎??

此外,當我正在做一個事務SET節點= {props}似乎不起作用。 我試過了

statements:[
  {
    "statement":"..... SET node={props}",
    "parameters":{
      "props": {
        "description":"some description"
      }
    }
  }
]

有什么建議?? 謝謝!

您無法參數化標簽,因為查詢計划對於其他標簽可能看起來不同。

可以使用地圖參數化多個屬性,請注意SET語法中的細微差別:

{
  "query": "MATCH ..... SET node = {props}"
  "params": {
    "props":{
      "prop1:":"Property Name",
      .... 
    }
  }
}

不是100%關於MERGE但我想這應該工作:

{
  "query": "MERGE (n:Label {identifier: {idValue}) ON CREATE SET n = {props}"
  "params": {
    "identifier": 123,
    "props":{
      "identifier": 123,
      "prop1:":"Property Name",
      .... 
    }
  }
}

我發現!

CREATE  ...  SET node = {props}

使用參數設置多個屬性的技巧

doc: http//docs.neo4j.org/chunked/snapshot/cypher-parameters.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM