J'utilise py2neo et j'essaie de passer un paramètre (une étiquette) entre les méthodes de correspondance, mais je ne peux pas comprendre la syntaxe. Dans le navigateur, j'utiliser ceci:Y at-il un moyen de passer un paramètre pour correspondre sur des étiquettes dans neo4j
MATCH n
where n:`Name`
RETURN n
Ceci est mon code python, où je suis en train de faire correspondance similaire:
def similar_noder(a):
try:
graph_db = neo4j.GraphDatabaseService(url)
query = neo4j.CypherQuery(graph_db,
"""CYPHER 2.0
MATCH n
where (n:`{z}`)
RETURN id(n)
""")
result = query.execute(z=a)
for r in result:
label = ", ".join(str(e) for e in (r.values[0]))#label
print label
except Exception as e:
print e
Dans ce cas, « un » nom est le label » "que j'essaie de passer et de faire correspondre. J'essaye de trouver tous les noeuds qui ont le nom d'étiquette.
duplication possible de [Etiquetage des paramètres] (http://stackoverflow.com/questions/21834113/parameterizing-labels) –
@StefanArmbruster bien que c'est un défaut. Il semble que ce n'est pas possible. – user2338089
ce n'est pas un bummer. Une étiquette différente peut conduire à un plan de requête complètement différent, il n'est donc pas logique d'utiliser des paramètres pour les étiquettes. Vous pouvez toujours paramétrer l'instruction de chiffrement du côté de l'application en utilisant une concaténation de chaîne ou en utilisant un générateur pour cela, par ex. Cypher DSL. –