Python代码使用动态计算的属性名称和参数来编写密码查询

时间:2017-08-16 05:59:52

标签: python cypher

我在python中使用动态计算的属性名称和参数编写了一个函数来编写一个cypher查询,以便从Recon2Neo4j数据库中检索路径(基于Neo4j的代谢框架可以从https://diseaseknowledgebase.etriks.org/metabolic/browser/免费获得。)。没有参数的匹配查询在Neo4j浏览器中完美地用于特定的属性名称和值。我想知道以下代码是否真的有用。没有错误,但“print(p1,p1val,p2,p2val)”永远不会执行。谢谢。

def getPath(p1, p1val, p2, p2val):
     with driver.session() as session:
        with session.begin_transaction() as tx:
            for record in tx.run("WITH $p1 AS propnam1, $p2 AS propnam2 "
                            "MATCH p = shortestPath((m1)-[*..]-(m2)) "
                            "WHERE m1[propnam1]=$p1val AND m2[propnam2]=$p2val "
                            "RETURN p", p1=p1, p1val=p1val, p2=p2, p2val=p2val):
                     print(p1, p1val, p2, p2val)

                     print(record["p"]) 
        session.close()
    #return result

0 个答案:

没有答案