todas - ¿Puedo parametrizar etiquetas y propiedades en CREATE o SET?(RESTO y transacción)
sintaxis html5 (2)
Tengo una consulta
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})
Estoy utilizando underscore.string para permitir el formato de cadena, pero me encantaría seguir con los parámetros.
¿Es posible parametrizar etiquetas como
{
"query": CREATE (a:{label} {props}),
"params": {
"label":"SomeLabel",
"props":{....}
}
}
y también es posible parametrizar propiedades en un SET?
{
"query": "MATCH ..... SET (node {props})"
"params": {
"props":{
"prop1:":"Property Name",
....
}
}
}
¿También hay una forma de parametrizar en un "MERGE"? me da ''Los mapas de parámetros no se pueden usar en los patrones MERGE (use un mapa literal, por ejemplo, "{id: {param} .id}")''
EDITAR: ¿qué pasa con la parametrización where cláusula?
MATCH (:Identity%1$s {nodeId:{nodeId})-[r*2..3]-(node1)-[b:%2$s]->(node2) %4$s return *
Tengo% 4 $ s allí para poner las cláusulas que necesito. Si quiero tenerlo como
WHERE node1.nodeId= {someNodeId} SET b= {props}
¿¿es eso posible??
Además, cuando estoy haciendo una transacción, el nodo SET = {props} no parece funcionar. Lo intenté
statements:[
{
"statement":"..... SET node={props}",
"parameters":{
"props": {
"description":"some description"
}
}
}
]
¿¿Alguna sugerencia?? ¡Gracias!
No puede parametrizar las etiquetas, ya que el plan de consulta puede ser diferente para una etiqueta diferente.
Es posible parametrizar propiedades múltiples usando un mapa, observe la pequeña diferencia en la sintaxis SET
:
{
"query": "MATCH ..... SET node = {props}"
"params": {
"props":{
"prop1:":"Property Name",
....
}
}
}
No es 100% sobre MERGE
pero supongo que esto debería funcionar:
{
"query": "MERGE (n:Label {identifier: {idValue}) ON CREATE SET n = {props}"
"params": {
"identifier": 123,
"props":{
"identifier": 123,
"prop1:":"Property Name",
....
}
}
}
¡Lo descubrí!
CREATE ... SET node = {props}
hace el truco para establecer múltiples propiedades con parámetros
doc: http://docs.neo4j.org/chunked/snapshot/cypher-parameters.html