日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

如何用python驱动器调用neo4j算法包

發(fā)布時間:2025/3/19 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何用python驱动器调用neo4j算法包 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

來源:https://towardsdatascience.com/neo4j-cypher-python-7a919a372be7

有一個問題,如何用python包去調用neo4j的查詢及算法包呢?

從本質上來思考問題,python只需要與Noe4j的接口打通就行了,將所有的執(zhí)行命令傳入給neo4j就行。

session = self.__driver.session(database=db) if db is not None else self.__driver.session()
response = list(session.run(query))

只要將query語句傳遞過去就行了,調用的命令就一個session.run。

from neo4j import GraphDatabase class Neo4jConnection:def __init__(self, uri, user, pwd):self.__uri = uriself.__user = userself.__pwd = pwdself.__driver = Nonetry:self.__driver = GraphDatabase.driver(self.__uri, auth=(self.__user, self.__pwd))except Exception as e:print("Failed to create the driver:", e)def close(self):if self.__driver is not None:self.__driver.close()def query(self, query, db=None):assert self.__driver is not None, "Driver not initialized!"session = Noneresponse = Nonetry: session = self.__driver.session(database=db) if db is not None else self.__driver.session() response = list(session.run(query))except Exception as e:print("Query failed:", e)finally: if session is not None:session.close()return response

還可以直接將整個csv文檔導入到neo4j數(shù)據(jù)庫,前面還擔心用Python讀取csv文檔,然后再存儲到數(shù)據(jù)庫中,速度 會日常慢,相比較于直接導入csv文檔會慢很多,隨著數(shù)據(jù)增多,差異會越來越明顯。

query_string = ''' USING PERIODIC COMMIT 500 LOAD CSV WITH HEADERS FROM 'https://raw.githubusercontent.com/ngshya/datasets/master/cora/cora_content.csv' AS line FIELDTERMINATOR ',' CREATE (:Paper {id: line.paper_id, class: line.label}) ''' conn.query(query_string, db='coradb')

調用算法包

?

query_string = ''' CALL gds.graph.create('coraGraph','Paper','CITES' ) ''' conn.query(query_string, db='coradb')query_string = ''' CALL gds.pageRank.write('coraGraph', {writeProperty: 'pagerank' }) YIELD nodePropertiesWritten, ranIterations ''' conn.query(query_string, db='coradb')query_string = ''' CALL gds.betweenness.write('coraGraph', { writeProperty: 'betweenness' }) YIELD minimumScore, maximumScore, scoreSum, nodePropertiesWritten ''' conn.query(query_string, db='coradb')from pandas import DataFrame query_string = ''' MATCH (p:Paper) RETURN DISTINCT p.id, p.class, p.pagerank, p.betweenness ''' dtf_data = DataFrame([dict(_) for _ in conn.query(query_string, db='coradb')]) dtf_data.sample(10)

?

總結

以上是生活随笔為你收集整理的如何用python驱动器调用neo4j算法包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。